Ir para conteúdo

greeneyzer

Membro
  • Registro em

  • Última visita

  1. @Brunds deu certo!!! muito obrigado mesmo!
  2. Uso um servidor 8.60 e estou enfrentando o seguinte problema, quero criar uma quest que ao matar um boss um teleport é criado e gostaria que ao mesmo tempo fosse concedido um storage que futuramente permitira acesso a uma parte do mapa exclusiva apenas para quem conseguiu fazer essa quest. mas meu codigo ao matar o boss aparece o tp, leva para o local indicado só que nao da storage nem ao player e nem ao grupo. Gostaria que alguem pudesse me auxiliar se possivel. segue o script : inqportals.lua local tps = { ["Ushuriel"] = {pos = {x=33157, y=31730, z=11}, toPos = {x=33069, y=31783, z=13}, time = 60, storage = 56123, value = 1}, } local storage = 56123 local function removeTp(tp) local t = getTileItemById(tp.pos, 5023).uid return t > 0 and doRemoveItem(t) and doSendMagicEffect(tp.pos, CONST_ME_POFF) end function onDeath(cid) local tp = tps[getCreatureName(cid)] if tp then setPlayerStorageValue(cid, tp.storage, tp.value) print(tp.storage) print(tp.value) doCreateTeleport(5023, tp.toPos, tp.pos) doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1) addEvent(removeTp, tp.time*1000, tp) end return true end e em creaturescripts: <event type="death" name="inqportals" script="inqportals.lua"/> em login.lua: registerCreatureEvent(cid, "inqportals") no codigo do boss: <script> <event name="inqportals"/> </script> não quero alterar nenhuma quest, quero apenas o que foi pedido, que continue crianto o teleport temporario e que forneça o storage 56123 com value 1, apenas isso. grato desde já!
  3. Olá a todos, procurei aqui no fórum auxilio mas das maneiras que vi não consegui solucionar meu problema, o erro é o seguinte, quando vou tentar fazer a Inquisition Quest parece que os teleports bugam, começa do primeiro teleport pra entrar na mainroom que não retorna para o hero cave, em seguida ao entrar na sala do ushuriel ja tem um tp que da acesso a mainroom da quest, porém ao matar o boss ele não da o storage para poder acessar a proxima room e nem no mainroom permite o acesso a crystal cave e assim por diante, teste com o god e com player comum, em ambos nao da acesso pra cave, vou deixar os codigos de como esta em meu server: em \data\creaturescripts\scripts\Inquisition.lua: local config = { timeToRemove = 180, message = "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during his time or the teleporter will disappear", teleportId = 9773, bosses = { ["Ushuriel"] = { pos={ x=33157, y=31725, z=11, stackpos=1 }, aid=1001 }, ["Zugurosh"] = { pos={ x=33123, y=31689, z=11, stackpos=1 }, aid=1002}, ["Madareth"] = { pos={ x=33194, y=31768, z=11, stackpos=1 }, aid=1003}, ["Annihilon"] = { pos={ x=33200, y=31704, z=11, stackpos=1 }, aid=1005}, ["Hellgorak"] = { pos={ x=33107, y=31735, z=11, stackpos=1 }, aid=1006} }, brothers ={ ["Golgordan"] = {pos={ x=33235, y=31734, z=11, stackpos=1 },aid=1004, brother = "Latrivan"}, ["Latrivan"] = {pos={ x=33235, y=31734, z=11, stackpos=1 },aid=1004, brother = "Golgordan"}, brothersArea ={ fromPos = {x = 33224, y = 31722, z = 11}, toPos = {x = 33240, y = 31734, z = 11} } } } local function removal(position) doRemoveThing(getTileItemById(position, config.teleportId).uid, 1) return TRUE end function onKill(cid, target, lastHit) if(config.bosses[getCreatureName(target)]) then local t = config.bosses[getCreatureName(target)] local teleport = doCreateItem(config.teleportId, t.pos) local position = t.pos doItemSetAttribute(teleport, "aid", t.aid) doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1) addEvent(removal, config.timeToRemove * 1000, position) elseif(config.brothers[getCreatureName(target)]) then local t = config.brothers[getCreatureName(target)] local brother = getCreatureByName(t.brother) if(isMonster(brother) == true) then if(isInRange(getCreaturePosition(brother), config.brothers.brothersArea.fromPos, config.brothers.brothersArea.toPos) == true) then return TRUE end else local teleport = doCreateItem(config.teleportId, t.pos) local position = t.pos doItemSetAttribute(teleport, "aid", t.aid) doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1) addEvent(removal, config.timeToRemove * 1000, position) end end return TRUE end em \data\creaturescripts\creaturescripts.xml: em \data\movements\scripts\inq.lua: em \data\movements\movements.xml: se alguém puder me ajudar pq ja tentei de tudo e nao consigo resolver esse problema... o erro está nos teleports e o fato de não dar ao player o storage para acessar pela mainroom da quest.
  4. Uso um servidor global 8.60 e a health potion tem um poder de cura limitado, gostaria de saber se existe um meio de criar uma spell de cura para uma runa similar a UH mas que ao invés de usar o magic level para healar o player usasse a skill do player como padrão de formula, por exemplo o player tem 100 de sword entao ela vai curar no minimo 800 de HP, algo assim, alguem sabe me auxiliar? Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  5. agradeço a ajuda mas eu ja criei spells com danos por spells e etc, o que eu não consigo é fazer a spell fazer o dano das skills igual um exori e ao mesmo tempo healar a vida do player, uma espécie de life drain / life steal.
  6. .Qual servidor ou website você utiliza como base? 8.60 Global Qual o motivo deste tópico? Ajuda para criar uma Spell Você tem o código disponível? Se tiver publique-o aqui: --Esse codigo foi obtido em http://tibiaotmods.blogspot.com/2012/02/magia-life-drain.html e possui uma ideia interessante, porem queria um dano em área e que o dano fosse relativo a skill, level e etc do player igual a um dano causado por exori. function onCastSpell(cid, var) local CreatureMaxHealth = getCreatureMaxHealth(getCreatureTarget(cid)) if getCreatureTarget(cid) then local CreatureHealth = getCreatureHealth(getCreatureTarget(cid)) local critLife = CreatureMaxHealth/2 local lifedraw = ( CreatureHealth / 10) if CreatureHealth >= critLife then local Target = getCreatureTarget(cid) local targetPos = getPlayerPosition(Target) doCreatureAddHealth(Target, -lifedraw, COMBAT_LIFEDRAIN) doSendAnimatedText(targetPos, lifedraw , TEXTCOLOR_GOLD) doSendMagicEffect(targetPos, 0) local pos = getPlayerPosition(cid) doCreatureAddHealth(cid, lifedraw, 1) doSendAnimatedText(playerPos, lifedraw , TEXTCOLOR_GOLD) doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) end end end --Essa spell abaixo foi uma que tentei me baseando no pouco conhecimento que tenho mas deu erro no distro e não funcionou: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local combatExura = createCombatObject() setCombatParam(combatExura, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combatExura, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combatExura, COMBAT_PARAM_AGGRESSIVE, 0) setCombatParam(combatExura, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onGetFormulaValues(cid, level, maglevel) min = ((level / 5) + (maglevel * 1.4) + ? max = ((level / 5) + (maglevel * 1.8) + 11) return min, max end setCombatCallback(combatExura, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.1 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) doCombat(cid, combat, var) return doCombat(cid, combatExura, var) end -- E essa ultima foi também uma tentativa falha: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local combat2 = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4.5, 9) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.1 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell1(param) doCombat(param.cid, combat, param.var) end function onCastSpell2(param) doCombat(param.cid, combat2, param.var) end function onCastSpell(cid, var) local param = {cid = cid, var = var} addEvent(onCastSpell2, 100, param) return addEvent(onCastSpell1, 100, param) end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  7. Eu gostaria apenas de criar um site e hospedar apenas o site, o servidor manter na minha máquina, utilizo o servidor 8.6 global by dener diegoli, e o banco de dados é mysql. o server está on pq tenho ip fixo, mas queria subir um site com dominio onde o player possa baixar o client que é custom, e ter informações relevantes do jogo, ranking, criaturas, itens e etc. existe alguém que possa me auxiliar, ou pelo menos me indicar onde encontro esse conteúdo? todos os sites que vejo são pra quem cria o banco no xaamp e nunca vi criarem com dominio pago, queria muito saber estou há um bom tempo buscando essa informação mas não a encontro em lugar algum. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  8. ninguém tem essa informação?
  9. greeneyzer postou uma resposta no tópico em Suporte Tibia OTServer
    dentro desse trecho: function hpode(cid) doCreatureAddHealth(cid,-getCreatureMaxHealth(cid)+getCreatureMaxHealth(cid)/3) doRemoveCondition(cid,CONDITION_FREEZING) end tenta fazer algo assim: function hpode(cid) local MaxHP = getCreatureMaxHealth(cid) print(MaxHP) doCreatureAddHealth(cid,-MaxHP+MaxHP/3) doRemoveCondition(cid,CONDITION_FREEZING) end e vê se ele está retornando algum valor no print e aqui tenta mudar de: function hadsu(cid) if getCreatureLookDirection(cid) == 1 then doCombat(cid, combat1, numberToVariant(cid)) doCombat(cid, combat10, numberToVariant(cid)) doCombat(cid, combat100, numberToVariant(cid)) elseif getCreatureLookDirection(cid) == 2 then doCombat(cid, combat4, numberToVariant(cid)) doCombat(cid, combat40, numberToVariant(cid)) doCombat(cid, combat400, numberToVariant(cid)) elseif getCreatureLookDirection(cid) == 3 then doCombat(cid, combat2, numberToVariant(cid)) doCombat(cid, combat20, numberToVariant(cid)) doCombat(cid, combat200, numberToVariant(cid)) elseif getCreatureLookDirection(cid) == 0 then doCombat(cid, combat3, numberToVariant(cid)) doCombat(cid, combat30, numberToVariant(cid)) doCombat(cid, combat300, numberToVariant(cid)) end end para isso aqui: function hadsu(cid) if isCreature(cid) then if getCreatureLookDirection(cid) == 1 then doCombat(cid, combat1, numberToVariant(cid)) doCombat(cid, combat10, numberToVariant(cid)) doCombat(cid, combat100, numberToVariant(cid)) elseif getCreatureLookDirection(cid) == 2 then doCombat(cid, combat4, numberToVariant(cid)) doCombat(cid, combat40, numberToVariant(cid)) doCombat(cid, combat400, numberToVariant(cid)) elseif getCreatureLookDirection(cid) == 3 then doCombat(cid, combat2, numberToVariant(cid)) doCombat(cid, combat20, numberToVariant(cid)) doCombat(cid, combat200, numberToVariant(cid)) elseif getCreatureLookDirection(cid) == 0 then doCombat(cid, combat3, numberToVariant(cid)) doCombat(cid, combat30, numberToVariant(cid)) doCombat(cid, combat300, numberToVariant(cid)) end return true end end
  10. greeneyzer postou uma resposta no tópico em Suporte Tibia OTServer
    não sou um expert, mas parece que vc não criou: local combat = createCombatObject() e quando da o cast chama esse objeto que não foi instanciado. cria na primeira linha do código e testa pra ver se funfa
  11. como assim? eu tenho um server onde tem itens e monstros com sprites que criei, então tenho que usar no meu client o meu arquivo .dat e .spr, fora que o distro do client ja vai direto para o meu server. se for dessa maneira consigo te auxiliar agora de maneiras diferentes eu não possuo o conhecimento atualmente.
  12. Quase sempre estou no fórum pedindo ajuda de todos, vim fazer esse post pra ajudar uma galera que pode ter enfrentado esse mesmo erro que eu e mostrar como solucionei. como detectar o erro primeiramente? O player está jogando normalmente até que ao morrer, invés de sofrer a penalidade da morte e voltar para o templo ele simplesmente retornava para algum local onde salvou seu personagem com todos os itens e literalmente ficava bugado e sempre que morria retornava com as mesmas skills e itens do personagem. no server apresentava a seguinte mensagem de erro: mysql error: out of range value for column 'manaspent' at row 1 (1264) e em seguida dizia que não dava pra salvar o personagem em questão. Após muita pesquisa sem a solução para o problema tentei descobrir eu mesmo o que podia estar causando esse erro, já que apresentava um erro no comando SQL, fui ver como estava se comportando o banco de dados. Percebi que o valor que estava nesse personagem armazenado na coluna manaspent era um numero muito alto, e vi que na estrutura do banco essa coluna estava como INT(10), ou seja um numero inteiro que armazena até 10 caracteres, executei direto no banco a seguinte query: ALTER TABLE players MODIFY manaspent BIGINT; e reiniciei o server, ao fazê-lo vi que os players que estavam bugados agora morriam, sofriam a penalidade e retornavam ao templo como deveria ser feito. Caso alguém tenha informações complementares do erro podem auxiliar, estou apenas compartilhando como solucionei algo que me deu um pouquinho de dor de cabeça e vendo se consigo ajudar mais alguém! Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  13. cara eu tenho um 8.6 mas está com algumas edições. https://mega.nz/#!O0AAwApC!wyxV--H5ifreY4hNLvgbPy3WvF_lP-N8Pyj6_0smTLk pega seu ip em executar, digite ipconfig e veja seu endereço ipv4. mude o ip no arquiv config.lua e testa pra ver se funciona, me manda se houver algum bug pq ja resolvi vários então se estiver enfrentando algum problema me avisa que eu te dou um suporte
  14. KiraConquest reagiu a uma resposta no tópico: COMO CRIAR SITE?
  15. .Qual servidor ou website você utiliza como base? 8.6 (Global Server 1.0.1 Developed by Dener Diegoli Team) Qual o motivo deste tópico? Dúvida em como criar site Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  16. testei, não rodou, ainda alterei a linha if (isCreature(cid) then para if (isCreature(cid)) then e mesmo assim continua dando erro nessa linha do codigo

Informação Importante

Confirmação de Termo