[SOURCE DO PDA]

Tungs
Por Tungs

Tungs

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 06/10/16Posts: 182Gênero: Masculino

Open Source PNG, Vector, PSD, and Clipart With Transparent Background for  Free Download | Pngtree

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

 

image.thumb.png.3fb500287a8bc1cf670ba68e6f1d8704.png

 

 

 

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

YXikRan.gif

 

Minhas postagens: 

 

 

 

 

 

 


 

 

 

DarkWore

Ex - Moderador
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 23/05/17Posts: 584Gênero: MasculinoChar no Tibia: Não Tenho

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.

 

 

uHtXRtd.png.3908e825830f508573fee9a45063e737.png

 

Não dou suporte via PM, em caso de duvidas abra um tópico na seção correta e aguarde ser respondido.

Tungs

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 06/10/16Posts: 182Gênero: Masculino
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

YXikRan.gif

 

Minhas postagens: 

 

 

 

 

 

 


 

 

 

Rookie

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/05/21Posts: 3

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!

Tungs

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 06/10/16Posts: 182Gênero: Masculino
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)

YXikRan.gif

 

Minhas postagens: 

 

 

 

 

 

 


 

 

 

DarkWore

Ex - Moderador
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 23/05/17Posts: 584Gênero: MasculinoChar no Tibia: Não Tenho
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.

uHtXRtd.png.3908e825830f508573fee9a45063e737.png

 

Não dou suporte via PM, em caso de duvidas abra um tópico na seção correta e aguarde ser respondido.

Tungs

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 06/10/16Posts: 182Gênero: Masculino
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 

YXikRan.gif

 

Minhas postagens: 

 

 

 

 

 

 


 

 

 

DarkWore

Ex - Moderador
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 23/05/17Posts: 584Gênero: MasculinoChar no Tibia: Não Tenho
11 horas atrás, Tungs disse:

eu teria que gerar um novo :v 

https://pastebin.com/ewKUt9dH

 

Espero ter ajudado, abraços.

uHtXRtd.png.3908e825830f508573fee9a45063e737.png

 

Não dou suporte via PM, em caso de duvidas abra um tópico na seção correta e aguarde ser respondido.

Tungs

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 06/10/16Posts: 182Gênero: Masculino

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

YXikRan.gif

 

Minhas postagens: 

 

 

 

 

 

 


 

 

 

Henrique Amicci

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/06/18Posts: 8Gênero: Masculino

Consigo adaptar essa source para uma base cyan, se sim conseguem me ajudar como faria isso ?

Tungs

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 06/10/16Posts: 182Gênero: Masculino
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

YXikRan.gif

 

Minhas postagens: 

 

 

 

 

 

 


 

 

 

Henrique Amicci

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/06/18Posts: 8Gênero: Masculino
Em 22/06/2023 em 08:17, Tungs disse:

sim, basta compilar a source e usar o executavel compilado

 

Henrique Amicci

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/06/18Posts: 8Gênero: Masculino
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 ?

Tungs

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 06/10/16Posts: 182Gênero: Masculino
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

YXikRan.gif

 

Minhas postagens: 

 

 

 

 

 

 


 

 

 

Henrique Amicci

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/06/18Posts: 8Gênero: Masculino
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

image.png