Jump to content

Buke

Members
  • Posts

    16
  • Joined

  • Last visited

Posts posted by Buke

  1.   
    g_Root = getRootElement()
    g_ResRoot = getResourceRootElement(getThisResource())
    g_Me = getLocalPlayer()
    g_ArmedVehicleIDs = table.create({ 425, 447, 520, 430, 464, 432 }, true)
    g_WaterCraftIDs = table.create({ 539, 460, 417, 447, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 }, true)
    g_ModelForPickupType = { nitro = 2221, repair = 2222, vehiclechange = 2223 }
    g_HunterID = 425
     
    g_Checkpoints = {}
    g_Pickups = {}
    g_VisiblePickups = {}
    g_Objects = {}
     
    addEventHandler('onClientResourceStart', g_ResRoot,
        function()
            g_Players = getElementsByType('player')
           
            fadeCamera(false,0.0)
            -- create GUI
            local screenWidth, screenHeight = guiGetScreenSize()
            g_dxGUI = {
                ranknum = dxText:create('1', screenWidth - 60, screenHeight - 95, false, 'bankgothic', 2, 'right'),
                ranksuffix = dxText:create('st', screenWidth - 40, screenHeight - 86, false, 'bankgothic', 1),
                checkpoint = dxText:create('0/0', screenWidth - 15, screenHeight - 54, false, 'bankgothic', 0.8, 'right'),
                timepassed = dxText:create('0:00:00', screenWidth - 10, screenHeight - 25, false, 'bankgothic', 0.7, 'right'),
                mapdisplay = dxText:create('Map: none', 2, screenHeight - dxGetFontHeight(0.7, 'bankgothic')/2, false, 'bankgothic', 0.7, 'left')
            }
            g_dxGUI.ranknum:type">type">type">type('stroke', 2, 0, 0, 0, 255)
            g_dxGUI.ranksuffix:type">type">type('stroke', 2, 0, 0, 0, 255)
            g_dxGUI.checkpoint:type">type">type('stroke', 1, 0, 0, 0, 255)
            g_dxGUI.timepassed:type">type('stroke', 1, 0, 0, 0, 255)
            g_GUI = {
                timeleftbg = guiCreateStaticImage(screenWidth/2-108/2, 15, 108, 24, 'img/timeleft.png', false, nil),
                timeleft = guiCreateLabel(screenWidth/2-108/2, 19, 108, 30, '', false),
                healthbar = FancyProgress.create(250, 1000, 'img/progress_health_bg.png', -65, 60, 123, 30, 'img/progress_health.png', 8, 8, 108, 15),
                speedbar = FancyProgress.create(0, 1.5, 'img/progress_speed_bg.png', -65, 90, 123, 30, 'img/progress_speed.png', 8, 8, 108, 15),
            }
            guiSetFont(g_GUI.timeleft, 'default-bold-small')
            guiLabelSetHorizontalAlign(g_GUI.timeleft, 'center')
            g_GUI.speedbar:setProgress(0)
           
            hideGUIComponents('timeleftbg', 'timeleft', 'healthbar', 'speedbar', 'ranknum', 'ranksuffix', 'checkpoint', 'timepassed')
            RankingBoard.precreateLabels(10)
           
            -- set update handlers
            g_PickupStartTick = getTickCount()
            addEventHandler('onClientRender', g_Root, updateBars)
            g_WaterCheckTimer = setTimer(checkWater, 1000, 0)
           
            -- load pickup models and textures
            for name,id in pairs">pairs">pairs">pairs(g_ModelForPickupType) do
                engineImportTXD(engineLoadTXD('model/' .. name .. '.txd'), id)
                engineReplaceModel(engineLoadDFF('model/' .. name .. '.dff', id), id)
                -- Double draw distance for pickups
                engineSetModelLODDistance( id, 60 )
            end
     
            if isVersion101Compatible() then
                -- Dont clip vehicles (1.0.1 function)
                setCameraClip ( true, false )
            end
     
            -- Init presentation screens
            TravelScreen.init()
            TitleScreen.init()
     
            -- Show title screen now
            TitleScreen.show()
     
            setPedCanBeKnockedOffBike(g_Me, false)
        end
    )
     
     
    -------------------------------------------------------
    -- Title screen - Shown when player first joins the game
    -------------------------------------------------------
    TitleScreen = {}
    TitleScreen.startTime = 0
     
    function TitleScreen.init()
        local screenWidth, screenHeight = guiGetScreenSize()
        local adjustY = math.clamp( -30, -15 + (-30- -15) * (screenHeight - 480)/(900 - 480), -15 );
        g_GUI['titleImage'] = guiCreateStaticImage(screenWidth/2-256, screenHeight/2-256+adjustY, 512, 512, 'img/title.png', false)
        g_dxGUI['titleText1'] = dxText:create('', 30, screenHeight-67, false, 'bankgothic', 0.70, 'left' )
        g_dxGUI['titleText2'] = dxText:create('', 120, screenHeight-67, false, 'bankgothic', 0.70, 'left' )
        g_dxGUI['titleText1']:text( 'KEYS: \n' ..
                                    'F4 \n' ..
                                    'F5 \n' ..
                                    'ENTER' )
        g_dxGUI['titleText2']:text( '\n' ..
                                    '- TRAFFIC ARROWS \n' ..
                                    '- TOP TIMES \n' ..
                                    '- RETRY' )
        hideGUIComponents('titleImage','titleText1','titleText2')
    end
     
    function TitleScreen.show()
        showGUIComponents('titleImage','titleText1','titleText2')
        guiMoveToBack(g_GUI['titleImage'])
        TitleScreen.startTime = getTickCount()
        TitleScreen.bringForward = 0
        addEventHandler('onClientRender', g_Root, TitleScreen.update)
    end
     
    function TitleScreen.update()
        local secondsLeft = TitleScreen.getTicksRemaining() / 1000
        local alpha = math.min(1,math.max( secondsLeft ,0))
        guiSetAlpha(g_GUI['titleImage'], alpha)
        g_dxGUI['titleText1']:color(220,220,220,255*alpha)
        g_dxGUI['titleText2']:color(220,220,220,255*alpha)
        if alpha == 0 then
            hideGUIComponents('titleImage','titleText1','titleText2')
            removeEventHandler('onClientRender', g_Root, TitleScreen.update)
        end
    end
     
    function TitleScreen.getTicksRemaining()
        return math.max( 0, TitleScreen.startTime - TitleScreen.bringForward + 10000 - getTickCount() )
    end
     
    -- Start the fadeout as soon as possible
    function TitleScreen.bringForwardFadeout(maxSkip)
        local ticksLeft = TitleScreen.getTicksRemaining()
        local bringForward = ticksLeft - 1000
        outputDebug( 'MISC', 'bringForward ' .. bringForward )
        if bringForward > 0 then
            TitleScreen.bringForward = math.min(TitleScreen.bringForward + bringForward,maxSkip)
            outputDebug( 'MISC', 'TitleScreen.bringForward ' .. TitleScreen.bringForward )
        end
    end
    -------------------------------------------------------
     
     
    -------------------------------------------------------
    -- Travel screen - Message for client feedback when loading maps
    -------------------------------------------------------
    TravelScreen = {}
    TravelScreen.startTime = 0
     
    function TravelScreen.init()
        local screenWidth, screenHeight = guiGetScreenSize()
        g_GUI['travelImage']   = guiCreateStaticImage(screenWidth/2-256, screenHeight/2-90, 512, 256, 'img/travelling.png', false, nil)
        g_dxGUI['travelText1'] = dxText:create('Travelling to', screenWidth/2, screenHeight/2-130, false, 'bankgothic', 0.60, 'center' )
        g_dxGUI['travelText2'] = dxText:create('', screenWidth/2, screenHeight/2-100, false, 'bankgothic', 0.70, 'center' )
        g_dxGUI['travelText3'] = dxText:create('', screenWidth/2, screenHeight/2-70, false, 'bankgothic', 0.70, 'center' )
        g_dxGUI['travelText1']:color(240,240,240)
        hideGUIComponents('travelImage', 'travelText1', 'travelText2', 'travelText3')
    end
     
    function TravelScreen.show( mapName, authorName )
        TravelScreen.startTime = getTickCount()
        g_dxGUI['travelText2']:text(mapName)
        g_dxGUI['travelText3']:text(authorName and "Author: " .. authorName or "")
        showGUIComponents('travelImage', 'travelText1', 'travelText2', 'travelText3')
        guiMoveToBack(g_GUI['travelImage'])
    end
     
    function TravelScreen.hide()
        hideGUIComponents('travelImage', 'travelText1', 'travelText2', 'travelText3')
    end
     
    function TravelScreen.getTicksRemaining()
        return math.max( 0, TravelScreen.startTime + 3000 - getTickCount() )
    end
    -------------------------------------------------------
     
     
    -- Called from server
    function notifyLoadingMap( mapName, authorName )
        fadeCamera( false, 0.0, 0,0,0 ) -- fadeout, instant, black
        TravelScreen.show( mapName, authorName )
    end
     
     
    -- Called from server
    function initRace(vehicle, checkpoints, objects, pickups, mapoptions, ranked, duration, gameoptions, mapinfo, playerInfo)
        outputDebug( 'MISC', 'initRace start' )
        unloadAll()
       
        g_Players = getElementsByType('player')
        g_MapOptions = mapoptions
        g_GameOptions = gameoptions
        g_MapInfo = mapinfo
        g_PlayerInfo = playerInfo
        triggerEvent('onClientMapStarting', g_Me, mapinfo )
       
        g_dxGUI.mapdisplay:text("Map: "..g_MapInfo.name)
       
        fadeCamera(true)
        showHUD(false)
       
        g_Vehicle = vehicle
        setVehicleDamageProof(g_Vehicle, true)
        OverrideClient.updateVars(g_Vehicle)
       
        --local x, y, z = getElementPosition(g_Vehicle)
        setCameraBehindVehicle(vehicle)
        --alignVehicleToGround(vehicle)
        updateVehicleWeapons()
        setCloudsEnabled(g_GameOptions.cloudsenable)
        setBlurLevel(g_GameOptions.blurlevel)
        g_dxGUI.mapdisplay:visible(g_GameOptions.showmapname)
        if engineSetAsynchronousLoading then
            engineSetAsynchronousLoading( g_GameOptions.asyncloading )
        end
     
        -- checkpoints
        g_Checkpoints = checkpoints
       
        -- pickups
        local object
        local pos
        local colshape
        for i,pickup in pairs">pairs">pairs(pickups) do
            pos = pickup.position
            object = createObject(g_ModelForPickupType[pickup.type">type">type], pos[1], pos[2], pos[3])
            setElementCollisionsEnabled(object, false)
            colshape = createColSphere(pos[1], pos[2], pos[3], 3.5)
            g_Pickups[colshape] = { object = object }
            for k,v in pairs">pairs(pickup) do
                g_Pickups[colshape][k] = v
            end
            g_Pickups[colshape].load">load">load">load = true
            if g_Pickups[colshape].type">type">type == 'vehiclechange' then
                g_Pickups[colshape].label = dxText:create(getVehicleNameFromModel(g_Pickups[colshape].vehicle), 0.5, 0.5)
                g_Pickups[colshape].label:color(255, 255, 255, 0)
                g_Pickups[colshape].label:type">type">type("shadow",2)
            end
        end
       
        -- objects
        g_Objects = {}
        local pos, rot
        for i,object in ipairs">ipairs(objects) do
            pos = object.position
            rot = object.rotation
            g_Objects[i] = createObject(object.model, pos[1], pos[2], pos[3], rot[1], rot[2], rot[3])
        end
     
        if #g_Checkpoints > 0 then
            g_CurrentCheckpoint = 0
            showNextCheckpoint()
        end
       
        -- GUI
        g_dxGUI.timepassed:text('0:00:00')
        showGUIComponents('healthbar', 'speedbar', 'timepassed')
        hideGUIComponents('timeleftbg', 'timeleft')
        if ranked then
            showGUIComponents
  2. Miki, tvoje pomoci mi je platná jak hadovi noha... asi by bylo lepší napsat mi přímo návod v CZ , nemyslíš ? Nebo mi to udělat.

    Nebylo by špatný mi udělat či poslat ten pointsystem.. -.-

  3. Introduce:

    Hey.. this is my 1st topic. Iam Czech so sorry for my bad english. Iam not scripter.

    What i need ?

    I need some GOOD point system, I think GOOD ! So without bugs and more! I want in this script !points, !cash, !wins, !playtime, !hunters .. or something like that. I dont want this https://community.multitheftauto.com/index.php?p= ... ils&id=819 - its a bugged script..

    I looking for some gui with race stats. Without bugs!

    Thx for links and answers.

×
×
  • Create New...