Ir para conteúdo

Storm

Héroi
  • Registro em

  • Última visita

Tudo que Storm postou

  1. No itens.xml nos ID das essencias você coloca :: <attribute key="decayTo" value="7537"/> <attribute key="duration" value="600"/> Em decayTo o ID da essencia descarregada e em duration a duração em milisegundos da essencia
  2. Fiz um esboço de como vai ficar e vê se é assim mesmo ; essa essência seria um item que tem que equipar ? Weapons local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 4) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) -- Dano se não tiver a essencia equipada local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 4) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 5, 5, 5, 5) -- Dano se tiver a essencia FIRE equipada local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 4) setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 5, 5, 5, 5) -- Dano se tiver a essencia ICE equipada local config = { ice = 3150, -- ID da essencia ICE fire = 3151, -- ID da essencia fire slot = CONST_SLOT_RING -- Slot em que a essencia vai ser equipada } function onUseWeapon(cid, var) local item = getPlayerSlotItem(cid, config.slot).itemid if item == config.fire then return doCombat(cid, combat1, var) elseif item == config.ice then return doCombat(cid, combat2, var) else return doCombat(cid, combat, var) end end XML <melee id="7869" event="script" value="raijin.lua"/>
  3. 0.4 devido a versão 8.6 que é mais jogado pela galera
  4. O erro está ocorrendo quando a script não consegue encontrar a Creature , ou seja , acontece quando ela desloga ou morre durante esse tempo da script
  5. Posta a script para alguem poder te ajudar.
  6. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onCastSpell(cid, var) local itemid, count = 2160, 5 -- Itemid e sua count a serem removidos if not doPlayerRemoveItem(cid, itemid, count) then doPlayerSendTextMessage(cid, 27, "Você precisa de ".. count .." ".. getItemNameById(itemid) .." para usar a spell.") return doSendMagicEffect(getCreaturePosition(cid), 4) end doPlayerRemoveItem(cid, itemid, count) doCombat(cid, combat, var) addEvent(doCombat, 500, cid, combat, var) addEvent(doCombat, 1000, cid, combat, var) addEvent(doCombat, 1500, cid, combat, var) return addEvent(doCombat, 2000, cid, combat, var) end
  7. Storm postou uma resposta no tópico em Suporte OTServer Derivados
    Vish mano hoje em dia não tem base de NTO boa , vai ter que pegar uma do 0 mesmo e fazer.
  8. <talkaction log="yes" words="/contar" access="5" event="script" value="contagem.lua"/>
  9. Storm postou uma resposta no tópico em Suporte Tibia OTServer
  10. No config.lua experienceStages = true rateExperience = 5.0 Stages.xml <?xml version="1.0" encoding="UTF-8"?> <stages> <config enabled="1"/> <stage minlevel="1" maxlevel="50" multiplier="999"/> <stage minlevel="51" maxlevel="80" multiplier="700"/> <stage minlevel="81" maxlevel="100" multiplier="700"/> <stage minlevel="101" maxlevel="150" multiplier="700"/> <stage minlevel="151" maxlevel="200" multiplier="700"/> <stage minlevel="201" maxlevel="300" multiplier="700"/> <stage minlevel="301" maxlevel="400" multiplier="500"/> <stage minlevel="400" maxlevel="500" multiplier="250"/> <stage minlevel="500" maxlevel="600" multiplier="150"/> <stage minlevel="600" maxlevel="700" multiplier="50"/> <stage minlevel="700" maxlevel="750" multiplier="10"/> <stage minlevel="750" maxlevel="800" multiplier="3"/> <stage minlevel="800" maxlevel="900" multiplier="1"/> <stage minlevel="900" maxlevel="1000" multiplier="0.25"/> <stage minlevel="1000" multiplier="0"/> </stages>
  11. @peterson18 function onUse(cid, item, fromPosition, itemEx, toPosition) local destroy = 7536 local name = "Spider" -- Monster name local chance = 30 -- Em % a chance de nascer a spider if math.random(1, 100) <= chance then doCreateMonster(name, getCreaturePosition(cid)) doTransformItem(item.uid, destroy) return true end doTransformItem(item.uid, destroy) return true end
  12. Bom , aqui vai uma explicação de como configurar a fromPos e toPos A fromPos e a toPos devem abranger todos os quadrados da arena , imagina que toPos seja = { x = 5, y = 5, z = 7 } , qual seria a fromPos correta? è simples , fromPos = { x = 10, y = 10, z = 7} . Essas posições devem abrigar todos os quadrados da arena. Agora , você ja sabe como como colocar as posições corretamente , vamos a script Talkactions function getPlayersInArea(fromPos, toPos) playersInArea = {} for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do for z = fromPos.z, toPos.z do totalArea = {x = x, y= y, z = z} playerz = getTopCreature(totalArea) if isPlayer(playerz.uid) then table.insert(playersInArea, playerz.uid) end end end end return playersInArea end function onSay(cid, words, param, channel) local fromPos = {x = 10, y = 10, z = 7} local toPos = {x = 5, y = 5, z = 7} local area = getPlayersInArea(fromPos, toPos) if area then for i=1, #area do doPlayerBroadcastMessage(area[i], "3", 12) addEvent(doPlayerBroadcastMessage, 1000 , area[i], "2", 12) addEvent(doPlayerBroadcastMessage, 2000 , area[i], "1", 12) addEvent(doPlayerBroadcastMessage, 3000 , area[i], "GO!", 12) end else doPlayerSendTextMessage(cid, 27, "Não tem nenhum player na área") end end
  13. Você vai ter que configurar item por item no movements.xml e no itens.xml.
  14. Storm postou uma resposta no tópico em Suporte Tibia OTServer
    Acho que ele está se referindo ao proxy , um programa que geralmente os players usam para melhorar o Ping , no seu caso o ping dos players BR aqui é 200 MS , com o proxy pode chegar a 50 ms , melhorando a jogabilidade. Em redes de computadores, um proxy é um servidor que age como um intermediário para requisições de clientes solicitando recursos de outros servidores.
  15. Fiquei em dúvida se essa Spider seria um monstro ou summon , enfim: Para a destroyed coccon voltar a ser a Coccon você vai ter que mudar isso no itens.XML e fazer umas modificações , é só olhar exemplo de itens que se transformam em outros function onUse(cid, item, fromPosition, itemEx, toPosition) local destroy = 7536 local name = "Spider" -- Monster name local chance = 30 -- Em % a chance de nascer a spider if math.random(1, 100) <= chance then doCreateMonster(name, getCreaturePosition(cid)) return true end doTransformItem(item.uid, destroy) return true end
  16. Agora vai @bismarkzika local tempo = 30 -- em segundos local condition = createConditionObject(CONDITION_MUTED) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 1000) function repeatEff(cid, eff, tempo, health) local pos = {x = getCreaturePosition(cid).x + 0, y = getCreaturePosition(cid).y + 0, z = getCreaturePosition(cid).z} if not isCreature(cid) or tempo == 0 then return end doSendMagicEffect(pos, eff) doCreatureAddHealth(cid, health) addEvent(repeatEff, 1000, cid, eff, tempo-1, health) end function onCastSpell(cid, var) local eff = 7 -- Efeito local health = 200 -- Quanto ganhará de vida em aproximadamente alguns segundos quebrados if isPlayer(cid) then doCreatureSetNoMove(cid, true) repeatEff(cid, eff, tempo, health) doAddCondition(cid, condition) addEvent(doCreatureSetNoMove, tempo * 1000, cid, false) return true end return true end
  17. Complexa nem tanto , só não vai ficar perfeita;
  18. Em baixo de doCreatureSay(cid, msg, 1) Coloque addEvent(doSendMagicEffect, 1000, getCreaturePosition(cid), ID DO EFEITO AQUI)
  19. Para configurar para ele falar com pouca vida precisará de script ; interval = Tempo em MS para o monstro falar chance = 0 a 100 , em % a chance dele de falar sentence = "Coloque o texto" yell = se tiver = 1 significa que o monstro está gritando , sendo possível ver a fala dele fora da tela.
  20. @bismarkzika function repeatEff(cid, eff, tempo, health) local pos = {x = getCreaturePosition(cid).x + 0, y = getCreaturePosition(cid).y + 0, z = getCreaturePosition(cid).z} if not isCreature(cid) or tempo == 0 then return end doSendMagicEffect(pos, eff) doCreatureAddHealth(cid, health) addEvent(repeatEff, 1000, cid, eff, tempo-1, health) end function onCastSpell(cid, var) local eff = 7 -- Efeito local tempo = 30 -- em segundos local health = 200 -- Quanto ganhará de vida em aproximadamente alguns segundos quebrados if isPlayer(cid) then doCreatureSetNoMove(cid, true) repeatEff(cid, eff, tempo, health) doAddCondition(cid, CONDITION_MUTED) addEvent(doRemoveCondition, tempo * 1000, cid, CONDITION_MUTED) addEvent(doCreatureSetNoMove, tempo * 1000, cid, false) return true end return true end
  21. Creaturescripts/scripts function onStatsChange(cid, attacker, type, combat, value) local life = getCreatureHealth(cid) <= math.floor(0.5 * getCreatureMaxHealth(cid)) local monster = "Rabbit" -- Monstro que irá atingir o 50% e sumir local monstro = "Demon" -- Monstro que irá ser invocado local msg = "Irei sumir" -- Mensagem quando o monstro for sumir if not isMonster(cid) then return true end if life and getCreatureName(cid) == monster then doCreatureSay(cid, msg, 1) addEvent(doCreateMonster, 1000, monstro, getCreaturePosition(cid)) addEvent(doRemoveCreature, 1000, cid) return true end return true end XML <event type="statschange" name="Pedido" event="script" value="Pedido.lua"/> Na XML do monstro <script> <event name="Pedido"/> </script>
  22. Storm postou uma resposta no tópico em Suporte Tibia OTServer
    Sim , quando ele receber a storage ele conseguirá usar a spell.
  23. Storm postou uma resposta no tópico em Suporte Tibia OTServer
    Visite a abas dos classificados : https://tibiaking.com/classifieds/

Informação Importante

Confirmação de Termo