Ir para conteúdo

lorenzo2014

Membro
  • Registro em

  • Última visita

Tudo que lorenzo2014 postou

  1. Não bloquiou!
  2. Olá galerá meu servidor as vezes da um crash quando vou ligar o servidor quando vai carregar o item.xml, nem sempre acontece o crash, mas as vezes acontece. Segue o Log: Error report - Mon Dec 29 10:51:08 2014 Compiler Info - GNU C++ version 4.4.0 Compilation Date - Dec 14 2014 12:36:14 Memory load: 66 Total phys: 4080920 K available phys: 1386584 K Start time: 29-12-2014 12:50:59 Kernel time: 0:0:0.218 User time: 0:0:0.125 Threads: 4 Exception: 0xc0000005 at eip = 0x4976b6(Items::parseItemNode(_xmlNode*, unsigned int) - 0x495178) eax = 0x1 ebx = 0xfffffffd ecx = 0x76229a22 -> 0x75ff85c3 edx = 0x78e0000 esi = 0x51492d8 -> 0 edi = 0x48a2c70 -> 0x6fdf18 ebp = 0x401f87c -> 0x401f9ac esp = 0x401f794 -> 0x51492d8 efl = 0x10202 ---Stack Trace--- From: 0x401f794 to: 0x4020000 0x401f794 | 0x51492d8 -> 0 0x401f798 | 0x6cba3f -> 0x756c6176 0x401f79c | 0x401f814 -> 0xfffffffd 0x401f7a0 | 0x75f400 -> 0x6fcd68 0x401f7a4 | 0x6 0x401f7a8 | 0x6 0x401f7ac | 0x401f7cc -> 0x4 0x401f7b0 | 0x5309aa8 -> 0x31313131 0x401f7b4 | 0x2 0x401f7b8 | 0x2 0x401f7bc | 0x401f7dc -> 0x48a2d48 0x401f7c0 | 0 0x401f7c4 | 0x10 0x401f7c8 | 0 0x401f7cc | 0x4 0x401f7d0 | 0x75f400 -> 0x6fcd68 0x401f7d4 | 0x5309aa8 -> 0x31313131 0x401f7d8 | 0x5309aa8 -> 0x31313131 0x401f7dc | 0x48a2d48 -> 0x6bcc90 0x401f7e0 | 0x75f42c -> 0 0x401f7e4 | 0x75f430 -> 0 0x401f7e8 | 0x2b6a 0x401f7ec | 0x48a2d44 -> 0x6bcc90 0x401f7f0 | 0x48a2d3c -> 0x6bcc90 0x401f7f4 | 0x48a2d40 -> 0x6bcc90 0x401f7f8 | 0x75f42c -> 0 0x401f7fc | 0x48a2d38 -> 0x5408894 0x401f800 | 0xffffffff 0x401f804 | 0x762d1538 -> 0x1 0x401f808 | 0 0x401f80c | 0x54089fc -> 0x6f736261 0x401f810 | 0x5408a9c -> 0x6f736261 0x401f814 | 0xfffffffd 0x401f818 | 0xd90000 -> 0xad75aebf 0x401f81c | 0 0x401f820 | 0x76229a22 -> 0x75ff85c3 0x401f824 | 0xdf6a2b24 0x401f828 | 0x75f400 -> 0x6fcd68 0x401f82c | 0x5149878 -> 0 0x401f830 | 0x5309aa8 -> 0x31313131 0x401f834 | 0 0x401f838 | 0xa 0x401f83c | 0 0x401f840 | 0x1 0x401f844 | 0x401f824 -> 0xdf6a2b24 0x401f848 | 0x7622eb72 -> 0x5d10c483 0x401f84c | 0x401fe84 -> 0x401ff74 0x401f850 | 0x7624b2cd -> 0x8b55ff8b 0x401f854 | 0xad494948 0x401f858 | 0xfffffffe 0x401f85c | 0x76229a22 -> 0x75ff85c3 0x401f860 | 0x55f44f -> 0xc48301b0 0x401f860 readXMLInteger(_xmlNode*, char const*, int&)(0x55f417) 0x401f864 | 0x5309aa8 -> 0x31313131 0x401f868 | 0x6ccb02 -> 0x66006469 0x401f86c | 0x401fe84 -> 0x401ff74 0x401f870 | 0x2b6a 0x401f874 | 0x5149878 -> 0 0x401f878 | 0x75f400 -> 0x6fcd68 0x401f87c | 0x401f9ac -> 0x401fd1c \\\\\\ stack frame ////// 0x401f880 | 0x49a4ea -> 0x51be9 <-- ret 0x401f880 Items::loadFromXml()(0x499f5a) 0x401f884 | 0x75f400 -> 0x6fcd68 0x401f888 | 0x5149878 -> 0 0x401f88c | 0x2b6a 0x401f890 | 0x7624b2cd -> 0x8b55ff8b 0x401f894 | 0xad494948 0x401f898 | 0xfffffffe 0x401f89c | 0x76229a22 -> 0x75ff85c3 0x401f8a0 | 0x444b90 -> 0x5b2cc483 0x401f8a0 FileLoader::~FileLoader()(0x444918) 0x401f988 | 0x413949b -> 0 0x401f98c | 0 0x401f990 | 0x32a7 0x401f994 | 0x401f974 -> 0xdf6a2ad4 0x401f998 | 0x6d4819 -> 0x616e5500 0x401f99c | 0x401fe84 -> 0x401ff74 0x401f9a0 | 0 0x401f9a4 | 0x6b7070 -> 0x1 0x401f9a8 | 0x6bd368 -> 0x6fc108 0x401f9ac | 0x401fd1c -> 0x401fd3c \\\\\\ stack frame ////// 0x401f9b0 | 0x4f6d00 -> 0x850fc084 <-- ret 0x401f9b0 otserv(ServiceManager*)(0x4f5677) 0x401f9b4 | 0x75f400 -> 0x6fcd68 0x401f9b8 | 0x401fc64 -> 0x412c12c 0x401f9bc | 0x401fc68 -> 0x381314c 0x401f9c0 | 0x6d47f9 -> 0x4c203e3e 0x401f9c4 | 0x6f31a0 -> 0x34 0x401f9c8 | 0x6f3220 -> 0x2c 0x401f9cc | 0x6f31e0 -> 0x34 0x401f9d0 | 0x1 0x401fcf8 | 0 0x401fcfc | 0x7622df53 -> 0x75ff85c3 0x401fd00 | 0xdf6a2e44 0x401fd04 | 0x20c 0x401fd08 | 0xd9e388 -> 0x76c61cfd 0x401fd0c | 0x779ca68c -> 0x900014c2 0x401fd10 | 0x376b750 -> 0x6fca18 0x401fd14 | 0x3760a18 -> 0x3760bf8 0x401fd18 | 0x6bd2c0 -> 0x6fb0a8 0x401fd1c | 0x401fd3c -> 0x401fd9c \\\\\\ stack frame ////// 0x401fd20 | 0x5e32f5 -> 0x5590c3c9 <-- ret 0x401fd24 | 0x3e1fe0c -> 0x6fbfe8 0x401fd28 | 0x6ade2450 0x401fd2c | 0x401fd38 -> 0x6bd2c0 0x401fd30 | 0x76235797 -> 0x9090c35d 0x401fd34 | 0xd9e598 -> 0xdc906a84 0x401fd38 | 0x6bd2c0 -> 0x6fb0a8 0x401fd3c | 0x401fd9c -> 0x401ff0c \\\\\\ stack frame ////// 0x401fd40 | 0x5c2e5f -> 0x5b4cc483 <-- ret 0x401fd44 | 0x376b764 -> 0x4f5677 0x401fd48 | 0x7622a5f4 -> 0x9090c35d 0x401fd4c | 0x762d1848 -> 0x762d1a9c 0x401fd50 | 0x401fd90 -> 0x376b750 0x401fd54 | 0x7622dfa2 -> 0x9090c359 0x401fd58 | 0xdf6a2e24 0x401fd5c | 0x401fd9c -> 0x401ff0c 0x401fd60 | 0x4fd57f -> 0x3e8b9 0x401fd60 OutputMessagePool::startExecutionFrame()(0x4fd56a) 0x401fd74 TalkAction::guildCreate(Creature*, std::string const&, std::string const&)(0x555eb6) 0x401fd78 | 0x401fd64 -> 0x401fd88 0x401fd7c | 0x961982f0 0x401fd80 | 0x14a 0x401fd84 | 0x7624b2cd -> 0x8b55ff8b 0x401fd88 | 0x54a14e36 0x401fd8c | 0xb40263 0x401fd90 | 0x376b750 -> 0x6fca18 0x401fd94 | 0x3760a18 -> 0x3760bf8 0x401fd98 | 0x6bd2c0 -> 0x6fb0a8 0x401fd9c | 0x401ff0c -> 0x401ff2c \\\\\\ stack frame ////// 0x401fda0 | 0x557446 -> 0x202404c7 <-- ret 0x401fda0 Dispatcher::dispatcherThread(void*)(0x556c26) 0x401fda4 | 0x376b750 -> 0x6fca18 0x401fda8 | 0 0x401fdac | 0x779cd6c7 -> 0x8b90458b 0x401fdb0 | 0xdfd9a600 0x401fdb4 | 0x3723f78 -> 0x2d75ae3f 0x401fdb8 | 0xd90000 -> 0xad75aebf 0x401fdbc | 0x3723f80 -> 0 0x401fdc0 | 0 0x401fe88 _SEHHandler(_EXCEPTION_RECORD*, void*, _CONTEXT*, void*)(0x4428f1) 0x401fee8 | 0 0x401feec | 0 0x401fef0 | 0 0x401fef4 | 0 0x401fef8 | 0 0x401fefc | 0 0x401ff00 | 0x8894a0 -> 0x6ff4f0 0x401ff04 | 0 0x401ff08 | 0 0x401ff0c | 0x401ff2c -> 0x401ff4c \\\\\\ stack frame ////// 0x401ff10 | 0x5dd926 -> 0x8955c3c9 <-- ret 0x401ff14 | 0x6bd2c0 -> 0x6fb0a8 0x401ff18 | 0x762d1c70 -> 0x5 0x401ff1c | 0x3723f80 -> 0 0x401ff20 | 0x8894a0 -> 0x6ff4f0 0x401ff24 | 0 0x401ff28 | 0 0x401ff2c | 0x401ff4c -> 0x401ff84 \\\\\\ stack frame ////// 0x401ff30 | 0x5a608f -> 0xfffe1ce8 <-- ret 0x401ff34 | 0x8894a0 -> 0x6ff4f0 0x401ff38 | 0x8894a0 -> 0x6ff4f0 0x401ff3c | 0x7622a629 -> 0x5ec68b5f 0x401ff40 | 0 0x401ff44 | 0 0x401ff48 | 0x3723f80 -> 0 0x401ff4c | 0x401ff84 -> 0x401ff8c \\\\\\ stack frame ////// 0x401ff50 | 0x76230bc4 -> 0x27e850 <-- ret 0x401ff54 | 0x8894a0 -> 0x6ff4f0 0x401ff58 | 0xdf6a2cfc 0x401ff5c | 0 0x401ff60 | 0 0x401ff64 | 0x3723f80 -> 0 0x401ff68 | 0x401ff58 -> 0xdf6a2cfc 0x401ff6c | 0x401ff58 -> 0xdf6a2cfc 0x401ff70 | 0x401ffcc -> 0x401ffe4 0x401ff74 | 0x401ffcc -> 0x401ffe4 0x401ff78 | 0x7624b2cd -> 0x8b55ff8b 0x401ff7c | 0xad48d8a8 0x401ff80 | 0 0x401ff84 | 0x401ff8c -> 0x401ff98 \\\\\\ stack frame ////// 0x401ff88 | 0x76230cec -> 0x909090cc <-- ret 0x401ff8c | 0x401ff98 -> 0x401ffdc 0x401ff90 | 0x75c6919f -> 0xb015ff50 <-- ret 0x401ff94 | 0x3723f80 -> 0 0x401ff98 | 0x401ffdc -> 0x401ffec \\\\\\ stack frame ////// 0x401ff9c | 0x779e0bbb -> 0xfefc45c7 <-- ret 0x401ffa0 | 0x3723f80 -> 0 0x401ffa4 | 0xdfd9a76c 0x401ffa8 | 0 0x401ffac | 0 0x401ffb0 | 0x3723f80 -> 0 0x401ffb4 | 0 0x401ffb8 | 0 0x401ffbc | 0 0x401ffc0 | 0 0x401ffc4 | 0x401ffa4 -> 0xdfd9a76c 0x401ffc8 | 0 0x401ffcc | 0x401ffe4 -> 0xffffffff 0x401ffd0 | 0x77a227e1 -> 0x8b55ff8b 0x401ffd4 | 0xac465378 0x401ffd8 | 0 0x401ffdc | 0x401ffec -> 0 \\\\\\ stack frame ////// 0x401ffe0 | 0x779e0b91 -> 0x909090cc <-- ret 0x401ffe4 | 0xffffffff 0x401ffe8 | 0x779cc9bf -> 0x90909090 0x401ffec | 0 \\\\\\ stack frame ////// 0x401fff0 | 0 <-- ret 0x401fff4 | 0x76230ca7 -> 0x8b55ff8b 0x401fff8 | 0x3723f80 -> 0 0x401fffc | 0 Alguém pode me dar uma solução para esse erro?
  3. @Orochi Elf Sistema perfeito com player, mais com GM, group = 6, não funciona, não abre o Catch Window!
  4. Sistema perfeito, testado e funcionando 100% Orochi Elf, o melhor scripter ativo da atualidade! Parabéns pelo ótimo trabalho!
  5. Boa noite, alguém pode me ajudar com o seguinte script, pode ser lua ou source. Se o player tiver uma storage X, ele não consiga mandar mensagem no default, mais consiga mandar mensagem nos demais canais? Otserv 0.3.6 std::string value = "1"; if(!player->getStorage(uint32_t(123456), value)) return true; Tentei bloquear no game.ccp, porém bloqueou todos os canais.
  6. @ mateusak Assim irá bloquear o ataque a qualquer mostro, e eu não quero isso, quero que não ataque apenas os lideres de ginásio!
  7. @Adriano SwaTT Não daria certo, pois os monstros do Ginásio tem o mesmo nome dos monstros selvagens. up
  8. Bom dia, estou adaptando o npc Ginásio do PDA para meu servidor, terminei o npc, porém precisava bloquear para quem não estiver em batalha com o npc não poder atacar o summon do npc, alguém pode me ajudar? Script do npc local focus = 0 local max_distance = 8 local talk_start = 0 local conv = 0 local fighting = false local challenger = 0 local pokeNpc = nil local pokeChalenger = nil local afk_limit_time = 300 -- seconds local afk_time = 0 -- don't change local battle_turn = 0 -- don't change local challenger_turn = 0 -- don't change local pokemons = { {name = "Rattata", optionalLevel = 300, sex = SEX_MALE, nick = "", ball = "normal"}, {name = "Pidgey", optionalLevel = 300, sex = SEX_MALE, nick = "", ball = "normal"}, -- {name = "Vaporeon", optionalLevel = 300, sex = SEX_FEMALE, nick = "", ball = "normal"}, -- {name = "Golduck", optionalLevel = 300, sex = SEX_MALE, nick = "", ball = "normal"}, -- {name = "Blastoise", optionalLevel = 300, sex = SEX_MALE, nick = "", ball = "normal"}, -- {name = "Starmie", optionalLevel = 300, sex = SEX_FEMALE, nick = "", ball = "normal"}, } local function doSummonGymPokemon(npc) battle_turn = battle_turn + 1 local this = npc if #getCreatureSummons(this) >= 1 or focus == 0 then return true end local it = pokemons[battle_turn] pokeNpc = doSummonCreature(it.name, getThingPos(this)) local summon = getCreatureSummons(this)[1] local balleffect = pokeballs["normal"].effect if it.ball and pokeballs[it.ball] then balleffect = pokeballs[it.ball].effect end doSendMagicEffect(getThingPos(pokeNpc), balleffect) setPlayerStorageValue(pokeNpc, 990, this) setPlayerStorageValue(pokeNpc, 991, "battle") setPlayerStorageValue(pokeNpc, 8595, 1) setPlayerStorageValue(this, 990, 1) addEvent(adjustWildPoke, 15, pokeNpc, it.optionalLevel) mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", it.name) doCreatureSay(this, mgo, 1) fighting = true end local function doWinDuel(cid, npc) if not isCreature(cid) then return true end local this = npc local a = gymbadges[getCreatureName(this)] + 8 doCreatureSay(npc, "You won the duel! Congratulations, take this "..getItemNameById(a - 8).." as a prize.", 1) local b = getPlayerItemById(cid, true, a) if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end doPlayerSendCancel(cid, "#getBadges# "..getCreatureName(this).." "..getPlayerItemCount(cid, gymbadges[getCreatureName(this)])) end function onCreatureSay(cid, type, msg) local msg = string.lower(msg) if focus == cid then talk_start = os.clock() end if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then focus = cid talk_start = os.clock() conv = 1 selfSay("Hello "..getCreatureName(cid)..", my name is Misty and I'm Cerulean's Gym Leader. How may I help you?") return true end if isDuelMsg(msg) and conv == 1 and focus == cid then --if getPlayerItemCount(cid, gymbadges[getCreatureName(getThis())]) >= 1 then -- selfSay("You have already won my Cascade Badge, maybe some other day we can fight.") -- focus = 0 --return true --end -- if not hasPokemon(cid) then -- selfSay("To battle agains't a gym leader you need pokemons.") -- return true -- end selfSay("You are challenging me to a battle. It will be a "..#pokemons.." pokemon limit battle, let's start?") conv = 2 return true end if isConfirmMsg(msg) and conv == 2 and focus == cid then challenger = focus setPlayerStorageValue(cid, 990, 1) setPlayerStorageValue(cid, 999, 1) selfSay("Yea, let's fight!") talk_start = os.clock() setPlayerStorageValue(getThis(), 990, 1) addEvent(doSummonGymPokemon, 5, getThis()) conv = 3 return true end if isNegMsg(msg) and conv == 2 and focus == cid then focus = 0 selfSay("It is better for you to refuse a battle against me!") return true end local function doRemove(npc) local it = pokemons[battle_turn] local balleffect = pokeballs["normal"].effect if it.ball and pokeballs[it.ball] then balleffect = pokeballs[it.ball].effect end doSendMagicEffect(getThingPos(pokeNpc), balleffect) doRemoveCreature(pokeNpc) end if msgcontains(msg, 'bye') and focus == cid then selfSay('Bye and do your best trainer!') setPlayerStorageValue(focus, 990, -1) setPlayerStorageValue(focus, 999, -1) addEvent(doRemove, 50, this) focus = 0 return true end end local afk_warning = false function checkPoke(player, poke) end function onThink() if focus == 0 then selfTurn(2) fighting = false challenger = 0 challenger_turn = 0 battle_turn = 0 afk_time = 0 afk_warning = false setPlayerStorageValue(getThis(), 990, -1) return true else if not isCreature(focus) then focus = 0 return true end if fighting then talk_start = os.clock() if #getCreatureSummons(challenger) >= 1 then if pokeChalenger == nil then pokeChalenger = getCreatureName(getCreatureSummons(challenger)[1]) afk_time = 0 challenger_turn = challenger_turn + 1 elseif pokeChalenger == getCreatureName(getCreatureSummons(challenger)[1]) then afk_time = 0 else afk_time = 0 challenger_turn = challenger_turn + 1 pokeChalenger = getCreatureName(getCreatureSummons(challenger)[1]) end else afk_time = afk_time + 0.5 end if afk_time > afk_limit_time then setPlayerStorageValue(focus, 990, -1) focus = 0 selfSay("I have waited too long, come back when you are ready!") return true end if not afk_warning and afk_time > afk_limit_time / 2 then selfSay("Where's your pokemon? Let's fight!") afk_warning = true end if getPlayerStorageValue(getThis(), 990) == 0 then if battle_turn >= #pokemons then addEvent(doWinDuel, 1000, focus, getThis()) setPlayerStorageValue(focus, 990, -1) focus = 0 return true end setPlayerStorageValue(getThis(), 990, 1) addEvent(doSummonGymPokemon, 1000, getThis()) end if challenger_turn >= 7 or challenger_turn > #pokemons then selfSay("You lost our duel! Maybe some other time you'll defeat me.") setPlayerStorageValue(focus, 990, -1) focus = 0 return true end end local npcpos = getThingPos(getThis()) local focpos = getThingPos(focus) if npcpos.z ~= focpos.z then setPlayerStorageValue(focus, 990, -1) focus = 0 selfSay("Bye then.") return true end if (os.clock() - talk_start) > 30 then selfSay("Good bye and keep training!") setPlayerStorageValue(focus, 990, -1) focus = 0 end if getDistanceToCreature(focus) > max_distance then setPlayerStorageValue(focus, 990, -1) focus = 0 return true end local dir = doRedirectDirection(getDirectionTo(npcpos, focpos)) selfTurn(dir) end return true end Tentativa que fiz para bloquear o ataque para quem não estar em duel com o npc. function onTarget(cid, target) if getPlayerStorageValue(target, 990) ~= -1 then if getPlayerStorageValue(target, getPlayerStorageValue(target, 999)) == 1 then if getPlayerStorageValue(cid, getPlayerStorageValue(target, 999)) ~= 1 then doPlayerSendCancel(cid, "You can't attack this pokemon.") return false end end end
  9. lorenzo2014 postou uma resposta no tópico em Ferramentas OpenTibia
    Gabriel, tudo bem, o arquivo Thumbs.db é gerado, mais e se eu hospedar o servidor, o player irá instalar o cliente em seu computador, e se ele não tiver removido o Thumbs.db, ele não conseguirá atualizar também, certo?
  10. @Topic Encontrei um bug no servidor e não consegui resolve-lo Quando atacamos um poke com spells, ele quandlo já esta com o life bem baixo ele não morre com spell, apenas no combat fisico. è um bug no sistema de defesa, sabe resolver isso?
  11. lorenzo2014 postou uma resposta no tópico em Ferramentas OpenTibia
    Vou tentar explicar melhor, quando eu uso o programa para fazer o launcher, ele cria uma arquivo .z, esse arquivo contém o que quero fazer o update, se eu kizer fazer update de um arquivo dentro da pasta module por exemplo, o arquivo não vai pra dentro da pasta module, e sim para a pasta raiz do otclient, uma duvida, para editar a pasta module/inventory por exemplo, tenho q fazer o patcher da pasta module inteira? E quando vou fazer o patcher de uma pasta, no meu caso de quase 2MB, ele não atualiza os arquivos, aparece a mensagem de espaço insuficiente e não atualiza os arquivos.
  12. lorenzo2014 postou uma resposta no tópico em Ferramentas OpenTibia
    Gabriel, um problema, quando eu vou fazer o launcher, ele gera o arquivo em branco, ou seja, não tem nada dentro da pasta. Quando faço o exe generator, ai sim ele funciona, ficou claro o erro? Ele atualiza apenas arquivos da pasta raiz?
  13. Quais são os erros e bugs? vou ajudar no servidor!
  14. Não funcionou no dash advanced!
  15. Vou contribuir com o que eu puder, mas estou igual o gristony, tb estou sem tempo. Estou terminando meu trabalho de conclusão de curso, trabalho o dia todo. Mas assim que sobrar um tempinho eu ajudo o servidor! Mas já vou logo avisando, se eu ver nego aqui só pedindo e não ajudar em nada, ai podem esquecer, pois quero ajudar em um desenvolvimento de servidor e não criar um servidor para outros colocarem online sem o minimo esforço. Acredito que todos devem cooperar com o servidor.
  16. Parabéns pelo ótimo trabalho, Tibiaking merece trabalhos e pessoas como você gristony! Posso ajudar com TV system, tenho ela usando base dash v6, vou colocar no Dash V8 e postar aqui. Seria bom se todos ajudassem no desenvolvimento do servidor.
  17. Todos conseguiram compilar essa source? Quem conseguiu pode me ajudar? estou adicionando TV System na source, porem da erro na hora de compilar. postei o erro na pagina anterior!
  18. Olá, alguem pode me ajudar. Estou compilando a source do dash v7, porém to com o seguinte erro, alguém pode me ajudar resolver? Compilando usando o Dev do Stians!

Informação Importante

Confirmação de Termo