Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2017-01-16, 00:40


cayman11







Wiek: 30
Na forum: 4947 dni
Posty: 73



Respekt: 50


local sw,sh guiGetScreenSize()
local gui = {}
local szerokoscwysokosc 350180
  
gui.window guiCreateWindow(sw/2-szerokosc/2sh/2-wysokosc/2szerokoscwysokosc"Naliczanie .. gracz"false)
--label
gui.naliczanie guiCreateButton(0.090.20.50.08"Naliczaj"truegui.window)
--button
guiSetVisible(gui.windowfalse)

--

setElementData(localPlayer"mm"0)

addCommandHandler("v", function()
    local vehicle getPedOccupiedVehicle(localPlayer)
    setVehicleEngineState(vehicle,true)
end)

function sss()
    local vehicle getPedOccupiedVehicle(localPlayer)
    local miejsce getVehicleOccupants(vehicle)
    
    for k,v in pairs(miejsce) do
        if == 1 then
            outputChatBox(getElementData(v,"mm"))
            guiSetVisible(gui.windowtrue)
        end
    end
end
bindKey("b""down"sss)

-- tymaczsowe



function sprawdzanie(plr,seat)
    if seat == 1 then
        local godziny getElementData(localPlayer"mm")
        outputChatBox(godziny)
        
        if godziny<60 then
        
            if seat == 0 then
                guiSetVisible(gui.windowtrue)
                outputChatBox("naliczamy")
            end
        else
            outputChatBox("nienalicamy")
        end
    end
end
addEventHandler("onClientVehicleEnter"getRootElement(), sprawdzanie)

local tick getTickCount()

function naliczanieMinut(v)
    local vehicle getPedOccupiedVehicle(localPlayer)
    local miejsce getVehicleOccupants(vehicle) -- seat
    
    if not getVehicleEngineState(vehiclethen -- jesli silnik jest zgaszony to nie uruchamiamy naliczania
        for k,v in pairs(miejsce) do -- seaty
            if == 0 then -- kierowca
                outputChatBox("Uruchom silnik, aby nalicza? minuty"25500false) -- wyswietlanie dla kierowcy
            end
            removeEventHandler("onClientRender"rootnaliczanieMinut) -- przerywamy naliczanie
        end
        return 
    end
    
    local vxvyvz getElementVelocity(vehicle)
    local actualspeed = ((vx^vy^vy^2)^(0.5)/10)
    
    for k,seat in pairs(miejsce) do -- seaty
        if == 1 then
            local minuty getElementData(seat"mm")
            if minuty<60 then
                if getTickCount()-tick>250 then -- naliczanie co 1 minute > do zmiany 60000
                    tick getTickCount()
                    minuty=minuty+1
                    outputChatBox(minuty)
                    setElementData(seat"mm"minuty)
                elseif minuty==60 then -- jesli jest 60 minut to nie naliczamy
                    removeEventHandler("onClientRender"rootnaliczanieMinut) -- przerywamy naliczanie
                end
            end
        end
    end
end

addEventHandler("onClientGUIClick"gui.naliczanie, function()
    addEventHandler("onClientRender"rootnaliczanieMinut)
endfalse)


Napisa?em taki oto kod na naliczanie minut na Way i mam do tego kodu par? pyta?. Czy kod jest w jaki? spos?b optymalny? b?d? jakiekolwiek lagi? Czy kod jest napisany poprawnie? nie mam jak sprawdzi? z dwoma graczami. Co m?g?bym doda?, poprawi? czy usun??, aby wygl?da? lepiej? Dzi?kuj? za wszystkie odpowiedzi :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-01-16, 07:28


_Haze

Peace Yo!






Wiek: 24
Na forum: 4184 dni
Posty: 1648
Nick w MP: Haze

Piwa: 2628

Respekt: 1020
Respekt: 1020

cayman11, w sprawdzaniu mog?e? da? elseifa na seat i my?l? ?e b?dzie spami? wiadomo?ciami uruchom silnik poniewa? jest to onclientrender. Musisz zrobi? zmienna da? na True je?li zmienna jest na true daje na false i timer na sekund? na True. Wtedy zamiast spami? b?dziesz mia? output co sekund?. A kod sam w sobie jest raczej optymalny.

Postaw piwo autorowi tego posta
 

 
Tagi: naliczanie :: minut
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Naliczanie minut Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku