Ir para conteúdo

Featured Replies

  • 4 years later...
  • Respostas 22
  • Visualizações 4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Bodak Reborn
    Bodak Reborn

    Eu esqueci de colocar uma tag. Aqui: <movevent type="StepOut" actionid="actiond_id" event="script" value="nome_arquivo.lua" />  

  • Bodak Reborn
    Bodak Reborn

    Nos SQMs dos trainers, coloque um action id data/movements/scripts nome_arquivo addSta = {} local config = { timeToAdd = 3, -- intervalo de tempo para adicionar. addTime = 5, -- quanto v

  • Bodak Reborn
    Bodak Reborn

    Cara, eu testei e está funcionando, não sei o que fazer. ;/   Você tem certeza absoluta que colocou tudo no lugar certo? Está esperando o tempo? Lembrando que o tempo está em segundos.

Posted Images

Postado
Em 26/08/2016 em 14:59, Bodak Reborn disse:

@Babilonia

Troque o seu código por esse:


addSta = {}
local config = {
timeToAdd = 3, -- intervalo de tempo para adicionar.
addTime = 5, -- quanto vai adicionar.
}

local function addStamina(cid, check)
	if not isPlayer(cid) then
		addSta[cid] = nil
	return true
	end
	
	if check then return true end
	
	doPlayerSetStamina(cid, getPlayerStamina(cid) + config.addTime)
	doPlayerSendTextMessage(cid, 25, "Você recebeu "..config.addTime.." minutos de stamina.")
	addSta[cid] = addEvent(addStamina, config.timeToAdd * 60 * 1000, cid, false)
end

function onStepIn(cid)
    if isPlayer(cid) then
        addSta[cid] = addEvent(addStamina, config.timeToAdd * 60 * 1000, cid, false)
    end
return true
end

function onStepOut(cid)
    if isPlayer(cid) then
		stopEvent(addSta[cid])
		addSta[cid] = nil
		addStamina (cid, true)
    end
return true
end

 

 e teste.

Desculpa ta revivendo isso meu amigo, tu tem como me explicar como colocar para ele aumentar a stamina so quando atacar meus trainner que se chama " Training Machine"?

  • 3 years later...
Postado
Em 03/05/2021 em 11:49, thunmin disse:

Desculpa ta revivendo isso meu amigo, tu tem como me explicar como colocar para ele aumentar a stamina so quando atacar meus trainner que se chama " Training Machine"?

Galera, como o tópico não foi fechado! Estou com a dúvida acima, já tentei muitas vezes e nenhuma surtiu efeito, as vezes ele até heala uma vez ao pisar no tile, depois não heala mais, teria que ser um loop sabe? É possível converter de tile para ao atacar o monstro "Training Machine"? Distro Canary 3.1.2 (Protocolo: 13.40)

Estou tentando usar esse código:

local configuration = {
    storage = 263696, -- storage
    regenTime = 1 * 1000, -- tempo em milissegundos
    timeDisplay = "10 seconds", -- tempo em texto
    staminaGain = 10, -- minutos ganhos de Stamina
    manaGain = 20, -- mana dada
    tpPos = Position(32365, 32236, 7) -- posição de teleporte
}

local function applyRegeneration(player)
    if player then
        -- Adiciona stamina e mana após o tempo
        player:addStamina(configuration.staminaGain)
        player:addMana(configuration.manaGain)
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You've regenerated " .. configuration.staminaGain .. " minutes of stamina and some mana.")
        
        -- Aplica efeito mágico
        player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
    end
end

local function teleportPlayerBack(player, fromPosition)
    if player then
        player:teleportTo(fromPosition)
        player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
    end
end

local function onStepIn(creature, item, position, fromPosition)
    local player = creature:getPlayer()
    if not player then
        return false
    end

    if player:getStorageValue(configuration.storage) == -1 then
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You entered an area of regeneration. In " .. configuration.timeDisplay .. " you will regenerate 60 minutes of Stamina.")
        player:setStorageValue(configuration.storage, 0)

        -- Inicia regeneração de stamina e mana após o tempo definido
        addEvent(applyRegeneration, configuration.regenTime, player)
        -- Teleporta o jogador de volta para a posição anterior após o tempo definido
        addEvent(teleportPlayerBack, configuration.regenTime, player, fromPosition)
    else
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You're regenerating stamina and mana again! In " .. configuration.timeDisplay .. " you will receive another load.")
        addEvent(applyRegeneration, configuration.regenTime, player)
        addEvent(teleportPlayerBack, configuration.regenTime, player, fromPosition)
    end
    return true
end

local function onStepOut(creature, item, position, fromPosition)
    local player = creature:getPlayer()
    if player then
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You failed to regenerate stamina.")
        player:setStorageValue(configuration.storage, -1)
    end
    return true
end

-- Registrar o MoveEvent para 'StepIn' e 'StepOut'
local regenTile = MoveEvent()

regenTile:type("stepin")
regenTile:aid(50033) -- AID para o tile
regenTile:onStepIn(onStepIn)
regenTile:register()

regenTile:type("stepout")
regenTile:aid(50033) -- Mesmo AID para o 'stepout'
regenTile:onStepOut(onStepOut)
regenTile:register()

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo