depato123 Posted July 21, 2013 Share Posted July 21, 2013 Necesito ayuda con un marker function Marker10 ( hitPlayer, matchingDimension ) if source == Marker1 then local Marker2 = createMarker ( -2436.60, 2436.8, 15.5, "checkpoint", 2.5, 0, 255, 0, 255, hitPlayer ) setElementDimension(Marker2, 10) destroyElement ( Marker1 ) elseif ( source == Marker2 ) then local Marker3 = createMarker ( -2503.5, 2425.39, 16.6, "checkpoint", 2.5, 0, 255, 0, 255 ) setElementDimension(Marker3, 10) destroyElement ( Marker2 ) end end addEventHandler ( "onClientMarkerHit", getRootElement(), Marker30 ) Se supone que al pasar por el marker 1 se crea un segundo marker pero al pasar por este segundo marker no se crea el tercero que esta especificado en el lua ¿Que es lo que funciona mal? Link to comment
Bc# Posted July 21, 2013 Share Posted July 21, 2013 function Marker10 ( hitPlayer, matchingDimension ) if source == Marker1 then local Marker2 = createMarker ( -2436.60, 2436.8, 15.5, "checkpoint", 2.5, 0, 255, 0, 255, hitPlayer ) setElementDimension(Marker2, 10) destroyElement ( Marker1 ) end if source == Marker2 then local Marker3 = createMarker ( -2503.5, 2425.39, 16.6, "checkpoint", 2.5, 0, 255, 0, 255 ) setElementDimension(Marker3, 10) destroyElement ( Marker2 ) end end addEventHandler ( "onClientMarkerHit", getRootElement(), Marker10 ) Link to comment
Castillo Posted July 21, 2013 Share Posted July 21, 2013 Es porque hiciste las variables locales, asi que no existen para tu 'elseif'. function Marker10 ( hitPlayer, matchingDimension ) if source == Marker1 then Marker2 = createMarker ( -2436.60, 2436.8, 15.5, "checkpoint", 2.5, 0, 255, 0, 255, hitPlayer ) setElementDimension ( Marker2, 10 ) destroyElement ( Marker1 ) elseif ( source == Marker2 ) then Marker3 = createMarker ( -2503.5, 2425.39, 16.6, "checkpoint", 2.5, 0, 255, 0, 255 ) setElementDimension ( Marker3, 10 ) destroyElement ( Marker2 ) end end addEventHandler ( "onClientMarkerHit", getRootElement(), Marker30 ) Link to comment
Bc# Posted July 21, 2013 Share Posted July 21, 2013 Es porque hiciste las variables locales, asi que no existen para tu 'elseif'. function Marker10 ( hitPlayer, matchingDimension ) if source == Marker1 then Marker2 = createMarker ( -2436.60, 2436.8, 15.5, "checkpoint", 2.5, 0, 255, 0, 255, hitPlayer ) setElementDimension ( Marker2, 10 ) destroyElement ( Marker1 ) elseif ( source == Marker2 ) then Marker3 = createMarker ( -2503.5, 2425.39, 16.6, "checkpoint", 2.5, 0, 255, 0, 255 ) setElementDimension ( Marker3, 10 ) destroyElement ( Marker2 ) end end addEventHandler ( "onClientMarkerHit", getRootElement(), Marker30 ) Solid no notaste que el nombre de la funcion ("Marker10") es distinto a la funcion que llama el evento que es "Marker30" Link to comment
Castillo Posted July 21, 2013 Share Posted July 21, 2013 No, ni me fije en esa parte. Link to comment
depato123 Posted July 21, 2013 Author Share Posted July 21, 2013 ¿Pero si no están las variables locales todos podrán ver a los markers? la idea es que el marker este para cada usuario distinto Link to comment
Castillo Posted July 21, 2013 Share Posted July 21, 2013 Que la variable sea local, no hara que se oculte para los demas, ademas el script es client side, solo se creara en el cliente. Acordate de verificar si el que toco el marker es el local player, asi: if ( hitPlayer ~= localPlayer ) then return end Link to comment
Atouk Posted July 22, 2013 Share Posted July 22, 2013 Yo creo que es por esto "addEventHandler ( "onClientMarkerHit", getRootElement(), Marker30 )" en getRootElement va el marcador, y en el segundo la funcion que es Marker10 Link to comment
Castillo Posted July 22, 2013 Share Posted July 22, 2013 No, deberias pensar antes de postear. Link to comment
Recommended Posts