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: 5088 dni
Posty: 73



Respekt: 50


local sw,sh = guiGetScreenSize()
local gui = {}
local szerokosc, wysokosc = 350, 180
  
gui.window = guiCreateWindow(sw/2-szerokosc/2, sh/2-wysokosc/2, szerokosc, wysokosc, "Naliczanie .. gracz", false)
--label
gui.naliczanie = guiCreateButton(0.09, 0.2, 0.5, 0.08, "Naliczaj", true, gui.window)
--button
guiSetVisible(gui.window, false)

--

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 k == 1 then
            outputChatBox(getElementData(v,"mm"))
            guiSetVisible(gui.window, true)
        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.window, true)
                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(vehicle) then -- jesli silnik jest zgaszony to nie uruchamiamy naliczania
        for k,v in pairs(miejsce) do -- seaty
            if k == 0 then -- kierowca
                outputChatBox("Uruchom silnik, aby nalicza? minuty", 255, 0, 0, false) -- wyswietlanie dla kierowcy
            end
            removeEventHandler("onClientRender", root, naliczanieMinut) -- przerywamy naliczanie
        end
        return 
    end
    
    local vx, vy, vz = getElementVelocity(vehicle)
    local actualspeed = ((vx^2 + vy^2 + vy^2)^(0.5)/10)
    
    for k,seat in pairs(miejsce) do -- seaty
        if k == 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", root, naliczanieMinut) -- przerywamy naliczanie
                end
            end
        end
    end
end

addEventHandler("onClientGUIClick", gui.naliczanie, function()
    addEventHandler("onClientRender", root, naliczanieMinut)
end, false)


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: 25
Na forum: 4325 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