Szerző Téma: addEventHandler  (Megtekintve 628 alkalommal)

addEventHandler
« Dátum: 2016. November 20. - 13:15:04 »
0
Heló! Elkezdtem írni egy trafipaxot, de valamiért csak parancsal működik. De nem tudom mi a baja:
Nem akar működni az addEventHandler. Konzolba nem logol semmit, nincs semmi hibaüzenet, de egyszerűen nem megy.
 
theMarkerForTheSpeed = createMarker(1863.7568359375, -1752.23046875, 12.3828125, \"cylinder\", 20, 255, 255, 255, 50, getRootElement())
addEventHandler(\"onPlayerMarkerHit\", getRootElement(),
function (source)
if isElementWithinMarker(source, theMarkerForTheSpeed) then
   speedx, speedy, speedz = getElementVelocity (source)
   actualspeed = (speedx^2 + speedy^2 + speedz^2)^(0.5)
   mps = actualspeed * 50
   kmh = actualspeed * 180
   mph = actualspeed * 111.847
   if (kmh>35) then
      outputChatBox ( \"a \" .. kmh .. \" \" )
   else
      outputChatBox(\"Nem vagy elég gyors, hogy megbüntessenek.\")
   end
end
end
)

 
[gmod]Code tagekre figyelj![/gmod]
« Utoljára szerkesztve: 2016. November 20. - 13:57:58 írta Gh0st »

addEventHandler
« Válasz #1 Dátum: 2016. November 20. - 13:41:58 »
0
Nekem is hasonló problémám van, ha beleállsz a marker-be nem érzékel semmit. :/

addEventHandler
« Válasz #2 Dátum: 2016. November 20. - 23:34:38 »
+1
Azért nem jó mert a source az egy előre elkészített változó amit te nem írhatsz csak olvashatsz (tehát nem rakhatsz bele adatot csak kiveheted megnézheted).
Ott, hogy function (source) megpróbálja az mta átpasszolni a marker elementjét amibe bele mentél de a source már létezik és nem írható így nem csinál semmit megmarad az eredeti értéke ami onPlayerMarkerHit-nél a player aki bele ment markerbe. Tehát ha a sourcet átírod mindenhol akármire pl.: theMarker akkor menni fog.
(Egyébként az if isElementWithinMarker(source, theMarkerForTheSpeed) then se kell egyszerűen theMarker == theMarkerForTheSpeed )

 

SimplePortal 2.3.7 © 2008-2022, SimplePortal