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

Wysłany: 2021-07-27, 20:51


Remox1225







Wiek: 24
Na forum: 2820 dni
Posty: 9
Nick w MP: Remox1225

Piwa: 2

Respekt: 50

Siemka mam problem, dok?adniej chodzi mi o stworzenie funkcji kt?ra losowa?a by mi pojazd na nowo po rozpocz?ciu pracy. W lua niestety jestem zielony, wi?c wiadomo jak mi wysz?o :D . Poni?ej kod Server Side (nie ca?y, tylko to co bym chcia? aby zacz??o dzia?a?).



local vehicles = {
{-1726.73, -121.593.15359.5359.9136.9},
}

local dostepnetunery = {565,559,562}

local model math.random(1,#dostepnetunery)


addEvent("spawnauto",true)
addEventHandler("spawnauto",root,function(plr)
    local vehicle createVehicle(dostepnetunery[model],-1726.73, -121.593.15359.5359.9136.9)
    local tablica math.random(100,2000)
    setElementFrozen(vehicle,true)
    setVehiclePlateText(vehicle,"SF "..tablica.."")
    setVehicleLocked(vehicle,true)
    setVehicleVariant(vehicle,2,2)
    setVehicleDoorState(vehicle,0,4)
    setVehicleDoorState(vehicle,2,2)
    setElementData(vehicle,"pojazdpracy",true)
    setVehicleColor(vehicle,175,118,007,088,114,070)
    setTimer(function()
        destroyElement(vehicle)
    end,30000,0)
end)



local pv = {
    {-1731.87, -137.113.17359.6360.045.6},
    {-1736.13, -142.503.17359.60.046.4},

}

addEvent("createVehicle:buildingjob",true)
addEventHandler("createVehicle:buildingjob",root,function(plr)
    if plr then
        local rnd math.random(1,#pv)
        veh[plr] = createVehicle(dostepnetunery[model],pv[rnd][1],pv[rnd][2],pv[rnd][3],pv[rnd][4],pv[rnd][5],pv[rnd][6],"N1_TUNER")
                local wariant getElementModel(veh[plr])
                if wariant == 565 then
                    addVehicleUpgrade(veh[plr],1045)
                    addVehicleUpgrade(veh[plr],1151)
                    addVehicleUpgrade(veh[plr],1150)
                    addVehicleUpgrade(veh[plr],1001)
                    addVehicleUpgrade(veh[plr],1009)
                    addVehicleUpgrade(veh[plr],1074)
                    setVehiclePaintjob(veh[plr],1)
                end
                if wariant == 559 then
                    setVehiclePaintjob(veh[plr],1)
                    addVehicleUpgrade(veh[plr],1075)
                    addVehicleUpgrade(veh[plr],1065)
                    addVehicleUpgrade(veh[plr],1067)
                    addVehicleUpgrade(veh[plr],1158)
                    addVehicleUpgrade(veh[plr],1173)
                    addVehicleUpgrade(veh[plr],1009)
        setElementInterior(veh[plr], 0)
        setElementInterior(plr0)
        setVehicleVariant(veh[plr],2,2)
        setVehicleColor(veh[plr],088,114,070,088,114,070)
        setVehicleLocked(veh[plr],true)
                end
        fadeCamera(plr,false)
        warpPedIntoVehicle(plr,veh[plr])
        t1[plr] = setTimer(function()
            fadeCamera(plr,true)
            setElementFrozen(plr,false)
        end,2000,1)
        outputChatBox("Dostarcz pojazd do w?a?ciciela!",plr,0,255,0,true)
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-07-27, 22:38


xyzzz^

A nic






Wiek: 18
Na forum: 1993 dni
Posty: 319
Nick w MP: Aspyk21

Piwa: 308

Respekt: 81

Ostrzeżeń: 100%
Wywala jakie? b??dy?
I w jaki spos?b triggerujesz ten event

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Remox1225
Wysłany: 2021-07-27, 23:13


Remox1225







Wiek: 24
Na forum: 2820 dni
Posty: 9
Nick w MP: Remox1225

Piwa: 2

Respekt: 50

"xyzzz^" napisał/a:

Wywala jakie? b??dy?
I w jaki spos?b triggerujesz ten event


Nie wywala b??d?w i triggeruj? w taki spos?b:
Client Side:

function startJob(plr)
    if (plr==localPlayerthen
        if not getElementData(plr,"player:job"then
            if not isPedInVehicle(plrthen
                playerpoints 0
                setElementData(plr,"player:job",true)
                setElementData(plr,"player:job:materialy:etap",1)
                                triggerServerEvent("spawnauto",plr,plr)
                outputChatBox("* Praca zosta?a rozpocz?ta!")
                startJobEtap(plr)
                setElementData(plr,"DM:unlock",false)
                outputChatBox("Udaj si? do wn?trza magazynu zanie? mechanika 5 cz??ci.",0,255,0)
            else
                outputChatBox("Wpierw wysi?d? z pojazdu!",255,0,0,true)
            end
        else
            outputChatBox("Wpierw zako?cz aktualn? prac?!",255,0,0,true)
        end
    end
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-07-28, 00:12


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Po co w triggerze 2x 'plr'? Bez sensu operacja, wystarczy raz i u?y? po drugiej stronie w indeksie jako source.


A co najlepsze nie u?ywasz elementu gracza w tej funkcji ani razu


Spr?buj pisane na szybko








local vehicles = {


{-1726.73, -121.593.15359.5359.9136.9},


}





local dostepnetunery = {565,559,562}





local model math.random(1,#dostepnetunery)



veh={}




addEvent("spawnauto",true)


addEventHandler("spawnauto",root,function()


    local veh[source] = createVehicle(dostepnetunery[model],-1726.73, -121.593.15359.5359.9136.9)


    local tablica math.random(100,2000)


    setElementFrozen(veh[source],true)


    setVehiclePlateText(veh[source],"SF "..tablica.."")


    setVehicleLocked(veh[source],true)


    setVehicleVariant(veh[source],2,2)


    setVehicleDoorState(veh[source],0,4)


    setVehicleDoorState(veh[source],2,2)


    setElementData(veh[source],"pojazdpracy",true)


    setVehicleColor(veh[source],175,118,007,088,114,070)


    setTimer(function()


        destroyElement(veh[source])


    end,30000,0)


end)











local pv = {


    {-1731.87, -137.113.17359.6360.045.6},


    {-1736.13, -142.503.17359.60.046.4},





}





addEvent("createVehicle:buildingjob",true)


addEventHandler("createVehicle:buildingjob",root,function(plr)


    if plr then


        local rnd math.random(1,#pv)


        veh[plr] = createVehicle(dostepnetunery[model],pv[rnd][1],pv[rnd][2],pv[rnd][3],pv[rnd][4],pv[rnd][5],pv[rnd][6],"N1_TUNER")


                local wariant getElementModel(veh[plr])


                if wariant == 565 then


                    addVehicleUpgrade(veh[plr],1045)


                    addVehicleUpgrade(veh[plr],1151)


                    addVehicleUpgrade(veh[plr],1150)


                    addVehicleUpgrade(veh[plr],1001)


                    addVehicleUpgrade(veh[plr],1009)


                    addVehicleUpgrade(veh[plr],1074)


                    setVehiclePaintjob(veh[plr],1)


                end


                if wariant == 559 then


                    setVehiclePaintjob(veh[plr],1)
                    addVehicleUpgrade(veh[plr],1075)
                    addVehicleUpgrade(veh[plr],1065)
                    addVehicleUpgrade(veh[plr],1067)
                    addVehicleUpgrade(veh[plr],1158)
                    addVehicleUpgrade(veh[plr],1173)
                    addVehicleUpgrade(veh[plr],1009)
        setElementInterior(veh[plr], 0)
        setElementInterior(plr0)
        setVehicleVariant(veh[plr],2,2)
        setVehicleColor(veh[plr],088,114,070,088,114,070)
        setVehicleLocked(veh[plr],true)
                end
        fadeCamera(plr,false)
        warpPedIntoVehicle(plr,veh[plr])
        t1[plr] = setTimer(function()
            fadeCamera(plr,true)
            setElementFrozen(plr,false)
        end,2000,1)
        outputChatBox("Dostarcz pojazd do w?a?ciciela!",plr,0,255,0,true)
    end
end)



Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-07-28, 00:34


Remox1225







Wiek: 24
Na forum: 2820 dni
Posty: 9
Nick w MP: Remox1225

Piwa: 2

Respekt: 50

"Shuffle" napisał/a:

Po co w triggerze 2x 'plr'? Bez sensu operacja, wystarczy raz i u?y? po drugiej stronie w indeksie jako source.


A co najlepsze nie u?ywasz elementu gracza w tej funkcji ani razu


Spr?buj pisane na szybko








local vehicles = {


{-1726.73, -121.593.15359.5359.9136.9},


}





local dostepnetunery = {565,559,562}





local model math.random(1,#dostepnetunery)



veh={}




addEvent("spawnauto",true)


addEventHandler("spawnauto",root,function()


    local veh[source] = createVehicle(dostepnetunery[model],-1726.73, -121.593.15359.5359.9136.9)


    local tablica math.random(100,2000)


    setElementFrozen(veh[source],true)


    setVehiclePlateText(veh[source],"SF "..tablica.."")


    setVehicleLocked(veh[source],true)


    setVehicleVariant(veh[source],2,2)


    setVehicleDoorState(veh[source],0,4)


    setVehicleDoorState(veh[source],2,2)


    setElementData(veh[source],"pojazdpracy",true)


    setVehicleColor(veh[source],175,118,007,088,114,070)


    setTimer(function()


        destroyElement(veh[source])


    end,30000,0)


end)











local pv = {


    {-1731.87, -137.113.17359.6360.045.6},


    {-1736.13, -142.503.17359.60.046.4},





}





addEvent("createVehicle:buildingjob",true)


addEventHandler("createVehicle:buildingjob",root,function(plr)


    if plr then


        local rnd math.random(1,#pv)


        veh[plr] = createVehicle(dostepnetunery[model],pv[rnd][1],pv[rnd][2],pv[rnd][3],pv[rnd][4],pv[rnd][5],pv[rnd][6],"N1_TUNER")


                local wariant getElementModel(veh[plr])


                if wariant == 565 then


                    addVehicleUpgrade(veh[plr],1045)


                    addVehicleUpgrade(veh[plr],1151)


                    addVehicleUpgrade(veh[plr],1150)


                    addVehicleUpgrade(veh[plr],1001)


                    addVehicleUpgrade(veh[plr],1009)


                    addVehicleUpgrade(veh[plr],1074)


                    setVehiclePaintjob(veh[plr],1)


                end


                if wariant == 559 then


                    setVehiclePaintjob(veh[plr],1)
                    addVehicleUpgrade(veh[plr],1075)
                    addVehicleUpgrade(veh[plr],1065)
                    addVehicleUpgrade(veh[plr],1067)
                    addVehicleUpgrade(veh[plr],1158)
                    addVehicleUpgrade(veh[plr],1173)
                    addVehicleUpgrade(veh[plr],1009)
        setElementInterior(veh[plr], 0)
        setElementInterior(plr0)
        setVehicleVariant(veh[plr],2,2)
        setVehicleColor(veh[plr],088,114,070,088,114,070)
        setVehicleLocked(veh[plr],true)
                end
        fadeCamera(plr,false)
        warpPedIntoVehicle(plr,veh[plr])
        t1[plr] = setTimer(function()
            fadeCamera(plr,true)
            setElementFrozen(plr,false)
        end,2000,1)
        outputChatBox("Dostarcz pojazd do w?a?ciciela!",plr,0,255,0,true)
    end
end)




Hmmm, nie w tym problem. Mi chodzi o to, ?eby
local model = math.random(1,#dostepnetunery)
si? automatycznie od?wie?a?o. Nie wiem jak to podpi?? do jakiej? funkcji aby po rozpocz?ciu pracy na nowo losowa?o pojazd kt?ry si? zespawnuje. Natomiast gdy dodam zmienne pod event, aby po aktywowaniu losowa?a na nowo ona nie b?dzie dzia?a? w drugim evencie kt?ry spawnuje pojazd na zewn?trz budynku.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-07-28, 10:31


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Bo uzywasz zmiennej lokalnej, wywal 'local' i zacznie dzia?a?. Do tego musisz poczytac o roznicach miedzy zmienn? lokaln?


local zmienna=wartosc


a zmienn? globaln?


zmienna=wartosc

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Remox1225
Wysłany: 2021-07-28, 10:59


Remox1225







Wiek: 24
Na forum: 2820 dni
Posty: 9
Nick w MP: Remox1225

Piwa: 2

Respekt: 50

"Shuffle" napisał/a:

Bo uzywasz zmiennej lokalnej, wywal 'local' i zacznie dzia?a?. Do tego musisz poczytac o roznicach miedzy zmienn? lokaln?


local zmienna=wartosc


a zmienn? globaln?


zmienna=wartosc


Dzia?a, dzi?ki za pomoc. Dla Ciebie i kolegi wy?ej leci zimne piwko.

Temat do zamkni?cia.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-07-28, 11:17


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

[clo]

Postaw piwo autorowi tego posta
 

 
Tagi: losowanie :: nowego :: pojazdu :: eventów
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