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
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.
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
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