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

Wysłany: 2017-05-20, 23:17


Wen







Wiek: 26
Na forum: 3722 dni
Posty: 9



Respekt: 50

Witam, jest to m?j drugi post, jak i druga pro?ba do spo?ecze?stwa MTA.
Pro?b? moj? jest pomoc od was w skrypcie, kt?ry zaraz podam ni?ej.
Skrypt na razie polega na tym, ?e po wej?ciu w marker tworzy pojazd, a po wyj?ciu usuwa go. Lecz problem jest w tym, ?e gdy po wyj?ciu z auta usuwa auto, kt?re zosta?o jako pierwsze zrespione. Tak samo jest z innymi autami jak wysi?dzie si? to ka?demu na czacie pojawia si?, ?e "Praca zosta?a zako?czona". Licz? na pomoc z waszej strony, pr?bowa?em wielu rzeczy lecz bez skutku, dlatego postanowi?em si? do was zwr?ci?. Mam nadziej?, ?e znajdzie si? osoba, kt?ra napisze co zrobi?em ?le i jak to powinno wygl?da?.
Oto kod (a raczej cz??? jego):
function pojazd(player)
   car = createVehicle(451,-2028.99,174.43,28.83,0,0,270,"Kierowca",false,0,0)
   warpPedIntoVehicle(player, car)
   outputChatBox("Rozpocz??e? prac? kierowcy!", player)
   addVehicleUpgrade(car,1076)
end
addEventHandler("onMarkerHit", markerStart, pojazd)

function usun(theVehicle, seat)
    local model = getElementType(theVehicle)
    if seat == 0 then
        destroyElement(car)    
        outputChatBox("Zako?czy?e? prac?!", player)
    end
end
addEventHandler("onPlayerVehicleExit", getRootElement(), usun)
addEventHandler("onPlayerQuit", getRootElement(), usun)

Jakby by? kto? jeszcze uprzejmy i powiedzia? jak mam zrobi? te [lua], ?eby pokazywa?o, ?e to skrypt lua graficznie, bo sam si? tym bawi?em i niewiem jak to zrobi?...

Dodaje znaczniki lua //Emm

Ostatnio zmieniony przez Emm 2017-05-22, 05:48, w całości zmieniany 4 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-21, 08:59


Kronix.Cooder







Wiek: 36
Na forum: 5041 dni
Posty: 26

Piwa: 15

Respekt: 90

--S-SIDE:
----
local markerStart = createMarker(-2028.99,176.43,28.83, 'cylinder', 2.0, 255, 0, 0, 150) -- zapewne inne argumenty.
----

local function pojazd(player,dim)
    if getElementType(player) == "player" and dim and not isPedInVehicle(player) then -- warto doda? sprawdzenie czy gracz wszed? do Markera oraz czy marker jest w tym samym "?wiecie" oraz mo?na doda? inne warunki sprawdzaj?ce 
        local car = createVehicle(451,-2028.99,174.43,28.83,0,0,270,"Kierowca",false,0,0)
        warpPedIntoVehicle(player, car) 
        outputChatBox("Rozpocz??e? prac? kierowcy!", player) 
        addVehicleUpgrade(car,1076) 
    end
end 
addEventHandler("onMarkerHit", markerStart, pojazd) 

--event onPlayerVehicleExit:      function usun(vehicle theVehicle, int seat, player jacker) -- source player
--event onPlayerQuit:            function usun(string quitType, string reason, element responsibleElement) -- source player
local function usun(theVehicle,seat) -- argumenty funkcji r??ni? si? dla Eventow wiec nale?y znale?? elementy wsp?lne.
    if (not isElement(theVehicle)) or getElementType(theVehicle) ~= "vehicle" then -- je?eli theVehicle nie jest typem "vehicle" zapewne wykona? si? event onPlayerQuit
        seat = getPedOccupiedVehicleSeat(source); -- wiec nalezy pobra? potrzebne dane
        theVehicle = getPedOccupiedVehicle(source);
    end

    if seat == 0 and getElementParent(getElementParent(theVehicle)) == resourceRoot then ---- te? nale?y sprawdzi? czy pojazd jest z tego zasobu
        destroyElement(theVehicle)
        outputChatBox("Zako?czy?e? prac?!", source) -- sk?d si? wzi??o player ?  source to gracz (wyja?nienie: https://wiki.multitheftauto.com/wiki/OnPlayerVehicleExit)
    end 
end 

-- https://wiki.multitheftauto.com/wiki/OnPlayerVehicleExit
addEventHandler("onPlayerVehicleExit", root, usun) 

-- https://wiki.multitheftauto.com/wiki/OnPlayerQuit  
addEventHandler("onPlayerQuit", root, usun) 


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-21, 14:56


Wen







Wiek: 26
Na forum: 3722 dni
Posty: 9



Respekt: 50

"Kronix.Cooder" napisał/a:

--S-SIDE:
----
local markerStart = createMarker(-2028.99,176.43,28.83, 'cylinder', 2.0, 255, 0, 0, 150) -- zapewne inne argumenty.
----

local function pojazd(player,dim)
    if getElementType(player) == "player" and dim and not isPedInVehicle(player) then -- warto doda? sprawdzenie czy gracz wszed? do Markera oraz czy marker jest w tym samym "?wiecie" oraz mo?na doda? inne warunki sprawdzaj?ce 
        local car = createVehicle(451,-2028.99,174.43,28.83,0,0,270,"Kierowca",false,0,0)
        warpPedIntoVehicle(player, car) 
        outputChatBox("Rozpocz??e? prac? kierowcy!", player) 
        addVehicleUpgrade(car,1076) 
    end
end 
addEventHandler("onMarkerHit", markerStart, pojazd) 

--event onPlayerVehicleExit:      function usun(vehicle theVehicle, int seat, player jacker) -- source player
--event onPlayerQuit:            function usun(string quitType, string reason, element responsibleElement) -- source player
local function usun(theVehicle,seat) -- argumenty funkcji r??ni? si? dla Eventow wiec nale?y znale?? elementy wsp?lne.
    if (not isElement(theVehicle)) or getElementType(theVehicle) ~= "vehicle" then -- je?eli theVehicle nie jest typem "vehicle" zapewne wykona? si? event onPlayerQuit
        seat = getPedOccupiedVehicleSeat(source); -- wiec nalezy pobra? potrzebne dane
        theVehicle = getPedOccupiedVehicle(source);
    end

    if seat == 0 and getElementParent(getElementParent(theVehicle)) == resourceRoot then ---- te? nale?y sprawdzi? czy pojazd jest z tego zasobu
        destroyElement(theVehicle)
        outputChatBox("Zako?czy?e? prac?!", source) -- sk?d si? wzi??o player ?  source to gracz (wyja?nienie: https://wiki.multitheftauto.com/wiki/OnPlayerVehicleExit)
    end 
end 

-- https://wiki.multitheftauto.com/wiki/OnPlayerVehicleExit
addEventHandler("onPlayerVehicleExit", root, usun) 

-- https://wiki.multitheftauto.com/wiki/OnPlayerQuit  
addEventHandler("onPlayerQuit", root, usun) 


Widz?, ?e kolega przeni??? niekt?re rzeczy z innego j?zyka, no okej. Moim zdaniem napisane tak ?rednio zrozumiale, troch? musia?em popoprawia?. I taka jedna rzecz w j?zyku lua nie u?ywa si? ";" ?eby zako?czy? linijk?, czy te? przej?? do nast?pnej.

Dodaje znaczniki lua //Emm

Ostatnio zmieniony przez Emm 2017-05-22, 05:49, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-21, 15:28


Jurandovsky

Kurdebele






Wiek: 17
Na forum: 4979 dni
Posty: 915

Piwa: 2697

Respekt: 955,3
Respekt: 955,3Respekt: 955,3

Jest to s-side, wi?c skoro do zmiennej na server-side przypisujesz pojazd, to nie dziw si?, ?e inne usuwa, S SIDE wykonuje si? jakby globalnie, dla ka?dego, wi?c musisz miec nie jedn? zmienn? a ilo?? zmiennych r?wn? graczom, zatem tutaj trzeba u?y? tablicy.

local tbl = {}

gracz zaczyna prac?:
tbl[gracz] = createVehicle

etc

Podpis
Jedyny kontakt ze mną to PW forum

Kod:


local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
Postaw piwo autorowi tego posta
 

 
Tagi: skrypt :: pracę :: (początek)
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Skrypt na pracę (Początek) 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