Szerző Téma: onPlayerVehicleEnter, getElementID probléma.. nem értem  (Megtekintve 1187 alkalommal)

Nem elérhető KrisT

  • 106
    • Profil megtekintése
onPlayerVehicleEnter, getElementID probléma.. nem értem
« Dátum: 2017. Június 14. - 00:07:10 »
0 Show voters
Sziasztok! Nem tudok egy eventhandlert létrehozni.. És nem értem, hogy mi nem működik. A műsodik hibám pedig, hogy egy /makeveh parancsban szeretnék egy olyat, hogy átírja a kocsi dimenzióját az enyémre. 
 
Hibaüzenet az onEn
 
\"Kepkivagasfba02.png\"
 
A 127-es sor az outputChatBox-os rész
 
Kód:
 

  1.    

          function kocsiIDje(kocsiID,seat,jatekos)
       


  2.    

              local vehID = getElementID(kocsiID)
       


  3.    

              outputChatBox(\"Kocsi IDje: \"..vehID,jatekos)
       


  4.    

          end
       


  5.    

          addEventHandler(\"onPlayerVehicleEnter\",getRootElement(),kocsiIDje)
       


A  /makeveh-es probléma:
 
Az egész parancs végig lefut, működik, csak a dimenziót nem írja át a kocsiét, és nem tudom, h mi a para.
 
Hibaüzenet:
 
\"ezakepmar.png\"
 
 
 
Kód:
 

  1.    

          function makeveh(thePlayer, command, vehicleModel)
       


  2.    

              kocsiid = vehicleModel
       


  3.    

              local x, y, z = getElementPosition(thePlayer)
       


  4.    

              x = x + 2
       


  5.    

              y = y + 1
       


  6.    

              local letrehozottJarmu = createVehicle(tonumber(vehicleModel),x,y,z)
       


  7.    

              if (letrehozottJarmu == false) then
       


  8.    

                  outputChatBox(\"#808080/makeveh #C0C0C0[VehicleID]\", thePlayer,255,255,0,true)
       


  9.    

              else
       


  10.    

                  local dimID = getElementDimension(thePlayer)
       


  11.    

                  local vehID = getElementID(tonumber(letrehozottJarmu))
       


  12.    

                  setElementDimension(tonumber(vehID),tonumber(dimID))
       


  13.    

                  outputChatBox(\"#FFFFFFSikeresen létrehoztad a járműved! ID: #FF0000 \"..kocsiid, thePlayer,255,255,0,true)
       


  14.    

              end
       


  15.    

          end
       


  16.    

          addCommandHandler(\"makeveh\",makeveh)
       


A hibaüzenet a 11 és a 12. sorra írja.
 
Mi lehet a helyes kód és a hiba oka?
« Utoljára szerkesztve: 2017. Június 14. - 00:08:52 írta krist »

onPlayerVehicleEnter, getElementID probléma.. nem értem
« Válasz #1 Dátum: 2017. Június 14. - 17:22:06 »
0 Show voters
1. Nem kap játékost, elöszőr getPlayerFromName.
 
2. Hirtelen mqst nem tudom
 
//telo

onPlayerVehicleEnter, getElementID probléma.. nem értem
« Válasz #2 Dátum: 2017. Június 14. - 17:22:34 »
0 Show voters
Ez play módhoz lenne vagy esetleg valami olyan módhoz, ahol van a járműnek id-je valamilyen elementDatában tárolva? Második hibánál, ha jól tippelem akkor a setElementDimensionnál az első érték legyen a letrehozottJarmu. 
 

 
 
 

Nem elérhető KrisT

  • 106
    • Profil megtekintése
onPlayerVehicleEnter, getElementID probléma.. nem értem
« Válasz #3 Dátum: 2017. Június 14. - 18:37:39 »
0 Show voters
Idézetet írta: thegergo02 date=1497453726


   
      1. Nem kap játékost, elöszőr getPlayerFromName.
   
   
      2. Hirtelen mqst nem tudom
   
   
      //telo
   


function kocsiIDje(kocsiID,seat,jatekos)
    local kocsibanulo = getPlayerFromName(jatekos)
    local vehID = getElementID(kocsiID)
    outputChatBox(\"Kocsi IDje: \"..vehID,kocsibanulo)
end
addEventHandler(\"onPlayerVehicleEnter\",getRootElement(),kocsiIDje) 
 
Átírtam erre, de még mindig semmi :/
 
Idézetet írta: AlexSwamp date=1497453754


   
      Ez play módhoz lenne vagy esetleg valami olyan módhoz, ahol van a járműnek id-je valamilyen elementDatában tárolva? Második hibánál, ha jól tippelem akkor a setElementDimensionnál az első érték legyen a letrehozottJarmu. 
   
   
      
       
   
   
       
   


Ez csak egy kezdetleges saját szerveremhez egy script. A kocsiknak nem adtam ID-t, nem tudom, hogy szükséges-e, vagy alapból van nekik.
 
A létrehozottJarmu-s megoldas sem mukodik :/ kód:
 
function makeveh(thePlayer, command, vehicleModel)
    kocsiid = vehicleModel
    local x, y, z = getElementPosition(thePlayer)
    x = x + 2
    y = y + 1
    local letrehozottJarmu = createVehicle(tonumber(vehicleModel),x,y,z)
    if (letrehozottJarmu == false) then 
        outputChatBox(\"#808080/makeveh #C0C0C0[VehicleID]\", thePlayer,255,255,0,true)
    else 
        local dimID = getElementDimension(thePlayer)
        local vehID = getElementID(tonumber(letrehozottJarmu))
        setElementDimension(tonumber(letrehozottJarmu),tonumber(dimID))
        outputChatBox(\"#FFFFFFSikeresen létrehoztad a járműved! ID: #FF0000 \"..kocsiid, thePlayer,255,255,0,true)
    end
end
addCommandHandler(\"makeveh\",makeveh)
 
 

Nem elérhető KrisT

  • 106
    • Profil megtekintése
onPlayerVehicleEnter, getElementID probléma.. nem értem
« Válasz #4 Dátum: 2017. Június 15. - 12:56:36 »
0 Show voters
Az addEventHandleres problémára rájöttem. Szimplán annyi volt a probléma, hogy a function argumentumaitól eltérő paramétert kellett megadni az outputChatBox-ba.
 

  1.    

          function kocsiIDje(vehicleID,seat,thePlayer)
       


  2.    

              local vehID = getElementID(vehicleID)
       


  3.    

              outputChatBox(\"Kocsi IDje: \"..vehID,source)
       


  4.    

          end
       


  5.    

          addEventHandler(\"onPlayerVehicleEnter\",getRootElement(),kocsiIDje
       


 
 
Így működik.
 
Azonban a másik probléma még mindig fenn áll. Meggyőződésem az, hogy nem tudom hogyan azonosítani a létrehozott járművet, és az azonosítóját továbbadni.

Nem elérhető KrisT

  • 106
    • Profil megtekintése
onPlayerVehicleEnter, getElementID probléma.. nem értem
« Válasz #5 Dátum: 2017. Június 15. - 13:19:04 »
+1 Show voters
Sokszori átgondolás után végre sikerült! 
 
Helyes kód:
 

  1.    

          function makeveh(thePlayer, command, vehicleModel)
       


  2.    

              kocsiid = vehicleModel
       


  3.    

              local x, y, z = getElementPosition(thePlayer)
       


  4.    

              x = x + 2
       


  5.    

              y = y + 1
       


  6.    

              local letrehozottJarmu = createVehicle(tonumber(vehicleModel),x,y,z)
       


  7.    

              if (letrehozottJarmu == false) then
       


  8.    

                  outputChatBox(\"#808080/makeveh #C0C0C0[VehicleID]\", thePlayer,255,255,0,true)
       


  9.    

              else
       


  10.    

                  local playerID = getElementID(thePlayer)
       


  11.    

                  local dimID = getElementDimension(thePlayer)
       


  12.    

                  local vehID = getElementID(letrehozottJarmu)
       


  13.    

                  setElementDimension(letrehozottJarmu,dimID)
       


  14.    

                  outputChatBox(\"#FFFFFFSikeresen létrehoztad a járműved! ID: #FF0000 \"..kocsiid, thePlayer,255,255,0,true)
       


  15.    

              end
       


  16.    

          end
       


  17.    

          addCommandHandler(\"makeveh\",makeveh)
       


Zárható!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal