iFoReX Posted September 20, 2012 Posted September 20, 2012 andaba aburrido jugando mta y se me occurio hacer algo para que los jugadores preguntasen y el server les respondiera y pues aqui esta : addCommandHandler("pr",function(playerSource, commandName, pregunta) local respuestas = {Si,No} outputChatBox(getPlayerName(playerSource)..",#00fbffAh preguntado : "..pregunta,getRootElement(),0,255,255,true) outputChatBox("Respuesta : " .. math.random ( #respuestas ),0,255,255,true) end ) pero, me da error en la linea 4, no aparece 'Respuesta : ' y al poner por ejemplo '/pr juegas MTA ?' solo aparece 'ElMota, ha preguntado : juegas' elMota/elFoReX De Vuelta En MTA *---------* Cuenta De Youtube En La Que Subo Tutoriales Acerca De MTA :3 https://www.youtube.com/user/KillersGPs
Renkon Posted September 20, 2012 Posted September 20, 2012 Te falta el elemento al que va destinado el mensaje
iFoReX Posted September 20, 2012 Author Posted September 20, 2012 no va destinado a nadie elMota/elFoReX De Vuelta En MTA *---------* Cuenta De Youtube En La Que Subo Tutoriales Acerca De MTA :3 https://www.youtube.com/user/KillersGPs
iFoReX Posted September 20, 2012 Author Posted September 20, 2012 outputChatBox(getPlayerName(playerSource)..",#00fbffAh preguntado : "..pregunta,getRootElement(),0,255,255,true) ._. elMota/elFoReX De Vuelta En MTA *---------* Cuenta De Youtube En La Que Subo Tutoriales Acerca De MTA :3 https://www.youtube.com/user/KillersGPs
Alexs Posted September 20, 2012 Posted September 20, 2012 2 Problemas, 2 Cosas: 1- Ah esta mal escrito, es Ha. 2- En el segundo OutputChatBox te falta un argumento, como te dijo Renkon, no pones a quien va destinado, solo lo pones en el primero. Developer @ MYVAL
iFoReX Posted September 20, 2012 Author Posted September 20, 2012 addCommandHandler("pr",function(playerSource, commandName, pregunta) local respuestas = {Si,No} outputChatBox(getPlayerName(playerSource).."#00fbff,Ah preguntado : #fff000"..pregunta,getRootElement(),0,255,255,true) outputChatBox("Respuesta : " .. math.random ( #respuestas ),getRootElement(),0,255,255,true) end ) sigue con los mismos problemas $ elMota/elFoReX De Vuelta En MTA *---------* Cuenta De Youtube En La Que Subo Tutoriales Acerca De MTA :3 https://www.youtube.com/user/KillersGPs
Alexs Posted September 20, 2012 Posted September 20, 2012 Quizá el problema sea que math.random solo aplica en números. Utiliza el ejemplo de esta función donde arroja al azar strings. addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), function() local xml = xmlLoadFile("welcome.xml") -- open the XML file local messageNodes = xmlNodeGetChildren(xml) -- get all child nodes of the root node () g_WelcomeMessages = {} -- create a new global variable to store the welcome messages for i,node in ipairs(messageNodes) do -- loop over all the message nodes g_WelcomeMessages[i] = xmlNodeGetValue(node) -- retrieve the text in each node end xmlUnloadFile(xml) -- close the XML file end ) addEventHandler("onPlayerJoin", getRootElement(), function() local numMessages = #g_WelcomeMessages -- get the number of messages local message = g_WelcomeMessages[math.random(numMessages)] -- pick a random message outputChatBox(message, source, 0, 255, 0) -- display it to the joining player end ) Developer @ MYVAL
iFoReX Posted September 20, 2012 Author Posted September 20, 2012 mm la verdad no entiendo como modificar ese script elMota/elFoReX De Vuelta En MTA *---------* Cuenta De Youtube En La Que Subo Tutoriales Acerca De MTA :3 https://www.youtube.com/user/KillersGPs
Alexs Posted September 20, 2012 Posted September 20, 2012 Es bastante simple, Si no puedes si quiera editarlo, comienza desde el principio con esto de los Strings. Developer @ MYVAL
Castillo Posted September 20, 2012 Posted September 20, 2012 Creo yo que tu problema es que no pusiste strings en la tabla. addCommandHandler ( "pr", function ( playerSource, commandName, pregunta ) local respuestas = { "Si", "No" } outputChatBox ( getPlayerName ( playerSource ) .."#00fbff, Ah preguntado: #fff000".. pregunta, getRootElement(), 0, 255, 255, true ) outputChatBox ( "Respuesta: ".. respuestas [ math.random ( #respuestas ) ], getRootElement(), 0, 255, 255, true ) end ) San Andreas Utopia RPG (SAUR) Owner & Developer. Education is the most powerful weapon which you can use to change the world.
iFoReX Posted September 20, 2012 Author Posted September 20, 2012 Funciona Solid, pero pregunto 'Tu juegas MTA' y aparece 'ElMota, Ah preguntado: Tu' y luego aparece 'Respuesta: 2' elMota/elFoReX De Vuelta En MTA *---------* Cuenta De Youtube En La Que Subo Tutoriales Acerca De MTA :3 https://www.youtube.com/user/KillersGPs
Alexs Posted September 20, 2012 Posted September 20, 2012 El primer error es por que son strings separados, usa table.concat y el segundo por lo que ya dije, math.random sirve con números y ponerle un # antes a una tabla, la convierte en números. {1,2,3,4,5,6} Developer @ MYVAL
Castillo Posted September 20, 2012 Posted September 20, 2012 Funciona Solid, pero pregunto 'Tu juegas MTA' y aparece 'ElMota, Ah preguntado: Tu' y luego aparece 'Respuesta: 2' Ya encontre el error, te habias olvidado de poner: respuestas [ math.random ( #respuestas ) ] copia el codigo de nuevo. San Andreas Utopia RPG (SAUR) Owner & Developer. Education is the most powerful weapon which you can use to change the world.
iFoReX Posted September 20, 2012 Author Posted September 20, 2012 Funciona ahora solo falta que la pregunta aparesca completa elMota/elFoReX De Vuelta En MTA *---------* Cuenta De Youtube En La Que Subo Tutoriales Acerca De MTA :3 https://www.youtube.com/user/KillersGPs
Castillo Posted September 20, 2012 Posted September 20, 2012 Tenes que usar table.concat: addCommandHandler ( "pr", function ( playerSource, commandName, ... ) local respuestas = { "Si", "No" } outputChatBox ( getPlayerName ( playerSource ) .."#00fbff, Ah preguntado: #fff000".. table.concat ( { ... }, " " ), getRootElement(), 0, 255, 255, true ) outputChatBox ( "Respuesta: ".. respuestas [ math.random ( #respuestas ) ], getRootElement(), 0, 255, 255, true ) end ) San Andreas Utopia RPG (SAUR) Owner & Developer. Education is the most powerful weapon which you can use to change the world.
iFoReX Posted September 20, 2012 Author Posted September 20, 2012 gracias solid funciona perfecto elMota/elFoReX De Vuelta En MTA *---------* Cuenta De Youtube En La Que Subo Tutoriales Acerca De MTA :3 https://www.youtube.com/user/KillersGPs
Castillo Posted September 20, 2012 Posted September 20, 2012 De nada. San Andreas Utopia RPG (SAUR) Owner & Developer. Education is the most powerful weapon which you can use to change the world.
Recommended Posts