RevScript Stamina Regeneration Tile

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
Hola a todos,

Aqui os comparto el Stamina Tile,

En el remeres map editor ( en el caso del ejemplo ) en cada casilla que querais que suba la stamina, anadireis el Action ID ( AID ) 47777, entonces al ponerse encima de esa casilla regenerara stamina, es muy util para Trainers.

El script basta ponerlo en data/scripts/, mismo crear una carpeta que se llame stamina_tile, asi sabreis donde estara.

Código:
local staminaOnTrainer = MoveEvent()

local function Stamina(playerId, seconds)
    local player = Player(playerId)
    if seconds > 0 and player then
            player:setStamina(player:getStamina() + 1)
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Regenerating Stamina")
        addEvent(Stamina, 90000, playerId, seconds - 1)
    end
end

local coolDownStorageID = 666711
local coolDownSeconds = 10

function staminaOnTrainer.onStepIn(player, item, position, fromPosition)
    if player:getStorageValue(coolDownStorageID) <= os.time() then
        player:setStorageValue(coolDownStorageID, os.time() + (coolDownSeconds - 1))
        return Stamina(player:getId(), coolDownSeconds)
    end
    return not player:sendCancelMessage("You are exhausted.")
end

staminaOnTrainer:aid(47777)
staminaOnTrainer:register()
 

Jona Vega

Miembro
LV
8
 
Awards
7
solo que hay un problema cuando te sales de training y vulves a entrar te puedes estar subiendo de un minuto en un minuto rapidamento solo saliendo y entrando de training arreglen ese error
 

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
solo que hay un problema cuando te sales de training y vulves a entrar te puedes estar subiendo de un minuto en un minuto rapidamento solo saliendo y entrando de training arreglen ese error
Si, porqué el sistema, no es para ir compatible con el Otservbr en teoria.
El otservbr, como Hellgrave que usa las mismas sources, tiene un sistema de stamina incluido estando en PZ o offline.
Por lo cual se dejo el script para ser usado en otros servidores.

Creo que es esta parte que hay que arreglar, en mi caso ni idea...

Código:
local coolDownSeconds = 10

function staminaOnTrainer.onStepIn(player, item, position, fromPosition)
    if player:getStorageValue(coolDownStorageID) <= os.time() then
        player:setStorageValue(coolDownStorageID, os.time() + (coolDownSeconds - 1))
        return Stamina(player:getId(), coolDownSeconds)
 
Arriba