Jump to content

2 problemas :/


iFoReX

Recommended Posts

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' :/

Link to comment
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 :$$

Link to comment

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 
) 

Link to comment

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 
) 

Link to comment

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 
) 

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...