[Release] /post Source Code

Shaker

Active Member
Joined
Aug 19, 2008
Messages
611
Reaction score
145
Това е Source Code на /post командата.
Code:
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);
}
Credits:
coNsept
 
Браво ;) Перфектно ще е за сървърите където няма /post :)
 
Мисля да пусна и още сорс кодове днес или утре,защото сега ме е хванал голям мързел.
 
може да пуснеш и обяснения каде се слагат :)
 
Може и да се сетиш сам ?

А за тези които не могат да се сетят ще бъде добре някои да каже аз примерно незнам не може сичко да знаем!
 
давам нова оценка 15/20 :Д:Д:Д
 
Аз също незнам затова искам да ми обясни някой или този който дава скрипта мисля че ще е добре да кажеш за незнаещите като мен!
 
Правиш си .длл файл и след тва фук към гсто :)
Така се прави да,но не се прави толкова лесно колкото се пише.
 
Някой да направи guide подробно как се слага .Това за всички версий ли е? Интересуваме за 99б + ставали ?
 
Когато пробвам/видя/тествам чак тогава ще се помъча да направя guide!
Ще обясня на бързо горе-доло как става:
1.Прави се dll ->Правите си нов проект които не прави exe а прави dll . Като го build-нете този проект ви изпълва dll.

2.Има няколко вариaнта да се линкнете към dll и те са следните:

2.1.Да ползвате LoadLibrary() и после GetProcAdress

2.2.Другия вариянт е в dll-a да пишете фукциите който искате да експортнете със extern "C" __declspec(dllexport) а след това в другия се пише extern "C" __declspec(dllimport) int alabala(int a, int b);
ВАЖНО ЗА ЦЕЛТА ВИ ТРЯБВА СОРС КОДА НА КЛИЕНТА И СЪРВЪРА(На самата игра)
 
Last edited:
Само server side си е скрипта :}
За клиент нищо не ти трябва, просто GS като приеме от чата командата (/post, eстествено при компилирането на source-а в dll-то / exe-то можете да промените командата) и извършва писаните функции (в source-a)
Ще ви е нужен Visual C++ 2000/2005 (другите не ги препоръчвам...)
 
Shaker можеш ли да вкараш команда /drop от Season3 за версия 99B?
 
shaker можеш ли да вкараш команда /drop от season3 за версия 99b?
Виж кфо съм написал
ВАЖНО ЗА ЦЕЛТА ВИ ТРЯБВА СОРС КОДА НА КЛИЕНТА И СЪРВЪРА(На самата игра)
 
някой може ли да ми направи такава щуротия за 0,99b+ защото вече само тя и 97д са без пост (ще е полезно за повечето хора).Ако някой е на кеф и има време да го направи ;) ^^^
 
Last edited: