📄 npc_exchangeman.c
字号:
CHAR_complianceParameter( talker ); CHAR_send_P_StatusString( talker, CHAR_P_STRING_CHARM); NPC_CharmStatus( meindex, talker); } } } break; case 9: if( NPC_Util_GetStrFromStrWithDelim( buf, "NomalWindowMsg", buf2, sizeof( buf2) ) != NULL) { strcpysafe( token, sizeof( buf2), buf2); if(EvNo != -1) NPC_NowEventSetFlg( talker, EvNo); }#ifdef _NEWEVENT CHAR_setWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD, 1); work = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD); work = work + ( i * 100); CHAR_setWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD, work); /*--戚矢□斥互丐月桦宁反示正件它奶件玉它及正奶皿毛井尹月--*/ if(strstr( buf, "NomalWindowMsg2") != NULL) { /*仇仇匹霜耨允月*/ lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_NEXT, CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token); return; }#endif break; #ifdef _NEWEVENT case 99: work = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD); work = work % 100; if(work == 1) { if( NPC_Util_GetStrFromStrWithDelim( buf, "NomalWindowMsg1", buf2, sizeof( buf2) ) != NULL) strcpysafe( token,sizeof( buf2), buf2); /*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/ if(strstr( buf, "NomalWindowMsg2") != NULL) { /*仇仇匹霜耨允月*/ lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_NEXT, CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token); return; } }else{ sprintf( tmp, "NomalWindowMsg%d", work); if( NPC_Util_GetStrFromStrWithDelim( buf, tmp, buf2, sizeof( buf2) ) != NULL){ strcpysafe( token,sizeof( buf2), buf2); } work++; sprintf( tmp, "NomalWindowMsg%d", work); /*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/ if(strstr( buf, tmp) != NULL) { /*仇仇匹霜耨允月*/ lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_NEXT, CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token); return; }else{ int fd = getfdFromCharaIndex( talker); char token2[14*50]; /*--仇仇匹}失奶 丞卅升及馨笛毛垫丹--*/ if(NPC_AcceptDel( meindex, talker,0) == FALSE) return; /*白仿弘毛本永玄仄化中木壬}本永玄允月--*/ if( EvNo != -1) NPC_NowEventSetFlg( talker, EvNo); if(NPC_Util_GetStrFromStrWithDelim( buf,"NpcWarp", token2,sizeof( token2) )!= NULL){ NPC_EventWarpNpc(meindex,token2); } //白仿弘毛 化月 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++; } } lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_YES, CHAR_WINDOWTYPE_WINDOWEVENT_STARTMSG, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token); return; } } break;#endif case 10: /*--矢永玄互中匀天中及凛及丢永本□斥--*/ if( NPC_Util_GetStrFromStrWithDelim( buf, "PetFullMsg", buf2, sizeof( buf2) ) != NULL) { strcpysafe( token, sizeof( buf2), buf2); print(" PetFullMsg:%s ", token); } else { print(" PetFullMsg_Error:%d ", __LINE__); } break; case 11: /*--白仿弘毛壅允午五及丢永本□斥--*/ if( NPC_Util_GetStrFromStrWithDelim( buf, "CleanMainMsg", buf2, sizeof( buf2) ) != NULL) { strcpysafe( token, sizeof( buf2), buf2); buttontype = WINDOW_BUTTONTYPE_YESNO; windowtype = CHAR_WINDOWTYPE_WINDOWEVENT_CLEANMSG; } break; case 12: /*--白仿弘毛壅仄凶 及永本□斥--*/ if( NPC_Util_GetStrFromStrWithDelim( buf, "CleanFlgMsg", buf2, sizeof( buf2) ) != NULL) { char buf3[64]; int loop=1; strcpysafe( token, sizeof( buf2), buf2); NPC_Util_GetStrFromStrWithDelim( buf, "CleanFlg", buf2, sizeof( buf2) ); while(getStringFromIndexWithDelim(buf2 , "," , loop, buf3, sizeof(buf3)) != FALSE ) { NPC_NowEndEventSetFlgCls( talker, atoi(buf3)); loop++; } } break; case 13: /*--云嗯互中匀天中及丢永本□斥--*/ if( NPC_Util_GetStrFromStrWithDelim( buf, "StoneFullMsg", buf2, sizeof( buf2) ) != NULL) { strcpysafe( token, sizeof( buf2), buf2); } break; case 14: /*--云嗯互凶曰卅中丢永本□斥--*/ if( NPC_Util_GetStrFromStrWithDelim( buf, "StoneLessMsg", buf2, sizeof( buf2) ) != NULL) { strcpysafe( token, sizeof( buf2), buf2); } break; } /*仇仇匹霜耨允月*/#ifdef _NEWEVENT if(num != 8)#endif lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, buttontype, windowtype, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token);}/*-------------------------------------- *奶矛件玄迕及失奶 丞毛馨笛允月 ---------------------------------------*/BOOL NPC_EventAdd(int meindex,int talker,int mode){ char buf[64]; char buff2[128]; int j = 1,i = 0; int kosuucnt = 0; int itemindex; char buff[1024*2]; int rand_j = 0; int rand_flg = 0; int rand_cnt = 0; int evcnt; int b_flg = 0; /*--涩烂白央奶伙 卞踏中化丐月椭瘀毛 凶仄化中月手及毛 五请允--*/ evcnt = NPC_EventFile( meindex, talker, buff); if(evcnt == -1) return FALSE;// if(NPC_EventFile( meindex, talker, buff) == FALSE) return FALSE; /*--失奶 丞及醒毛民尼永弁--*/ if(NPC_ItemFullCheck( meindex, talker, buff, mode, evcnt) == FALSE){ NPC_MsgDisp( meindex, talker, 4); return FALSE; } /*--云嗯民尼永弁卞 月--*/ if(NPC_Util_GetStrFromStrWithDelim( buff, "DelStone", buff2, sizeof( buff2) ) !=NULL) { int stone; stone = NPC_EventGetCost( meindex, talker, buff2); if( (CHAR_getInt( talker, CHAR_GOLD) - stone) < 0 ){ NPC_MsgDisp( meindex, talker, 14); return FALSE; } } /*--矢永玄及 毛馨笛允月--*/ if((NPC_Util_GetStrFromStrWithDelim( buff, "pet_skill", buff2, sizeof( buff2) ) !=NULL) && mode == 0 ){ if(mode == 0) { NPC_PetSkillMakeStr( meindex, talker, 1); return TRUE; } } if(mode == 2) mode = 0; /*--矢永玄毛馨笛允月---*/ if(NPC_Util_GetStrFromStrWithDelim( buff, "GetPet", buff2, sizeof( buff2) ) !=NULL) { if(mode == 0){ if(NPC_EventAddPet( meindex, talker, buff2,0) == FALSE) { NPC_MsgDisp( meindex, talker, 10); return FALSE; } }else if(mode == 1){ } } // Robin add 从NPC取宠物蛋 if(NPC_Util_GetStrFromStrWithDelim( buff, "GetEgg", buff2, sizeof( buff2) ) !=NULL) { if(mode == 0){ if(NPC_EventAddEgg( meindex, talker, buff2,0) == FALSE) { print(" AddEgg_Error:%d ", __LINE__); NPC_MsgDisp( meindex, talker, 10); return FALSE; } }else if(mode == 1){ } } if(NPC_Util_GetStrFromStrWithDelim( buff, "DelItem", buff2, sizeof( buff2) ) !=NULL){ if(strstr(buff2,"EVDEL") != NULL){ char work[256]; char nbuf[256]; NPC_Util_GetStrFromStrWithDelim(buf, "EVENT", buff2, sizeof( buff2)); getStringFromIndexWithDelim( buff2, ",", evcnt, work, sizeof( work)); if(strstr(buff,"Break")!=NULL){ b_flg=1; }else{ b_flg=0; } if(NPC_Util_GetStrFromStrWithDelim( buff, "NotDel", nbuf, sizeof( nbuf)) != NULL) { NPC_EventDelItemEVDEL( meindex, talker, work, nbuf,b_flg); }else{ NPC_EventDelItemEVDEL( meindex, talker, work, "-1",b_flg); } }else{ if(strstr(buff,"Break")!=NULL){ b_flg=1; }else{ b_flg=0; } NPC_EventDelItem( meindex, talker, buff2, b_flg); } } /*--云嗯毛潸月---*/ if(NPC_Util_GetStrFromStrWithDelim( buff, "DelStone", buff2, sizeof( buff2) ) !=NULL) { int stone; char token[128]; stone = NPC_EventGetCost( meindex, talker, buff2); CHAR_setInt(talker,CHAR_GOLD,CHAR_getInt( talker, CHAR_GOLD) - stone); /*--由仿丢□正霜曰--*/ CHAR_send_P_StatusString( talker, CHAR_P_STRING_GOLD); sprintf(token, "付出%d的stone。", stone); CHAR_talkToCli( talker, -1, token, CHAR_COLORWHITE); } /*--仿件母丞失奶 丞---*/ if(NPC_Util_GetStrFromStrWithDelim( buff, "GetRandItem", buf, sizeof( buf) ) != NULL ){ j=1; while( getStringFromIndexWithDelim( buf , "," , j, buff2, sizeof( buff2)) != FALSE ){ j++; rand_j++; } rand_cnt = 1; } /*-- 骚及失奶 丞必永玄--*/ if(NPC_Util_GetStrFromStrWithDelim( buff, "GetItem", buf, sizeof( buf)) != NULL ){ if(mode == 0) { j = 1; /*--窒蜊及失奶 丞毛 允井"--*/ while(getStringFromIndexWithDelim( buf, "," , j, buff2, sizeof(buff2)) !=FALSE ){ j++; } j--; for( i = CHAR_STARTITEMARRAY ; i < CHAR_MAXITEMHAVE ; i++ ){ itemindex=CHAR_getItemIndex( talker , i ); if( !ITEM_CHECKINDEX( itemindex) ){ kosuucnt++; } } j= j + rand_cnt; if( kosuucnt < j ){ NPC_MsgDisp( meindex, talker, 4); return FALSE; }else{ if(NPC_Util_GetStrFromStrWithDelim( buff, "GetRandItem", buff2, sizeof( buff2)) !=NULL) { rand_flg = 1; NPC_RandItemGet( meindex, talker, rand_j, buff2); } if(NPC_EventAddItem( meindex, talker, buf) == FALSE) return FALSE; } }else if(mode == 1){ if(strstr(buff,"Break")!=NULL){ b_flg=1; }else{ b_flg=0; } NPC_EventDelItem( meindex, talker, buf,b_flg); } } if( (NPC_Util_GetStrFromStrWithDelim( buff, "GetRandItem", buf, sizeof( buf) ) !=NULL) && (rand_flg == 0) && mode == 0 ) { /*--民尼永弁 癫卞蝈 月井"-*/ for( i = CHAR_STARTITEMARRAY ; i < CHAR_MAXITEMHAVE ; i++ ){ itemindex=CHAR_getItemIndex( talker , i ); if( !ITEM_CHECKINDEX( itemindex) ){ kosuucnt++; } } /*--坞五互丐月井升丹井--*/ if( kosuucnt == 0 ){ NPC_MsgDisp( meindex, talker, 4); return FALSE; } NPC_RandItemGet( meindex, talker, rand_j,buf); } #ifdef _EXCHANGEMAN_REQUEST_DELPET if( NPC_Util_GetStrFromStrWithDelim( buff, "DelPet", buff2, sizeof( buff2) ) != NULL && mode == 0 ) { char buf4[32]; char buf5[256]; int i=1; char work[256]; int j=1; if(strstr(buff2,"EVDEL") != NULL){ NPC_Util_GetStrFromStrWithDelim( buf, "EVENT", buf5, sizeof( buf5)); getStringFromIndexWithDelim( buf5, ",",evcnt , buff2, sizeof( buff2)); while(getStringFromIndexWithDelim( buff2, "&", j, work, sizeof( work))!=FALSE){ j++; if(strstr( work, "PET") != NULL) { if(strstr( work, "EV") != NULL) { if(NPC_PetLvCheck( meindex, talker, work, 1) == FALSE) return FALSE; }else{ if(NPC_PetLvCheck( meindex, talker, work, 0) == FALSE) return FALSE; } } } j = 1; while(getStringFromIndexWithDelim( buff2, "&", j, work, sizeof( work)) != FALSE){ j++; if(strstr( work, "PET") == NULL ) continue; if(strstr(work,"*") != NULL){ int cnt=0; int petcnt=0; int petindex; getStringFromIndexWithDelim( work, "*", 2, buf4, sizeof( buf4)); cnt = atoi(buf4); for(i=0 ; i < CHAR_MAXPETHAVE ; i++){ petindex = CHAR_getCharPet( talker, i); if( petindex == -1 ) continue; if(strstr( work, "EV") != NULL) { if(NPC_PetLvCheckType2(petindex, meindex, talker, work, 1) == FALSE) { continue; } }else{ if(NPC_PetLvCheckType2(petindex, meindex, talker, work, 0) == FALSE) { continue; } } if(NPC_EventDelPet( meindex, talker,i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -