Muitas pessoas tem corrido átras de um server Non-PVP 97D , msm que já tenha algums postados não é daquele determinado GS que você quer xD(o que eu vi só tinha o do Wolf ^^)
Bom dai ta aki um tutorial pra quem quer colocar no próprio GS que usa o Non-PK ta ai.
================================================== =============
ALTERAÇÃO DIRETO NO GS (1 MODO DE FAZER)
================================================== =============
[Começo]
Nesse tutorial estarei ensinando como colocar um Server Non-PK na 97D.
Isto já vem incluído no gameserver , mas como ele trabalha em chs, e não existe essa função lendo o Non-PK não irá pegar .
Então estaremos fazendo com que o Non-PK trabalhe na Chs ^^
Para isso estaremos trocando o "Tha" , por Chs , já com não vamos usa-lo.
Então mão na obra ^^
Parte I
1.Abra o GameServer normal com o olly.
2.Pressione Ctrl+G e digite o seguinte número : 48CA7F e OK.
3.Vai cair em um local onde tem "Tha" na frente, clique duas vezes em cima dessa linha no PUSH GameServ. 50EEB8.
4.Altere o 50EEB8 para 50F018
5.Observe que na frente apareceu "Chs".
Parte II
6.Pressione Ctrl+G novamente e digite 48CA62 e de OK
7.Vai cair em uma que ta escrito lang\tha\Quest(tha).txt ,clique novamente em cima do Push.
8.Altere o 50EEBC para 50F01D
Parte III
9.Pressione Ctrl+G novamente e digite 48CA45 e de OK
10.Vai cair em uma que ta escrito lang\tha\commonloc.cfg ,clique novamente em cima do Push.
11.Altere o 50EED8 para 50F038
Parte IV
12.Pressione Ctrl+G e digite 48CA2B e de OK
13.Vai cair em uma que ta escrito lang\tha ,clique outra vez em cima do Push.
14.Altere o 50EEF4 para 0050F054
Parte V
15.Pressone Ctrl+G e digite 48CA0C e de OK
16.Vai cair em uma que ta escrito lang\tha\CheckSum.dat ,clique em cima do Push.
17.Altere o 50EF00 para 50F060
Parte VI
18.Pressione Ctrl+G e digite 48C9EF e de OK
19.Vai cair em uma que ta escrito lang\tha\skill(tha).txt ,clique em cima do Push.
20.Altere o 50EF1C para 50F07C
Parte VII
21.Pressione Ctrl+G e digite 48C9D2 e de OK
22.Vai cair em um offset q ta escrito lang\tha\item(tha).txt ,clique em cima do Push.
23.Altere o 50EF38 para 50F098
Parte VIII
24.Pressione Ctrl+G e digite 48C9B3 e de OK
25.Vai cair em um offset q ta escrito message_tha.wtf ,clique em cima do Push.
26.Altere o 50EF54 para 50F0B4.
Parte IX
27.Explicação:Agora que trocamos todos tha , vamos alterar o valor 0 = desligado , para 1 = ligado.
28.Pressione Ctrl+G e digite 48CA98 e de OK
29.Vai cair em um offset q está escrito na frente Default = 0, clique em cima do Push 0.
30.Altere o 0 pelo 1
Parte X : Salvando
31.Vamos salvar todas as alterações feitas no GS para isso
32.Pressione Ctrl+G e digite 48C9A9 e de OK
33.Com o botão esquerdo clicado , va descendo a seta do mouse no qual irá ver todas as alterações em si feitas , uma embaixo da outra , va selecionando , tudo , arrastando a seta abaixo até o offset 48CAAA , cuja declaração é GetPrivateProfileIntA.
34.Com tudo isso selecionado,clique com o botão direito e Copy to executable > e em Copy All
35.Na nova tela clique em todos Sim.
36.Quando acabar clique com o botão direito no quadradinho branco e Save File.
37.Escolha como deseja salvar , se é com msm nome ou outro e de Salvar, ou substitua o Original.
Parte XI
38.No arquivo ServerInfo.dat dentro da pasta data do MuServer adicione está linha :
NonPK = 0:desativado , 1:ativado.
Pronto .
========================
OBS : Não sei se essa do ServerInfo.dat vai funcionar pois não testei =) , só na INI ^^. Por isso falei pra mudar o 0 pelo 1 caso necessário.
OBS : É extremamente recomendável fazer um Backup antes , de fazer as alterações no GS ;B.
OBS :Você pode ir salvando de 1 em 1 alteração tambem caso deseje ^^.
OBS : Necessariamente não sei se seria precisa mudar tudo isso pro Non-PK funcionar mas para se prevenir fiz isso ^^e rodo legal .
================================================== ===============
ALTERAÇÕES POR DLL (2 MODO DE FAZER)
================================================== ===============
Para quem quiser fazer as alterações por DLL tenha a base os arquivo.h dos offsets e o arquivo.cpp
arquivo.h
//================================================== ================================
//NON-PK
//Essa função fará com que o server seja Non-PVP e
//será mudado conforme as configurações que forem feitas no arquivo MLMCustoms.ini
//================================================== ================================
#define GS_NON_PK1 (0x0048C586+1)
#define GS_NON_PK2 (0x0048C783+1)
#define GS_NON_PK3 (0x0048C980+1)
#define GS_NON_PK4 (0x0048CA98+1)
arquivo.cpp
//============================================
//NON-PK
//============================================
bool Non_PK (char*ini)
{
BYTE PK;
PK = GetPrivateProfileInt("GameServerInfo","NonPK",1,in i);
*(unsigned char*) GS_NON_PK1 = PK;
*(unsigned char*) GS_NON_PK2 = PK;
*(unsigned char*) GS_NON_PK3 = PK;
*(unsigned char*) GS_NON_PK4 = PK;
return 1;
}
rResultado = Non_PK ( aini );
coloque isso no seu arquivo .ini que foi definido na dll
.INI
[GameServerInfo]
NonPK = 0 ; Ativa o Non-PK (0:desligado,1:ligado)
Créditos : Motto - MLMTeam