⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callfromcli.c

📁 石器时代8.0服务端完整源代码。可以直接编译
💻 C
📖 第 1 页 / 共 5 页
字号:
//#endif    CONNECT_setState( fd, WHILEDOWNLOADCHARLIST );}void lssproto_Echo_recv( int fd,char* arg0 ){	lssproto_Echo_send( fd , arg0 );}#define CHECKFD	if( CONNECT_isCLI( fd ) == FALSE )return;	if( CONNECT_isLOGIN(fd) == FALSE )return;#define CHECKFDANDTIME	if( CONNECT_isCLI(fd) == FALSE )return;	if( CONNECT_isLOGIN(fd) == FALSE )return;void lssproto_W_recv( int fd,int x,int y,char* direction ){        //ttom +3        int fd_charaindex, ix, iy;        fd_charaindex = CONNECT_getCharaindex( fd );        ix=CHAR_getInt(fd_charaindex, CHAR_X);        iy=CHAR_getInt(fd_charaindex, CHAR_Y);                                              // CoolFish: Prevent Trade Cheat 2001/4/18        if (CHAR_getWorkInt(fd_charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE)        	return;	// nuke 0407	if (checkNu(fd)<0) {           // Robin 0521	           print(" NU-Err ");           CHAR_talkToCli(fd_charaindex, -1, "讯号错误。", CHAR_COLORYELLOW);           CONNECT_setCloseRequest( fd , 1 );	   return;			}        //ttom debug        if((x==0)&&(y==0)){           //CHAR_talkToCli(fd_charaindex, -1, "因座标错误而断线。", CHAR_COLORYELLOW);           // Roibn 03/14           return;        }        //ttom avoid the warp at will 11/6        {          int i_diff_x,i_diff_y;          i_diff_x=abs(ix-x);          i_diff_y=abs(iy-y);          // Robin 03/14          if( (i_diff_x>1)||(i_diff_y>1) ){                         // Robin 0518               //CHAR_talkToCli(fd_charaindex, -1, "因走路座标错误而断线。", CHAR_COLORYELLOW);                          //return;               x = ix;               y = iy;          }        }        if(!(MAP_walkAble(fd_charaindex,CHAR_getInt(fd_charaindex, CHAR_FLOOR),x,y))){           // Robin 03/14           x = ix;           y = iy;        }else{        }	CHAR_walk_init( fd, x, y, direction, TRUE);}/*------------------------------------------------------------ * 汹仁 ------------------------------------------------------------*/void lssproto_W2_recv( int fd,int x,int y,char* direction ){     //ttom +3     int fd_charaindex, ix, iy, i_fl;     //Char *chwk;// CoolFish: Rem 2001/4/18     fd_charaindex = CONNECT_getCharaindex( fd );     ix=CHAR_getInt(fd_charaindex, CHAR_X);     iy=CHAR_getInt(fd_charaindex, CHAR_Y);     i_fl=CHAR_getInt(fd_charaindex, CHAR_FLOOR);           // CoolFish: Prevent Trade Cheat 2001/4/18     if (CHAR_getWorkInt(fd_charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE)     		return;                     //ttom avoid the warp at will 11/6     {         int i_diff_x,i_diff_y;         //ix=CHAR_getInt(fd_charaindex, CHAR_X);         //iy=CHAR_getInt(fd_charaindex, CHAR_Y);         //i_fl=CHAR_getInt(fd_charaindex, CHAR_FLOOR);         i_diff_x=abs(ix-x);         i_diff_y=abs(iy-y);         if( (i_diff_x>1)||(i_diff_y>1) ){//2            //print("\n<www>Warp Error!!!!!!!!!");            //print("\n<www>the origion->fd=%d,x=%d,y=%d",fd,ix,iy);            //print("\n<www>the modify-->fd=%d,X=%d,Y=%d,dir=%s",fd,x,y,direction);            x=ix;            y=iy;            // Robin 03/14            //return;          }          //if((i_fl==117)&&(ix==225)&&(iy==13)) goto END_w;     }//ttom     if(!(MAP_walkAble(fd_charaindex,CHAR_getInt(fd_charaindex, CHAR_FLOOR),x,y))){          print("\n<wwww> the map is invaild(f:%d,x:%d,y:%d)",CHAR_getInt(fd_charaindex, CHAR_FLOOR),x,y);          x = ix;          y = iy;     }     //END_w:                     CHAR_walk_init( fd, x, y, direction, FALSE);}void lssproto_SKD_recv( int fd,int dir, int index){    CHECKFDANDTIME;}void lssproto_ID_recv( int fd,int x,int y,int haveitemindex,int toindex ){    int		to_charaindex;    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex( fd );    // CoolFish: Prevent Trade Cheat 2001/4/18    if (CHAR_getWorkInt(fd_charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE)    	return;                	/* 爵  凛反轮仁   仿弘匹仇木卞娄匀井井月第  岭丐曰  */	if( CHAR_getWorkInt( fd_charaindex, CHAR_WORKBATTLEMODE)		!= BATTLE_CHARMODE_NONE) return ;	//ttom avoid the warp at will 12/5	{	    int ix,iy;	    ix=CHAR_getInt(fd_charaindex, CHAR_X);	    iy=CHAR_getInt(fd_charaindex, CHAR_Y);	    x=ix;	    y=iy;	}	CHAR_setMyPosition( fd_charaindex, x,y,TRUE);    to_charaindex = Callfromcli_Util_getTargetCharaindex( fd, toindex);    CHAR_ItemUse( fd_charaindex, to_charaindex, haveitemindex );}/*------------------------------------------------------------ * 惫寞毛蓟少 ------------------------------------------------------------*/void lssproto_ST_recv( int fd,int titleindex ){    CHECKFDANDTIME;    CHAR_selectTitle( CONNECT_getCharaindex( fd) , titleindex );}/*------------------------------------------------------------ * 惫寞毛绰轮允月 ------------------------------------------------------------*/void lssproto_DT_recv( int fd,int titleindex ){    CHECKFDANDTIME;    CHAR_deleteTitle( CONNECT_getCharaindex(fd) , titleindex );}/*------------------------------------------------------------ * 愤裘惫寞毛    允月 ------------------------------------------------------------*/void lssproto_FT_recv( int fd,char* data ){    CHECKFDANDTIME;        // Robin 04/23 debug    if( strlen(data) > 12 ) return;        if( checkStringErr(data) )	return;        CHAR_inputOwnTitle( CONNECT_getCharaindex(fd) , data);}/*------------------------------------------------------------ * 失奶  丞毛胶丹 ------------------------------------------------------------*/void lssproto_PI_recv( int fd,int x, int y, int dir ){    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex( fd );    {//ttom avoid warp at will       int ix,iy;       ix=CHAR_getInt(fd_charaindex, CHAR_X);       iy=CHAR_getInt(fd_charaindex, CHAR_Y);       if( (ix!=x)||(iy!=y)){           //print("\n<PI>--Error!!!!");           //print("\n<PI>origion x=%d,y=%d",ix,iy);           //print("\n<PI>modify  X=%d,Y=%d",x,y);           x=ix;           y=iy;       }    }//ttom end        CHAR_setMyPosition( fd_charaindex, x,y,TRUE);	if( CHAR_getWorkInt( fd_charaindex, CHAR_WORKBATTLEMODE)		!= BATTLE_CHARMODE_NONE) return ;    CHAR_PickUpItem( fd_charaindex, dir);}void lssproto_DI_recv( int fd,int x, int y, int itemindex ){    int charaindex;    CHECKFDANDTIME;    charaindex = CONNECT_getCharaindex( fd );    if( CHAR_getWorkInt(charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE) return;	if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE) return;    CHAR_setMyPosition( charaindex ,		CHAR_getInt( charaindex, CHAR_X), CHAR_getInt( charaindex, CHAR_Y), TRUE);    CHAR_DropItem( charaindex, itemindex );}void lssproto_DP_recv( int fd,int x, int y, int petindex ){    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex( fd );    if (CHAR_getWorkInt(fd_charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE)	    	return;    {      int ix,iy;      ix=CHAR_getInt(fd_charaindex, CHAR_X);      iy=CHAR_getInt(fd_charaindex, CHAR_Y);      x=ix;      y=iy;    }    CHAR_setMyPosition( fd_charaindex , x,y,TRUE);	if( CHAR_getWorkInt( fd_charaindex , CHAR_WORKBATTLEMODE)		!= BATTLE_CHARMODE_NONE) return ;	PET_dropPet( fd_charaindex, petindex);}/*------------------------------------------------------------ * 嗯毛  仁 ------------------------------------------------------------*/void lssproto_DG_recv( int fd,int x, int y, int amount ){    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex( fd );    //ttom avoid the warp at will 12/15    {      int ix,iy;      ix=CHAR_getInt(fd_charaindex, CHAR_X);      iy=CHAR_getInt(fd_charaindex, CHAR_Y);      x=ix;      y=iy;   }   CHAR_setMyPosition( fd_charaindex, x,y,TRUE);	/* 爵    反轮仁   仿弘匹仇木卞娄匀井井月第  岭丐曰  */	if( CHAR_getWorkInt( fd_charaindex, CHAR_WORKBATTLEMODE)		!= BATTLE_CHARMODE_NONE) return ;			// CoolFish: Prevent Trade Cheat 2001/4/18	if (CHAR_getWorkInt(fd_charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE)		return;     CHAR_DropMoney( fd_charaindex, amount );}/*------------------------------------------------------------ * 失奶  丞毛啖  允月[隶  手仇木匹 ------------------------------------------------------------*/void lssproto_MI_recv( int fd,int fromindex,int toindex ){    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex( fd );        // CoolFish: Prevent Trade Cheat 2001/4/18    if (CHAR_getWorkInt(fd_charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE)	    	return;    	/* 爵    反轮仁   仿弘匹仇木卞娄匀井井月第  岭丐曰  */	if( CHAR_getWorkInt( fd_charaindex, CHAR_WORKBATTLEMODE)		!= BATTLE_CHARMODE_NONE) return ;    CHAR_moveEquipItem( fd_charaindex, fromindex, toindex );}/*------------------------------------------------------------ * 旦平伙失永皿 ------------------------------------------------------------*/void lssproto_SKUP_recv( int fd,int skillid ){    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex(fd);	/* 爵    反轮仁   仿弘匹仇木卞娄匀井井月第  岭丐曰  */	if( CHAR_getWorkInt( fd_charaindex, CHAR_WORKBATTLEMODE)		!= BATTLE_CHARMODE_NONE) return ;    CHAR_SkillUp(fd_charaindex,skillid);}/*------------------------------------------------------------ * 戊生弁扑亦件锹澎卞丢永本□斥毛霜耨 ------------------------------------------------------------*/void lssproto_MSG_recv( int fd,int index,char* message, int color ){    int fd_charaindex;    CHECKFD;    fd_charaindex = CONNECT_getCharaindex( fd);    ADDRESSBOOK_sendMessage( fd_charaindex, index,message, color );}/*------------------------------------------------------------ * 失玉伊旦皮永弁及    毛母它件夫□玉允月邰菲互  凶 ------------------------------------------------------------*/void lssproto_AB_recv( int fd ){    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex( fd );    ADDRESSBOOK_sendAddressbookTable( fd_charaindex );}/*------------------------------------------------------------ * 失玉伊旦皮永弁及嫩  毛绰轮允月 ------------------------------------------------------------*/void lssproto_DAB_recv( int fd , int index){    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex( fd );    ADDRESSBOOK_deleteEntry( fd_charaindex ,index);}void lssproto_AAB_recv( int fd , int x, int y){    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex( fd );    {       int ix,iy;       ix=CHAR_getInt(fd_charaindex, CHAR_X);       iy=CHAR_getInt(fd_charaindex, CHAR_Y);       if( (ix!=x)||(iy!=y)){           x=ix;           y=iy;       }   }   CHAR_setMyPosition( fd_charaindex , x,y,TRUE);    ADDRESSBOOK_addEntry( fd_charaindex );}void lssproto_L_recv( int fd, int dir ){    int fd_charaindex;    CHECKFDANDTIME;    fd_charaindex = CONNECT_getCharaindex( fd );    CHAR_Look( fd_charaindex ,dir );}/*------------------------------------------------------------ * 民乓永玄迕丢永本□斥及霜耨 ------------------------------------------------------------*/void lssproto_TK_recv( int fd,int x, int y,char* message,int color, int area ){    int fd_charaindex,ix,iy;//ttom+2    int fmindex, channel;        CHECKFD;    fd_charaindex = CONNECT_getCharaindex( fd );    fmindex = CHAR_getInt( fd_charaindex, CHAR_FMINDEX );    channel = CHAR_getWorkInt( fd_charaindex, CHAR_WORKFMCHANNEL );  {// Robin 0629 silent    int silentSec, talkCount;    silentSec = CHAR_getInt(fd_charaindex,CHAR_SILENT);    if( silentSec > 0 ) {		int loginTime;		char buf[256];		int leftSec;		loginTime = CHAR_getWorkInt(fd_charaindex, CHAR_WORKLOGINTIME );		// 防止时间修正回朔後 异常禁言  Robin 20040817		if( (int)NowTime.tv_sec < loginTime) {			CHAR_setInt(fd_charaindex, CHAR_SILENT, 0 );			return;		}		if( ((int)NowTime.tv_sec -loginTime) > silentSec ) {			CHAR_setInt(fd_charaindex, CHAR_SILENT, 0 );			return;		}		silentSec += 10;  //多禁10秒		leftSec = silentSec - ((int)NowTime.tv_sec - loginTime);		sprintf(buf, "禁言中!!还有%d秒,再讲多禁10秒钟。", leftSec );		CHAR_talkToCli(fd_charaindex, -1, buf, color);		CHAR_setInt(fd_charaindex, CHAR_SILENT, silentSec );		return;    }    talkCount = CHAR_getWorkInt(fd_charaindex, CHAR_WORKTALKCOUNT );    talkCount ++;    CHAR_setWorkInt( fd_charaindex, CHAR_WORKTALKCOUNT, talkCount);    if( talkCount > 8 ) {    	int lastTalkTime = CHAR_getWorkInt(fd_charaindex, CHAR_WORKTALKTIME );		if( (int)NowTime.tv_sec - lastTalkTime < 10 ) {			CHAR_setInt( fd_charaindex,CHAR_SILENT, 60 );			CHAR_setWorkInt( fd_charaindex, CHAR_WORKLOGINTIME, (int)NowTime.tv_sec );			CHAR_talkToCli( fd_charaindex, -1, "你太多话了唷,请你的嘴巴先休息个一分钟吧!", color);			CHAR_setWorkInt(fd_charaindex, CHAR_WORKTALKCOUNT, 0 );			return;		}else {			CHAR_setWorkInt( fd_charaindex, CHAR_WORKTALKTIME, (int)NowTime.tv_sec );			CHAR_setWorkInt(fd_charaindex, CHAR_WORKTALKCOUNT, 0 );		}    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -