Ir para conteúdo
Facebook Whatsapp Twitter Youtube

teeo

Membro
  • Total de Posts

    15
  • Registro em

  • Última visita

Sobre teeo

Últimos Visitantes

645 visualizações

teeo's Achievements

  1. Fiz esse script ja tem um tempo, talvez seja util para alguem. O monstro ja vem linkado no chat, basta clicar e o auto caminho do jogo te leva até as coordenadas atual do boss. Vá ate function EventOnPlayerChat no script.lua e adicione: if chanel == 1 and cmdlist[1] == "!boss" then local bosses = { {id = 19462, nome = "Profundeza"}, {id = 19463, nome = "Mistério"}, {id = 19464, nome = "Devorador das Trevas"}, {id = 19465, nome = "Servo Fantasma"}, {id = 19466, nome = "Lança da Morte"}, {id = 19467, nome = "Perfurador de Corações"}, {id = 19468, nome = "Alfa"}, {id = 19469, nome = "Escudo Apu"}, {id = 19470, nome = "Sombra das Trevas"}, {id = 19471, nome = "Colecionador de Sons"}, {id = 19472, nome = "Caçador de Alma"}, {id = 19473, nome = "Rei do Chifre Dourado"}, {id = 19474, nome = "Guerreiro Mosca do Céu"}, {id = 19475, nome = "Espada Demoníaca"}, {id = 19476, nome = "Aniquilador de Aranhas"}, {id = 19477, nome = "Facão Demoníaco"} } for _, boss in ipairs(bosses) do local pNpc = game__GetObjectVar(NPC_COORDS_BY_TID, 0, boss.id) if pNpc == 0 then game__ChatMsg(CHAT_SINGLE, roleid, 11, "^FF8000" .. boss.nome .. ": Aguardando Respawn...", -1) else local x, y, z = game__GetCoordDataClient(pNpc) local sx, sy, sz = game__GetCoordData(pNpc) game__ChatMsg(CHAT_SINGLE, roleid, 11, "<11><"..boss.nome.." - Está nas coordenadas: "..int(x)..", "..int(z).."><1,"..int(sx)..","..int(sy)..","..int(sz)..">", -1) end end return 0 end Resultado:
  2. teeo

    Versão do terminal

    Gshop do client é diferente do gshop do servidor, voce pode ignorar essa verificação se adicionar a tag nocheck no .bat: start elementclient.exe startbypatcher console:1 nocheck
  3. vai no pwadmin.conf e verifica se o zoneid esta o mesmo do gdeliveryd / gamedbd
  4. Você precisa abrir o elementclient com algum editor hex, vai até o endereço que ta lá, e altera o valor das coords. Se por acaso esse client não estiver na versão 1.5.5 os endereços serão diferente.
  5. Todos os servidores que foram publicados acima da versão 1.5.5, nenhum é oficial, são todos emulados a partir da 1.5.3/1.5.5, ou seja, muitas funcionalidades novas acima dessa versão não vão funcionar como deveria ou nem se quer foi criada. Os sistemas vão estar presente no cliente porém não tem o lado do servidor para tratar as informações desses novos sistemas.
  6. Feito via dll PWApi x64. Por algum motivo o ‘CECIvtrItem::CreateItem’ não reconhece ID de flecha como item, então acaba ficando como “Item Errado”, fora isso, todos os item são exibidos com descrição normalmente.
  7. teeo

    map.xml

    Varios icones do map.xml tem configuração propria dentro do elementclient.exe, uma configuração para interface com mapa quadrado e outra com mapa redondo, sempre que vc alternar, os icones vão se ajustar no x e y que está no elementclient.exe Elementclient 1.5.5 // MODE_A (Mapa Quadrado) //GetDlgItem("Btn_TreasureBag")->SetDefaultPos(X,Y) setup_uint(0x00652FB2, 333); //X setup_uint(0x00652FAD, 165); //Y //GetDlgItem("Btn_Calendar")->SetDefaultPos(X,Y) setup_uint(0x00652FCF, 362); //X setup_uint(0x00652FCA, 164); //Y //GetDlgItem("Chk_Mail")->SetDefaultPos(X,Y); setup_uint(0x00653009, 308); //X setup_uint(0x00653004, 165); //Y //GetDlgItem("btn_mailtofriends")->SetDefaultPos(X,Y) setup_int(0x00653026, -2000); //X setup_int(0x00653021, -2000); //Y // MODE_B (Mapa Redondo) //GetDlgItem("Chk_MapMonster")->SetDefaultPos(X,Y) setup_uint(0x0065303B, 335); //X //GetDlgItem("Btn_+")->SetDefaultPos(X,Y); setup_uint(0x00653055, 320); //X //GetDlgItem("Btn_-")->SetDefaultPos(X,Y); setup_uint(0x0065306F, 312); //X //GetDlgItem("Chk_Mode")->SetDefaultPos(X,Y); setup_uint(0x00653089, 312); //X //GetDlgItem("Btn_BigMap")->SetDefaultPos(X,Y); setup_uint(0x006530A3, 318); //X //GetDlgItem("Check_Mark")->SetDefaultPos(X,Y); setup_uint(0x006530C0, 330); //X //GetDlgItem("Btn_TreasureBag")->SetDefaultPos(X,Y); setup_uint(0x006530DD, 350); //X setup_uint(0x006530D8, 152); //Y //GetDlgItem("Btn_Calendar")->SetDefaultPos(X,Y); setup_uint(0x006530FA, 445); //X setup_uint(0x006530F5, 145); //Y //GetDlgItem("Img_New")->SetDefaultPos(X,Y); //GetDlgItem("Chk_Mail")->SetDefaultPos(X,Y); setup_uint(0x00653134, 445); //X setup_uint(0x0065312F, 28); //Y //GetDlgItem("btn_mailtofriends")->SetDefaultPos(X,Y) setup_int(0x00653151, -2000); //X setup_int(0x0065314C, -2000); //Y
  8. [Conteúdo Oculto] obs: só tem configs até 1.7.3, não tem 1.7.4
  9. pois é mas o fato de ter uma senha dentro da propria lib acaba se tornando uma brecha ja que o arquivo é “ Vazado “ sem contar os protocolos que existe no lado do client para ser enviado pro servidor Comandos como d 401 serve para resetar instancia nessa lib mas sem uma dll apropriada pro cliente vai ficar boiando ali.
  10. Salve rapaziada. Fuçando um pouco a lib origina164.gs acabei encontrando um backdoor que libera acesso ao debug para o player, e de certa forma caso o debug já esteja ativo no servidor o comando permite que você possa observar todos os pacotes enviados do cliente diretamente para GS através do chat. o backdoor se trata de enviar um comando através do console para garantir acesso ao debug. a função aplicado no lua “DebugPassword(95764,54824,62348,98742)” é utilizado da mesma forma, a diferença é que existe uma senha embutida dentro da propria lib denominada como “Use master debug password” Para fazer o uso do backdoor basta abrir o console dentro do jogo e dar o comando Backdoor Debug Mode → d 1 39055 90252 11884 69178 Caso você queira ativar o debug através da senha dentro do arquivo skills.lua DebugPassword → d 1 95764 54824 62348 98742 Vale lembrar que o comando “d 1 1“ se trata de um PlayerLogout chamado através da gplayer_controller::CommandHandler. d 1 1 → Logout para tela de personagem d 1 0 → Quit Game Vou deixar uma correção fácil abaixo apenas pulando a parte do código em que executa o comando do backdoor, junto é desativado o comando do debugpassword retornando mensagem de erro (Erro Fatal: Solicitação incorreta), e ainda registrando o log no arquivo do world.log como ja é feito no próprio código. Caso alguém queira sugerir um código ou uma correção melhor, fique a vontade :) Altere esses 6 bytes em hexa, salve e jogue o arquivo para pasta lib da sua maquina.
  11. Outro detalhe é que a função que faz esse corte filtra as classes por mask + cls 0x95DFDA0 int __cdecl sub_95DFDA0(int a1, int a2, unsigned int a3, unsigned int a4) { int v4; // eax@1 int result; // eax@5 v4 = a2; if ( a1 && a2 && a3 <= 1750 && a4 <= 11 ) { while ( *(_DWORD *)v4 ) { if ( *(_DWORD *)v4 == a3 ) return *(_DWORD *)(v4 + 4); v4 += 8; } result = *(_DWORD *)(a1 + 4 * a4); } else { result = 0; } return result; } Class Mask: 1750

Suporte GM

Comunidade de Perfect World do Brasil

Copyright © 2023-2024 SuporteGM Powered by Invision Community
Поддержка Invision Community в России

Links

×
×
  • Criar Novo...