-
Total de Posts
15 -
Registro em
-
Última visita
teeo's Achievements
-
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:
- 1 resposta
-
- 41
-
-
-
-
-
-
-
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
- 1 resposta
-
- 7
-
-
-
-
- pw
- perfectworld
-
(e 2 mais)
Tags:
-
Contas criadas no pwadmin não estão recebendo regras gm
teeo respondeu ao tópico de klein em Soluções de Problema
vai no pwadmin.conf e verifica se o zoneid esta o mesmo do gdeliveryd / gamedbd -
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.
-
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.
-
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.
-
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
- 4 respostas
-
- 17
-
-
-
[Conteúdo Oculto] obs: só tem configs até 1.7.3, não tem 1.7.4
- 12 respostas
-
- 80
-
-
-
-
-
-
-
-
- seledit
- editor eleme
-
(e 1 mais)
Tags:
-
configs.pck/coord_data.txt
-
Fato
-
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.
-
IDA Pro
-
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.
-
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