Postado Julho 15, 2016 8 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 8 anos por Mathwsz Área postada! (veja o histórico de edições)
Postado Julho 19, 2016 8 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 8 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 8 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.