Tungs 249 Posted May 5, 2023 Share Posted May 5, 2023 (edited) Olá a todos, Recentemente, trabalhei em um projeto de desenvolvimento de uma source para PDA e fiquei muito satisfeito com os resultados. Depois de muito esforço e testes, consegui atingir cerca de 90% de sucesso na implementação da source em diversos PDAs. Agora, gostaria de compartilhar meu trabalho com vocês. A source é escrita em C++ e possui diversas funções, incluindo getDamageMapPercent, isPokeball e Order System (getDirectionToWalk). Adicionado raças (Crystal, Steel, Dark), função OnSpawn, Pokemon Passivos e agressivos. Além disso, é altamente compatível com a maioria dos PDAs, embora possa haver algumas adaptações necessárias dependendo do dispositivo específico. Para quem estiver interessado em testar a source, deixo aqui o link para todas as funções: https://pastebin.com/ewKUt9dH Ficarei muito grato por qualquer feedback que vocês possam me dar sobre a minha source. Compartilhar conhecimento e ajudar a comunidade é sempre muito gratificante e espero que minha source possa ajudá-los em seus projetos. Obrigado pela atenção e apoio! Atenciosamente, Tungs (kevick) a source se encontra anexada nesse tópico + link do mediafire para quem não conseguir baixar aqui. Download: https://www.mediafire.com/file/8irkqnrgxtuw1b9/Source.rar/file Download Atualização 052023: https://www.mediafire.com/file/nbf3ypdv8yaf903/Source_PDA_atualiza%C3%A7%C3%A3o_052023.rar/file PS. QUALQUER ERRO EU AJUDAREI, BASTA COMENTAR AQUI NO TÓPICO ATUALIZAÇÃO 052023 ADIÇÃO DA FUNÇÃO getDirectionToWalk (C++)após baixar e compilar a nova source que se encontra logo abaixo, adicione em 032-position.lua que se encontra na pasta lib a função abaixo: function getDirectionToWalk(p1, pos2) local dir = NORTH local pos1 = getCreaturePosition(p1) if(pos1.x > pos2.x) then dir = WEST if(pos1.y > pos2.y) then dir = NORTHWEST elseif(pos1.y < pos2.y) then dir = SOUTHWEST end elseif(pos1.x < pos2.x) then dir = EAST if(pos1.y > pos2.y) then dir = NORTHEAST elseif(pos1.y < pos2.y) then dir = SOUTHEAST end else if(pos1.y > pos2.y) then dir = NORTH elseif(pos1.y < pos2.y) then dir = SOUTH end end return dir end function getNextStepDelay(cid, dir) return tonumber(398) end DOWNLOAD DA SOURCE ATUALIZADA: https://www.mediafire.com/file/nbf3ypdv8yaf903/Source_PDA_atualiza%C3%A7%C3%A3o_052023.rar/file Source PDA atualização 052023.rar Edited May 12, 2023 by Tungs GamerGoiano, DarkWore, Akzs and 5 others 5 2 1 Link to comment Share on other sites More sharing options...
DarkWore 112 Posted May 6, 2023 Share Posted May 6, 2023 Obrigado pela contribuição, dando meus 2 cents, senti falta da função selfAttackCreature na source, caso tenha curiosidade pra saber mais sobre a função, segue o link de uma thread que foi conversado sobre e até apresentado o código em tfs 1.x. Link to comment Share on other sites More sharing options...
Tungs 249 Posted May 6, 2023 Author Share Posted May 6, 2023 8 horas atrás, DarkWore disse: Obrigado pela contribuição, dando meus 2 cents, senti falta da função selfAttackCreature na source, caso tenha curiosidade pra saber mais sobre a função, segue o link de uma thread que foi conversado sobre e até apresentado o código em tfs 1.x. Temos as funções //doSetMonsterGym(cid, target) lua_register(m_luaState, "doSetMonsterGym", LuaScriptInterface::luaDoSetMonsterGym); //DoSetAttackGym(cid, target) lua_register(m_luaState, "doSetAttackGym", LuaScriptInterface::luaDoSetAttackGym); //DoSetGym(cid) lua_register(m_luaState, "doSetGym", LuaScriptInterface::luaDoSetGym); adicionadas na source Link to comment Share on other sites More sharing options...
Rookie 0 Posted May 6, 2023 Share Posted May 6, 2023 Você disse que a source possui Pokémon Passivos e agressivos correto? Dei uma olhada por cima, não achei nenhuma função relacionada ao mesmo, nem mesmo o "passive" que é a configuração no .xml do PDA, foi feito de outra maneira? Esta source me lembra muito uma que foi postada junto a um servidor, o PokeXUniverse algo assim, ela estava 90% compatível com o PDA também. Mas realmente é um ótimo trabalho, mas recomendo firmemente que o povo largue mão de PDA e 0.3.6! Link to comment Share on other sites More sharing options...
Tungs 249 Posted May 6, 2023 Author Share Posted May 6, 2023 1 hora atrás, Rookie disse: Você disse que a source possui Pokémon Passivos e agressivos correto? Dei uma olhada por cima, não achei nenhuma função relacionada ao mesmo, nem mesmo o "passive" que é a configuração no .xml do PDA, foi feito de outra maneira? Esta source me lembra muito uma que foi postada junto a um servidor, o PokeXUniverse algo assim, ela estava 90% compatível com o PDA também. Mas realmente é um ótimo trabalho, mas recomendo firmemente que o povo largue mão de PDA e 0.3.6! praticamente a mesma source, na época que eu estava trabalhando nessa base, eu e o Luiz (que postou a pxu) usamos a source no mesmo, porem essa postada tem mais funções na qual trabalhei. Se for no post do PXU ta la meus creditos (Jair Kevick) Link to comment Share on other sites More sharing options...
DarkWore 112 Posted May 7, 2023 Share Posted May 7, 2023 Em 06/05/2023 em 10:37, Tungs disse: Temos as funções //doSetMonsterGym(cid, target) lua_register(m_luaState, "doSetMonsterGym", LuaScriptInterface::luaDoSetMonsterGym); //DoSetAttackGym(cid, target) lua_register(m_luaState, "doSetAttackGym", LuaScriptInterface::luaDoSetAttackGym); //DoSetGym(cid) lua_register(m_luaState, "doSetGym", LuaScriptInterface::luaDoSetGym); adicionadas na source Essas funções não estão listadas no pastebin que você anexou, acredito que vale anexar. Link to comment Share on other sites More sharing options...
Tungs 249 Posted May 8, 2023 Author Share Posted May 8, 2023 15 horas atrás, DarkWore disse: Essas funções não estão listadas no pastebin que você anexou, acredito que vale anexar. eu teria que gerar um novo :v Link to comment Share on other sites More sharing options...
DarkWore 112 Posted May 8, 2023 Share Posted May 8, 2023 11 horas atrás, Tungs disse: eu teria que gerar um novo :v https://pastebin.com/ewKUt9dH Espero ter ajudado, abraços. Link to comment Share on other sites More sharing options...
Tungs 249 Posted May 12, 2023 Author Share Posted May 12, 2023 ATUALIZAÇÃO ADIÇÃO DA FUNÇÃO getDirectionToWalk (C++)após baixar e compilar a nova source que se encontra logo abaixo, adicione em 032-position.lua que se encontra na pasta lib a função abaixo: function getDirectionToWalk(p1, pos2) local dir = NORTH local pos1 = getCreaturePosition(p1) if(pos1.x > pos2.x) then dir = WEST if(pos1.y > pos2.y) then dir = NORTHWEST elseif(pos1.y < pos2.y) then dir = SOUTHWEST end elseif(pos1.x < pos2.x) then dir = EAST if(pos1.y > pos2.y) then dir = NORTHEAST elseif(pos1.y < pos2.y) then dir = SOUTHEAST end else if(pos1.y > pos2.y) then dir = NORTH elseif(pos1.y < pos2.y) then dir = SOUTH end end return dir end function getNextStepDelay(cid, dir) return tonumber(398) end DOWNLOAD DA SOURCE ATUALIZADA: https://www.mediafire.com/file/nbf3ypdv8yaf903/Source_PDA_atualiza%C3%A7%C3%A3o_052023.rar/file Link to comment Share on other sites More sharing options...
Henrique Amicci 0 Posted June 21, 2023 Share Posted June 21, 2023 Consigo adaptar essa source para uma base cyan, se sim conseguem me ajudar como faria isso ? Link to comment Share on other sites More sharing options...
Tungs 249 Posted June 22, 2023 Author Share Posted June 22, 2023 18 horas atrás, Henrique Amicci disse: Consigo adaptar essa source para uma base cyan, se sim conseguem me ajudar como faria isso ? sim, basta compilar a source e usar o executavel compilado Link to comment Share on other sites More sharing options...
Henrique Amicci 0 Posted June 22, 2023 Share Posted June 22, 2023 (edited) Em 22/06/2023 em 08:17, Tungs disse: sim, basta compilar a source e usar o executavel compilado Edited June 25, 2023 by Henrique Amicci Link to comment Share on other sites More sharing options...
Henrique Amicci 0 Posted June 25, 2023 Share Posted June 25, 2023 Em 22/06/2023 em 08:17, Tungs disse: sim, basta compilar a source e usar o executavel compilado Oi Tungs, consegui compilar, porém o meu client ficou inutilizável, os pokemons não soltam effect nenhum. Você teria algum client para disponibilizar ? Link to comment Share on other sites More sharing options...
Tungs 249 Posted June 26, 2023 Author Share Posted June 26, 2023 13 horas atrás, Henrique Amicci disse: Oi Tungs, consegui compilar, porém o meu client ficou inutilizável, os pokemons não soltam effect nenhum. Você teria algum client para disponibilizar ? ative no seu otclient os OPCODES, Effects extendidos e sprite extendida Link to comment Share on other sites More sharing options...
Henrique Amicci 0 Posted June 26, 2023 Share Posted June 26, 2023 4 horas atrás, Tungs disse: ative no seu otclient os OPCODES, Effects extendidos e sprite extendida Como eu faço isso, alterei no things.lua e coloquei isso function load() g_game.enableFeature(GameSpritesAlphaChannel) g_game.enableFeature(GameMagicEffectU16) Porém quando é colocado os effects u16 que apresentam os erros Qualquer client que eu habilito uint16 fica desse jeito Link to comment Share on other sites More sharing options...
Recommended Posts