📄 wox2.cpp
字号:
//+---------------------------------------+//
//| Wox2 GameServer Second Ver |//
//+---------------------------------------+//
//| CopyRight(c)2001 by Lucia,Mini |//
//+---------------------------------------+//
// 捞 家胶狼 历累鼻篮 葛滴 固聪俊霸 乐栏哥
// 捞 家胶 棺 扼捞宏矾府 dll 阑 荤侩茄 橇肺弊伐,家胶绰 葛滴 固聪狼 家蜡涝聪促..
// WoxCrypt.dll 篮 漂荐 档侩规瘤 贸府啊 登绢乐栏哥 公窜 硅器,傈力甫 陛钦聪促..
// 固聪俊罢 WoxCrypt.dll 阑 荤侩窍咯 寸脚狼 阂过 历累拱阑 昏力且 鼻茄捞 乐嚼聪促..
#include "StdAfx.h"
#include "Wox2Head.h"
int nextslot(int s)
{
for(int i = 0;i < 26;i++)
{
if( chr[Gs->acc[s]].ItemBag[i][0] == 0)
return i;
}
return -1;
}
int lit(unsigned long s,int mode)
{
if(mode == 1)
return (s>>24);
if(mode == 2)
return ((s>>16)%256);
if(mode == 3)
return ((s%65536)>>8);
if(mode == 4)
return (s%256);
return 0;
}
void checkauto( void ) // Check automatic/timer controlled stuff (Like fighting and regeneration)
{
Ti->GameTime = clock();
WI32 Cur = Ti->GameTime - Ti->PrevGameTime;
//霸烙 矫埃 诀单捞飘 风凭
if(Cur > 60000)
{
Cw->_time++;
Ti->PrevGameTime = Ti->GameTime;
if(Cw->_time > 23) // 23矫焊促 奴版快 0矫肺 登倒赴促
Cw->_time = 0;
}
}
void main()
{
printf("W32/FN 啊惑 皋葛府 且寸吝");
/*LPVOID lpItemBag;
BOOL lpItemBagPage;
lpItemBag = VirtualAlloc((LPVOID)&mapitem,(65535*(sizeof(struct item_st))),MEM_TOP_DOWN,PAGE_READWRITE);
lpItemBagPage = VirtualLock((LPVOID)&mapitem,(65535*(sizeof(struct item_st))));
*/
mapitem = new item_st [65535];
printf("努贰胶 檬扁拳..\n");
Fi = NULL;
Gv = NULL;
Sl = NULL;
Ti = NULL;
Ls = NULL;
Cc = NULL;
Xc = NULL;
Cw = NULL;
Gs = NULL;
Cm = NULL;
Ci = NULL;
Ch = NULL;
if(( Fi = new FileIO ) == NULL ) exit(1);
if(( Gv = new GlobalVar ) == NULL ) exit(1);
if(( Sl = new ServerList ) == NULL ) exit(1);
if(( Ti = new Timer ) == NULL ) exit(1);
if(( Ls = new LoginServer ) == NULL ) exit(1);
if(( Cc = new cCharCtrl ) == NULL ) exit(1);
if(( Xc = new xCrypt ) == NULL ) exit(1);
if(( Cw = new cWorld ) == NULL ) exit(1);
if(( Gs = new GameServer ) == NULL ) exit(1);
if(( Cm = new cMapCtrl ) == NULL ) exit(1);
if(( Ci = new cItemCtrl ) == NULL ) exit(1);
if(( Ch = new cItemHandle ) == NULL ) exit(1);
int x = 0;
printf("甘 单捞鸥 海捞胶 父甸扁");
m = NULL;
m = new unsigned short *[Cm->mapcount];
for(int i = 0;i < Cm->mapcount;i++)
{
m[i] = new unsigned short [map[i].map_x * map[i].map_y];
printf(".");
}
for(int a = 0;a < Cm->mapcount;a++)
{
for(int x = 0;x < (map[a].map_x * map[a].map_y);x++)
m[a][x] = '\x00';
}
printf("\n");
printf("努贰胶 檬扁拳 肯丰\n");
printf("Wox2.INI 佬绰吝\n");
Gv->ReadINI();
Cc->LoadAccounts();
Cc->PreLoadChars();
Ci->PreLoadItems();
Ch->PreLoadBags();
Ti->starttime = Ti->CurTime;
//Print CopyRight
printf("\nWox2 %s(Build:%s) [WIN32] 橇肺弊贰怪: %s\n", VER, BUILD, PROGRAMMERS );
printf("Win32览侩橇肺弊伐\n\n");
printf("(WINBARAM 滚傈 491阑 困秦 力累登菌嚼聪促..)\n");
printf("Copyright (C) 2001 固聪 (socutemini@hanmail.net)\n");
printf("捞 橇肺弊伐篮 公丰 家橇飘傀绢 捞哥, ");
printf("硅器 棺 犁硅器啊 陛瘤登绢乐嚼聪促.\n");
printf("捞 橇肺弊伐篮 措茄刮惫 历累鼻过 棺 惫力过俊 狼秦 焊龋邓聪促.\n");
printf("(100%%)府浚瘤聪绢傅 橇肺弊伐..曼炼 : 家聪/Bleem掬 魄肥.\n");
printf("哪颇老老矫 %s (%s)\n",__DATE__,__TIME__);
printf("哪颇老茄荤恩 %s\n",NAME);
printf("巩狼: socutemini@hanmail.net\n");
printf("=====檬扁拳 肯丰=====\n");
Ti->CurTime = clock();
Ti->GameTime = clock();
while(Gv->ServerON)
{
Ti->checkkey();
_sleep(Gv->delay);
if(Ti->loopTimeCount >= 1000)
{
Ti->loopTimeCount = 0;
Ti->loopTime = 0;
}
Ti->loopTimeCount++;
StartMilliTimer(Ti->loopSecs, Ti->loopMilli);
if(Ti->networkTimeCount >= 1000)
{
Ti->networkTimeCount = 0;
Ti->networkTime = 0;
}
StartMilliTimer(Ti->tempSecs, Ti->tempMilli);
if( Ti->NextCheckConn<=Ti->CurTime || Ti->overflow) // Cut lag on CheckConn by not doing it EVERY loop.
{
Sl->ConnReq();
Ls->ConnReq();
Gs->ConnReq1();
Gs->ConnReq2();
Ti->NextCheckConn = (unsigned int)( Ti->CurTime + ( double )( (1 * CLOCKS_PER_SEC)/2 ) );
}
///ended
Sl->CheckMessage();
Ls->CheckMessage();
Gs->CheckMessage();
Ti->tempTime = CheckMilliTimer(Ti->tempSecs, Ti->tempMilli);
Ti->networkTime += Ti->tempTime;
Ti->networkTimeCount++;
if(Ti->timerTimeCount >= 1000)
{
Ti->timerTimeCount = 0;
Ti->timerTime = 0;
}
StartMilliTimer(Ti->tempSecs, Ti->tempMilli);
Ti->checktimers();
Ti->CurTime=clock();
Ti->tempTime = CheckMilliTimer(Ti->tempSecs, Ti->tempMilli);
Ti->timerTime += Ti->tempTime;
Ti->timerTimeCount++;
if(Ti->autoTimeCount >= 1000)
{
Ti->autoTimeCount = 0;
Ti->autoTime = 0;
}
StartMilliTimer(Ti->tempSecs, Ti->tempMilli);
checkauto();
Ti->tempTime = CheckMilliTimer(Ti->tempSecs, Ti->tempMilli);
Ti->autoTime += Ti->tempTime;
Ti->autoTimeCount++;
StartMilliTimer( Ti->tempSecs, Ti->tempMilli );
Ti->tempTime = CheckMilliTimer( Ti->tempSecs, Ti->tempMilli );
Ti->networkTime += Ti->tempTime;
Ti->tempTime = CheckMilliTimer(Ti->loopSecs, Ti->loopMilli);
Ti->loopTime += Ti->tempTime;
}
Cc->SaveAccount();
Cc->SaveChars();
Ci->SaveItems();
Ch->SaveBags();
Sl->SockClose();
Ls->SockClose();
delete Fi;
delete Gv;
delete Sl;
delete Ti;
delete Ls;
delete Cc;
delete Xc;
delete [] mapitem;
for(int xx = 0;i < Cm->mapcount;i++)
{
delete [map[i].map_x * map[i].map_y] m;
}
delete [] m;
WSACleanup();
/*VirtualUnlock(lpItemBag,(65535*(sizeof(item_st)))); // 皋葛府 秦力
VirtualFree(lpItemBag,(65535*(sizeof(item_st))),MEM_RELEASE); // 皋葛府 秦力*/
return; // 掭 !! 汴 !! 它 !! 亳 !!
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -