Szerző Téma: Többször spawnol le az autó  (Megtekintve 1342 alkalommal)

Nem elérhető Daniii

  • 144
    • Profil megtekintése
Többször spawnol le az autó
« Dátum: 2017. december 23. - 15:12:47 »
0 Show voters
Azt akarom, hogy 3 alapkocsi lespawnoljon, és ha felrobbannak respawnoljanak. Az a baj, hogy amikor fellépek a szerverre már egymás hegyén hátán van rengeteg autó.
 
Kód:
 

function Alapkocsi()
    local alapkocsi1 = createVehicle(411, 61.015625 , -57.197265625 , 0.609375)
    toggleVehicleRespawn(alapkocsi1, true)
    
    local alapkocsi2 = createVehicle(411, 64.0302734375 , -63.6484375 + 10 , 0.609375)
    toggleVehicleRespawn(alapkocsi2, true)
    
    local alapkocsi3 = createVehicle(411, 68.33203125 , -69.7998046875 + 10, 0.609375)
    toggleVehicleRespawn(alapkocsi3, true)
    
end
addEventHandler(\"onResourceStart\", getRootElement(), Alapkocsi)

 
 

Többször spawnol le az autó
« Válasz #1 Dátum: 2017. december 25. - 18:16:21 »
+1 Show voters
Szia!
 
Nem teszteltem a kódod, de szerintem az lesz a baj, hogy az onResourceStart eventnél root van megadva, azaz ha 15 másik modot újraindítasz/elindítasz, a kocsispawnolást mindig meg fogja hívni. A getRootElementet cseréld ki erre: getResourceRootElement(getThisResource()) (ebben az esetben csak ennek a scriptnek az indulására hívódik meg az Alapkocsi funkciód).

Nem elérhető Daniii

  • 144
    • Profil megtekintése
Többször spawnol le az autó
« Válasz #2 Dátum: 2017. december 26. - 18:15:08 »
0 Show voters
Még egy problémám van. Azt írja : [2017-12-26 18:08:53] SCRIPT ERROR: scriptek/server.lua:27: \'then\' expected near \',\'
[2017-12-26 18:08:53] ERROR: Loading script failed: scriptek/server.lua:27: \'then\' expected near \',\'
[2017-12-26 18:08:53] ERROR: More than one default resource specified!
 

addEventHandler(\"onResourceStart\", getResourceRootElement(getThisResource()),
function()
   createPickup(134.8515625, 1930.1376953125, 19.217227935791, 1239)
   createPickup(135.3369140625, 1954.451171875, 19.424501419067, 1239)
end
)
addCommandHandler(\"kapu\",
function(player, command)
   if getElementPosition(player) == 134.8515625, 1930.1376953125, 19.217227935791 then
      setElementPosition(player, 135.3369140625, 1954.451171875, 19.424501419067)
   elseif getElementPosition(player) == 135.3369140625, 1954.451171875, 19.424501419067 then
      setElementPosition(player, 134.8515625, 1930.1376953125, 19.217227935791)
   else
      outputChatBox(\"Nem vagy a kapunál!\", player)
   end   
end
)

 
 

Többször spawnol le az autó
« Válasz #3 Dátum: 2017. december 26. - 18:28:59 »
0 Show voters

getElementPosition(player) == 134.8515625, 1930.1376953125, 19.217227935791

 
Ezzel lesz a baja, így szerintem nem lehet megadni egy feltételt, hogy vesszővel elválasztva több érték. A pozíciót 3 változóba tedd bele, és azokat hasonlítgasd.

Nem elérhető Daniii

  • 144
    • Profil megtekintése
Többször spawnol le az autó
« Válasz #4 Dátum: 2017. december 26. - 18:29:30 »
0 Show voters
Úgy is próbáltam, de ugyanez.

Többször spawnol le az autó
« Válasz #5 Dátum: 2017. december 27. - 17:09:01 »
0 Show voters

addEventHandler(\"onResourceStart\", getResourceRootElement(getThisResource()),
function()
   createPickup(134.8515625, 1930.1376953125, 19.217227935791, 1239)
   createPickup(135.3369140625, 1954.451171875, 19.424501419067, 1239)
end
)
addCommandHandler(\"kapu\",
function(player, command)
   pX,pY,pZ = getElementPosition(player)
   if pX,pY,pZ == 134.8515625, 1930.1376953125, 19.217227935791 then
      setElementPosition(player, 135.3369140625, 1954.451171875, 19.424501419067)
   elseif pX,pY,pZ == 135.3369140625, 1954.451171875, 19.424501419067 then
      setElementPosition(player, 134.8515625, 1930.1376953125, 19.217227935791)
   else
      outputChatBox(\"Nem vagy a kapunál!\", player)
   end   
end
)

 
Szerintem igy jó, de ugye tudod hogy soha az életben nem fog senki pontosan úgy állni hogy ezek legyenek a kordinátái?
 
Használj markert.

Többször spawnol le az autó
« Válasz #6 Dátum: 2017. december 28. - 10:19:00 »
+1 Show voters
Idézetet írta: thegergo02 date=1514390941


   

addEventHandler(\"onResourceStart\", getResourceRootElement(getThisResource()),
function()
   createPickup(134.8515625, 1930.1376953125, 19.217227935791, 1239)
   createPickup(135.3369140625, 1954.451171875, 19.424501419067, 1239)
end
)
addCommandHandler(\"kapu\",
function(player, command)
   pX,pY,pZ = getElementPosition(player)
   if pX,pY,pZ == 134.8515625, 1930.1376953125, 19.217227935791 then
      setElementPosition(player, 135.3369140625, 1954.451171875, 19.424501419067)
   elseif pX,pY,pZ == 135.3369140625, 1954.451171875, 19.424501419067 then
      setElementPosition(player, 134.8515625, 1930.1376953125, 19.217227935791)
   else
      outputChatBox(\"Nem vagy a kapunál!\", player)
   end   
end
)

   
      Szerintem igy jó, de ugye tudod hogy soha az életben nem fog senki pontosan úgy állni hogy ezek legyenek a kordinátái?
   
   
      Használj markert.
   


Vagy col-t. :) De jogos, ne akarj fix pozíciót megadni, inkább marker vagy col-t használj, mert abban akkor használható is lesz. :) 

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal