Jump to content

Help : With Script1


Timic

Recommended Posts

i have a little problem

i had in troubles because something wrong!

---------------------------------- DO NOT CHANGE THESE ---------------------------------- 
  
local SCREEN_WIDTH, SCREEN_HEIGHT = guiGetScreenSize() 
  
local CLOCK_IMG,CLOCK_DEFAULT_X,CLOCK_DEFAULT_Y,CLOCK_DIAMETER,CLOCK_COLOR,CLOCK_POST_GUI 
local CLOCK_RADIUS,CLOCK_CENTER_X,CLOCK_CENTER_Y 
local CLOCK_HOUR_IMG,CLOCK_HOUR_W,CLOCK_HOUR_H,CLOCK_HOUR_X,CLOCK_HOUR_Y,CLOCK_HOUR_ROT_POS_X,CLOCK_HOUR_ROT_POS_Y,CLOCK_HOUR_COLOR 
local CLOCK_MINUTE_IMG,CLOCK_MINUTE_W,CLOCK_MINUTE_H,CLOCK_MINUTE_X,CLOCK_MINUTE_Y,CLOCK_MINUTE_ROT_POS_X,CLOCK_MINUTE_ROT_POS_Y,CLOCK_MINUTE_COLOR 
local CLOCK_SECOND_IMG,CLOCK_SECOND_W,CLOCK_SECOND_H,CLOCK_SECOND_X,CLOCK_SECOND_Y,CLOCK_SECOND_ROT_POS_X,CLOCK_SECOND_ROT_POS_Y,CLOCK_SECOND_COLOR 
local CLOCK_SETTING_FILE,CLOCK_SETTING_DEFAULT_TOGGLE 
  
local CLOCK_X,CLOCK_Y = 0,0 
  
---------------------------------- SETTINGS (do change these) ---------------------------------- 
  
CLOCK_SETTING_FILE           = "clock.xml" 
CLOCK_SETTING_DEFAULT_TOGGLE = true 
  
CLOCK_DEFAULT_X = SCREEN_WIDTH - SCREEN_WIDTH*0.2 + ( 70/1280 )  * SCREEN_WIDTH 
CLOCK_DEFAULT_Y = ( 140/1024 ) * SCREEN_HEIGHT 
  
-- These settings are inside this function so they can be reloaded later on 
-- Changing the values shouldn't do any harm 
function setSettings() 
    CLOCK_IMG       = "clock.png" 
    CLOCK_DIAMETER  = SCREEN_HEIGHT * 0.13 
    CLOCK_COLOR     = tocolor(255,255,255,255) 
    CLOCK_POST_GUI  = false 
  
    CLOCK_RADIUS   = CLOCK_DIAMETER / 2 
    CLOCK_CENTER_X = CLOCK_X + CLOCK_RADIUS 
    CLOCK_CENTER_Y = CLOCK_Y + CLOCK_RADIUS 
  
    CLOCK_HOUR_IMG       = "whyzerbig.png" 
    CLOCK_HOUR_W         = CLOCK_DIAMETER / 2.3 / 300 * 22 
    CLOCK_HOUR_H         = CLOCK_DIAMETER / 2.3 
    CLOCK_HOUR_X         = CLOCK_CENTER_X - CLOCK_HOUR_W / 2 
    CLOCK_HOUR_Y         = CLOCK_Y + CLOCK_HOUR_H / 300 * 50 * 3 
    CLOCK_HOUR_ROT_POS_X = 0 
    CLOCK_HOUR_ROT_POS_Y = CLOCK_HOUR_H / 300 * 50 
    CLOCK_HOUR_COLOR     = tocolor(255,255,255,255) 
  
    CLOCK_MINUTE_IMG       = "whyzerbig.png" 
    CLOCK_MINUTE_W         = CLOCK_DIAMETER / 2 / 300 * 22 
    CLOCK_MINUTE_H         = CLOCK_DIAMETER / 2 
    CLOCK_MINUTE_X         = CLOCK_CENTER_X-- - CLOCK_MINUTE_W / 2 
    CLOCK_MINUTE_Y         = CLOCK_Y + CLOCK_MINUTE_H / 300 * 50 * 2 
    CLOCK_MINUTE_ROT_POS_X = 0 
    CLOCK_MINUTE_ROT_POS_Y = CLOCK_MINUTE_H / 300 * 50 
    CLOCK_MINUTE_COLOR     = tocolor(255,255,255,255) 
  
    CLOCK_SECOND_IMG       = "whyzerseconds.png" 
    CLOCK_SECOND_W         = CLOCK_DIAMETER / 1.7 / 280 * 13 
    CLOCK_SECOND_H         = CLOCK_DIAMETER / 1.7 
    CLOCK_SECOND_X         = CLOCK_CENTER_X - CLOCK_SECOND_W / 2 
    CLOCK_SECOND_Y         = CLOCK_Y + CLOCK_SECOND_H / 280 * 40 * 1.5 
    CLOCK_SECOND_ROT_POS_X = 0 
    CLOCK_SECOND_ROT_POS_Y = CLOCK_SECOND_H / 280 * 40 
    CLOCK_SECOND_COLOR     = tocolor(255,255,255,255) 
end 
  
---------------------------------- END OF SETTINGS ---------------------------------- 
  
local toggle = CLOCK_SETTING_DEFAULT_TOGGLE 
local repos  = false 
  
function handleClockStart() 
    -- Load the settings file 
    local xmlFile = xmlLoadFile(CLOCK_SETTING_FILE) 
    if xmlFile then 
        -- Load the settings, and apply them 
        toggle  = xmlNodeGetAttribute(xmlFile,"enabled") ~= "false" 
        CLOCK_X = tonumber(xmlNodeGetAttribute(xmlFile,"posX")) or CLOCK_DEFAULT_X 
        CLOCK_Y = tonumber(xmlNodeGetAttribute(xmlFile,"posY")) or CLOCK_DEFAULT_Y 
         
        -- Close the XML file (pretty important) 
        xmlUnloadFile(xmlFile) 
    else 
        -- Set the default position as the clock position 
        CLOCK_X = CLOCK_DEFAULT_X 
        CLOCK_Y = CLOCK_DEFAULT_Y 
         
        -- Save the default settings, because the file doesn't exist yet 
        handleXMLSave() 
    end 
     
    -- Apply all settings 
    setSettings() 
     
    -- Clock enabled? If so, render it 
    if toggle then 
        addEventHandler("onClientRender",getRootElement(),renderClock) 
    end 
end 
addEventHandler("onClientResourceStart",getResourceRootElement(),handleClockStart) 
  
function handleXMLSave() 
    -- Load the settings file 
    local xmlFile = xmlLoadFile(CLOCK_SETTING_FILE) 
    if not xmlFile then 
        -- If it doesn't exist, create it 
        xmlFile = xmlCreateFile("clock.xml","settings") 
         
        if not xmlFile then 
            -- If it manages to fuck up, then wtf? 
            outputDebugString("Clock settings could not be saved",1) 
            return 
        end 
    end 
     
    -- Store the data 
    xmlNodeSetAttribute(xmlFile,"enabled",tostring(toggle)) 
    xmlNodeSetAttribute(xmlFile,"posX",tostring(CLOCK_X)) 
    xmlNodeSetAttribute(xmlFile,"posY",tostring(CLOCK_Y)) 
     
    -- Make sure the data is actually saved, and close the file 
    xmlSaveFile(xmlFile) 
    xmlUnloadFile(xmlFile) 
end 
  
function toggleClock() 
    -- Invert the toggle ( true -> false, false -> true ) 
    toggle = not toggle 
     
    -- See if the rendering should be enabled, or disabled 
    if toggle then 
        addEventHandler("onClientRender",getRootElement(),renderClock) 
    else 
        removeEventHandler("onClientRender",getRootElement(),renderClock) 
    end 
     
    -- Store it in the settings file 
    handleXMLSave() 
end 
addCommandHandler("clock",toggleClock) 
  
local REPOS_CLOCK_X_BACKUP,REPOS_CLOCK_Y_BACKUP 
  
function toggleReposClock() 
    -- Invert the repositioning toggle ( true -> false, false -> true ) 
    repos = not repos 
     
    -- Show the cursor, so players can indicate where they want the clock 
    showCursor(repos) 
     
    if repos then 
        -- Store the current position, in case they cancel 
        REPOS_CLOCK_X_BACKUP = CLOCK_X 
        REPOS_CLOCK_Y_BACKUP = CLOCK_Y 
         
        -- Notify them they're changing the position 
        outputChatBox("Move the mouse to reposition the clock. Left-click to confirm the new position, right-click to cancel",255,128,0) 
         
        -- Handle the repositioning every frame 
        addEventHandler("onClientRender",getRootElement(),reposClockDoPulse) 
    else 
        -- Restore the position from backup 
        CLOCK_X = REPOS_CLOCK_X_BACKUP 
        CLOCK_Y = REPOS_CLOCK_Y_BACKUP 
         
        -- Put all settings back to normal 
        setSettings() 
         
        -- Notify the player he just cancelled repositioning 
        outputChatBox("Repositioning cancelled",255,128,0) 
         
        -- Stop handling repositioning 
        removeEventHandler("onClientRender",getRootElement(),reposClockDoPulse) 
    end 
end 
addCommandHandler("reposclock",toggleReposClock) 
  
function reposClockDoPulse() 
    -- Get the cursor position every frame 
    local cursorX, cursorY = getCursorPosition() 
     
    -- Set the clock to the new position 
    CLOCK_X = cursorX * SCREEN_WIDTH 
    CLOCK_Y = cursorY * SCREEN_HEIGHT 
     
    -- Apply new position settings 
    setSettings() 
     
    -- Did the player just press the left mouse button? 
    if getKeyState("mouse1") then 
        -- Save the new position 
        handleXMLSave() 
         
        -- Stop the repositioning process 
        repos = false 
        removeEventHandler("onClientRender",getRootElement(),reposClockDoPulse) 
         
        -- Hide the cursor 
        showCursor(false) 
         
        -- Notify them the repositioning is successful 
        outputChatBox("Repositioning successful",255,128,0) 
    elseif getKeyState("mouse2") then 
        -- Right mouse button? Cancel movement 
        toggleReposClock() 
    end 
end 
  
function renderClock() 
    -- Getting time and processing to rotation 
    local time = getRealTime() 
     
    local hour   = time.hour % 12 -- There are only 12 possible hours on an analog clock 
    local minute = time.minute 
    local second = time.second 
     
    minute = minute + second / 60 -- To make the minute pointer a lot smoother 
    hour   = hour   + minute / 60 -- Same as the above 
     
    local hourRot   = 360 * ( hour   / 12 ) 
    local minuteRot = 360 * ( minute / 60 ) 
    local secondRot = 360 * ( second / 60 ) 
     
    -- Render background 
    dxDrawImage(CLOCK_X,CLOCK_Y,CLOCK_DIAMETER,CLOCK_DIAMETER,CLOCK_IMG,0,0,0,CLOCK_COLOR,CLOCK_POST_GUI) 
     
    -- Render hour pointer 
    dxDrawImage(CLOCK_HOUR_X,CLOCK_HOUR_Y,CLOCK_HOUR_W,CLOCK_HOUR_H,CLOCK_HOUR_IMG,hourRot,CLOCK_HOUR_ROT_POS_X,CLOCK_HOUR_ROT_POS_Y,CLOCK_HOUR_COLOR,CLOCK_POST_GUI) 
     
    -- Render minute pointer 
    dxDrawImage(CLOCK_MINUTE_X,CLOCK_MINUTE_Y,CLOCK_MINUTE_W,CLOCK_MINUTE_H,CLOCK_MINUTE_IMG,minuteRot,CLOCK_MINUTE_ROT_POS_X,CLOCK_MINUTE_ROT_POS_Y,CLOCK_MINUTE_COLOR,CLOCK_POST_GUI) 
     
    -- Render second pointer 
    dxDrawImage(CLOCK_SECOND_X,CLOCK_SECOND_Y,CLOCK_SECOND_W,CLOCK_SECOND_H,CLOCK_SECOND_IMG,secondRot,CLOCK_SECOND_ROT_POS_X,CLOCK_SECOND_ROT_POS_Y,CLOCK_SECOND_COLOR,CLOCK_POST_GUI) 
end 

Help? xD

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...