Ir para conteúdo

Bodak Reborn

Membro
  • Registro em

  • Última visita

Tudo que Bodak Reborn postou

  1. @yolocaust, não faz muito sentido, mas... tenta colocar o "local percent" dentro da função "onSay". Talvez, ao ligar o server, ele execute o script e não ache nenhum player, então, só vai procurar quando alguém falar o comando... é o que eu acho.
  2. @yolocaust local config = { item = 2193, -- itemId itemCount = 1, -- quantos items soul = 1, -- quanto de soul vai ganhar message = 'You need one ankh to gain a soul.', storage = 165786, exhaust = 1, -- tempo em segundos. } local percent = getPlayerMana(cid)/100 function onSay(cid, words, param) if not getPlayerItemCount(cid, config.item, config.itemCount) then doPlayerBroadcastMessage(cid, 21, string.format('%s', config.message)) return true end if getPlayerStorageValue (cid, config.storage) < os.time() then doPlayerRemoveItem(cid, config.item) doPlayerAddSoul(cid, config.soul) doPlayerBroadcastMessage(cid, 21, string.format('You have gained %d soul points', config.soul)) setPlayerStorageValue (cid, config.storage, config.exhaust + os.time()) doPlayerAddMana (cid, -percent) else doPlayerSendCancel (cid, "You're exhausted.") end return false end
  3. @zPerseu, eu atualizei o código lá em cima, substitua-o pelo seu.
  4. Não cara, eu mandei esse aqui:
  5. onSay - talkaction ao dizer algo (que você define no script ou no XML), execute o código. onThink - creaturescripts/globalevents há dois tipos de onThink, mas os dois tem o mesmo conceito. A cada 0,5 segundo (se eu não me engano), execute o código. Como o que você citou não tem cid (creature id) como parâmetro, quer dizer que é globalevents. Se tivesse cid como parâmetro, seria creaturescripts. onPrepareDeath - creaturescripts quando alguém vai tomar o hit que vai matá-lo, execute o código. onKill - creaturescripts ao matar alguém, execute o código. Falar de todas é complicado, porque existem várias... olha pelo XML, normalmente os nomes são auto-explicativos.
  6. Qual valor que vocês colocou em timeInterval?
  7. @Babilonia Troque o seu código por esse: addSta = {} local config = { timeToAdd = 3, -- intervalo de tempo para adicionar. addTime = 5, -- quanto vai adicionar. } local function addStamina(cid, check) if not isPlayer(cid) then addSta[cid] = nil return true end if check then return true end doPlayerSetStamina(cid, getPlayerStamina(cid) + config.addTime) doPlayerSendTextMessage(cid, 25, "Você recebeu "..config.addTime.." minutos de stamina.") addSta[cid] = addEvent(addStamina, config.timeToAdd * 60 * 1000, cid, false) end function onStepIn(cid) if isPlayer(cid) then addSta[cid] = addEvent(addStamina, config.timeToAdd * 60 * 1000, cid, false) end return true end function onStepOut(cid) if isPlayer(cid) then stopEvent(addSta[cid]) addSta[cid] = nil addStamina (cid, true) end return true end e teste.
  8. Eu esqueci de colocar uma tag. Aqui: <movevent type="StepOut" actionid="actiond_id" event="script" value="nome_arquivo.lua" />
  9. Não tenho experiência com TFS 1.2, não poderei lhe ajudar. Perdão.
  10. Exemplo o Dalk: <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|, I can sell to you: {Diamond Account}, {Sex Change}, what you want?"/> </parameters> Ele diz isso quando tu da "hi", se o NPC que você está tentando conversar não tenha isso, pode ser o motivo do bug.
  11. Dá para alterar o utamo vita pra funcionar assim... creio eu
  12. Que bom que tu conseguiu, eu nunca ia imaginar que teria que declarar a variável player lol
  13. Ah, acho que sei o que é. Com o "player:" eu presumo que não precise colocar "cid" como parâmetro, tente assim: local staminaTime = 2 -- quantas horas vai recuperar. function onUse(cid, item, fromPosition, itemEx, toPosition) player:setStamina (player:getStamina() + staminaTime * 60) player:sendTextMessage (19, "You've recovered "..staminaTime.." hours of stamina.") doRemoveItem(item.uid, 1) return true end
  14. Só para confirmar... Você deu reload? Não apareceu nada no chat? O item não sumiu? Você relogou?
  15. Mande o script para podermos fazer as alterações...
  16. É DxP? Baixe outra versão. Se não, verifique o XML e os scripts dos NPCs.
  17. Eu não conheço muito bem TFS 1.2, então eu meio que "chutei" as funções. actions/scripts nome_arquivo.lua local staminaTime = 2 -- quantas horas vai recuperar. function onUse(cid, item, fromPosition, itemEx, toPosition) player:setStamina (cid, player:getStamina(cid) + staminaTime * 60) player:sendTextMessage (cid, 19, "You've recovered "..staminaTime.." hours of stamina.") doRemoveItem(item.uid, 1) return true end XML: <action itemid="ID do item" event="script" value="nome_arquivo.lua"/>
  18. Bodak Reborn postou uma resposta no tópico em Suporte Tibia OTServer
    Eu realmente não estou entendendo o que tu quer, tenta fazer um gif mostrando o que está acontecendo.
  19. Bodak Reborn postou uma resposta no tópico em Suporte Tibia OTServer
    Ué, está lançando apenas um efeito. Faça um gif para mostrar com está funcionando, eu não tenho um servidor para testar.
  20. Bodak Reborn postou uma resposta no tópico em Suporte Tibia OTServer
    w = { [1] = {dmg = COMBAT_FIREDAMAGE}, [2] = {dmg = COMBAT_ICEDAMAGE}, [3] = {dmg = COMBAT_POISONDAMAGE}, [4] = {dmg = COMBAT_DEATHDAMAGE}, [5] = {dmg = COMBAT_ENERGYDAMAGE}, [6] = {dmg = COMBAT_PHYSICALDAMAGE}, [7] = {dmg = COMBAT_HOLYDAMAGE} } function onUseWeapon(cid, var) min, max = 300000, 300000 -- dano minimo e maximo target = getCreatureTarget(cid) if target ~= 0 then wx = w[math.random(1, #w)] doSendDistanceShoot(getThingPos(cid), getThingPos(target), 0) addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, 42) end return true end

Informação Importante

Confirmação de Termo