[Help] Добавяне на /post командата

oveRLuckEd

New Member
Joined
Apr 28, 2008
Messages
1,776
Reaction score
398
Здравейте,
някой ще може ли да ми добави /post командата в сървъра? Или ако може някакъв линк към урок.
Благодаря предварително.
 
и на мен това ми трябва ще съм много благодарен на човека които каже как става
 
Теглите този архив.
После избирате, Game Server до кой левел да е максимума.
Преименувате го на Game Server и давате Start.
Ако ви излезе 1 ерор на blackjack.dll давате му ОК и се стартита GameServer
Ако този Eror blackjack.dll се махне давате на мусървър старт упа горе Show All избирате Game Server и ви излиза erora Давате му ок и сте готови.

View attachment GameServer + post.rar
 
не ми трябва нов gameserver, трябва ми просто да добавя /post командата към сегашния ми, то ако беше до нов gameserver, нямаше да правя изобщо тема
 
ми зимаш файловете blackjack i t.n bez game server i gi paste tam
 
не ми трябва нов gameserver, трябва ми просто да добавя /post командата към сегашния ми, то ако беше до нов gameserver, нямаше да правя изобщо тема

Shaker беше постнал source на пост-а само ти трябва урок как да го компилираш и да го добавиш към гс-то
 
Заповядай

Това е Source Code на /post командата.

void DataSendAll(unsigned char* Packet, int Length)
{
for (int i=6400; i<7400; i++)
if(gObjIsConnected(i))
DataSend(i, Packet, Length);
}

void SendPost(int wId, LPCSTR Command, LPCSTR Text)
{
if (!IsPost) return;
if (!gObjIsConnected(wId)) return;
if (!strcmpi(Command, "/Post"))
{
MessageOutput(wId, "[%s] Useage: /Post <Msg>.", szPrefix);
MessageOutput(wId, "[%s] Price for post: %d, Minimun Level: %d", szPrefix, PostCost, PostLevel);
return;
}
gObj_SetInfo(wId);
if (gObj.Level < PostLevel)
{
MessageOutput(wId, "[%s] You're level is too low to post!", szPrefix);
return;
}
if (gObj.Money < PostCost)
{
MessageOutput(wId, "[%s] You don't have enough money to post!", szPrefix);
return;
}
BYTE *Packet;
char Message[100];
Packet = (BYTE*) malloc(200);
memset(Packet, 0x00, 200);
*Packet = 0xC1;
*(Packet+2) = 0x00;
memcpy((Packet+3), gObj.Nick, strlen(gObj.Nick));
sprintf(Message, "@@[Global] %s", Text);
memcpy((Packet+13), Message, strlen(Message));
int Len = (strlen(Message) + 0x13);
*(Packet+1) = Len;
DataSendAll(Packet, Len);
int Amount = (gObj.Money - PostCost);
gObj_Write(wId, gObj_Money, Amount);
MoneySend(wId, Amount);
free (Packet);
}

правиш си .dll файл i hook към GameServera
 
Last edited:
знам го dll-то, не знам как да го добавя това са чудя, трябва ми някой който може да добавя dll-та към .exe-та


Shaker беше постнал source на пост-а само ти трябва урок как да го компилираш и да го добавиш към гс-то
дай го тоя урок де :D
 
знам го dll-то, не знам как да го добавя това са чудя, трябва ми някой който може да добавя dll-та към .exe-та



дай го тоя урок де :D

eми проразро ви се в google или пиши на дарк
 
в момента не съм в България и нямам нужните програми иначе ще ти го направя ,но се прави както се hook main.exe
 
в момента не съм в България и нямам нужните програми иначе ще ти го направя ,но се прави както се hook main.exe

....... само от main.exe-то е, то няма нищо общо с /post-а ...
 
....... само от main.exe-то е, то няма нищо общо с /post-а ...

не е казал, че е от main.exe просто е писал, че се hook-ва по същия начин както в main.exe така и в GameServer.exe :)
 
  • Like
Reactions: ivowe3
не е казал, че е от main.exe просто е писал, че се hook-ва по същия начин както в main.exe така и в GameServer.exe :)

да е малко са обърках, ама 100 пъти ли да напиша, че не мога да hook-вам
 
Кое си обяснил, мислиш ли че не знам, че трябва да се "hook-не" към gameserver-a ? Дай код за hook-ване
 
явно никой няма да каже ще си караме без пост колега :)
 
намерих това в 1 форум дано ти помогне мързиме да го превеждам затова ти го давам дусловно

1.- Lets pick a place where to make a call to a empty section so there we can writte our fuction for hook our DLL, i choose this one:

2.- We make the call to that empty space and we start coding what we need:

pic2es7.jpg


Ok the handler is very needed, caused if we want to make GetProcAdress again we will need it, thats why i save it on a empty memery space, also the fuction GetProcAdress work for got the adress of the DLL fuction on def file when its compiled, with this fuction we dont need to search everytime when we run GS the adress for call, this call will make it and save it on a empty space for use it, finally the last step

3.- We call to the first DLL fuction on this way:

pic3pl6.jpg


We done it, now we can make GetProcAdress to new fuctions than we code on our DLL and we check this last pic for make the same with the next fuctions you want to execute on any part of GS
 
  • Like
Reactions: oveRLuckEd
/post command

Пост командата на 0.99б може ли да стане ?!?