Postado Julho 15, 2016 10 anos PRIMEIRAMENTE, SE EU ESTIVER EM ÁREA ERRADA POR FAVOR ME CORRIGEM ! UMA BOA NOITE E VAMOS LÁ ! 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. Editado Julho 15, 2016 10 anos por Mathwsz Área postada! (veja o histórico de edições)
Postado Julho 19, 2016 10 anos 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. ➥ Regras | Seções OTServ | Seções BOT
Postado Julho 23, 2016 10 anos Autor 8 horas atrás, rodox2008 disse: funciona em tfs 1.x?? Olá amigo, se eu não me engano sim, nao testei ainda! Abraço.
Postado Julho 24, 2016 10 anos boa tarde, então eu testei, e não funciona não pois não o tfs 1.x não tem a função onstatschange, tem como alterar o script para o tfs 1.x?? desde de ja obrigado, e é um otimo script.
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.