depato123 Posted July 21, 2013 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?
Bc# Posted July 21, 2013 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 )
Castillo Posted July 21, 2013 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 )
Bc# Posted July 21, 2013 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"
depato123 Posted July 21, 2013 Author 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
Castillo Posted July 21, 2013 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
Atouk Posted July 22, 2013 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
Recommended Posts