Wysłany: 2019-08-02, 18:11
TheBAMBO
restMTA
Wiek: 22 Na forum: 2812 dni Posty: 73
Nick w MP: zexty
Piwa : 12110
Witam, napisa?em prac? kuriera, lecz nie wiem jak zrobi? to ?e gdy wybuchnie auto, gracz zginie lub wysi?dzie to usuwa auto i anuluje prace
kod (SSide) :
--[[
Praca Kuriera by TheNoobisty
* ServerSide *
]]--
--------- USTAWIENIA ---------
kasa = math . random ( 1000 , 1500 ) -- Zarobek gracza
kasa_premium = math . random ( 1200 , 1850 ) -- Zarobek premium
x , y , z = 2848.46 , 1343.77 , 11.16 -- Pozycja markeru dostawy
rejka = "KURIER" -- Napis na rejestracji
silnik = true -- ( true - w ?? czony | false - wy ?? czony )
r , g , b = 255 , 255 , 255 -- Kolor 1 pojazdu
r2 , g2 , b2 = 255 , 255 , 255 -- Kolor 2 pojazdu
damage = true -- Ochrona przed uszkodzeniami ( true - tak | false - nie )
------------------------------
local markerpkt = createMarker ( x , y , z - 3 , 'cylinder' , 5 , 0 , 255 , 0 , 0 )
createMarker ( x , y , z - 5.4 , 'cylinder' , 5 , 0 , 255 , 0 , 75 )
addEvent ( "inforozpoczecie" , true )
addEventHandler ( "inforozpoczecie" , root , function()
local vehicle = getPedOccupiedVehicle ( source )
exports [ "np-notyfikacje" ]: noti ( "Rozpoczynasz prac? kuriera, udaj si? do punktu dostawy paczki" , source )
end )
addEvent ( "rozpoczecie" , true )
addEventHandler ( "rozpoczecie" , root , function( plr )
v = createVehicle ( 498 , 790.75 , 1677.96 , 5.35 , 359.4 , 360.0 , 271.1 )
setElementData ( plr , "pracuje" , true )
setVehiclePlateText ( v , rejka )
setVehicleEngineState ( v , silnik )
setVehicleColor ( v , r , g , b , r2 , g2 , b2 )
setVehicleDamageProof ( v , damage )
warpPlayerIntoVehicle ( source , v )
end )
addEventHandler ( 'onMarkerHit' , markerpkt , function( plr )
if not getElementData ( plr , "praca:kurier" ) then return end
if not v then return end
destroyElement ( v )
if getElementData ( plr , "player:premium" , true ) then
givePlayerMoney ( plr , kasa_premium )
exports [ "np-notyfikacje" ]: noti ( "Dostarczasz paczk?, otrzymujesz " .. kasa_premium .. " PLN" , source )
setElementData ( source , "kurier:job" , true )
else
givePlayerMoney ( plr , kasa )
exports [ "np-notyfikacje" ]: noti ( "Dostarczasz paczk?, otrzymujesz " .. kasa .. " PLN" , source )
setElementData ( source , "kurier:job" , true )
end
end )
function exitVehicle ( v , plr )
if getElementData ( plr , "pracuje:kurier" , true ) then
local vehicle = getPedOccupiedVehicle ( source )
destroyElement ( vehicle )
setElementData ( plr , "pracuje:kurier" , false )
end
end
addEventHandler ( "onVehicleStartExit" , getRootElement (), exitVehicle )
Kod (CSIDE):
--[[
Praca Kuriera by TheNoobisty
* ClientSide *
]]--
-- USTAWIENIA --
x1 , y1 , z1 = 793.89972 , 1687.07556 , 5.28125 - 1 -- Pozycja markeru pracy
x2 , y2 , z2 = - 2848.46 , 1343.77 , 11.16 -- Pozycja blipu dostawy
---------------
-- GUI --
gui = guiCreateWindow ( 0.34 , 0.35 , 0.31 , 0.44 , "Praca Kuriera" , true )
guiWindowSetSizable ( gui , false )
button1 = guiCreateButton ( 0.03 , 0.12 , 0.95 , 0.23 , "Rozpocznij" , true , gui )
guiSetProperty ( button1 , "NormalTextColour" , "FFAAAAAA" )
button2 = guiCreateButton ( 0.03 , 0.39 , 0.95 , 0.23 , "Zamknij Okno" , true , gui )
guiSetProperty ( button2 , "NormalTextColour" , "FFAAAAAA" )
gridlist = guiCreateGridList ( 0.03 , 0.67 , 1 , 0.40 , true , gui )
guiGridListAddColumn ( gridlist , "Typ Konta" , 0.2 )
guiGridListAddColumn ( gridlist , "Zarobek" , 0.72 )
for i = 1 , 2 do
guiGridListAddRow ( gridlist )
end
guiGridListSetItemText ( gridlist , 0 , 1 , "Premium" , false , false )
guiGridListSetItemText ( gridlist , 0 , 2 , "od 1,200 do 1,850 PLN" , false , false )
guiGridListSetItemText ( gridlist , 1 , 1 , "Gracz" , false , false )
guiGridListSetItemText ( gridlist , 1 , 2 , "od 1,000 do 1,500 PLN" , false , false )
guiSetVisible ( gui , false )
------------------------
local marker = createMarker ( x1 , y1 , z1 - 1 , 'cylinder' , 2 , 0 , 64 , 255 , 75 )
local blip = createBlip ( x2 , y2 , z2 , 51 , 0 , 0 , 0 , 255 )
local Player = getLocalPlayer ()
------------------------
function hit ( el )
if el == localPlayer then
if getPedOccupiedVehicle ( el ) then return end
guiSetVisible ( gui , true )
showCursor ( true )
end
end
addEventHandler ( "onClientMarkerHit" , marker , hit )
addEventHandler ( "onClientGUIClick" , resourceRoot ,
function()
if source == button2 then
if isElementWithinMarker ( Player , marker ) then
guiSetVisible ( gui , false )
showCursor ( false )
end
end
if source == button1 then
if isElementWithinMarker ( Player , marker ) then
triggerServerEvent ( "rozpoczecie" , localPlayer )
triggerServerEvent ( "inforozpoczecie" , localPlayer )
guiSetVisible ( gui , false )
showCursor ( false )
end
end
end )
----------------------------------
function filedelet ()
if fileExists ( "c.lua" ) then
fileDelete ( "c.lua" )
end
end
addEventHandler ( "onClientResourceStart" , getResourceRootElement ( getThisResource ()), filedelet )
----------------------------------
Wysłany: 2019-08-02, 21:48
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
Event "onVehicleStartExit" w Twoim skrypcie jest ?le zrobiony.
Pierwszy argument funkcji to gracz, kt?ry wysiada. Natomiast drugi argument to siedzenie, z kt?rego wysiada. ?r?d?em eventu jest pojazd, z kt?rego gracz wysiada.
Warunek sprawdzaj?cy elementDat? ma zb?dny 3 argument.
Wi?c event powinien wygl?da? tak:
function exitVehicle ( plr )
if getElementData ( plr , "pracuje:kurier" ) == true then
destroyElement ( source )
setElementData ( plr , "pracuje:kurier" , false )
end
end
addEventHandler ( "onVehicleStartExit" , getRootElement (), exitVehicle )
Event "onVehicleExplode" wykonuje si? przy wybuchni?ciu pojazdu.
Tam ?r?d?em te? jest pojazd, kt?ry wybuch?.
Natomiast nie ma argument?w dotycz?cych kierowcy, wi?c musisz pos?u?y? si? funkcj?
Przyk?ad stworzonego eventu i podpi?tej funkcji:
function explodeVehicle ()
if getElementData ( getVehicleController ( source ), "pracuje:kurier" ) == true then
setElementData ( getVehicleController ( source ), "pracuje:kurier" , false )
end
end
addEventHandler ( "onVehicleExplode" , getRootElement (), explodeVehicle )
Tagi: praca :: kuriera
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: