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

Wysłany: 2018-10-21, 13:42


czlowiekjaja







Wiek: 20
Na forum: 2991 dni
Posty: 76
Nick w MP: czlowiekjaja

Piwa: 324

Respekt: 50

Witam mam pytanie jak zrobi? aby trzeba by?o przejecha? ile? tam km podczas zdawania prawa jazdy? Jakie? funkcje jakby kto? poda?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-10-21, 15:27


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Wykorzystaj dowolny skrypt na obliczanie przebytej drogi, pos?u?? si? tutaj community:

https://community.mtasa.com/index.php?p=resources&s=details&id=118
[Travel Meter]

i odpowiednio go z edytuj? aby odpowiada? Twoim wymaganiom:

local distanceTraveled
local oX, oY, oZ
local x, y, z
local checkedDistance

addEventHandler("onClientResourceStart", getRootElement(), function(startedResource)
    if startedResource ~= getThisResource() then return end
        oX,oY,oZ = getElementPosition(getLocalPlayer())
        distanceTraveled = 0
end)

addEventHandler("onClientPlayerJoin", getRootElement(), function()
    oX,oY,oZ = getElementPosition(source)
    distanceTraveled = 0
end)

addEventHandler("onClientRender", getRootElement(), function()
    if not isPedInVehicle(getLocalPlayer()) or not getElementData(getPedOccupiedVehicle(getLocalPlayer()), "naukaJazdy") then return end
        x, y, z = getElementPosition(getLocalPlayer())
        distanceTraveled = distanceTraveled + string.format("%.01f",getDistanceBetweenPoints3D(x, y, z, oX, oY, oZ))
        oX = x
        oY = y
        oZ = z
end)

addEventHandler("onClientVehicleExit", getRootElement(), function(plr, s, d)
    if s ~= 0 or d ~= 0 or not getElementData(source, "naukaJazdy") then return end
        distanceTraveled = 0
        outputChatBox("Wysiad?e? z pojazdu, przebyta odleg?o?? resetuje si?.")
end)


Je?li Twoja 'elka' posiada jak?? elementdat?, popraw j? odpowiednio tam gdzie w skrypcie jest ona sprawdzana - tak aby odleg?o?? nalicza?o tylko pojazdom nauki jazdy (linia 12 i linia 21).

Ten kod mo?esz wklei? do skryptu od nauki jazdy aby nie bawi? si? w exporty.
P??niej tylko sprawdzasz np. w timerze, czy przebyta odleg?o?? jest wi?ksza lub r?wna si? Twojej odleg?o?ci, przyk?ad:

function checkDistance()
    if isPedInVehicle(getLocalPlayer()) and getElementData(getPedOccupiedVehicle(getLocalPlayer()), "naukaJazdy") and distanceTraveled >= 1000 and not checkedDistance then
        outputChatBox("Przejecha?e? 1km, gratulacje!")
        checkedDistance = true
        -- reszta akcji, np. nakaz jazdy w jakie? miejsce
    end
end
setTimer(checkDistance, 10*1000, 0)


Postaw piwo autorowi tego posta
 

 
Tagi: prawo :: jazdy
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Prawo jazdy 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