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

Wysłany: 2017-02-09, 16:41


Kuksss

guwno






Wiek: 22
Na forum: 3781 dni
Posty: 102
Nick w MP: guwnp

Piwa: 732

Respekt: 70,5

Ostrzeżeń: 100%
Client:
local marker createMarker(87.253881183.6221918.66406 2.4"cylinder"210272225)

local wm={}
wm.window=guiCreateWindow(0.250.260.510.42"Praca dorywcza"true)
guiWindowSetSizable(wm.windowfalse)
guiWindowSetMovable(wm.windowfalse)
guiSetVisible(wm.windowfalse)
wm.elo=guiCreateLabel(0.02,0.1,0.94,0.92,"Egzampul egzampul",true,wm.window)
wm.button=guiCreateButton(0.570.750.390.20"Rozpocznij prac?!"truewm.window)
wm.exit=guiCreateButton(0.0400.750.390.20"Zamknij"truewm.window)

addEventHandler("onClientMarkerHit",marker,function(el,md) 
    if not md or el~=localPlayer then return end
 if guiGetVisible(wm.window) == false then
        guiSetVisible(wm.windowtrue)
        showCursor(true)
    end
end)

function if2()
    if guiGetVisible(wm.window) == true then
        guiSetVisible(wm.windowfalse)
        showCursor(false)
    end
end
addEventHandler("onClientGUIClick"wm.buttonif2)

function greetingCommand commandName )
    triggerServerEvent("onTrigger"resourceRoot)
end
addEventHandler "onClientGUIClick"wm.buttongreetingCommand )

function if3()
    if guiGetVisible(wm.window) == true then
        guiSetVisible(wm.windowfalse)
        showCursor(false)
    end
end
addEventHandler("onClientGUIClick"wm.exit, if3)

--wazniejsze

m1,b1 nil

function usunblip()
    destroyElement(b1)
    destroyElement(m1)
    outputChatBox("Dostarczy?e?/a? ?adunek na miejsce! pozosta?o: 2/3"02550)
end

function blipandcos()
    m1 createMarker(-71.790921202.9602119.59375"checkpoint"225500)
    b1 createBlipAttachedTo(m112)
    addEventHandler("onClientMarkerHit"m1usunblip)
end
addEventHandler("onClientGUIClick"wm.buttonblipandcos)

--dalszy etap
m2,b2 nil

function usunblipax()
    destroyElement(b2)
    destroyElement(m2)
    outputChatBox("Dostarczy?e?/a? ?adunek na miejsce! pozosta?o: 1/3"02550)
end

function blipandcosx()
    m2 createMarker(-197.564771145.6925019.59375"checkpoint"225500)
    b2 createBlipAttachedTo(m212)
    addEventHandler("onClientMarkerHit"m2usunblipax)
end
addEventHandler("onClientMarkerHit"m1blipandcosx)

Server:
function handler ()  
    pojazd=createVehicle(60247.441801176.7213118.66406)
    warpPedIntoVehicle(clientpojazd)
end
addEvent"onTrigger"true )
addEventHandler"onTrigger"resourceRoothandler )

function cosik(vehicleseatjacked)
    destroyElement(pojazd)
    outputChatBox("Zako?czy?e?/a? prac?!"getRootElement(), 25500)
end
addEventHandler("onPlayerVehicleExit"getRootElement(), cosik)


Mam kilka pyta?.
Dlaczego gdy jeden gracz wjedzie w marker, innym on te? znika?
Dlaczego nie pojawia si? kolejny punkt roz?adunku po wjechaniu w pierwszy?
Dlaczego pojazd po wyj?ciu z niego znika tylko jednemu graczowi, a innym zostaje?

Za pomoc stawiam :piwo: i daj? R* !

Podpis
c***
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-02-09, 20:13


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

Du?o b??d?w masz w swojej pracy, 0 zabezpiecze?. Zr?b tablic? z kordami marker?w i zastosuj to:

local tablicaZpunktami = {

{2130.7321777344895.8693847656310.8203125},
{1609.65185546882231.458251953110.22998619079},
{2624.48730468751134.026367187510.476633071899},

}
-- tutaj losujesz punkty i dajesz do nich markery oraz blip
rnd=punkt[math.random(#tablicaZpunktami )]
        pmarker=createMarker(rnd[1], rnd[2], rnd[3], "checkpoint"32550)
        pblip=createBlip(rnd[1], rnd[2], rnd[3], 41)



Pami?taj ?e w lua dzia?aj? eventy ze wszystkich skrypt?w na raz wi?c je?eli zastosujesz:

addEventHandler("onPlayerVehicleExit"getRootElement(), cosik)

To usunie ka?dy pojazd.

Lepiej zr?b marker z prac? po stronie serwera i z tego triggerowa? gui.
Tutaj jak usun?? blip w kt?ry gracz wjedzie (kod nie jest m?j,ale jest idealnym przyk?adem jak to zrobi?):

local missionBlip
local missionPickup
local missionVehicle
local missionTank

local function finishJob(missionValue)
    if isElement(missionBlipthen
        destroyElement(missionBlip)
        missionBlip=nil
    end
    if isElement(missionMarkerthen
        destroyElement(missionMarker)
        missionMarker=nil
    end
    if missionValue then
        setElementData(localPlayer,"player:job",false) -- -v
        triggerServerEvent("dune:stopJOB"localPlayermissionVehicle) -- element datyzrobione po to aby gracz nie mogl brac kilka prac na raz oraz aby nie mogl brac tej samej pracy 2x
        missionVehicle=nil
        missionMarker=nil
        missionBlip=nil
    end
end


Ostatnia rzecz to zabezpieczenie skryptu przed bugowaniem. Musisz dopisa? kod w kt?rym praca si? zako?czy gdy:
-gracz zginie
-wyjdzie z serwera
-'Wasted'
-wyjdzie z pojazdu
-kiedy praca(zas?b) zostanie zastopowany.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-02-10, 14:46


Kuksss

guwno






Wiek: 22
Na forum: 3781 dni
Posty: 102
Nick w MP: guwnp

Piwa: 732

Respekt: 70,5

Ostrzeżeń: 100%
amited, Zrobilem
local marker createMarker(87.253881183.6221918.66406 2.4"cylinder"210272225)

local wm={}
wm.window=guiCreateWindow(0.250.260.510.42"Praca dorywcza"true)
guiWindowSetSizable(wm.windowfalse)
guiWindowSetMovable(wm.windowfalse)
guiSetVisible(wm.windowfalse)
wm.elo=guiCreateLabel(0.02,0.1,0.94,0.92,"Egzampul egzampul",true,wm.window)
wm.button=guiCreateButton(0.570.750.390.20"Rozpocznij prac?!"truewm.window)
wm.exit=guiCreateButton(0.0400.750.390.20"Zamknij"truewm.window)

addEventHandler("onClientMarkerHit",marker,function(el,md) 
    if not md or el~=localPlayer then return end
 if guiGetVisible(wm.window) == false then
        guiSetVisible(wm.windowtrue)
        showCursor(true)
    end
end)

function if2()
    if guiGetVisible(wm.window) == true then
        guiSetVisible(wm.windowfalse)
        showCursor(false)
    end
end
addEventHandler("onClientGUIClick"wm.buttonif2)

function greetingCommand commandName )
    triggerServerEvent("onTrigger"resourceRoot)
end
addEventHandler "onClientGUIClick"wm.buttongreetingCommand )

function if3()
    if guiGetVisible(wm.window) == true then
        guiSetVisible(wm.windowfalse)
        showCursor(false)
    end
end
addEventHandler("onClientGUIClick"wm.exit, if3)

--wazniejsze


tablicaZpunktami = {

{-230.237241202.4414119.59375},

}
rnd=punkt[math.random(#tablicaZpunktami )]
        pmarker=createMarker(rnd[1], rnd[2], rnd[3], "checkpoint"32550)
        pblip=createBlip(rnd[1], rnd[2], rnd[3], 12)
        
    
local missionBlip
local missionPickup
local missionVehicle
local missionTank

local function finishJob(missionValue)
    if isElement(missionBlipthen
        destroyElement(missionBlip)
        missionBlip=nil
    end
    if isElement(missionMarkerthen
        destroyElement(missionMarker)
        missionMarker=nil
    end
    if missionValue then
        setElementData(localPlayer,"player:job",false) -- -v
        missionVehicle=nil
        missionMarker=nil
        missionBlip=nil
    end
end

W cliencie, ale nadal nie dzia?a, teraz nawet nie tworzy blipa. :/

Podpis
c***
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-02-10, 16:29


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

Kuksss, Jak to ma dzia?a? jak skopiowa?e? wszystko co wklei?em z poprzedniego postu? To missionVale i reszte wywal to s? locale oraz tam dalej jest funkcja kt?ra ko?czy prac? oraz niszczy markery i blipy.

Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-02-11, 10:55


Kuksss

guwno






Wiek: 22
Na forum: 3781 dni
Posty: 102
Nick w MP: guwnp

Piwa: 732

Respekt: 70,5

Ostrzeżeń: 100%
amited, Chodzi mi o to, ?eby by?y tylko 3 punkty, p??niej trzeba by by?o odjecha? do pocz?tku i dopiero wtedy odebra? wynagrodzenie.

Podpis
c***
Postaw piwo autorowi tego posta
 

 
Tagi: praca :: dorywcza
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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