Jump to content

Duda con timer y minutos


aka Blue

Recommended Posts

Estoy intentando hacer un timer para todos los jugadores. Lo que quiero hacer es que el timer sea cada minuto y cuente las horas jugadas de un jugador dentro del servidor y al tener el jugador x minutos, realice una función. El problema que tengo es que, sí, cuenta los minutos pero al llegar a tal minuto, no realiza la función:

Aquí el código.

setTimer ( function ( ), 
    for k, v in ipairs ( getElementsByType ( 'player' ) ) do 
        local minutosEnArea = getElementData ( v, "minutosEnCasino" ) or 0 
        if minutosEnArea then 
            setElementData ( v, "minutosEnCasino", minutosEnArea + 1 ) 
        end 
        if minutosEnArea == 40 then 
            setElementPosition ( v, fueraX, fueraY, fueraZ ) 
            outputChatBox ( "Te han echado del casino, has estado demasiado tiempo.", v, 255, 0, 0 ) 
        end 
    end 
end, 10000, 0 ) 

Link to comment
setTimer ( function ( ), 
    for k, v in ipairs ( getElementsByType ( 'player' ) ) do 
        local minutosEnArea = getElementData ( v, "minutosEnCasino" ) or 0 
         
            setElementData ( v, "minutosEnCasino", minutosEnArea + 1 ) 
       outputChatBox( minutosEnArea ) 
        if minutosEnArea >= 40 then 
            setElementPosition ( v, fueraX, fueraY, fueraZ ) 
            outputChatBox ( "Te han echado del casino, has estado demasiado tiempo.", v, 255, 0, 0 ) 
        end 
    end 
end, 60000, 0 ) 

Te movi algunas cosas pero, Verifica con el outputChatBox y checa si realmente esta contando los minutos como quieres.

Link to comment

Gracias @Tomas, ya funciona. Ahora lo que no me va bien es el comprobador del tiempo que lleva dentro.

addCommandHandler ( "minutos", 
    function ( player ) 
        if isLoggedIn ( player ) then 
            local minutos = getElementData ( player, "minutos" ) 
            outputChatBox ( "Llevas "..tonumber ( minutos ).." en el casino.", 0, 255, 0 ) 
        end 
    end 
) 

Me da el error:

Bad argument @ outputChatBox [ expected element at argument 2, got number '0' ] 

Link to comment

Revivo. Sigo teniendo el mismo problema, no ejecuta el outputChatBox al tener dos minutos.

addCommandHandler ( "minutosencasino", 
    function ( player ) 
        if isLoggedIn ( player ) then 
            local minutos = getElementData ( player, "minutosCasino" ) 
            outputChatBox ( "Llevas "..tonumber ( minutos ).." jugados en el casino.", player, 0, 255, 0 ) 
        end 
    end 
) 
  
setTimer ( function ( ) 
    for k, player in ipairs ( getElementsByType ( 'player' ) ) do 
        if isLoggedIn ( player ) then 
            local minutosDentro = getElementData ( player, "minutosCasino" ) 
            setElementData ( player, "minutosCasino", minutosDentro + 1 ) 
            if tonumber ( minutosDentro ) >= 2 then 
                outputChatBox ( "¡A LA PUTA CALLE!" ) 
            end 
        end 
    end 
end, 60000, 0 ) 

Link to comment
    addCommandHandler ( "minutosencasino", 
        function ( player ) 
            --if isLoggedIn ( player ) then 
                local minutos = getElementData ( player, "minutosCasino" ) 
                outputChatBox ( "Llevas "..tonumber ( minutos ).." jugados en el casino.", player, 0, 255, 0 ) 
            --end 
        end 
    ) 
      
    setTimer ( function ( ) 
        for k, player in ipairs ( getElementsByType ( 'player' ) ) do 
           -- if isLoggedIn ( player ) then 
                local minutosDentro = getElementData ( player, "minutosCasino" ) or 0 
                setElementData ( player, "minutosCasino", minutosDentro + 1 ) 
                outputChatBox( tostring( type( minutosDentro) ) ) 
                if tonumber ( minutosDentro ) >= 2 then 
                    outputChatBox ( "¡A LA PUTA CALLE!" ) 
                end 
            --end 
        end 
    end, 1000, 0 ) 

No se tu pero a mi me funciona, Checa esa funcion isLoggedIn por si sea la que te este fallando.

Link to comment
  • Recently Browsing   0 members

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