亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? callfromcli.c

?? 石器時代8.0服務端完整源代碼。可以直接編譯
?? C
?? 第 1 頁 / 共 5 頁
字號:
#include "version.h"#include <stdio.h>#include <time.h>#include <stdlib.h>#include "common.h"#include "util.h"#include "lssproto_serv.h"#include "saacproto_cli.h"#include "net.h"#include "char.h"#include "object.h"#include "readmap.h"#include "addressbook.h"#include "handletime.h"#include "configfile.h"#include "event.h"#include "pet.h"#include "battle.h"#include "battle_command.h"#include "magic.h"#include "petmail.h"#include "item_gen.h"#include "pet_skill.h"#include "log.h"  //add this because the second had it#include "map_deal.h" // CoolFish: 2001/4/18#include "trade.h" // CoolFish: Trade 2001/4/18#include "family.h" // CoolFish: Family 2001/5/24#include "item_event.h" // shan: blackmarket#ifdef _PROFESSION_SKILL			// WON ADD 人物職業技能#include "profession_skill.h"#endif#ifdef _CHATROOMPROTOCOL			// (不可開) Syu ADD 聊天室頻道#include "chatroom.h"#endifBOOL checkStringErr( char * );// shan addextern struct FM_PKFLOOR fmpkflnum[FAMILY_FMPKFLOOR];/* ----------------------------------------------------------------------- * 薊  仄兇  讀及  寞井日平乓仿奶件犯永弁旦毛  月 * ----------------------------------------------------------------------*/static int Callfromcli_Util_getTargetCharaindex( int fd, int toindex){	int	to_charaindex = -1;    int fd_charaindex = CONNECT_getCharaindex( fd );	/* 憤坌憤褥 */	if( toindex == 0 ) {		to_charaindex = fd_charaindex;	}	/* 矢永玄 1   5 */	else if( toindex > 0 && toindex < 6 ) {		to_charaindex = CHAR_getCharPet( fd_charaindex, toindex-1);		if( !CHAR_CHECKINDEX( to_charaindex)) {			to_charaindex = -1;		}	}	/* 醮棉 6   10 */	else if( toindex > 5 && toindex < 11 ) {		to_charaindex = CHAR_getPartyIndex( fd_charaindex, toindex - 6);	}	return to_charaindex;}/*---------------------------------------- * 弁仿奶失件玄互夫弘奶件允月 匹手丟乒伉卞巹戶月分仃卅及匹民尼永弁反卅中 * 仇木毛裟少午 CLI 卞卅月[ ----------------------------------------*/void lssproto_ClientLogin_recv( int fd,char* cdkey, char* passwd ){    /*  2褐卞仇木互裟壬木月及反中中    */    /*  由旦伐□玉  凳毛仄化岳  分勻兇日瘋太仇木毛裟少儀[*/    {//ttom avoid the restore 2001/01/09     int fd_charaindex;     Char *chwk;    // CoolFish: +2 2001/4/18    fd_charaindex = CONNECT_getCharaindex(fd);    chwk = CHAR_getCharPointer(fd_charaindex);		if(CONNECT_isNOTLOGIN(fd)==FALSE){			print("\n the Client had  Logined fd=%d",fd);			return;		}    }    //print( "CliLogin cdkey=%s\n" , cdkey );    /* connect卞戊疋□允月 */    CONNECT_setCdkey( fd, cdkey );    CONNECT_setPasswd( fd, passwd );    CONNECT_setCtype( fd, CLI );    {//ttom       unsigned long ip;       int a,b,c,d;       int i;       ip=CONNECT_get_userip(fd);       a=(ip % 0x100); ip=ip / 0x100;       b=(ip % 0x100); ip=ip / 0x100;       c=(ip % 0x100); ip=ip / 0x100;       d=(ip % 0x100);       print( "\n登陸賬號=%s 來自 %d.%d.%d.%d \n",cdkey,a,b,c,d);			 for(i=0;i<getMaxLockip();i++)			 	 if(cmpLockip(i,a,b,c,d,1))return;    }    /* 忒蠶 */    lssproto_ClientLogin_send( fd , "ok" );}void lssproto_CreateNewChar_recv( int fd,int dataplacenum,char* charname,								  int imgno,int faceimgno,								  int vital,int str,int tgh,int dex,								  int earth,int water,int fire,int wind,								  int hometown ){    char cdkey[CDKEYLEN];    if( CONNECT_isCLI( fd ) == FALSE )return;    if( CONNECT_isNOTLOGIN(fd) == FALSE ){        lssproto_CreateNewChar_send( fd, FAILED, "Not NOTLOGIN State\n" );        return;    }#ifdef _DEATH_FAMILY_LOGIN_CHECK 	// pk戰無法創新人物		lssproto_CreateNewChar_send( fd, FAILED, "" );		return;#endif#ifdef _DEATH_CONTEND	// pk戰無法創新人物		lssproto_CreateNewChar_send( fd, FAILED, "" );		return;#endif    if( strlen( charname ) == 0 ){        lssproto_CreateNewChar_send(fd,FAILED, "0 length name\n");        return;    }else if( strlen(charname) >= 32 ){        lssproto_CreateNewChar_send(fd,FAILED, "Too long charname\n");        return;    // Nuke start 0711: Avoid naming as WAEI    }else if (strstr(charname,"華義")  // WON ADD			 || strstr(charname,"gm")   || strstr(charname,"GM")  			 || strstr(charname,"Gm")   || strstr(charname,"gM")  			 || strstr(charname,"gm") || strstr(charname,"GM") 			 || strstr(charname,"Gm") || strstr(charname,"gM") #ifdef _UNREG_NEMA			 || (strstr(charname,getUnregname(0)) && strlen(getUnregname(0))>0)			 || (strstr(charname,getUnregname(1)) && strlen(getUnregname(1))>0)			 || (strstr(charname,getUnregname(2)) && strlen(getUnregname(2))>0)			 || (strstr(charname,getUnregname(3)) && strlen(getUnregname(3))>0)			 || (strstr(charname,getUnregname(4)) && strlen(getUnregname(4))>0)#endif			 || strstr(charname,"神秘人物")// WON END		) { 	unsigned ip=CONNECT_get_userip(fd);	int a, b, c, d, ck;                    	a=(ip % 0x100); ip=ip / 0x100;	b=(ip % 0x100); ip=ip / 0x100;	c=(ip % 0x100); ip=ip / 0x100;	d=(ip % 0x100);                                                    	ck= (			( (a== 10) && (b==0)   && (c==0) ) ||			( (a==211) && (b==76) && (c==176) && (d==21) ) ||	// 臺北wayi			( (a==210) && (b==64)  && (c==97)  && ((d>=21)&&(d<=25)) ) ||			( (a==61)  && (b==222) && (c==142) && (d==66) )		);                                                                            	print(" name_WAEI_IP:%d.%d.%d.%d ck:%d ",a,b,c,d,ck );                                                                                        	if( !ck ) {		lssproto_CreateNewChar_send(fd,FAILED, "Invalid charname\n");		return;	}    }    {	// Nuke start 0801,0916: Avoid strange name        int i,ach;        for (i=0,ach=0;i<strlen(charname);i++) {        	if ((unsigned char)charname[i]==0xff) { ach=1; break; } // Force no 0xff                if (((unsigned char)charname[i]>=0x7f)&&                    ((unsigned char)charname[i]<=0xa0)) { ach=1; break; } // Force no 0x7f~0xa0                if ((unsigned char)charname[i]<=0x20) { ach=1; break; } // Force greater than 0x20                if (ach) {                	if ((((unsigned char)charname[i]>=0x40)&&((unsigned char)charname[i]<=0x7e))||                        (((unsigned char)charname[i]>=0xa1)&&((unsigned char)charname[i]<=0xfe))) ach=0;                } else {                	if (((unsigned char)charname[i]>=0xa1)&&((unsigned char)charname[i]<=0xfe)) ach=1;                }	}	if (ach) { lssproto_CreateNewChar_send(fd,FAILED, "Error in Chinese\n"); return; }        // Nuke end    }    // Nuke end                                        CONNECT_getCdkey( fd, cdkey, sizeof( cdkey ));    CHAR_createNewChar( fd, dataplacenum, charname ,imgno, faceimgno,    					vital, str, tgh, dex,    					earth, water, fire, wind,    					hometown , cdkey );}void lssproto_CharLogin_recv( int fd,char* charname ){    char cdkey[CDKEYLEN], passwd[PASSWDLEN];    if( CONNECT_isCLI( fd ) == FALSE )return;    print( "\n嘗試登陸: 人物名稱=%s\n", charname);    if( charname[0] == '\0' ){        lssproto_CharLogin_send( fd, FAILED, "\n人物名稱含有不能訪問字符\n" );        return;    }    if( CONNECT_isNOTLOGIN(fd) == FALSE ){        lssproto_CharLogin_send( fd, FAILED, "Already Logged in\n" );        return;    }    CONNECT_setCharname( fd, charname );    CONNECT_getCdkey( fd, cdkey, sizeof( cdkey ));    CONNECT_getPasswd( fd, passwd, sizeof(passwd));    saacproto_ACCharLoad_send( acfd, cdkey,passwd, charname,1,"",                               CONNECT_getFdid(fd) );    CONNECT_setState( fd, WHILELOGIN );}#ifdef _ITEM_CHECKDROPATLOGOUTBOOL CheckDropatLogout(int charaindex ){	int i;	for( i=0 ; i<CHAR_MAXITEMHAVE ; i++ ){		int     itemindex;		itemindex = CHAR_getItemIndex(charaindex,i);		if( ITEM_CHECKINDEX(itemindex) == FALSE )continue;		if( ITEM_getInt(itemindex,ITEM_DROPATLOGOUT ) == TRUE ) {			return TRUE;		}	}	return FALSE;}	#endifvoid lssproto_CharLogout_recv( int fd, int flg){    char cdkey[CDKEYLEN] , charname[CHARNAMELEN];    if( CONNECT_isCLI( fd ) == FALSE )return;    if( CONNECT_isLOGIN(fd) == FALSE ){        lssproto_CharLogout_send( fd, FAILED, "Not Logged in\n" );        return;    }    {        int charaindex=CONNECT_getCharaindex(fd);        int fl,x,y;        // CoolFish: 2001/10/18        if (!CHAR_CHECKINDEX(charaindex))	return;#ifdef _MUSEUM		if( (CHAR_getInt( charaindex, CHAR_LASTTALKELDER) >= 0) || getMuseum() )#else		if( CHAR_getInt( charaindex, CHAR_LASTTALKELDER) >= 0 )#endif		{#ifdef _MUSEUM			if( getMuseum() ) {				fl = 9000; x = 40; y = 40;			}			else {				CHAR_getElderPosition( CHAR_getInt( charaindex, CHAR_LASTTALKELDER),	&fl, &x, &y );			}#else			CHAR_getElderPosition( CHAR_getInt( charaindex, CHAR_LASTTALKELDER),	&fl, &x, &y );#endif#ifdef _CHAR_NEWLOGOUT			if( flg == 1 ){//回紀錄點				if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE){					CHAR_talkToCli( charaindex, -1, "戰斗中無法回紀錄點!", CHAR_COLORYELLOW);					return;				}#ifdef _ITEM_CHECKWARES				if( CHAR_CheckInItemForWares( charaindex, 0) == FALSE ){					CHAR_talkToCli( charaindex, -1, "攜帶貨物無法使用。", CHAR_COLORYELLOW);					return;				}#endif#ifdef _BAD_PLAYER             // WON ADD 送壞玩家去關				if( (CHAR_getInt(charaindex,CHAR_FLOOR)==117)||(CHAR_getInt(charaindex,CHAR_FLOOR)==887) ){					CHAR_talkToCli( charaindex, -1, "此處無法使用。", CHAR_COLORYELLOW);					return;				}#endif				if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE ) != CHAR_PARTY_NONE ){					CHAR_talkToCli( charaindex, -1, "團隊中無法回紀錄點!", CHAR_COLORYELLOW);					return;				}#ifdef _ITEM_CHECKDROPATLOGOUT				if( CheckDropatLogout( charaindex ) ){					CHAR_talkToCli( charaindex, -1, "攜帶的物品使你無法回紀錄點!", CHAR_COLORYELLOW);					return;				}#endif#ifdef _DEATH_CONTEND/*				if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE){					if( CHAR_getInt( charaindex, CHAR_FLOOR) != 8250 &&						CHAR_getInt( charaindex, CHAR_PKLISTLEADER) == 1 ){						//andy_log						print("PlayerLogout_Exit()\n");						NPC_PKLIST_PlayerLogout_Exit( charaindex );						CHAR_warpToSpecificPoint( charaindex, 8250, 17, 17 );					}				}*/#else				if( CHAR_getInt( charaindex,CHAR_FLOOR ) != 117 &&					CHAR_getInt( charaindex,CHAR_FLOOR ) != 887 #ifdef _ADD_DUNGEON            //追加地牢                    && CHAR_getInt( charaindex,CHAR_FLOOR ) != 8513#endif					){					CHAR_warpToSpecificPoint( charaindex, fl, x, y );				}#endif				return;			}#else	        if( CHAR_getInt(charaindex,CHAR_FLOOR ) == 117){	           CHAR_setInt(charaindex,CHAR_X,225);	           CHAR_setInt(charaindex,CHAR_Y,13);	        }else{			   CHAR_setInt(charaindex,CHAR_FLOOR,fl);			   CHAR_setInt(charaindex,CHAR_X,x);			   CHAR_setInt(charaindex,CHAR_Y,y);			}#endif		}		// Robin add		//CHAR_setInt( charaindex, CHAR_LASTLEAVETIME, (int)time(NULL));    }    CHAR_logout(fd,TRUE);    CONNECT_setState( fd, WHILELOGOUTSAVE );    CONNECT_setCharaindex( fd, -1 );    CONNECT_getCdkey( fd, cdkey, sizeof(cdkey ));    CONNECT_getCharname( fd, charname, sizeof(charname));    print( "Logout cdkey:%s charname=%s\n" , cdkey, charname );}void lssproto_CharDelete_recv( int fd , char* charname){    char cdkey[CDKEYLEN],passwd[PASSWDLEN];    int fdid;    if( CONNECT_isCLI( fd ) == FALSE )return;    if( CONNECT_isNOTLOGIN( fd ) == FALSE ){        lssproto_CharDelete_send( fd, FAILED, "Already Logged in\n" );        return;    }    CONNECT_getCdkey( fd, cdkey, sizeof(cdkey));    CONNECT_getPasswd( fd, passwd, sizeof(passwd));    fdid = CONNECT_getFdid(fd);    saacproto_ACCharDelete_send( acfd, cdkey,passwd, charname , "" ,fdid );#ifndef _DEATH_CONTEND	{		char buff[512];		char escapebuf[1024];		snprintf( buff, sizeof(buff), "%s_%s", cdkey, charname);		makeEscapeString( buff, escapebuf, sizeof(escapebuf));		saacproto_DBDeleteEntryInt_send(acfd, DB_DUELPOINT, escapebuf, fdid, 0 );		saacproto_DBDeleteEntryString_send(	acfd, DB_ADDRESSBOOK, escapebuf, fdid, 0 );	}	saacproto_Broadcast_send( acfd, cdkey, charname, "chardelete", 0);#endif    CONNECT_setState( fd, WHILECHARDELETE );}void lssproto_CharList_recv( int fd ){    char cdkey[CDKEYLEN], passwd[PASSWDLEN];    int fdid=-1;    if( CONNECT_isCLI( fd ) == FALSE )return;    if( CONNECT_isNOTLOGIN( fd ) == FALSE ){        lssproto_CharList_send( fd, FAILED, "Already Logged in\n" );        return;    }    CONNECT_getCdkey( fd, cdkey, sizeof(cdkey));    CONNECT_getPasswd( fd, passwd, sizeof(passwd));    fdid = CONNECT_getFdid( fd );	{		int i;		int playernum = CHAR_getPlayerMaxNum();		for( i=0; i<playernum; i++){			if( !CHAR_CHECKINDEX( i) )continue;			if( !strcmp( CHAR_getChar( i, CHAR_CDKEY), cdkey) ){				lssproto_CharList_send( fd, FAILED, "-1" );				CONNECT_setState( fd, NOTLOGIN );				return;			}		}	}//#ifdef _PKSEVER_VER//	saacproto_ACCharList_send(acfd, cdkey, passwd, fdid, star);//#else    saacproto_ACCharList_send(acfd, cdkey, passwd, fdid );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区久久悠悠色av| 亚洲国产一区二区三区| 看电视剧不卡顿的网站| 日韩视频在线观看一区二区| 午夜在线电影亚洲一区| 91精品国产一区二区三区蜜臀 | 欧美精彩视频一区二区三区| 国产麻豆精品95视频| 国产人成亚洲第一网站在线播放| 成人一区二区视频| 日本一区二区动态图| 99re视频精品| 亚洲一区二区三区美女| 7777精品伊人久久久大香线蕉的| 蜜桃久久久久久| 国产视频不卡一区| 欧洲国产伦久久久久久久| 日韩中文字幕1| 久久久久国产精品厨房| 色爱区综合激月婷婷| 日韩国产欧美在线观看| 久久久www成人免费无遮挡大片 | 色综合天天做天天爱| 亚洲国产日韩在线一区模特| 日韩视频123| 波多野结衣中文一区| 午夜精品久久久久久不卡8050| 欧美xxxx在线观看| 91色porny| 看电影不卡的网站| 亚洲美女精品一区| 欧美videossexotv100| 99麻豆久久久国产精品免费| 天天综合色天天| 国产精品国产自产拍在线| 欧美日韩日日夜夜| 成人h版在线观看| 免费视频一区二区| 亚洲色欲色欲www在线观看| 日韩女同互慰一区二区| 色综合视频一区二区三区高清| 九九**精品视频免费播放| 亚洲人xxxx| 久久免费电影网| 欧美视频在线一区二区三区| 国产丶欧美丶日本不卡视频| 亚洲va天堂va国产va久| 国产精品久久久久久久久免费相片| 7777精品伊人久久久大香线蕉最新版| fc2成人免费人成在线观看播放| 日本不卡一二三| 亚洲精品成人悠悠色影视| 国产婷婷一区二区| 日韩情涩欧美日韩视频| 在线观看一区二区精品视频| eeuss鲁片一区二区三区在线看| 国内精品久久久久影院薰衣草 | 精品久久久久av影院 | 91麻豆精品国产91久久久资源速度| 粉嫩av一区二区三区在线播放| 日本伊人午夜精品| 亚洲制服欧美中文字幕中文字幕| 国产精品人妖ts系列视频| 精品日本一线二线三线不卡| 欧美日韩一级大片网址| 在线观看一区不卡| 91色视频在线| 91麻豆成人久久精品二区三区| 国产91在线看| 国产高清亚洲一区| 国产揄拍国内精品对白| 激情综合网激情| 精品一区中文字幕| 精品在线亚洲视频| 久久99精品久久久久久动态图| 免费成人av在线播放| 欧美aaaaa成人免费观看视频| 亚洲自拍偷拍综合| 婷婷六月综合亚洲| 日韩激情在线观看| 麻豆精品一区二区综合av| 日本成人在线不卡视频| 美洲天堂一区二卡三卡四卡视频| 免费美女久久99| 精品制服美女丁香| 国产不卡高清在线观看视频| 国产91精品一区二区麻豆亚洲| 国产乱对白刺激视频不卡| 国产高清在线观看免费不卡| 国产91丝袜在线播放九色| 99久久精品免费看| 91免费精品国自产拍在线不卡| 91丨porny丨户外露出| 91成人免费网站| 欧美日韩激情一区| 精品福利二区三区| 国产日韩影视精品| 亚洲精品视频观看| 日韩精品一二区| 国产成人亚洲综合色影视| 成人av综合一区| 欧美日韩在线一区二区| 91麻豆精品91久久久久同性| 久久一区二区三区国产精品| 国产片一区二区| 亚洲观看高清完整版在线观看| 免费看欧美美女黄的网站| 国产成人免费视| 在线视频你懂得一区二区三区| 91精品国产美女浴室洗澡无遮挡| 久久久蜜臀国产一区二区| 亚洲乱码一区二区三区在线观看| 午夜精品福利一区二区蜜股av| 极品美女销魂一区二区三区免费| 成人黄色av电影| 3atv在线一区二区三区| 国产色婷婷亚洲99精品小说| 亚洲国产你懂的| 国产精品1024| 欧美日韩三级在线| 国产精品丝袜久久久久久app| 性做久久久久久免费观看| 国产美女精品人人做人人爽| 在线欧美日韩精品| 26uuu精品一区二区三区四区在线| 自拍偷拍国产精品| 久久不见久久见免费视频7| 色综合久久综合网欧美综合网| 日韩欧美一区二区免费| 亚洲乱码中文字幕综合| 国产精品资源在线观看| 欧美日韩国产一级片| 中文字幕第一区综合| 男女男精品视频| 欧美午夜精品久久久久久超碰| 久久九九全国免费| 老司机精品视频线观看86| 99re热视频这里只精品| 久久久久久99久久久精品网站| 五月激情综合网| 一本久久综合亚洲鲁鲁五月天| 久久久久国产成人精品亚洲午夜| 亚洲成人综合网站| 色综合久久久久久久| 久久亚洲精精品中文字幕早川悠里 | 琪琪久久久久日韩精品| 色综合久久中文字幕综合网| 精品卡一卡二卡三卡四在线| 日韩成人av影视| 91福利国产成人精品照片| 亚洲欧洲99久久| 豆国产96在线|亚洲| 国产亚洲成aⅴ人片在线观看| 日本不卡一二三区黄网| 欧美日韩美少妇| 亚洲一卡二卡三卡四卡| 91麻豆福利精品推荐| 中文字幕字幕中文在线中不卡视频| 国产黄色91视频| 亚洲国产岛国毛片在线| 国产在线精品一区二区夜色| 日韩欧美精品在线视频| 午夜a成v人精品| 欧美私模裸体表演在线观看| 亚洲一区二区三区美女| 欧美亚洲综合在线| 亚洲国产精品久久久男人的天堂| 一本大道久久a久久精二百| 亚洲视频一区在线| 色噜噜久久综合| 亚洲国产日韩一级| 欧美日韩国产精选| 日韩av网站免费在线| 日韩视频免费观看高清完整版在线观看 | 国产无一区二区| 国产91精品露脸国语对白| 国产精品免费视频观看| 99re在线视频这里只有精品| 樱花草国产18久久久久| 欧美私模裸体表演在线观看| 日韩国产欧美在线视频| 精品久久久久香蕉网| 丁香亚洲综合激情啪啪综合| 中文字幕不卡一区| 色悠悠久久综合| 日韩国产精品大片| 欧美成人在线直播| 国产一区 二区| 中文字幕在线观看一区| 色综合久久久久| 五月综合激情网| 精品国产精品网麻豆系列| 国产成人丝袜美腿| 综合av第一页| 欧美一区二区二区| 国产激情91久久精品导航| 自拍偷拍欧美精品| 欧美一二三区在线| 成人h动漫精品一区二| 亚洲va韩国va欧美va|