santiagoBMX Posted February 6, 2017 Share Posted February 6, 2017 Hola, soy nuevo en esto del scripting, apenas ayer estaba tratando de hacer unas pruebas para conocer más el uso de las funciones y la estructura que se debe usar y todo esto. Entonces en el script que estaba haciendo quería crear un marcador que al pasar por él me cambiara el skin, pero no sé por qué no funciona, la consola no me muestra ningún error ni nada, el marcador sí se crea y todo pero al pasar por ahí no pasa nada. ¿Alguien sabe qué estoy haciendo mal? function consoleCreateMarker ( thePlayer, commandName ) marker1 = createMarker ( 2497.8662109375, -1669.2919921875, 13.341800689697, "cylinder", 1.5, 255, 255, 0, 170 ) outputChatBox ( "Marker created successfully" ) end addEventHandler ( "onResourceStart", resourceRoot, consoleCreateMarker ) function CambiodeSkin (source) setElementModel ( source, 299 ) end addEventHandler ( "onMarkerhit", resourceRoot, CambiodeSkin ) Link to comment
#Lince> Posted February 6, 2017 Share Posted February 6, 2017 marker1 = createMarker ( 2497.8662109375, -1669.2919921875, 13.341800689697, "cylinder", 1.5, 255, 255, 0, 170 ) function CambiodeSkin (hitelement) if getElementType ( hitelement ) == "player" then setElementModel ( hitelement, 299 ) end end addEventHandler ( "onMarkerHit", marker1, CambiodeSkin ) Prueba con eso Link to comment
santiagoBMX Posted February 6, 2017 Author Share Posted February 6, 2017 Gracias, sí me funcionó , pero, ¿por qué como lo tenía antes no funcionaba, qué tenía mal? y en este caso si quiero poner un mensaje al iniciar el resource ¿en donde ubico el outputChatBox? Link to comment
#Lince> Posted February 6, 2017 Share Posted February 6, 2017 No funcionaba porque habías puesto "onMarkerhit" en vez de "onMarkerHit" y "resourceRoot" en vez de "root" o "marker1". addEventHandler ( "onMarkerhit", resourceRoot, CambiodeSkin ) -- "onMarkerhit", "resourceRoot" addEventHandler ( "onMarkerHit", marker1, CambiodeSkin ) -- "onMarkerHit", "marker1" Además agregué para que compruebe si el que entra al marker es un player, ya que puede entrar un vehículo, por ejemplo, y cambiarle el modelo. function CambiodeSkin (hitelement) if getElementType ( hitelement ) == "player" then --Comprueba si el que entra al marker (hitelement) es un "player". setElementModel ( hitelement, 299 ) --Si el que entra es un "player", le cambia el modelo (skin). end end addEventHandler ( "onMarkerHit", marker1, CambiodeSkin ) Para el mensaje: function mensaje() outputChatBox ( "Bla bla bla" ) end addEventHandler ( "onResourceStart", resourceRoot, mensaje) Link to comment
santiagoBMX Posted February 6, 2017 Author Share Posted February 6, 2017 No había visto que faltaba esa mayúscula cambié el "onMarkerhit" por "onMarkerHit" y ahora sí funcionó, funcionó sin cambiar el "resourceRoot" por "root" o "marker1" ¿cuál es la diferencia? Link to comment
#Dv^ Posted February 6, 2017 Share Posted February 6, 2017 (edited) Si está en 'root' o resourceRoot, cualquier marker que pases por encima, se ejecutará el evento ya que 'root' es global claramente Edited February 6, 2017 by #Dv^ 1 Link to comment
#Lince> Posted February 6, 2017 Share Posted February 6, 2017 17 minutes ago, santiagoBMX said: No había visto que faltaba esa mayúscula cambié el "onMarkerhit" por "onMarkerHit" y ahora sí funcionó, funcionó sin cambiar el "resourceRoot" por "root" o "marker1" ¿cuál es la diferencia? Lo que dijo #Dv^. Igual me equivoqué yo al corregir eso, pensaba que resourceRoot era otra cosa . Link to comment
#Dv^ Posted February 7, 2017 Share Posted February 7, 2017 (edited) En el mismo evento puedes usar root y también condiciones para que al pisar cierto marker se cumpla la condición, es decir; marker1 = createMarker ( 2497.8662109375, -1669.2919921875, 13.341800689697, "cylinder", 1.5, 255, 255, 0, 170 ) marker2 = createMarker ( 2490.8662109375, -1669.2919921875, 13.341800689697, "cylinder", 1.5, 255, 255, 0, 170 ) addEventHandler("onMarkerHit", root, function(hit) if source == marker1 then if getElementType(hit) == "player" then -- end elseif source == marker2 then if getElementType(hit) == "player" then -- end end end ) Edited February 7, 2017 by #Dv^ 1 Link to comment
santiagoBMX Posted February 7, 2017 Author Share Posted February 7, 2017 Gracias por la ayuda ¿me recomiendan algún otro tipo de script sencillo de hacer para ir aprendiendo? Link to comment
#Dv^ Posted February 7, 2017 Share Posted February 7, 2017 Podrías hacer que el jugador al escribir el comando '/getmoney [Nick]' obtenga el dinero del valor 'nick' Link to comment
Recommended Posts