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

Wysłany: 2019-02-08, 12:00


DarkZoneMan







Wiek: 25
Na forum: 3583 dni
Posty: 17
Nick w MP: DarkZoneMan

Piwa: 11

Respekt: 50

Napisa?em skrypt pracy parkingowego kt?ra polega na tym ?e po wej?ciu w marker teleportuje nas do utworzonego pojazdu i my ten pojazd musimy "zaparkowa?" w miejscu wyznaczonym przez przez drugi marker, po zaparkowaniu skrypt wymusza na graczu wyj?cie z pojazdu (wyjscie z pojazdu powoduje zako?czenie pracy), i daje pieni?dze

Problem?w jest kilka, czasem punkt wog?le sie nie pojawia lub (te? czasami) po wjechaniu w punkt gracz nie wysiada automatycznie... jak to naprawi?? M?cz? si? z tym juz troche i totalnie nie mam pomys?u


Strona serwera:
local marker = createMarker(-2480.7,-610,131.56,"cylinder",2,255,0,0,255)

local auto = {}

function sprawdzhit ( hit )
    if getElementType(hit) ~= "player" then return end
    if isPedInVehicle(hit) then return end
    auto[hit] = createVehicle(566,-2472.21,-623.80,132.2,0,0,90,"parking")
    warpPedIntoVehicle(hit, auto[hit])
    setVehicleHandling(auto[hit], "maxVelocity", 40)
    triggerClientEvent(hit, "startJob:parkingowy", resourceRoot)
end
addEventHandler("onMarkerHit", marker, sprawdzhit )

function zakonczprace (player)
if auto[player] and isElement(auto[player]) then
    destroyElement(auto[player])
    triggerClientEvent(player, "stopJob:parkingowy", resourceRoot)
 end
outputChatBox("[PRACA] Zakonczyles prace parkingowego", getRootElement(),0,255,0,false)
 end


addEventHandler("onVehicleExit", resourceRoot, function(player, seat)
    if seat ~= 0 then return end
    zakonczprace(player)
end)

addEventHandler("onPlayerWasted", root, function()
    zakonczprace(player)
end)

addEventHandler("onPlayerQuit", root, function()
    zakonczprace(player)
end)


Strona Clienta:

local pkt = {
    {-2498.24, -602.26, 132.56},
    {-2513.20, -601.5, 132.56},
    {-2531.7, 602.2, 132.56},
}

local marker2 = false
function stworzmarker()
    local rnd = math.random(1, #pkt)
    marker2 = createMarker(pkt[rnd][1], pkt[rnd][2], pkt[rnd][3]-1, "checkpoint", 3, 0, 0, 255, 75)
end

function zniszczmarker()
    if marker2 and isElement(marker2) then
        destroyElement(marker2)
    end
end

addEvent("startJob:parkingowy", true)
addEventHandler("startJob:parkingowy", root, stworzmarker)

addEvent("stopJob:parkingowy", true)
addEventHandler("stopJob:parkingowy", root, zniszczmarker)

function parkowanie(hit)
    if hit ~= localPlayer then return end
    if source ~= marker2 then return end
    local veh = getPedOccupiedVehicle(hit)
    if not veh then return end
    local kasa = math.random(35,40)
    givePlayerMoney( kasa )
    setPedControlState(hit,"enter_exit",true)
    zniszczmarker()
end
addEventHandler("onClientMarkerHit", resourceRoot, parkowanie )


Podpis

Staram się pomagać jak tylko mogę :)


Discord: Dziedzic#8448
GG: 53715441



Aktualny projekt: TWÓJ SERWER MTA

forum.twojserwermta.pl


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-08, 13:19


TheGuruPolska







Wiek: 36
Na forum: 3907 dni
Posty: 65
Nick w MP: TheGuru

Piwa: 47

Respekt: 50

Wg mnie masz troche zle napisane triggery i handlery.

triggeClientEvent(gracz,"event",gracz);
addEventHandler("onVehicleExit", getRootElement(), funkcja);
 --Client:
addEventHandler("event",localPlayer,funkcja);


Tak samo event po wejsciu w marker po stronie klienta - jako zrodlo daj marker, a nie resourceRoot

addEventHandler("onPlayerWasted",getRootElement(),
function()
   funkcja(source) -- source to grac ktory umarl

end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-08, 13:47


DarkZoneMan







Wiek: 25
Na forum: 3583 dni
Posty: 17
Nick w MP: DarkZoneMan

Piwa: 11

Respekt: 50

"TheGuruPolska" napisał/a:

Wg mnie masz troche zle napisane triggery i handlery.

triggeClientEvent(gracz,"event",gracz);
addEventHandler("onVehicleExit", getRootElement(), funkcja);
 --Client:
addEventHandler("event",localPlayer,funkcja);


Tak samo event po wejsciu w marker po stronie klienta - jako zrodlo daj marker, a nie resourceRoot

addEventHandler("onPlayerWasted",getRootElement(),
function()
   funkcja(source) -- source to grac ktory umarl

end)


jak dalem po stronie clienta marker2 te bugi kt?re opisa?em wy?ej dalej s? plus po wjechaniu w marker nic sie nie dzieje

Podpis

Staram się pomagać jak tylko mogę :)


Discord: Dziedzic#8448
GG: 53715441



Aktualny projekt: TWÓJ SERWER MTA

forum.twojserwermta.pl


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-08, 15:02


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Marker si? nie pojawia, poniewa? jedne koordynaty po stronie klienta znajduj? si? w centrum San Fierro, pozosta?e dwa na g?rce obok anteny.

Kod lekko zmodyfikowa?em i doda?em warunki sprawdzaj?ce, czy gracz pracowa? tak aby nie wykonywa?o si? zako?czenie pracy je?li ka?dy wyjdzie.

SERVER:
local marker = createMarker(-2480.7, -610, 131.56, "cylinder", 2, 255, 0, 0, 255)

local auto = {}

function sprawdzhit(hit)
    if getElementType(hit) ~= "player" then return end
    if isPedInVehicle(hit) then return end
    auto[hit] = createVehicle(566,-2472.21, -623.80, 132.2, 0, 0, 90, "parking")
    warpPedIntoVehicle(hit, auto[hit])
    setVehicleHandling(auto[hit], "maxVelocity", 40)
    triggerClientEvent(hit, "startJob:parkingowy", hit)
end
addEventHandler("onMarkerHit", marker, sprawdzhit)

function zakonczprace(player)
    if auto[player] and isElement(auto[player]) then
        destroyElement(auto[player])
        triggerClientEvent(player, "stopJob:parkingowy", player)
    end
    outputChatBox("[PRACA] Zakonczyles prace parkingowego", player, 0, 255, 0)
end

addEventHandler("onVehicleExit", resourceRoot, function(player, seat)
    if seat ~= 0 then return end
    if auto[player] and isElement(auto[player]) and auto[player] == source then
        zakonczprace(player)
    end
end)

addEventHandler("onPlayerWasted", root, function()
    if auto[source] and isElement(auto[source]) then
        zakonczprace(source)
    end
end)

addEventHandler("onPlayerQuit", root, function()
    if auto[source] and isElement(auto[source]) then
        zakonczprace(source)
    end
end)


--

KLIENT:
local pkt = {
    {-2498.24, -602.26, 132.56},
    {-2513.20, -601.5, 132.56},
    {-2531.7, -602.2, 132.56},
}

local marker2

function stworzmarker()
    local rnd = math.random(1, #pkt)
    marker2 = createMarker(pkt[rnd][1], pkt[rnd][2], pkt[rnd][3]-1, "checkpoint", 3, 0, 0, 255, 75)
    addEventHandler("onClientMarkerHit", marker2, function(hit, md)
        if hit ~= getLocalPlayer() or not md then return end
        local veh = getPedOccupiedVehicle(hit)
        if not veh then return end
        local kasa = math.random(35,40)
        givePlayerMoney(kasa)
        setPedControlState(hit, "enter_exit", true)
        zniszczmarker()
    end)
end

function zniszczmarker()
    if marker2 and isElement(marker2) then
        destroyElement(marker2)
    end
end

addEvent("startJob:parkingowy", true)
addEventHandler("startJob:parkingowy", getRootElement(), stworzmarker)

addEvent("stopJob:parkingowy", true)
addEventHandler("stopJob:parkingowy", getRootElement(), zniszczmarker)


PS. Polecam nadawa? pieni?dze po stronie servera - wtedy ta warto?? b?dzie mo?liwa do odczytania przez server, je?li ustawimy j? po kliencie to server odczytuje to jako 0.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-08, 16:19


DarkZoneMan







Wiek: 25
Na forum: 3583 dni
Posty: 17
Nick w MP: DarkZoneMan

Piwa: 11

Respekt: 50

No to nie?le nadalem te kordy haha, no c?? pomy?ki sie zdarzaj?, pewnie jedn? cyfre ?le przepisalem i takie problemy z tego powsta?y:P Dziekuj? Wilq za odpowiedz :D

Podpis

Staram się pomagać jak tylko mogę :)


Discord: Dziedzic#8448
GG: 53715441



Aktualny projekt: TWÓJ SERWER MTA

forum.twojserwermta.pl


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-09, 21:54


Adis.exe

LUA Developer






Wiek: 24
Na forum: 3639 dni
Posty: 292
Nick w MP: Adiś.exe

Piwa: 996

Respekt: 110,3
Respekt: 110,3

[clo]

Podpis

KONTAKT:
GG: 60968224
Discord: Adiś.exe#3828

Użytkownik: 05.11.2016
GTAO Member: 20.02.2019
Support-Team: 25.07.2018
Support-Team: 19.01.2019
Test Mod: 08.02.2019

Postaw piwo autorowi tego posta
 

 
Tagi: mogłby :: ktoś :: powiedzieć :: jest :: nie :: tak :: tym :: kodem?
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Mogłby ktoś powiedzieć co jest nie tak z tym kodem? 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