Postado Maio 8, 2018 7 anos Versão testada : 8.6 a TAG tem 2 tipos uma com % da mana e outra com valor fixo, vou disponibilizar as 2 tags vc escolhe o que preferir. <!-- Custom AVP Spells --> <instant name="SumonScript " words="Msg que vai sumonar você escolhe" lvl="lvl minimo para usar" maglv="ml para usar" manapercent="quanto gasta de mana em porcentagem 1,20,50,100" exhaustion="2000" needlearn="0" event="script" value="summon/summon_script.lua"> <vocation id="1"/>-- vocations do server que pode usar a magia , mecha de acordo com sua vontade <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> </instant> ou essa TAG <!-- Custom AVP Spells --> <instant name="SummonScript" words="msg" lvl="40" maglv="ml para usar" mana="100" exhaustion="2000" needlearn="0" event="script" value="summon/Gnomo.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> </instant> segue abaixo o lua. criei arquivo chamado summon_script.lua dentro da pasta data/spells/summon Versão 1.2 do script (update) -- seguindo problema indicado pelo @KotZletY atualizei o script.. Spoiler local t = { storage = 9998, --poe numero de storage aqui que não tenha no servidor timer = 1, --tempo em segundos sem poder usar dinovo quant = 3, -- quantidade de monstros sumonados summon = "Demon", -- poe name do monstro aqui nMin = 15, -- tempo em segundos aqui da creatura sumir effect = CONST_ME_MAGIC_RED } function onCastSpell(cid, var) -- exhaustion.set(cid, t.storage, -1) if exhaustion.check(cid, t.storage) == false then if #getCreatureSummons(cid) < t.quant then local pos = getThingPos(cid) local mons = doSummonMonster(cid,t.summon) doSendMagicEffect(pos, t.effect) -- exhaustion.set(cid, t.storage, timer*1000)-- se sua tfs e em milisegundos deixa essa exhaustion.set(cid, t.storage, timer*1)-- se sua tfs e em segundos poe essa doPlayerSendTextMessage(cid, 27, "Você summonou um "..t.summon..". Aproveite!") doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Seu summon será removido em "..t.nMin.." segundos. Aproveite seu summon!") addEvent(function() local summon = getCreatureSummons(cid) if #summon == 1 then local remover = summon[1] doRemoveCreature(remover) else for i = 1,#summon do local remover = summon[i] doRemoveCreature(remover) end end end, t.nMin * 1000) print(""..getCreatureName(cid).." summonou um "..t.summon.."!") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já tem criatura summonada") return false end else doPlayerSendCancel(cid, "Pode summonar outro em : " ..exhaustion.get(cid, t.storage).." segundos.") return false end return true end Agora o summon prefiro deixa a escolha de vocês so por o nome do monstro do seu servidor lem cima na tabela t.summon eu puis o nome do demon uma creatura do tibia.
Postado Maio 8, 2018 7 anos @Cerberus summone 2 summons e aguarde, o check da storage está incorreto e não está setando corretamente: 3 horas atrás, Cerberus disse: exhaustion.set(cid, t.storage, t.timer*1)
Postado Maio 9, 2018 7 anos Autor 2 horas atrás, KotZletY disse: @Cerberus summone 2 summons e aguarde, o check da storage está incorreto e não está setando corretamente: testei aqui e funcionou vou verificar agora. minha TF tenho que setar por segundo em 1 em vez de 1000. se não da exaustão com valor errado. minha tfs e 1 segundo em vez de 1000 vou ver aqui mais se eu por tempo * 1000 da erro.. se sua tf e outro e so mudar o 1 para 1000. olha se eu deixa assim exhaustion.set(cid, t.storage, t.timer*1000) normal aqui.
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.