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

Wysłany: 2019-08-02, 18:11


TheBAMBO

restMTA






Wiek: 22
Na forum: 2953 dni
Posty: 73
Nick w MP: zexty

Piwa: 12314

Respekt: 75,8

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)


----------------------------------


Podpis

Discord
zexty00
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-08-02, 21:48


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

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?

Więcej informacji znajdziesz w Wikipedii MTA:

getVehicleController


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)


Postaw piwo autorowi tego posta
 

 
Tagi: praca :: kuriera
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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