📄 callfromac.c
字号:
}
/* ---------------------------------------------
* --------------------------------------------*/
void saacproto_DBGetEntryInt_recv( int fd,char* result,int value,
char* table,char* key,int msgid,int msgid2 )
{
if( strcmp( result, NET_STRING_FAILED) == 0 ) {
print( "failed: DBGetEntryInt\n");
return;
}
}
/* ---------------------------------------------
* --------------------------------------------*/
void saacproto_DBGetEntryString_recv( int fd,char* result,char *value,
char* table,char* key,int msgid,int msgid2 )
{
char cdkey[32];
char charaname[32];
if( strcmp( table, DB_ADDRESSBOOK) == 0 ){
int mode = 1;
if( strcmp( result, NET_STRING_FAILED) == 0 ) {
mode = 0;
}
makeStringFromEscaped( key);
if( !getStringFromIndexWithDelim( key, "_", 1, cdkey, sizeof( cdkey)) ){
return;
}
if( !getStringFromIndexWithDelim( key, "_", 2, charaname, sizeof( charaname)) ){
return;
}
ADDRESSBOOK_DispatchMessage( cdkey, charaname, value, mode);
}else {
if( strcmp( result, NET_STRING_FAILED) == 0 ) {
print( "failed: DBGetEntryString\n");
return;
}
}
}
void saacproto_DBGetEntryByRank_recv( int fd,char* result,char* list,
char* table,int msgid,int msgid2 )
{
if( strcmp( result, NET_STRING_FAILED) == 0 ) {
print( "failed: DBGetEntryByRank\n");
return;
}
}
/* ---------------------------------------------
* --------------------------------------------*/
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;
}
if( strcmp( table, DB_DUELPOINT) == 0 ) {
NPC_Duelranking_PrintRanking( list, count_start, msgid, msgid2);
}
}
#ifdef _ALLDOMAN // (不可开) Syu ADD 排行榜NPC
void 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 )
{
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);
}
}
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);
}
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
)
#else
void 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
);
#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);
}
void 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);
}
void 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);
return;
}else {
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);
}
LogStone(
atoi(data2),
CHAR_getChar( charaindex, CHAR_NAME ),
CHAR_getChar( charaindex, CHAR_CDKEY ),
-intdata,
CHAR_getInt( charaindex, CHAR_GOLD ),
"FMBank(家族银行)",
CHAR_getInt( charaindex,CHAR_FLOOR),
CHAR_getInt( charaindex,CHAR_X ),
CHAR_getInt( charaindex,CHAR_Y )
);
}
}else if( kindflag == FM_FIX_FMLEADERCHANGE ){
ACFMJob( clifd, ret, data1, data2 );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -