📄 npc_exchangeman.c
字号:
buf2, sizeof( buf2) )
!= NULL){
strcpysafe( token,sizeof( buf2), buf2);
}
work++;
sprintf( tmp, "RequestMsg%d", work);
/*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/
if(strstr( buf, tmp) != NULL) {
/*仇仇匹霜耨允月*/
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_NEXT,
CHAR_WINDOWTYPE_WINDOWEVENT_REQMAINMSG,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}else{
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_YESNO,
CHAR_WINDOWTYPE_WINDOWEVENT_REQMAINMSG,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}
}
break;
case 6:
//print(" 6_答应? ");
/*--熬仃潸曰及端及丢奶件及丢永本□斥--*/
if( NPC_Util_GetStrFromStrWithDelim( buf, "AcceptMsg",
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_ACCMAINMSG;
}
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, "AcceptMsg2") != NULL) {
/*仇仇匹霜耨允月*/
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_NEXT,
CHAR_WINDOWTYPE_WINDOWEVENT_ACCMAINMSG,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}
break;
case 66:
//print(" 66_答应? ");
work = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD);
work = work % 100;
if(work == 1){
if( NPC_Util_GetStrFromStrWithDelim( buf, "AcceptMsg",
buf2, sizeof( buf2) )
!= NULL)
{
strcpysafe( token,sizeof( buf2), buf2);
}
/*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/
if(strstr( buf, "AcceptMsg2") != NULL) {
/*仇仇匹霜耨允月*/
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_NEXT,
CHAR_WINDOWTYPE_WINDOWEVENT_ACCMAINMSG,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}
}else{
sprintf( tmp, "AcceptMsg%d", work);
if( NPC_Util_GetStrFromStrWithDelim( buf, tmp,
buf2, sizeof( buf2) )
!= NULL){
strcpysafe( token,sizeof( buf2), buf2);
}
work++;
sprintf( tmp, "AcceptMsg%d", work);
/*--戚矢□斥互丐月桦宁反示正件方它奶件玉它及正奶皿毛井尹月--*/
if(strstr( buf, tmp) != NULL) {
/*仇仇匹霜耨允月*/
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_NEXT,
CHAR_WINDOWTYPE_WINDOWEVENT_ACCMAINMSG,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}else{
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_YESNO,
CHAR_WINDOWTYPE_WINDOWEVENT_ACCMAINMSG,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}
}
break;
case 8:
//print(" 8_答应? ");
if( NPC_Util_GetStrFromStrWithDelim( buf, "ThanksMsg",
buf2, sizeof( buf2) )
!= NULL)
{
strcpysafe( token, sizeof( buf2), buf2);
/*--奶矛件玄 白仿弘毛本永玄--*/
if(NPC_AcceptDel( meindex, talker,0) == FALSE){
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, "Charm",
buf2, sizeof( buf2))
!=NULL)
{
/*--仇仇引匹 凶日} 毛晓仆月---*/
if( CHAR_getInt( talker, CHAR_CHARM) < 100 && EvNo > 0 ){
if(CHAR_getInt( talker, CHAR_CHARM) + atoi(buf2) > 100){
CHAR_setInt( talker, CHAR_CHARM,100);
}else{
CHAR_setInt( talker, CHAR_CHARM,
CHAR_getInt(talker,CHAR_CHARM) + atoi(buf2));
}
CHAR_complianceParameter( talker );
CHAR_send_P_StatusString( talker, CHAR_P_STRING_CHARM);
NPC_CharmStatus( meindex, talker);
}
}
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++;
}
}
// Robin add 清除职业
if( NPC_Util_GetStrFromStrWithDelim( buf, "PROFESSION",
buf2, sizeof( buf2)) != NULL)
{
int p_class = atoi( buf2);
//Change fix 2004/07/05
for( i=0; i<CHAR_STARTITEMARRAY; i++){ //检查装备中道具
if( ITEM_CHECKINDEX( CHAR_getItemIndex( talker , i ) )){
if( CHAR_getInt( talker, PROFESSION_CLASS ) != 0
&& CHAR_getInt( talker, PROFESSION_CLASS ) != ITEM_getInt( CHAR_getItemIndex( talker , i ), ITEM_NEEDPROFESSION)
&& ITEM_getInt( CHAR_getItemIndex( talker , i ), ITEM_NEEDPROFESSION) > 0 ){
p_class = 1;
CHAR_talkToCli( talker, -1, "请先把职业装备通通卸下!", CHAR_COLORWHITE);
break;
}
}
}
if( p_class == 0)
{
print(" ====清除职业==== ");
// 还原点数
//if( PROFESSION_RESTORE_POINT( talker ) != 1 ) return FALSE;
// 设定职业归零
CHAR_setInt( talker, PROFESSION_CLASS, p_class );
#ifdef _CHANNEL_MODIFY
if(CHAR_getInt(talker,PROFESSION_CLASS) > 0){
int i,pclass = CHAR_getInt(talker,PROFESSION_CLASS) - 1;
for(i=0;i<getFdnum();i++){
if(*(piOccChannelMember + (pclass * getFdnum()) + i) == talker){
*(piOccChannelMember + (pclass * getFdnum()) + i) = -1;
break;
}
}
}
#endif
// 设定职业等级 0
CHAR_setInt( talker, PROFESSION_LEVEL, 0 );
// 技能点数归零
CHAR_setInt(talker, PROFESSION_SKILL_POINT, 0 );
// 还原抗性
for( i=0; i<3; i++ )
CHAR_setInt( talker, PROFESSION_FIRE_R+i, /*CHAR_getInt( toindex, PROFESSION_FIRE_R+i) + value*/0 );
// 还原巫师MP上限
CHAR_setInt( talker , CHAR_MAXMP , 100 );
// 删除所有技能
CHAR_CHAT_DEBUG_delsk( talker, "all" );
// ?? Andy add
CHAR_setInt( talker , ATTACHPILE, 0);
// 清除任务旗标
NPC_NowEndEventSetFlgCls( talker, 145);
NPC_NowEndEventSetFlgCls( talker, 146);
NPC_NowEndEventSetFlgCls( talker, 147);
CHAR_sendStatusString( talker , "S");
CHAR_sendCToArroundCharacter( CHAR_getWorkInt( talker , CHAR_WORKOBJINDEX ));
}
}
#ifdef _ANGEL_SUMMON
// 完成召唤任务
if( NPC_Util_GetStrFromStrWithDelim( buf, "MISSIONOVER",
buf2, sizeof( buf2)) != NULL)
{
int mindex;
int mission;
char nameinfo[64];
mission = atoi( buf2);
mindex = checkIfAngel( talker);
if( mission == missiontable[mindex].mission )
{
char msg[1024];
print(" ====完成召唤任务==== ");
CHAR_setInt( talker, CHAR_HEROCNT,
CHAR_getInt( talker, CHAR_HEROCNT)+1 );
getMissionNameInfo( talker, nameinfo);
saacproto_ACMissionTable_send( acfd, MISSION_HERO_COMPLETE, 4, nameinfo, "");
sprintf( msg, " 完成任务 i:%d m:%d %s ", mindex, mission, nameinfo);
print( msg);
LogAngel( msg );
}
}
// 清除召唤任务
if( NPC_Util_GetStrFromStrWithDelim( buf, "MISSIONCLEAN",
buf2, sizeof( buf2)) != NULL)
{
int mindex;
int mission;
char nameinfo[64];
mission = atoi( buf2);
mindex = checkIfAngel( talker);
if( mission == missiontable[mindex].mission )
{
print(" ====清除召唤任务==== ");
getMissionNameInfo( talker, nameinfo);
saacproto_ACMissionTable_send( acfd, mindex, 3, nameinfo, "");
}
}
#endif
}
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);
}
/*--戚矢□斥互丐月桦宁反示正件它奶件玉它及正奶皿毛井尹月--*/
#ifdef _NEWEVENT
#else
if(strstr( buf, "ThanksMsg2") != NULL){
/*仇仇匹霜耨允月*/
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_NEXT,
CHAR_WINDOWTYPE_WINDOWEVENT_ACCTHANK,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}
#endif
break;
#ifdef _NEWEVENT
case 81:
//print(" 81_答应? ");
work = CHAR_getWorkInt( talker, CHAR_WORKSHOPRELEVANTTRD);
work = work % 100;
sprintf(tmp, "ThanksMsg%d", work + 1);
if(work == 0 && strstr(buf, tmp) == NULL)
{
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_ACCTHANKNEW,
CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
token);
else
lssproto_WN_send(fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_OK,
CHAR_WINDOWTYPE_WINDOWEVENT_ACCTHANKNEW,
CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
token);
return;
}
else
{
if(NPC_Util_GetStrFromStrWithDelim(buf, tmp,
buf2, sizeof( buf2)) != NULL)
strcpysafe( token,sizeof( buf2), buf2);
work++;
sprintf(tmp, "ThanksMsg%d", work + 1);
if(strstr(buf, tmp) != NULL)
{
lssproto_WN_send(fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_NEXT,
CHAR_WINDOWTYPE_WINDOWEVENT_ACCTHANKNEW,
CHAR_getWorkInt(meindex, CHAR_WORKOBJINDEX),
token);
return;
}
else
{
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_OK,
CHAR_WINDOWTYPE_WINDOWEVENT_ACCTHANKNEW,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}
}
break;
#endif
case 82:
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_ACCTHANK,
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_ACCTHANK,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
}else{
lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE,
WINDOW_BUTTONTYPE_OK,
CHAR_WINDOWTYPE_WINDOWEVENT_ACCTHANK,
CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),
token);
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -