📄 npc_exchangeman.c
字号:
getStringFromIndexWithDelim( buff2, "=", 2, buf3, sizeof(buf3)); flg = 0; } petlevel = atoi(buf3); if(NPC_EventBigSmallLastCheck( petlevel, mypetlevel, flg) == TRUE) { /*--矢永玄及 蟆互涩烂今木化中凶日 蟆及民尼永弁 月--*/ if(CHAR_getWorkInt(talker,CHAR_WORKSHOPRELEVANTSEC) == 1) { char *usename; /*--涩烂白央奶伙及 心 心--*/ if(NPC_Util_GetArgStr( meindex, argstr, sizeof(argstr)) == NULL) { print("PetLevel:GetArgStrErr"); return FALSE; } usename = CHAR_getUseName( petindex); NPC_Util_GetStrFromStrWithDelim(argstr,"Pet_Name", name, sizeof( name)); if(strcmp( name, usename) == 0) { return TRUE; } }else { CHAR_setWorkInt( talker, CHAR_WORKSHOPRELEVANTSEC, 0); return TRUE; } } } return FALSE;}/*------------------------ *请 鳔及民尼永弁 --------------------------*/BOOL NPC_SavePointCheck(int meindex,int talker,int shiftbit,int flg){ int point; point = CHAR_getInt( talker, CHAR_SAVEPOINT); if( (point & ( 1<< shiftbit)) == ( 1<< shiftbit)) { if(flg == 3) return FALSE; return TRUE; } if(flg == 3) return TRUE; return FALSE;}/*------------------------ *奶丢□斥及民尼永弁 --------------------------*/BOOL NPC_ImageCheck(int meindex,int talker,int kosuu,int flg){ int image; image = CHAR_getInt( talker, CHAR_IMAGETYPE); if(NPC_EventBigSmallLastCheck( image, kosuu, flg) == TRUE) { return TRUE; } return FALSE;}/*----------------------------------------- * 凛棉及民尼永弁毛垫丹(丐中引中凛棉) ------------------------------------------*/BOOL NPC_TiemCheck(int meindex,int talker,int time,int flg){ LSTIME nowlstime; int now; RealTimeToLSTime( NowTime.tv_sec, &nowlstime); now = getLSTime( &nowlstime); if(NPC_EventBigSmallLastCheck( time, now, flg) == TRUE) { return TRUE; } return FALSE;}/*------------------------------ *--Item毛民尼永弁 -------------------------------*/BOOL NPC_EventItemCheck(int meindex,int talker,int itemNo,int flg){ int i; int itemindex = -1; int id; //Change fix 不检查穿戴在身上的道具 for( i = CHAR_STARTITEMARRAY ; i < CHAR_MAXITEMHAVE ; i++ ) { itemindex=CHAR_getItemIndex( talker , i ); if( ITEM_CHECKINDEX( itemindex) ) { id=ITEM_getInt( itemindex ,ITEM_ID ); if(NPC_EventBigSmallLastCheck( itemNo, id, flg) == TRUE) { if(flg == 0) return TRUE; continue; }else{ if(flg == 0) continue; return FALSE; } } } if(flg == 3) return TRUE; return FALSE;}/*------------------------------ * level毛民尼永弁 -------------------------------*/BOOL NPC_EventLevelCheck(int meindex,int talker,int level,int flg){ int mylevel; mylevel = CHAR_getInt(talker,CHAR_LV); if(NPC_EventBigSmallLastCheck( level, mylevel, flg) == TRUE) { if(flg == 3) return FALSE; return TRUE; } if(flg == 3) return TRUE; return FALSE;}/*------------------------------ * ENDEventNo毛民尼永弁 -------------------------------*/BOOL NPC_ENDEventNoCheck(int meindex,int talker,int shiftbit,int flg){ if(NPC_EventCheckFlg( talker, shiftbit) == TRUE) { if(flg == 3) return FALSE; return TRUE; } if(flg == 3) return TRUE; return FALSE;}/*------------------------------ * NOWEventNo毛民尼永弁 -------------------------------*/BOOL NPC_NOWEventNoCheck(int meindex,int talker,int shiftbit,int flg){ if(NPC_NowEventCheckFlg( talker, shiftbit) == TRUE) { if(flg == 3) return TRUE; return TRUE; } if(flg == 3) return TRUE; return FALSE;}/*--------------------------------------- * 蔽民尼永弁 --------------------------------------*/BOOL NPC_EventBigSmallLastCheck(int point1,int mypoint,int flg){ if(flg == 0) { if(point1 == mypoint) { return TRUE; } }else if(flg == 1) { if(mypoint < point1) { return TRUE; } }else if(flg == 2) { if(mypoint > point1) { return TRUE; } }else if(flg == 3) { if(point1 != mypoint) { return TRUE; } } return FALSE;}/*--------------------------------- *丢永本□斥毛请 允月 *----------------------------------*/void NPC_MsgDisp(int meindex,int talker,int num){ char argstr[NPC_UTIL_GETARGSTR_BUFSIZE];#ifdef _NEWEVENT char buf[4096]; char token2[4096]; char buf2[4096]; char token[4096]; char tmp[4096];#else char buf[1024*2]; char token2[50*14]; char buf2[512]; char token[512]; char tmp[32];#endif int i = 1; int work = 0; int EvNo = 0; int fd = getfdFromCharaIndex( talker); int buttontype = WINDOW_BUTTONTYPE_OK; int windowtype = CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG; int evch; if(NPC_Util_GetArgStr( meindex, argstr, sizeof(argstr)) == NULL) { print("MsgDisp:GetArgStrErr"); print("NPCName=%s\n", CHAR_getChar( meindex, CHAR_NAME)); return ; } if(num == 22 || num == 82 || num == 55 || num == 66) { int pwork; pwork = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD); pwork = (pwork / 100) -1 ; getStringFromIndexWithDelim( argstr, "EventEnd", pwork, buf,sizeof( buf)); }else{ /*涩烂白央奶伙毛坌喃允月*/ while(getStringFromIndexWithDelim( argstr, "EventEnd", i, buf, sizeof(buf)) != FALSE) { i++; CHAR_setWorkInt( talker, CHAR_WORKSHOPRELEVANTSEC, 0); /*--奶矛件玄瓜件田□毛必永玄--*/ NPC_Util_GetStrFromStrWithDelim( buf, "EventNo", buf2, sizeof( buf2)); if(strstr( buf2, "-1") != 0) { EvNo = -1; }else{ EvNo = atoi( buf2); } EvNo = atoi( buf2); /*--白仿弘民尼永弁毛垫丹[允匹卞}仇及奶矛件玄互蔽 仄化中月桦宁反戚尺--*/ if(NPC_EventCheckFlg( talker, EvNo) == TRUE) continue; /*--平□伐□玉及民尼永弁毛垫丹--*/ if(NPC_Util_GetStrFromStrWithDelim( buf,"Pet_Name", buf2,sizeof( buf2)) != NULL ) { CHAR_setWorkInt( talker, CHAR_WORKSHOPRELEVANTSEC, 1); } /*--平□伐□玉及民尼永弁毛垫丹--*/ if(NPC_Util_GetStrFromStrWithDelim( buf,"KeyWord", buf2,sizeof( buf2) ) != NULL) { if(CHAR_getWorkInt( talker ,CHAR_WORKSHOPRELEVANT) != i) continue; } evch = NPC_ExChangeManEventCheck( meindex, talker, buf); if(evch != -1) { /*--奶矛件玄椭瘀及民尼永弁--*/ // if(NPC_ExChangeManEventCheck( meindex, talker, buf) == TRUE) { break; } } } //print(" NPC_MsgDisp:%d ", num); switch( num) { case 0: /*蜇箕及奶矛件玄毛鞅户月井升丹井毛 仁丢永本□斥--*/ if( NPC_Util_GetStrFromStrWithDelim( buf, "StopMsg", buf2, sizeof( buf2) ) != NULL) { strcpysafe( token,sizeof( buf2), buf2); buttontype = WINDOW_BUTTONTYPE_YESNO; windowtype = CHAR_WINDOWTYPE_WINDOWEVENT_NOWEVENT; } break; case 1: /*--支户月井升丹井毛 中凶今中及NO毛蚕尹凶桦宁及丢永本□斥--*/ if( NPC_Util_GetStrFromStrWithDelim( buf, "NoStopMsg", buf2, sizeof( buf2)) != NULL) { strcpysafe( token, sizeof(buf2), buf2); } break; case 7: /*--蜇箕及奶矛件玄毛鞅户凶午五及丢永本□斥--*/ if( NPC_Util_GetStrFromStrWithDelim( buf, "EndStopMsg", buf2, sizeof( buf2)) != NULL) { strcpysafe( token, sizeof( buf2), buf2); /*--奶矛件玄 毛 匀化中凶桦宁反壅蛔--*/ NPC_EventAdd( meindex, talker, 1); /*--白仿弘毛壅允--*/ NPC_NowEventSetFlgCls( talker, EvNo); /*--蝇匀凶及匹} 毛今仆凶--*/ if(CHAR_getInt( talker, CHAR_CHARM) > 0) { CHAR_setInt( talker, CHAR_CHARM, CHAR_getInt(talker,CHAR_CHARM) -1); CHAR_complianceParameter( talker ); CHAR_send_P_StatusString( talker, CHAR_P_STRING_CHARM); NPC_CharmStatus( meindex, talker); } } break; case 2: /*--丐曰互午丹丢永本□斥--*/ if( NPC_Util_GetStrFromStrWithDelim( buf, "ThanksMsg", buf2, sizeof( buf2) ) != NULL) { strcpysafe( token,sizeof( buf2), buf2); /*--奶矛件玄 白仿弘毛本永玄--*/ if(NPC_EventAdd(meindex, talker, 0) != FALSE) { NPC_NowEventSetFlg( talker, EvNo); } else { return; } if(NPC_Util_GetStrFromStrWithDelim( buf, "EndSetFlg", buf2, sizeof( buf2) ) !=NULL) { char buf3[16]; int k = 1; if(EvNo != -1) NPC_NowEventSetFlgCls( talker, EvNo); while(getStringFromIndexWithDelim(buf2 , "," ,k, buf3, sizeof(buf3)) !=FALSE ) { k++; NPC_EventSetFlg( talker, atoi( buf3)); } } if( NPC_Util_GetStrFromStrWithDelim( buf, "CleanFlg", buf2, sizeof( buf2)) != NULL) { char buf3[16]; int k = 1; k= 1 ; while(getStringFromIndexWithDelim(buf2 , "," , k, buf3, sizeof(buf3)) != FALSE ) { NPC_NowEndEventSetFlgCls( talker, atoi(buf3)); k++; } } } CHAR_setWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD, 1); work = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD); work = work + ( i * 100); CHAR_setWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD, work); if(NPC_Util_GetStrFromStrWithDelim( buf,"NpcWarp", token2,sizeof( token2) ) != NULL){ NPC_EventWarpNpc(meindex,token2); } /*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/ if(strstr( buf, "ThanksMsg2") != NULL) { /*仇仇匹霜耨允月*/ lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_NEXT, CHAR_WINDOWTYPE_WINDOWEVENT_REQTHANK, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token); return; } break; case 22: work = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD); work = work % 100; if(work == 1){ if( NPC_Util_GetStrFromStrWithDelim( buf, "ThanksMsg", buf2, sizeof( buf2) ) != NULL) { strcpysafe( token,sizeof( buf2), buf2); } /*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/ if(strstr( buf, "ThanksMsg2") != NULL) { /*仇仇匹霜耨允月*/ lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_NEXT, CHAR_WINDOWTYPE_WINDOWEVENT_REQTHANK, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token); return; } }else{ sprintf( tmp, "ThanksMsg%d", work); if( NPC_Util_GetStrFromStrWithDelim( buf, tmp, buf2, sizeof( buf2) ) != NULL) { strcpysafe( token,sizeof( buf2), buf2); } work++; sprintf( tmp, "ThanksMsg%d", work); /*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/ if(strstr( buf, tmp) != NULL) { /*仇仇匹霜耨允月*/ lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_NEXT, CHAR_WINDOWTYPE_WINDOWEVENT_REQTHANK, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token); return; }else{ lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, CHAR_WINDOWTYPE_WINDOWEVENT_REQTHANK, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token); return; } } break; case 25:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -