santiagoBMX Posted February 6, 2017 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 )
#Lince> Posted February 6, 2017 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
santiagoBMX Posted February 6, 2017 Author 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?
#Lince> Posted February 6, 2017 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)
santiagoBMX Posted February 6, 2017 Author 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?
#Dv^ Posted February 6, 2017 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
#Lince> Posted February 6, 2017 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 .
#Dv^ Posted February 7, 2017 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
santiagoBMX Posted February 7, 2017 Author Posted February 7, 2017 Gracias por la ayuda ¿me recomiendan algún otro tipo de script sencillo de hacer para ir aprendiendo?
#Dv^ Posted February 7, 2017 Posted February 7, 2017 Podrías hacer que el jugador al escribir el comando '/getmoney [Nick]' obtenga el dinero del valor 'nick'
Recommended Posts