📄 npc_signboard.c
字号:
#include "version.h"#include <string.h>#include "char.h"#include "object.h"#include "char_base.h"#include "npcutil.h"#include "lssproto_serv.h"#include "readmap.h"// Arminius 8.4 manor#include "family.h"static void NPC_SignBoard_Window( int meindex, int toindex, int num,int select);/******************************************************************/BOOL NPC_SignBoardInit( int meindex ){ char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE]; /*--正奶皿涩烂--*/ CHAR_setInt( meindex , CHAR_WHICHTYPE , CHAR_TYPEMSG ); if(NPC_Util_GetArgStr( meindex, npcarg, sizeof(npcarg))==NULL){ print("GetArgStrErr"); return FALSE; } return TRUE;}/******************************************************************/void NPC_SignBoardLooked( int meindex , int lookedindex){ if( CHAR_getInt( lookedindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) { return; } if( NPC_Util_CharDistance( lookedindex, meindex ) > 1) return; NPC_SignBoard_Window( meindex, lookedindex,0,-1);}static void NPC_SignBoard_Window( int meindex, int toindex, int num,int select){ char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE]; char token[1024]; int fd = getfdFromCharaIndex( toindex); if(NPC_Util_GetArgStr( meindex, npcarg, sizeof(npcarg))==NULL){ print("GetArgStrErr"); return; } // Arminius: manor { char *p,*q; extern struct FM_POINTLIST fmpointlist; p=strstr(npcarg, "%manorid:"); if (p!=NULL) { char tmp[1024]; int a; q=strstr(p+1,"%"); if (q!=NULL) { q[0]='\0'; p[0]='\0'; a=atoi(p+9);#ifdef _FAMILY_MANORNUM_CHANGE // CoolFish 用来修改装园数量 if ((a>=1) && (a<=MANORNUM)) { #else if ((a>=1) && (a<=4)) {#endif getStringFromIndexWithDelim(fmpointlist.pointlistarray[a-1], "|", 5, token, sizeof(token)); if (atoi(token)>=0) { getStringFromIndexWithDelim(fmpointlist.pointlistarray[a-1], "|", 6, token, sizeof(token)); sprintf(tmp,"%s%s%s",npcarg,token,q+1); strcpy(npcarg, tmp); } else { sprintf(tmp,"%s没有任何家族%s",npcarg,q+1); strcpy(npcarg, tmp); } } } } } sprintf(token, " < 看板 >\n%s",npcarg); /*--霜耨--*/ lssproto_WN_send( fd,WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, CHAR_WINDOWTYPE_WINDOWPETSHOP_START, CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token);}/*----------------------------------------- *-------------------------------------------*/void NPC_SignBoardWindowTalked( int meindex, int talkerindex, int seqno, int select, char *data){ if( NPC_Util_CharDistance( talkerindex, meindex ) > 1) { return; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -