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

📄 saacproto_serv.c

📁 石器时代8.0服务端完整源代码。可以直接编译
💻 C
📖 第 1 页 / 共 5 页
字号:
		data = saacproto_wrapStringAddr(saacproto_stringwrapper[3], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[4]));		index = saacproto_demkstr_int(saacproto.token_list[5]);		saacproto_ACFMWriteMemo_recv(fd, fmname, fmindex, data, index);		return	0;	}#ifdef _DEATH_FAMILY_GM_COMMAND	// WON ADD 家族战GM指令	// reload 家族资料	if ( strcmp( funcname, "ACRELOADFM") == 0){		int 	charindex = -1;			charindex = saacproto_demkstr_int(saacproto.token_list[2]);		log("\n won test 40 ==> charindex(%d)", charindex );		saacproto_ACRELOADFM_recv( fd, charindex );		return	0;	}	if ( strcmp( funcname, "ACShowMemberList2") == 0){		int fm1 = -1, fm2 = -1, charindex = -1, time = -1, id = -1;			charindex = saacproto_demkstr_int(saacproto.token_list[2]);		fm1 = saacproto_demkstr_int(saacproto.token_list[3]);		fm2 = saacproto_demkstr_int(saacproto.token_list[4]);		time = saacproto_demkstr_int(saacproto.token_list[5]);		id = saacproto_demkstr_int(saacproto.token_list[6]);		log("\n won test 40 ==> charindex(%d) fm1(%d) fm2(%d) time(%d) id(%d)", charindex, fm1, fm2, time, id );		saacproto_ACShowMemberList_2_recv(fd, charindex, fm1, fm2, time, id );		return	0;	}#endif#ifdef _DEATH_FAMILY_LOGIN_CHECK   // WON ADD 家族战登入检查	// 玩家login2	if ( strcmp( funcname, "ACFMCharLogin2") == 0){		int 	charindex = -1;		char	*char_id, *char_name;			char_id = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		char_name = saacproto_wrapStringAddr(saacproto_stringwrapper[2], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[3]));				charindex = saacproto_demkstr_int(saacproto.token_list[4]);		log("\n won test 4 ==> char_id(%s) char_name(%s) charindex(%d)", char_id, char_name, charindex );		saacproto_ACFMCharLogin2_recv(fd, char_id, char_name, charindex );		return	0;	}	#endif	// 玩家login	if ( strcmp( funcname, "ACFMCharLogin") == 0){		int 	fmindex, charlv, charfdid;#ifdef _FM_MODIFY		int gsnum;#endif		char	*fmname, *charname, *charid;#ifdef _FMVER21		int eventflag;#endif				fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		fmindex = saacproto_demkstr_int(saacproto.token_list[3]);		charname = saacproto_wrapStringAddr(saacproto_stringwrapper[3], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[4]));		charid = saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5]));		charlv = saacproto_demkstr_int(saacproto.token_list[6]);#ifdef _FMVER21		eventflag = saacproto_demkstr_int(saacproto.token_list[7]);		charfdid = saacproto_demkstr_int(saacproto.token_list[8]);	#ifdef _FM_MODIFY			gsnum = saacproto_demkstr_int(saacproto.token_list[9]);			saacproto_ACFMCharLogin_recv(fd, fmname, fmindex, charname,charid, charlv, eventflag, charfdid,gsnum);	#else			saacproto_ACFMCharLogin_recv(fd, fmname, fmindex, charname,charid, charlv, eventflag, charfdid);	#endif#else		charfdid = saacproto_demkstr_int(saacproto.token_list[7]);		saacproto_ACFMCharLogin_recv(fd, fmname, fmindex, charname,charid, charlv, charfdid);#endif		return	0;	}		// 玩家logout	if ( strcmp( funcname, "ACFMCharLogout") == 0){		int 	fmindex, charfdid, charlv, index;		char	*fmname, *charname, *charid;		fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		fmindex = saacproto_demkstr_int(saacproto.token_list[3]);		charname = saacproto_wrapStringAddr(saacproto_stringwrapper[3], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[4]));		charid = saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5]));		charlv = saacproto_demkstr_int(saacproto.token_list[6]);		index = saacproto_demkstr_int(saacproto.token_list[7]);		charfdid = saacproto_demkstr_int(saacproto.token_list[8]);		saacproto_ACFMCharLogout_recv(fd, fmname, fmindex, charname,			charid, charlv, index, charfdid);		return	0;	}	// 族长审核成员加入家族、修改家族成员职位	if (strcmp( funcname, "ACMemberJoinFM") == 0){		int	fmindex, charfdid, index, charindex, result;		char	*fmname, *charname;#ifdef _FMVER21		int	meindex;#endif		fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		fmindex = saacproto_demkstr_int(saacproto.token_list[3]);		charname = saacproto_wrapStringAddr(saacproto_stringwrapper[3], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[4]));		charindex = saacproto_demkstr_int(saacproto.token_list[5]);		index = saacproto_demkstr_int(saacproto.token_list[6]);		result = saacproto_demkstr_int(saacproto.token_list[7]);#ifdef _FMVER21		meindex = saacproto_demkstr_int(saacproto.token_list[8]);		charfdid = saacproto_demkstr_int(saacproto.token_list[9]);		saacproto_ACMemberJoinFM_recv(fd, fmname, fmindex, charname,			charindex, index, result, meindex, charfdid);#else		charfdid = saacproto_demkstr_int(saacproto.token_list[8]);		saacproto_ACMemberJoinFM_recv(fd, fmname, fmindex, charname,			charindex, index, result, charfdid);#endif		return	0;	}	// 族长审核成员离开家族	if (strcmp( funcname, "ACMemberLeaveFM") == 0){		int	fmindex, charfdid, index, charindex;		char	*fmname, *charname;#ifdef _FMVER21		int meindex;#endif				fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		fmindex = saacproto_demkstr_int(saacproto.token_list[3]);		charname = saacproto_wrapStringAddr(saacproto_stringwrapper[3], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[4]));		charindex = saacproto_demkstr_int(saacproto.token_list[5]);		index = saacproto_demkstr_int(saacproto.token_list[6]);#ifdef _FMVER21		meindex = saacproto_demkstr_int(saacproto.token_list[7]);		charfdid = saacproto_demkstr_int(saacproto.token_list[8]);		saacproto_ACMemberLeaveFM_recv(fd, fmname, fmindex, charname,			charindex, index, meindex, charfdid);#else		charfdid = saacproto_demkstr_int(saacproto.token_list[7]);		saacproto_ACMemberLeaveFM_recv(fd, fmname, fmindex, charname,			charindex, index, charfdid);#endif		return	0;	}	// 列出家族据点	if ( strcmp( funcname, "ACFMPointList") == 0){		saacproto_ACFMPointList_recv(fd);		return	0;	}#ifdef _CK_ONLINE_PLAYER_COUNT    // WON ADD 计算线上人数	if ( strcmp( funcname, "ACGSPCOUNT") == 0){		int playcount = 0;		playcount  = saacproto_demkstr_int(saacproto.token_list[2]);			saacproto_GS_ACK_PLAYER_COUNT_recv( fd, playcount );			return	0;	}#endif	// 申请家族据点	if (strcmp( funcname, "ACSetFMPoint") == 0){		int	fl, x, y, fmindex, index, fmpointindex, charfdid;		char	*fmname;		fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		fmindex = saacproto_demkstr_int(saacproto.token_list[3]);		index = saacproto_demkstr_int(saacproto.token_list[4]);		fmpointindex = saacproto_demkstr_int(saacproto.token_list[5]);		fl = saacproto_demkstr_int(saacproto.token_list[6]);		x = saacproto_demkstr_int(saacproto.token_list[7]);		y = saacproto_demkstr_int(saacproto.token_list[8]);		charfdid = saacproto_demkstr_int(saacproto.token_list[9]);		saacproto_ACSetFMPoint_recv(fd, fmname, fmindex, index,			fmpointindex, fl, x, y, charfdid);		return	0;	}	// 设定家族据点	if (strcmp( funcname, "ACFixFMPoint") == 0){		int	winindex, winfmindex, loseindex, losefmindex, village;		char	*winfmname, *losefmname;		winfmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		winfmindex = saacproto_demkstr_int(saacproto.token_list[3]);		winindex = saacproto_demkstr_int(saacproto.token_list[4]);		losefmname =  saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5]));		losefmindex = saacproto_demkstr_int(saacproto.token_list[6]);		loseindex = saacproto_demkstr_int(saacproto.token_list[7]);		village= saacproto_demkstr_int(saacproto.token_list[8]);		saacproto_ACFixFMPoint_recv(fd, winfmname, winfmindex, winindex,			losefmname, losefmindex, loseindex, village);		return	0;	}	// 族长对全员广播	if (strcmp( funcname, "ACFMAnnounce") == 0){		int 	index, fmindex, color;		char	*fmname, *data;		fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		fmindex = saacproto_demkstr_int(saacproto.token_list[3]);		index = saacproto_demkstr_int(saacproto.token_list[4]);		data = saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5]));		color = saacproto_demkstr_int(saacproto.token_list[6]);		saacproto_ACFMAnnounce_recv(fd, fmname, fmindex, index, data, color);		return	0;	}	// 列出家族排行榜	if ( strcmp( funcname, "ACShowTopFMList") == 0){		int	kindflag;		char	*tmpbuf;		tmpbuf = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		kindflag = saacproto_demkstr_int(saacproto.token_list[3]);		saacproto_ACShowTopFMList_recv(fd, kindflag);		return	0;	}	// 修正家族资料	if (strcmp( funcname, "ACFixFMData") == 0){		int	fmindex, charfdid, index, kindflag, charindex;		char	*fmname, *data1, *data2;		fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		fmindex = saacproto_demkstr_int(saacproto.token_list[3]);		index = saacproto_demkstr_int(saacproto.token_list[4]);		kindflag = saacproto_demkstr_int(saacproto.token_list[5]);		data1 = saacproto_wrapStringAddr(saacproto_stringwrapper[5], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[6]));		data2 = saacproto_wrapStringAddr(saacproto_stringwrapper[6], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[7]));		charindex = saacproto_demkstr_int(saacproto.token_list[8]);		charfdid = saacproto_demkstr_int(saacproto.token_list[9]);		saacproto_ACFixFMData_recv(fd, fmname, fmindex, index, kindflag,			data1, data2, charindex, charfdid);		return	0;	}#ifdef _FAMILYBANKSTONELOG	if (strcmp( funcname, "ACgetFMBankgold") ==0){		int	fmindex, charfdid, index, charindex;		char	*fmname;		fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		fmindex = saacproto_demkstr_int(saacproto.token_list[3]);		index = saacproto_demkstr_int(saacproto.token_list[4]);		charindex = saacproto_demkstr_int(saacproto.token_list[5]);		charfdid = saacproto_demkstr_int(saacproto.token_list[6]);		saacproto_ACgetFMBankgold_recv(fd, fmname, fmindex, index, charindex, charfdid);		return	0;	}#endif#ifdef _DEATH_FAMILY_STRUCT		// WON ADD 家族战存放胜负资料	if (strcmp( funcname, "FMINITPKSTRUCT") == 0){		log("\n won test 300 ==>" );		set_fm_pk_score( "" );//		save_fm_pk_score();		return	0;	}			if (strcmp( funcname, "FMPKSTRUCT") == 0){		char *msg;		msg = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));				log("\n won test 54 ==> msg(%s)", msg );		set_fm_pk_score( msg );//		save_fm_pk_score();		return	0;	}#endif	// 家族PK後修正声望	if (strcmp( funcname, "ACFixFMPK") == 0){		int	winindex, winfmindex, loseindex, losefmindex;		char	*winfmname, *losefmname;		winfmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		winfmindex = saacproto_demkstr_int(saacproto.token_list[3]);		winindex = saacproto_demkstr_int(saacproto.token_list[4]);		losefmname =  saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5]));		losefmindex = saacproto_demkstr_int(saacproto.token_list[6]);		loseindex = saacproto_demkstr_int(saacproto.token_list[7]);		saacproto_ACFixFMPK_recv(fd, winfmname, winfmindex, winindex,			losefmname, losefmindex, loseindex);		return	0;	}	// GM修正家族资料	if (strcmp( funcname, "ACGMFixFMData") == 0){		int	index, charfdid;		char	*cmd, *data, *tmpbuf,*charid;		tmpbuf = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2]));		index = saacproto_demkstr_int(saacproto.token_list[3]);		charid = saacproto_wrapStringAddr(saacproto_stringwrapper[3], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[4]));		cmd = saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5]));		data = saacproto_wrapStringAddr(saacproto_stringwrapper[5], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[6]));		charfdid = saacproto_demkstr_int(saacproto.token_list[7]);		saacproto_ACGMFixFMData_recv(fd, index, charid, cmd, data, charfdid);

⌨️ 快捷键说明

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