Ir para conteúdo

Featured Replies

Postado
4 minutos atrás, subhe disse:

@Joaovettor então, eu queria que a cada 2 minutos parado em cima do tile treinando.. ele ganhasse 1 minuto de stamina

completando os 2 minutos ele ja ganhasse 1 minuto de stamina

 

Não foi testado ainda.

 

Spoiler

-- Script by LekoDS // Editado por ~Mathias Kenfi
local configuration = {
	storage = 263696,
	loltime = 2 * 1000,
	stamina = 60,
	interval = 60, -- intervalo de tempo de cura
}


function addStaminaInPos(cid, stamina, pos, time)
	if isInArea(getCreaturePos(cid), pos.x, pos.y) then
		if getPlayerStorageValue(cid, configuration.storage) <= 1 then
			setPlayerStorageValue(cid,configuration.storage,1)
			doPlayerSendTextMessage(cid, 22, "Você recuperou um pouco de stamina")
		end
		doPlayerAddStamina(cid, stamina)
		event = addEvent(valid(addStaminaInPos), time*1000, cid, stamina, pos)
	else
		setPlayerStorageValue(cid,configuration.storage,0)
		event = false
	end
	return event
end

function onStepIn(cid, item, position, fromPosition)
	if not(isPlayer(cid)) then
		return false
	end
	addStaminaInPos(cid, configuration.stamina, position, configuration.interval)
end

function onStepOut(cid, item, position, fromPosition)
	return doPlayerSendTextMessage(cid, 22, "Você não está mais regenerando stamina.")
end

 

 

  • Respostas 8
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • ikaroangelo21
    ikaroangelo21

    eventsId = {} local function rechargeStamina(cid) if not isPlayer(cid) then eventsId[cid] = nil return end doPlayerAddStamina(cid, 1) eventsId[cid] = addEvent(rechargeStamina, 3 * 60 * 100

  • Mathias Kenfi
    Mathias Kenfi

    Não foi testado ainda.    

Postado
  • Autor

@Joaovettor vou testar aqui, jaja edito

@Joaovettor da esse erro ao pisar no tile

[1:46:16.413] [Error - MoveEvents Interface]
[1:46:16.416] data/movements/scripts/treinertile.lua:onStepIn
[1:46:16.417] Description:
[1:46:16.418] data/lib/032-position.lua:2: attempt to index local 'fromPosition' (a number value)
[1:46:16.418] stack traceback:
[1:46:16.418]   data/lib/032-position.lua:2: in function 'isInArea'
[1:46:16.419]   data/movements/scripts/treinertile.lua:11: in function 'addStaminaInPos'
[1:46:16.420]   data/movements/scripts/treinertile.lua:29: in function <data/movements/scripts/treinertile.lua:25>

 

n35408.gif

Postado
  • Solução
eventsId = {}

local function rechargeStamina(cid)
if not isPlayer(cid) then
	eventsId[cid] = nil
	return
end

    doPlayerAddStamina(cid, 1)
    eventsId[cid] = addEvent(rechargeStamina, 3 * 60 * 1000, cid)
end

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    if isPlayer(cid) then
        eventsId[cid] = addEvent(rechargeStamina, 3 * 60 * 1000, cid)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bem vindo aos trainers VIP's " .. getCreatureName(cid) .."! Você receberá 1 minuto de stamina a cada 3 minutos nos trainers VIP's.")
    end

    return true
end

function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    if isPlayer(cid) then
        stopEvent(eventsId[cid])
        eventsId[cid] = nil
    end

    return true
end

Onde tem 1 = ganho de stamina.

Onde tem 3 = o tempo para ganhar 1 minuto.

Somente modificar, testado em otx 8.60.

Editado por ikaroangelo21 (veja o histórico de edições)

Postado
  • Autor

@ikaroangelo21 Tinha dado um erro, mas só foi mudar uma linha, que funcionou, obrigado aos dois <3

 

REP+ aos dois que me ajudaram <3 

n35408.gif

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