📄 npc_exchangeman.c
字号:
{
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;
}
/*---------------------------------
*丢永本□斥毛请 允月
*----------------------------------*/
#ifdef _CHANNEL_MODIFY
extern int *piOccChannelMember;
#endif
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:
/*--丐曰互午丹丢永本□斥--*/
if( NPC_Util_GetStrFromStrWithDelim( buf, "ThanksMsg",
buf2, sizeof( buf2) )
!= NULL)
{
strcpysafe( token,sizeof( buf2), buf2);
/*--奶矛件玄 白仿弘毛本永玄--*/
if(NPC_EventAdd(meindex, talker, 2) != FALSE) {
NPC_NowEventSetFlg( talker, EvNo);
}
}
break;
case 3:
/*-- 骚及丢永本□斥--*/
if( NPC_Util_GetStrFromStrWithDelim( buf, "NomalMsg",
buf2, sizeof( buf2) )
!= NULL)
{
strcpysafe(token, sizeof( buf2), buf2);
}
break;
case 4:
/*--失奶 丞互中匀天中及凛及丢永本□斥--*/
if( NPC_Util_GetStrFromStrWithDelim( buf, "ItemFullMsg",
buf2, sizeof( buf2) )
!= NULL)
{
strcpysafe(token, sizeof( buf2), buf2);
}
break;
case 5:
/*--匙 毛允月端及丢奶件及丢永本□斥--*/
if( NPC_Util_GetStrFromStrWithDelim( buf, "RequestMsg",
buf2, sizeof( buf2) )
!= NULL)
{
if(strstr(buf2,"%8d") != NULL) {
char buf3[64];
int cost;
NPC_Util_GetStrFromStrWithDelim( buf, "DelStone",
buf3, sizeof( buf3) );
cost = NPC_EventGetCost( meindex, talker, buf3);
sprintf(token,buf2,cost);
}else{
strcpysafe( token,sizeof( buf2), buf2);
}
buttontype = WINDOW_BUTTONTYPE_YESNO;
windowtype = CHAR_WINDOWTYPE_WINDOWEVENT_REQMAINMSG;
}
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, "RequestMsg2") != NULL) {
/*仇仇匹霜耨允月*/
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_NEXT,
CHAR_WINDOWTYPE_WINDOWEVENT_REQMAINMSG,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}
break;
case 55:
work = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD);
work = work % 100;
if(work == 1){
if( NPC_Util_GetStrFromStrWithDelim( buf, "RequestMsg",
buf2, sizeof( buf2) )
!= NULL)
{
strcpysafe( token, sizeof( buf2), buf2);
}
/*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/
if(strstr( buf, "RequestMsg2") != NULL){
/*仇仇匹霜耨允月*/
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_NEXT,
CHAR_WINDOWTYPE_WINDOWEVENT_REQMAINMSG,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}
}else{
sprintf( tmp, "RequestMsg%d", work);
if( NPC_Util_GetStrFromStrWithDelim( buf, tmp,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -