Ir para conteúdo
Close

REFORMULAMOS A SEÇÃO DE CLASSIFICADOS! - Crie grátis os seus anúncios de procura e oferta de serviços e produtos relacionados ao OTServ! - Acesse através do nosso menu ou clique aqui e confira já!

DEKU KUNNNN

Scripting [PEDIDO] Tile para encher stamina

Posts Recomendados

Olá, eu estou querendo uma script de encher stamina a cada 1 minuto em cima de um tile com o itemid dele.

Já procurei em outros forums e nenhum funcionou

Se alguém conseguir me ajudar agradeço.

@KotZletY sabe fazer?


Compartilhar este post


Link para o post
Compartilhar em outros sites

Em movements/scripts/addstamina.lua:

local config = {
addStamina = 1, -- quantos de stamina irá adicionar
delay = 1, -- tempo para adicionar a stamina em minutos
}

stamina = {}
local function staminadd(cid)
    if not isPlayer(cid) then
		stamina[cid] = nil
	return true
    end
	doPlayerSetStamina(cid, getPlayerStamina(cid) + config.addStamina)
	doPlayerSendTextMessage(cid, 22, "Você recebeu "..config.addStamina.." de stamina.")
	stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid)
end

function onStepIn(cid)
    if isPlayer(cid) then
        stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid)
    end
return true
end

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

movements.xml:

<movevent type="StepIn" uniqueid="23641" event="script" value="addstamina.lua"/>
<movevent type="StepOut" uniqueid="23641" event="script" value="addstamina.lua"/>

no rme você adiciona o uniqueid: 23641 no piso.


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

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 minutos atrás, DEKU KUNNNN disse:

@Yan Liima 

será que foi pq coloquei em mais de um piso ?

error.png

pq eu quero por mais de um piso pra encher stamina

 

É não, verifica em seu movements esse ID, deve ter outra script já utilizando esse ID. Então troque por um qualquer. Só verifique antes se já não tem.


Compartilhar este post


Link para o post
Compartilhar em outros sites

É porque o comando está por UniqueID. Sempre que tiver mais de 1 tile com o mesmo UniqueID, ele dá essas mensagens no console.

Para resolver, deveria usar ActionID, algo mais ou menos assim:

 

 

<movevent type="StepIn" actionid="23641" event="script" value="addstamina.lua"/>
<movevent type="StepOut" actionid="23641" event="script" value="addstamina.lua"/>

 



cms1-pr%C3%AAmio.png

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 minutos atrás, Frenesy disse:

É porque o comando está por UniqueID. Sempre que tiver mais de 1 tile com o mesmo UniqueID, ele dá essas mensagens no console.

Para resolver, deveria usar ActionID, algo mais ou menos assim:

 

 


<movevent type="StepIn" actionid="23641" event="script" value="addstamina.lua"/>
<movevent type="StepOut" actionid="23641" event="script" value="addstamina.lua"/>

 

 

Pow verdade, bem lembrado. Falha minha!

 

5 minutos atrás, DEKU KUNNNN disse:

Não tem como eu usar itemid ?

 

Como assim? como o amigo a cima ja disse troque a tag no xml que enviei pra ti por:

<movevent type="StepIn" actionid="23641" event="script" value="addstamina.lua"/>
<movevent type="StepOut" actionid="23641" event="script" value="addstamina.lua"/>

No rme inves de por o ID:23641 no uniqueid tu colocaria no actionid.


Compartilhar este post


Link para o post
Compartilhar em outros sites
11 minutos atrás, DEKU KUNNNN disse:

@Yan Liima

mas tipo no mesmo piso já tem um action id de uma script de mudar outfit

 

Em todos os piso de onde serão adicionado stamina?


Compartilhar este post


Link para o post
Compartilhar em outros sites
7 minutos atrás, DEKU KUNNNN disse:

@Yan Liima Sim, pq é igual as fontes termais dos nto. o player entra na água e recebe uma outfit e começa a encher stamina.

 

Coloca pra ele receber a outfit pelo script de stamina.

 

oou tu pode fazer assim:

<movevent type="StepIn" uniqueid="23641-23642-23643" event="script" value="addstamina.lua"/>
<movevent type="StepOut" uniqueid="23641-23642-23643" event="script" value="addstamina.lua"/>

Pra cada tile que vai dar stamina tu coloca um uniqueid diferente.


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

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 horas atrás, Yan Liima disse:

Coloca pra ele receber a outfit pelo script de stamina.

 

oou tu pode fazer assim:


<movevent type="StepIn" uniqueid="23641-23642-23643" event="script" value="addstamina.lua"/>
<movevent type="StepOut" uniqueid="23641-23642-23643" event="script" value="addstamina.lua"/>

Pra cada tile que vai dar stamina tu coloca um uniqueid diferente.

 

nao teria como coloca pra uma x area healar stamina, eu acho que ficaria mas facil


Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, BangxD disse:

nao teria como coloca pra uma x area healar stamina, eu acho que ficaria mas facil

 

Olha, confesso que deu preguiça de fazer ksks mas como era tu abri uma exeção

 

Script:

local config = {
addStamina = 1, -- quantos de stamina irá adicionar
delay = 1, -- tempo para adicionar a stamina em minutos
AREA = {{x=90, y=182, z=7}, {x=102, y=192, z=7}}, -- Canto superior esquerdo / inferior direito da sala.
}

stamina = {}
local function staminadd(cid)
    if not isPlayer(cid) then
		stamina[cid] = nil
	return true
    end
	doPlayerSetStamina(cid, getPlayerStamina(cid) + config.addStamina)
	doPlayerSendTextMessage(cid, 22, "Você recebeu "..config.addStamina.." de stamina.")
	stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid)
end

function onStepIn(cid)
    if isPlayer(cid) then
	if isInRange(getCreaturePosition(cid), config.AREA[1], config.AREA[2]) then
        stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid)
    end
end	
return true
end

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

No movements.xml tu teria que por o ID do tile:

<movevent type="StepIn" itemid="7351" event="script" value="CC21-Stamina.lua"/>
<movevent type="StepOut" itemid="7351" event="script" value="CC21-Stamina.lua"/>

Se caso nesse local tenha pisos diferente só tu por assim:

<movevent type="StepIn" itemid="7351-7352" event="script" value="CC21-Stamina.lua"/>
<movevent type="StepOut" itemid="7351-7352" event="script" value="CC21-Stamina.lua"/>

Testa ai e me diz se deu certo :D


Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×