Ir para conteúdo

Featured Replies

Postado

Salve galera do TK! Hoje venho trazer para vocês um script muito bacana que funciona da seguinte maneira

Ex: Eu tenho uma boots, e a cada 1000 de hit tomado, ela irá absover, e depois disso automaticamente começará contar 2 minutos até que ela recarregue e bloqueie o dano.. Ou seja, se eu tomo um hit de 2k e a boots está carregada, ela irá absover metade do dano.. Sem longas demores vamos lá!

 

Em Data/Creaturescript.xml adicione:

<event type="statschange" name="bootsbloqued" event="script" value="bootsbloqued.lua"/>

Em data/Creaturescript/scripts , crie um arquivo chamado bootsbloqued.lua ou se você quer por outro nome no arquivo, modifica a tag do creaturescript.xml, e adicione o seguinte:

local config = {
percent = 0.5, --- porcentagem do dano que irá levar (0.5 = 50%)
storageskill = 19501, -- storage da skill
itemplace = 8, -- lugar q ela deve estar (8 é o feet)
itemid = 1234, -- id do item 
damagemin = 100 --- minimo de dano que deve ser pro player absorver 
}


function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS and isCreature(attacker) and value >= config.damagemin then
if getPlayerSlotItem(cid, config.itemplace).itemid == config.itemid then
if getPlayerStorageValue(cid, config.storageskill) >= 1 then
value = math.ceil(value*(config.percent))
setPlayerStorageValue(cid, config.storageskill, getPlayerStorageValue(cid, config.storageskill)-1) 
doTargetCombatHealth(attacker, cid, combat, -value, -value, 255)
doPlayerSendTextMessage(cid, 23, "Your "..getItemNameById(config.itemid).." absorved "..value.." of damage.")  
return false
end
end
end
return true
end

 

Agora, em Data/action.xml adicione:

<action itemid="ID DO ITEM" script="bootsbloqued.lua"/>

Agora, em data/action/script , crie um arquivo chamado bootsbloqued.lua e adicione:

local config = {
storagetempo = 19500, -- storage que contará os segundos
storageskill = 19501, -- storage que vai dizer se a skill está ativada ou desativada
itemid = 1234, -- id do item
itemplace = 8, -- feet
tempo = 2*60 -- tempo em segundo para recarregar ( 2 min )
}


function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, config.storageskill) <= 0 and (getPlayerSlotItem(cid, config.itemplace).itemid == config.itemid) then
if getPlayerStorageValue(cid, config.storagetempo) - os.time() <= 0 then
timenow = os.time() + config.tempo
setPlayerStorageValue(cid, config.storagetempo, timenow)
setPlayerStorageValue(cid, config.storageskill, 1)
doPlayerSendTextMessage(cid, 23, "You activated your "..getItemNameById(config.itemid)..", it's ready to absorb damages!")  
for j= 0,(config.tempo -1) do
addEvent(function() 
if isPlayer(cid) then
doPlayerSendCancel(cid, "Time until next use: ".. config.tempo - j .." second(s)")
end
 end, (50+(j*1000))) 
end
else
doPlayerSendTextMessage(cid, 23, "You have to wait ".. getPlayerStorageValue(cid, config.storagetempo) - os.time() .." second(s) until you can use it again!")  
end
else
doPlayerSendTextMessage(cid, 23, "Your "..getItemNameById(config.itemid).." is already active or it isn't equiped.")  
end
return true
end

 

É isso galera, prontinho! ObS : Esse script não é meu, porém acho ele muito bacana e criativo, então já deixo avisado!

Dúvidas, poste aí e um grande abraço.

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

Bruno Carvalho / Ex-Administrador TibiaKing

[email protected]

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

  • 4 months later...
Postado

Esta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.

Spoiler

This is an automated message! This topic has been moved to the correct area.
Please read the forum rules.

 

  • 7 months later...

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.7k

Informação Importante

Confirmação de Termo