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

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

?? callfromcli.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? 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一区二区三区免费野_久草精品视频
国产精品国产自产拍在线| 豆国产96在线|亚洲| 国产成人精品亚洲777人妖| 99精品国产91久久久久久| 9191国产精品| 国产精品第13页| 国内成+人亚洲+欧美+综合在线| 99国产精品久久久| 久久久久久久综合日本| 偷窥国产亚洲免费视频| 91论坛在线播放| 久久久噜噜噜久久人人看| 日本伊人色综合网| 在线观看日韩av先锋影音电影院| 国产丝袜欧美中文另类| 看电视剧不卡顿的网站| 欧美视频你懂的| 亚洲第一福利视频在线| 一本色道综合亚洲| 国产精品久久午夜| 粉嫩aⅴ一区二区三区四区五区| 精品国产一区二区三区久久影院| 亚洲va在线va天堂| 欧美亚洲另类激情小说| 一区二区在线观看免费视频播放 | 91啪亚洲精品| 国产精品免费网站在线观看| 精品在线播放午夜| 日韩女优视频免费观看| 美国三级日本三级久久99| 宅男在线国产精品| 日韩激情一二三区| 宅男噜噜噜66一区二区66| 欧美aⅴ一区二区三区视频| 3751色影院一区二区三区| 日本不卡中文字幕| 日韩一卡二卡三卡四卡| 久久成人av少妇免费| 精品成人免费观看| 国产麻豆精品在线| 中文子幕无线码一区tr| 色综合视频一区二区三区高清| 亚洲欧洲日产国码二区| 99精品黄色片免费大全| 亚洲国产成人av| 日韩欧美国产电影| 国产高清成人在线| 日韩毛片高清在线播放| 欧美日韩精品二区第二页| 老司机免费视频一区二区| 久久综合九色综合97_久久久| 成人免费视频免费观看| 亚洲日本在线观看| 欧美日韩高清一区二区| 久久国产剧场电影| 国产精品不卡视频| 欧美日韩mp4| 国产一区二区三区不卡在线观看 | 成人动漫一区二区在线| 亚洲女厕所小便bbb| 欧美一级日韩免费不卡| 国产一区二区不卡| 一区二区三区资源| 欧美电影免费提供在线观看| 高清av一区二区| 亚洲一区二区av电影| 精品福利一区二区三区 | 国产伦理精品不卡| 亚洲精选视频免费看| 日韩视频免费观看高清完整版| 成人黄色小视频在线观看| 亚洲一区二区不卡免费| 国产日产欧产精品推荐色| 欧美性一级生活| 国产精品69久久久久水密桃| 有坂深雪av一区二区精品| 久久精品一级爱片| 欧美日韩中文一区| 成人美女在线观看| 久久99九九99精品| 亚洲国产精品久久人人爱| 国产午夜精品久久久久久久| 欧美群妇大交群中文字幕| 成年人网站91| 激情五月播播久久久精品| 亚洲韩国一区二区三区| 国产精品视频一二三| 日韩美女天天操| 欧美日韩你懂得| 97aⅴ精品视频一二三区| 精品一区二区在线观看| 日韩成人免费在线| 亚洲精品国产a| 国产丝袜在线精品| 久久亚洲私人国产精品va媚药| 欧美视频在线一区| 99国产精品国产精品久久| 高清不卡一区二区| 国产一级精品在线| 麻豆精品一二三| 日韩高清在线一区| 午夜电影一区二区三区| 亚洲黄一区二区三区| 亚洲男人都懂的| 18欧美亚洲精品| 中国色在线观看另类| 国产欧美精品一区| 国产视频在线观看一区二区三区| 欧美精品一区二区三区视频| 日韩精品最新网址| 欧美成人一区二区三区片免费| 欧美高清www午色夜在线视频| 在线观看国产91| 欧美又粗又大又爽| 欧美亚洲高清一区二区三区不卡| 91福利在线观看| 欧美日韩卡一卡二| 欧美高清视频一二三区| 欧美人妖巨大在线| 日韩免费看的电影| 久久综合久久鬼色中文字| 国产人妖乱国产精品人妖| 国产精品理论在线观看| 亚洲欧美一区二区三区极速播放| 亚洲激情中文1区| 午夜精彩视频在线观看不卡| 欧美a级一区二区| 国产一区在线视频| 成人激情小说乱人伦| 色综合网色综合| 欧美日韩国产a| 日韩一区二区精品在线观看| 久久久久国产免费免费| 亚洲欧洲精品一区二区三区| 一区二区三区91| 日韩黄色免费电影| 国产精品中文字幕日韩精品| 色悠悠久久综合| 日韩一区二区三区三四区视频在线观看 | 26uuu色噜噜精品一区二区| 久久亚洲欧美国产精品乐播| ...xxx性欧美| 婷婷久久综合九色综合伊人色| 久久精品噜噜噜成人88aⅴ| 国产精华液一区二区三区| 色一情一伦一子一伦一区| 欧美乱妇20p| 国产农村妇女毛片精品久久麻豆 | 在线精品观看国产| 精品处破学生在线二十三| 自拍偷拍国产精品| 久久精品国产一区二区三 | 91.com视频| 国产日韩欧美综合在线| 亚洲午夜精品网| 国产精品自在欧美一区| 欧美视频一区在线观看| 国产午夜精品一区二区三区嫩草| 亚洲综合色视频| 国产成人免费视频一区| 在线播放国产精品二区一二区四区 | 欧美xxxx老人做受| 亚洲美女淫视频| 国产美女精品在线| 欧美日韩一区二区在线视频| 国产欧美一区二区精品婷婷| 午夜精品123| 色婷婷亚洲精品| 麻豆视频一区二区| 首页国产欧美久久| 日韩av中文字幕一区二区三区| 精品一区二区免费在线观看| 99视频超级精品| 久久久久久99精品| 日本三级亚洲精品| 色婷婷精品久久二区二区蜜臀av| 久久精品欧美一区二区三区不卡 | 91麻豆免费观看| 久久久一区二区三区| 日本在线不卡一区| 欧美三级在线播放| 亚洲柠檬福利资源导航| 99久久精品国产一区二区三区 | 精品一区二区三区蜜桃| 精品1区2区3区| 一区二区在线观看视频| 91在线视频网址| 中文字幕av不卡| 高清成人免费视频| 国产亚洲欧美激情| 激情亚洲综合在线| 精品国产乱码久久久久久老虎| 日日骚欧美日韩| 欧美在线高清视频| 一区二区免费看| 欧洲国内综合视频| 亚洲mv在线观看| 91精品国产欧美日韩| 日韩国产高清影视| 日韩三级视频中文字幕|