📄 callfromac.c
字号:
}/* --------------------------------------------- * 犯□正矛□旦熬仃午曰质 市它件玄 * --------------------------------------------*/void saacproto_DBGetEntryByCount_recv( int fd,char* result,char* list, char* table,int count_start,int msgid,int msgid2 ){ if( strcmp( result, NET_STRING_FAILED) == 0 ) { print( "failed: DBGetEntryByCount\n"); return; } /* duelpoint database 及质 */ if( strcmp( table, DB_DUELPOINT) == 0 ) { NPC_Duelranking_PrintRanking( list, count_start, msgid, msgid2); }}#ifdef _ALLDOMAN // (不可开) Syu ADD 排行榜NPCvoid saacproto_UpdataStele_recv( int fd , char *token){ NPC_AlldomanWriteStele( token ); }void saacproto_S_UpdataStele_recv( int i , char *ocdkey , char *oname , char *ncdkey , char *nname , char *title , int level , int trns , int floor ) { print("\nSyu log 收到Single=> %s , %s , %s , %s ",ocdkey , oname , ncdkey , nname); NPC_Alldoman_S_WriteStele( ocdkey , oname , ncdkey , nname , title , level , trns , floor ) ;}#endif/* --------------------------------------------- * 皮夫□玉平乓旦玄丢永本□斥熬仃午曰 * --------------------------------------------*/void saacproto_Broadcast_recv( int fd,char* id,char* charname,char *message ){#ifndef _DEATH_CONTEND if( strstr( message, "online") == 0 || strstr( message, "offline") == 0 || strstr( message, "param") == 0 || strstr( message, "chardelete") == 0 ){ char buff[512]; char escapebuf[1024]; snprintf( buff, sizeof( buff),"%s_%s", id, charname ); makeEscapeString( buff, escapebuf, sizeof(escapebuf)); saacproto_DBGetEntryString_send( acfd, DB_ADDRESSBOOK, escapebuf, 0,0); }#endif}void saacproto_Message_recv( int fd,char* id_from,char* charname_from, char* id_to,char* charname_to, char* message,int option,int mesgid ){ BOOL ret; ret = ADDRESSBOOK_sendMessage_FromOther( id_from, charname_from, id_to, charname_to, message, option ); if( ret == TRUE) { saacproto_MessageAck_send( acfd, id_to, charname_to, "successful",mesgid); }}/* --------------------------------------------- * CoolFish: Family 2001/5/9 * --------------------------------------------*/void saacproto_ACAddFM_recv(int fd, char *result, int fmindex, int charfdid, int index){ int ret; int clifd = getfdFromFdid(charfdid);// print("ACAddFM_0\n"); if (CONNECT_checkfd(clifd) == FALSE) return; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0;// print("ACAddFM_1 clifd:%d ret:%d fmindex:%d index:%d\n",// clifd, ret, fmindex, index); ACAddFM(clifd, ret, fmindex, index);}void saacproto_ACJoinFM_recv(int fd, char *result, int recv, int charfdid){ int ret; int clifd = getfdFromFdid(charfdid); if (CONNECT_checkfd(clifd) == FALSE) return; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; ACJoinFM(clifd, ret, recv);}void saacproto_ACLeaveFM_recv(int fd, char *result, int resultflag, int charfdid){ int ret; int clifd = getfdFromFdid(charfdid); if (CONNECT_checkfd(clifd) == FALSE) return; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; ACLeaveFM(clifd, ret, resultflag); print(" ACLeaveFM_%d ", ret );}void saacproto_ACChangeFM_recv(int fd, char *result, int charfdid){}void saacproto_ACDelFM_recv(int fd, char *result, int charfdid){ int ret; int clifd = getfdFromFdid(charfdid); if (CONNECT_checkfd(clifd) == FALSE) return; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; ACDelFM(clifd, ret); print(" ACDelFM_%d ", ret);}void saacproto_ACShowFMList_recv(int fd, char *result, int fmnum, char *data){ int ret; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; ACShowFMList(ret, fmnum, data);}#ifdef _DEATH_FAMILY_GM_COMMAND // WON ADD 家族战GM指令void saacproto_ACRELOADFMOK_recv( int fd, int charindex ){ CHAR_talkToCli( charindex, -1, "重读家族资料OK!", CHAR_COLORYELLOW);}void saacproto_ACSHOWMEMBERLIST2_recv( int fd, int charaindex, int fm1, char *fm1_name, int fm2, char *fm2_name, int time, int id ){ int i, hour = 0, min = 0; int fmpks_pos = id * 24; char f1[20] = {0}, f2[20] = {0}; hour = time / 100; min = time % 100; if( fm1_name == NULL || fm2_name == NULL ) return; sprintf( f1, "%s", fm1_name ); sprintf( f2, "%s", fm2_name ); for( i=0; i<MAX_SCHEDULE; i++){ if( fmpks[fmpks_pos+i].dueltime == hour*100 ){ char msg[256] = {0}; fmpks[fmpks_pos+i].host_index = fm1; fmpks[fmpks_pos+i].guest_index = fm2; strcpy( fmpks[fmpks_pos+i].host_name, f1 ); strcpy( fmpks[fmpks_pos+i].guest_name, f2 ); fmpks[fmpks_pos+i].prepare_time = min; fmpks[fmpks_pos+i].max_player = 50; // 乱斗生存战 fmpks[fmpks_pos+i].win = 0; fmpks[fmpks_pos+i].flag = FMPKS_FLAG_SCHEDULED; fmpks[fmpks_pos+i].setting_timeout = 60 * 2; // 二小时 sprintf( msg, "%s 对 %s 家族挑战设定完成", f1, f2 ); CHAR_talkToCli( charaindex, -1, msg, CHAR_COLORYELLOW );#define SCHEDULEFILEDIR "./Schedule/" // save file { char filename[256],tmp[4096],n1[256],n2[256]; FILE *f; int j; int floor = 141, x=0, y=0; switch( id ){ case 10: x = 46; y = 17; break; case 11: x = 46; y = 34; break; case 12: x = 29; y = 46; break; case 13: x = 3; y = 31; break; case 14: x = 3; y = 15; break; } snprintf(filename,sizeof(filename), "%s%d_%d_%d", SCHEDULEFILEDIR, floor, x, y ); if( (f=fopen(filename, "w") ) ){ for( j = 0; j < MAX_SCHEDULE; j++ ){ makeEscapeString(fmpks[fmpks_pos+j].host_name,n1,sizeof(n1)); makeEscapeString(fmpks[fmpks_pos+j].guest_name,n2,sizeof(n2)); sprintf(tmp, "%d|%d|%s|%d|%s|%d|%d|%d|%d\n", fmpks[fmpks_pos+j].dueltime, fmpks[fmpks_pos+j].host_index, n1, fmpks[fmpks_pos+j].guest_index, n2, fmpks[fmpks_pos+j].prepare_time, fmpks[fmpks_pos+j].max_player, fmpks[fmpks_pos+j].flag, fmpks[fmpks_pos+j].win); fwrite(tmp, strlen(tmp), 1, f); } fclose(f); }else{ print("\n open %s Err", filename ); } } return; } }}#endif#ifdef _DEATH_FAMILY_STRUCT // WON ADD 家族战存放胜负资料void saacproto_ACSendFmPkStruct_recv( int fd, char *data ){ int i; char all_data[fm_pk_max][128] = {0}; FILE *f; for( i=0; i<fm_pk_max; i++ ){ char buf1[128] = {0}; if( getStringFromIndexWithDelim( data, "|", i, buf1, sizeof( buf1)) ) sprintf( all_data[i], "%s", buf1 ); } if( (f=fopen( "d_fm_pk_log.txt", "w+") ) ){ for( i=0; i<fm_pk_max; i++ ){ if( all_data[i][0] != 0 ) fprintf( f, "%s\n", all_data[i] ); } fclose( f ); }else{ print("\n open d_fm_pk_log.txt Err !!"); }}#endif#ifdef _DEATH_FAMILY_LOGIN_CHECK // WON ADD 家族战登入检查void saacproto_ACSendMember_recv(int fd, char *result, char *data, int charindex ){ char token[128] = {0}; int fmarray = -1; if( strcmp( result, "failed" ) == 0 ){ CHAR_warpToSpecificPoint( charindex, 887, 57, 14 ); CHAR_talkToCli( charindex, -1, "您未报名跨星系家族战", CHAR_COLORYELLOW); return; } SetFMPetVarInit(charindex); // 清除守护兽 Flag if(getStringFromIndexWithDelim(data,"|",1,token,sizeof(token))){ fmarray = atoi(token); if( fmarray < 0 ){ CHAR_warpToSpecificPoint( charindex, 887, 57, 14 ); CHAR_talkToCli( charindex, -1, "您未报名跨星系家族战", CHAR_COLORYELLOW); return; } CHAR_setInt( charindex, CHAR_FMINDEX, fmarray + 1 ); CHAR_setWorkInt( charindex, CHAR_WORKFMINDEXI, fmarray ); JoinMemberIndex( charindex, fmarray ); } if(getStringFromIndexWithDelim(data,"|",2,token,sizeof(token))){ CHAR_setInt( charindex, CHAR_FMSPRITE, atoi(token) ); } if(getStringFromIndexWithDelim(data,"|",3,token,sizeof(token))){ CHAR_setInt( charindex, CHAR_FMLEADERFLAG, atoi(token) ); } if(getStringFromIndexWithDelim(data,"|",4,token,sizeof(token))){ CHAR_setWorkInt( charindex, CHAR_WORKFMSETUPFLAG, atoi(token) ); } if(getStringFromIndexWithDelim(data,"|",5,token,sizeof(token))){ CHAR_setChar( charindex, CHAR_FMNAME, token ); } CHAR_setWorkInt(charindex, CHAR_WORKFMCHARINDEX, charindex ); CHAR_sendStatusString(charindex, "f"); CHAR_complianceParameter( charindex ); CHAR_sendCToArroundCharacter( CHAR_getWorkInt( charindex , CHAR_WORKOBJINDEX ));}#endif void saacproto_ACShowMemberList_recv(int fd, char *result, int index, int fmmemnum, int fmacceptflag, int fmjoinnum, char *data){ int ret; // fmmemnum -1:无此索引值, -2:无更新 else:表示此家族人数 if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; ACShowMemberList(ret, index, fmmemnum, fmacceptflag, fmjoinnum, data);}void saacproto_ACFMDetail_recv(int fd, char *result, char *data, int charfdid){ int ret; int clifd = getfdFromFdid(charfdid); if (CONNECT_checkfd(clifd) == FALSE) return; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; ACFMDetail(ret, data, clifd );}void saacproto_ACMemberJoinFM_recv(int fd, char *result, char *data, int charfdid){}void saacproto_ACMemberLeaveFM_recv(int fd, char *result, char *data, int charfdid){}#ifdef _PERSONAL_FAME // Arminius: 家族个人声望void saacproto_ACFMCharLogin_recv(int fd, char *result, int index, int floor, int fmdp, int joinflag, int fmsetupflag, int flag, int charindex, int charfame, int charfdid#ifdef _NEW_MANOR_LAW ,int momentum#endif )#elsevoid saacproto_ACFMCharLogin_recv(int fd, char *result, int index, int floor, int fmdp, int joinflag, int fmsetupflag, int flag, int charindex, int charfdid)#endif{ int ret; int clifd = getfdFromFdid(charfdid); if (CONNECT_checkfd(clifd) == FALSE) return; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0;// print("Login fd:%d result:%s index:%d floor:%d fmdp:%d joinflag:%d setup:%d charfdid:%d\n",// fd, result, index, floor, fmdp, joinflag, fmsetupflag, charfdid);#ifdef _PERSONAL_FAME // Arminius: 家族个人声望// print("Login charfame:%d\n", charfame); ACFMCharLogin(clifd, ret, index, floor, fmdp, joinflag, fmsetupflag, flag, charindex, charfame #ifdef _NEW_MANOR_LAW ,momentum #endif );#else ACFMCharLogin(clifd, ret, index, floor, fmdp, joinflag, fmsetupflag, flag, charindex);#endif}void saacproto_ACFMCharLogout_recv(int fd, char *result, int charfdid){}void saacproto_ACFMReadMemo_recv(int fd, char *result, int index, int num, int dataindex, char *data){ int ret; // index(家族 WORK 的索引),num(资料笔数,最大35笔) // dataindex(最新的资料数),data(资料)。 // 注:num -1:无此索引值, -2:无更新 else:表示此家族人数 if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; ACShowFMMemo(ret, index, num, dataindex, data);}void saacproto_ACFMWriteMemo_recv(int fd, char *result, int index){}void saacproto_ACFMPointList_recv(int fd, char *result, char *data){ int ret; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; ACShowPointList(ret, data);}void saacproto_ACSetFMPoint_recv(int fd, char *result, int r, int charfdid){ int ret; int clifd = getfdFromFdid(charfdid); if( CONNECT_checkfd(clifd) == FALSE )return; if (strcmp(result, SUCCESSFUL) == 0){ ret = 1; }else{ ret = 0; } ACSetFMPoint(ret, r, clifd);}void saacproto_ACFixFMPoint_recv(int fd, char *result, int r){}void saacproto_ACFMAnnounce_recv(int fd, char *result, char *fmname, int fmindex, int index, int kindflag, char *data, int color){ int ret; if (strcmp(result, SUCCESSFUL) == 0){ ret = 1; }else{ ret = 0; } ACFMAnnounce(ret, fmname, fmindex, index, kindflag, data, color); } #ifdef _NEW_MANOR_LAWextern void SortManorSchedule();#endifvoid saacproto_ACShowTopFMList_recv(int fd, char *result, int kindflag, int num, char *data){ int ret; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; ACShowDpTop(ret, num, data, kindflag);#ifdef _NEW_MANOR_LAW SortManorSchedule();#endif}#ifdef _FAMILYBANKSTONELOGvoid saacproto_ACgetFMBankgold_recv(int fd, int charfdid,int r){ int clifd=getfdFromFdid(charfdid); int charaindex = CONNECT_getCharaindex( clifd); if( CONNECT_checkfd(clifd) == FALSE) return; CHAR_setInt(charaindex,CHAR_FMBANKGOLD,r);}#endif#ifdef _NEW_MANOR_LAWextern struct FMS_DPTOP fmdptop;#endifvoid saacproto_ACFixFMData_recv(int fd, char *result, int kindflag, char *data1, char *data2, int charfdid){ int ret; int intdata; int clifd = getfdFromFdid(charfdid); int charaindex = CONNECT_getCharaindex( clifd ); if( CONNECT_checkfd(clifd) == FALSE )return; if (strcmp(result, SUCCESSFUL) == 0) ret = 1; else ret = 0; if( !CHAR_CHECKINDEX(charaindex) ) return; if( kindflag == FM_FIX_FMRULE ){ CHAR_talkToCli( charaindex , -1, "家族主旨修改OK!", CHAR_COLORWHITE); }else if( kindflag == FM_FIX_FMGOLD ) { intdata = atoi( data1 ); if( ret == 0 ) { if( atoi(data1) > 0 ) { CHAR_setInt( charaindex, CHAR_GOLD, CHAR_getInt( charaindex, CHAR_GOLD ) +atoi(data1) ); } CHAR_send_P_StatusString( charaindex , CHAR_P_STRING_GOLD);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -