亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? npc_fmletter.c

?? 石器時代8.0服務端完整源代碼。可以直接編譯
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "version.h"#include <string.h>#include "char.h"#include "object.h"#include "char_base.h"#include "npcutil.h"#include "configfile.h"#include "lssproto_serv.h"#include "saacproto_cli.h"#include "npc_fmletter.h"#include "family.h"#include "log.h"extern	struct  FM_POINTLIST fmpointlist;char sendbuf[1024];char buf[1024];char subbuf[128];int i, j;/*  * 澀爛今木兇它奴件玉它毛請允NPC * 棵啞  平旦玄失玉矛件民乓□仁日中卅日綜木月井手[ * */ struct	{	int		windowno;	int		windowtype;	int		buttontype;	int		takeitem;	int		giveitem;	char	message[4096];	int		letter;}w;struct	{	BOOL	use;	int		checkhaveitem;	int		checkhaveitemgotowin;	int		checkdonthaveitem;	int		checkdonthaveitemgotowin;	int		warp;	int		battle;	int		gotowin;}buttonproc[13];		/* ok,cancel, yes,no,prev,next 及凜及質   */enum {	CHAR_WORK_MSGCOLOR	= CHAR_NPCWORKINT1,};static void NPC_FmLetter_selectWindow( int meindex, int toindex, int num);static BOOL NPC_FmLetter_readData( int meindex, int windowno, BOOL chkflg);static int NPC_FmLetter_restoreButtontype( char *data );/********************************** 賡渝質  *********************************/BOOL NPC_FmLetterInit( int meindex ){	char	argstr[NPC_UTIL_GETARGSTR_BUFSIZE];	char	buf[1024];	//int		i;	//char	secondToken[1024];		// Robin test	// print(" fmleter_Init ");			NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr));		if( NPC_Util_GetStrFromStrWithDelim( argstr, "conff", buf, sizeof( buf))		== NULL )	{		print( "fmletter:沒有指定設定的檔案 。\n");		return FALSE;	}	/* 賡渝凜卞澀爛犯□正毛民尼永弁仄化支月 */	if( !NPC_FmLetter_readData( meindex, -1, TRUE) ) {		return FALSE;	}		CHAR_setInt( meindex , CHAR_WHICHTYPE , CHAR_TYPEWINDOWMAN );		return TRUE;}/**********************************   仄井仃日木兇凜及質  *********************************/void NPC_FmLetterTalked( int meindex , int talkerindex , char *szMes ,int color ){	//print(" FmLetter_fmindex:%d ", CHAR_getInt( meindex, CHAR_FMINDEX) );		int fmindex = 0, village, i;	char token[256];	char buf[256];	for( i=0 ; i<FMPOINTNUM ; i++ ) {		getStringFromIndexWithDelim(fmpointlist.pointlistarray[i], "|", 9, token, sizeof(token));		village = atoi(token);		if( village == CHAR_getInt( meindex, CHAR_FMINDEX ) ) {			getStringFromIndexWithDelim(fmpointlist.pointlistarray[i], "|", 5, token, sizeof(token));			fmindex = atoi(token);			break;		}	}#ifdef _FMVER21	if( CHAR_getInt( talkerindex, CHAR_FMLEADERFLAG ) == FMMEMBER_LEADER ){}#else#endif 	if( CHAR_getInt( talkerindex, CHAR_FMLEADERFLAG ) == FMMEMBER_LEADER )		NPC_FmLetter_selectWindow( meindex, talkerindex, 1 );	else		//NPC_FmLetter_selectWindow( meindex, talkerindex, 2 );		lssproto_WN_send( getfdFromCharaIndex( talkerindex ), WINDOW_MESSAGETYPE_MESSAGE,			WINDOW_BUTTONTYPE_OK,			-1, -1,			makeEscapeString( "\n只有本莊園的族長才能制作邀請函及同意書!", buf, sizeof(buf)));}/********************************** 葦日木兇凜及質  *********************************/void NPC_FmLetterLooked( int meindex , int lookedindex){	//print(" Look:me:%d,looked:%d ",meindex,lookedindex);	NPC_FmLetter_selectWindow( meindex, lookedindex,1 );	}static void NPC_FmLetter_selectWindow( int meindex, int toindex, int num){	int		fd;	char	buf[256];		/* 皿伊奶乩□卞覆仄化分仃  殺允月 */	if( CHAR_getInt( toindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) {		return;	}	/* ㄠ弘伉永玉動  及心 */	if( !NPC_Util_charIsInFrontOfChar( toindex, meindex, 1 )) return; 	if( !NPC_FmLetter_readData( meindex, num, FALSE) ) {		print( "fmletter:readdata error\n");		return;	}		fd = getfdFromCharaIndex( toindex);	if( fd != -1 ) {		lssproto_WN_send( fd, w.windowtype, 						w.buttontype,						w.windowno+100,						CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),						makeEscapeString( w.message, buf, sizeof(buf)));	}}void NPC_FmLetterWindowTalked( int meindex, int talkerindex, 								int seqno, int select, char *data){			int		button = -1;	char	buf[512];	/* ㄠ弘伉永玉動  及心 */	if( NPC_Util_CharDistance( talkerindex, meindex ) > 1) return;		/* 仇及它奴件玉它  寞及犯□正毛  心  戈 */		if( !NPC_FmLetter_readData( meindex, seqno - 100, FALSE) ) {		print( "fmletter:readdata error\n");		return;	}	/* 瓷仄兇示正件毛譬屯月 */	if( w.windowtype == WINDOW_MESSAGETYPE_SELECT ) {		button = atoi( data)+5;		if( button > 12 ) {			print( "fmletter:invalid button[%d]\n", button);			return;		}	}	else if( select & WINDOW_BUTTONTYPE_OK) button = 0;	else if( select & WINDOW_BUTTONTYPE_CANCEL) button = 1;	else if( select & WINDOW_BUTTONTYPE_YES) button = 2;	else if( select & WINDOW_BUTTONTYPE_NO) button = 3;	else if( select & WINDOW_BUTTONTYPE_PREV) button = 4;	else if( select & WINDOW_BUTTONTYPE_NEXT) button = 5;	else {		print( "fmletter:invalid button[%d]\n", select);		return;	}	if( buttonproc[button].use == TRUE ) {		int	fd;		int	newwin = -1;			fd = getfdFromCharaIndex( talkerindex);				/* 示正件卞方勻化質  毛孔曰歹仃月 */		if( newwin == -1 ) {			newwin = buttonproc[button].gotowin;		}						// Robin		if( newwin == 5 )	{			int	emptyitemindexinchara = CHAR_findEmptyItemBox( talkerindex );			int	itemindex = ITEM_makeItemAndRegist( w.letter );			if( emptyitemindexinchara < 0 )	return;			if( itemindex != -1 ){				char    msgbuf[128];				CHAR_setItemIndex( talkerindex, emptyitemindexinchara, itemindex );				/*  Work犯□正毛澀爛    */				ITEM_setWorkInt(itemindex, ITEM_WORKOBJINDEX,-1);				ITEM_setWorkInt(itemindex, ITEM_WORKCHARAINDEX, talkerindex);				CHAR_sendItemDataOne( talkerindex, emptyitemindexinchara);				LogItem(					CHAR_getChar( talkerindex, CHAR_NAME ), /* 平乓仿   */					CHAR_getChar( talkerindex, CHAR_CDKEY ),#ifdef _add_item_log_name  // WON ADD 在item的log中增加item名稱					itemindex,#else					ITEM_getInt( itemindex, ITEM_ID ),  /* 失奶  丞  寞 */#endif					"AddLetter(制作邀請函)",					CHAR_getInt( talkerindex,CHAR_FLOOR),					CHAR_getInt( talkerindex,CHAR_X ),					CHAR_getInt( talkerindex,CHAR_Y ),					ITEM_getChar( itemindex, ITEM_UNIQUECODE),					ITEM_getChar( itemindex, ITEM_NAME),					ITEM_getInt( itemindex, ITEM_ID)				);				snprintf( msgbuf, sizeof( msgbuf), "制作%s成功\。",					ITEM_getChar( itemindex, ITEM_NAME));				CHAR_talkToCli( talkerindex, -1,msgbuf, CHAR_COLORWHITE);			}		}		// Robin		if( newwin == 6 )	{			int	emptyitemindexinchara = CHAR_findEmptyItemBox( talkerindex );			int	itemindex = ITEM_makeItemAndRegist( w.letter );			if( emptyitemindexinchara < 0 )	return;			if( itemindex != -1 ){				char    msgbuf[128];				CHAR_setItemIndex( talkerindex, emptyitemindexinchara, itemindex );				/*  Work犯□正毛澀爛    */				ITEM_setWorkInt(itemindex, ITEM_WORKOBJINDEX,-1);				ITEM_setWorkInt(itemindex, ITEM_WORKCHARAINDEX, talkerindex);				CHAR_sendItemDataOne( talkerindex, emptyitemindexinchara);				LogItem(					CHAR_getChar( talkerindex, CHAR_NAME ), /* 平乓仿   */					CHAR_getChar( talkerindex, CHAR_CDKEY ),#ifdef _add_item_log_name  // WON ADD 在item的log中增加item名稱					itemindex,#else					ITEM_getInt( itemindex, ITEM_ID ),  /* 失奶  丞  寞 */#endif					"AddLetter(制作邀請函)",					CHAR_getInt( talkerindex,CHAR_FLOOR),					CHAR_getInt( talkerindex,CHAR_X ),					CHAR_getInt( talkerindex,CHAR_Y ),					ITEM_getChar( itemindex, ITEM_UNIQUECODE),					ITEM_getChar( itemindex, ITEM_NAME),					ITEM_getInt( itemindex, ITEM_ID)				);				snprintf( msgbuf, sizeof( msgbuf), "制作%s成功\。",					ITEM_getChar( itemindex, ITEM_NAME));				CHAR_talkToCli( talkerindex, -1,msgbuf, CHAR_COLORWHITE);			}		}						if( !NPC_FmLetter_readData( meindex, newwin, FALSE) ) {			print( "fmletter:readdata error\n");			return;		}				//fd = getfdFromCharaIndex( talkerindex);		if( fd != -1 ) {			lssproto_WN_send( fd, w.windowtype, 							w.buttontype,							w.windowno+100,							CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX),							makeEscapeString( w.message, buf, sizeof(buf)));		}							}}/*  * 澀爛白央奶伙毛  氏匹隙爛今木兇windowno及犯□正毛本永玄允月 *  * 婁醒“ *		meindex		int		仇及NPC及charaindex *		windowno	int		它奴件玉它  寞 *		 */static BOOL NPC_FmLetter_readData( int meindex, int windowno, BOOL chkflg){		int		i;	int		linenum = 0;	int		endflg = FALSE;	int		buttonendflg;	int		winno = -1;	int		buttonconfmode;	int		b_mode;	int		selectnum ;	int		messagepos;	BOOL	errflg = FALSE;	BOOL	readflg = TRUE;	FILE	*fp;	char	argstr[NPC_UTIL_GETARGSTR_BUFSIZE];	char	filename[64];	char	opfile[128];	char	line[1024];	char	firstToken[1024];	char	secondToken[1024];		/* 它奴件玉它及澀爛毛  曰  戈厭瞻   */		NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr));	/* 澀爛白央奶伙  潸   */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产精品亚洲综合| 亚洲最新在线观看| 欧美一级欧美三级| 在线成人免费观看| 日韩久久精品一区| 久久久久久久久伊人| 欧美国产日韩精品免费观看| 国产精品成人免费在线| 亚洲欧美电影一区二区| 一区二区三区四区国产精品| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲欧洲精品一区二区三区不卡| 亚洲色图欧洲色图| 日韩国产成人精品| 狠狠色狠狠色综合系列| 成人精品免费看| 在线日韩国产精品| 日韩视频免费观看高清完整版 | 国内久久精品视频| 岛国精品一区二区| 欧美自拍丝袜亚洲| 亚洲精品在线观| 中文字幕在线不卡一区 | 欧美成人vr18sexvr| 精品电影一区二区| 一区二区在线观看视频在线观看| 午夜不卡av在线| 国产美女精品在线| 91精品福利在线| 亚洲精品在线三区| 夜夜精品视频一区二区| 国模冰冰炮一区二区| 97久久精品人人澡人人爽| 欧美三级电影网站| 国产亚洲一二三区| 日本一道高清亚洲日美韩| 国产91高潮流白浆在线麻豆| 欧美亚洲免费在线一区| 久久香蕉国产线看观看99| 一区二区三区四区av| 国产精品一二一区| 91麻豆精品国产自产在线| 国产精品麻豆视频| 韩国v欧美v日本v亚洲v| 欧美系列一区二区| 国产精品人人做人人爽人人添| 视频在线在亚洲| 色美美综合视频| 国产精品午夜在线观看| 经典三级在线一区| 91麻豆精品国产自产在线| 亚洲精品欧美激情| 国产成人免费视频一区| 日韩精品中午字幕| 婷婷国产在线综合| 欧美自拍偷拍一区| 亚洲一区二区三区影院| www.亚洲国产| 中文字幕日韩av资源站| 国产91精品入口| 日本一区二区视频在线| 国产一区二区三区综合| 91精品久久久久久久91蜜桃| 亚洲成在人线免费| 欧美色图天堂网| 亚洲综合色丁香婷婷六月图片| av一本久道久久综合久久鬼色| 久久九九久久九九| 国产99精品国产| 久久精品夜色噜噜亚洲a∨| 国产中文字幕一区| 精品国产一区二区三区久久影院| 日本不卡一区二区三区高清视频| 欧美日韩综合在线免费观看| 亚洲一区在线观看免费| 欧美日韩大陆在线| 毛片一区二区三区| 欧美成人vps| 国产99一区视频免费| 欧美国产一区二区在线观看| 成人av动漫在线| 亚洲欧美日韩国产另类专区| 色综合天天综合网天天狠天天| 亚洲精品v日韩精品| 欧美专区亚洲专区| 日韩国产高清在线| 久久精品无码一区二区三区| 成人app网站| 亚洲小说欧美激情另类| 91精品欧美一区二区三区综合在| 久久精品国产**网站演员| 欧美成人官网二区| 成人网男人的天堂| 伊人色综合久久天天| 91精品国产综合久久精品麻豆| 久久99精品一区二区三区 | 一区二区免费在线| 91精品国产综合久久精品性色 | 色哟哟国产精品免费观看| 一区二区三区在线高清| 欧美精品 日韩| 成人免费电影视频| 亚洲电影视频在线| 国产午夜精品一区二区三区嫩草| 91亚洲精品乱码久久久久久蜜桃| 亚洲国产日韩一区二区| 久久网站最新地址| 欧美怡红院视频| 国产精品一区不卡| 亚洲国产精品久久一线不卡| 久久欧美中文字幕| 色综合久久久久| 国产高清无密码一区二区三区| 亚洲一二三区不卡| 久久精品一区二区三区不卡牛牛| 欧美亚男人的天堂| 粉嫩一区二区三区在线看| 三级影片在线观看欧美日韩一区二区 | 国产精一区二区三区| 亚洲国产乱码最新视频| 国产日本亚洲高清| 91精品国产色综合久久不卡电影 | 亚洲国产视频a| 日本一区二区不卡视频| 欧美一区二区视频在线观看2020 | 成人97人人超碰人人99| 精品在线播放免费| 日韩黄色免费网站| 一区二区三区四区不卡在线| 中文字幕成人av| 久久天堂av综合合色蜜桃网| 制服丝袜中文字幕亚洲| 欧美日韩一区二区在线视频| 99精品久久久久久| 成人三级伦理片| 国产精品一区二区久久精品爱涩| 免费高清视频精品| 婷婷亚洲久悠悠色悠在线播放| 亚洲欧美日本在线| 中文字幕一区二区三区四区不卡| 久久综合久久综合久久综合| 欧美成人一区二区三区片免费| 欧美日韩第一区日日骚| 欧美视频一区在线| 欧美视频在线一区| 欧美日韩免费观看一区三区| 欧美亚洲动漫另类| 欧美性一区二区| 欧美视频日韩视频在线观看| 日本高清不卡视频| 在线看一区二区| 欧美三级三级三级爽爽爽| 欧美日韩视频在线一区二区| 欧美在线不卡视频| 在线亚洲+欧美+日本专区| 欧美综合色免费| 欧美肥妇free| 精品日韩一区二区| 国产日韩一级二级三级| 国产精品日日摸夜夜摸av| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品三级电影| 中文字幕一区二区三区不卡| 亚洲精品v日韩精品| 丝袜美腿一区二区三区| 蜜桃精品在线观看| 国产99久久久国产精品免费看| 成人av午夜影院| 欧美在线看片a免费观看| 欧美性生活一区| 精品国产一区二区三区久久久蜜月| 久久综合九色综合欧美98 | 精品久久久三级丝袜| 国产欧美一区二区精品仙草咪 | 亚洲不卡一区二区三区| 久久er99精品| 99国产精品久久久久| 欧美日韩高清一区| 欧美激情资源网| 亚洲国产aⅴ成人精品无吗| 捆绑变态av一区二区三区| 国产成人aaaa| 91精品国产综合久久福利| 国产拍欧美日韩视频二区| 一区二区成人在线观看| 国产在线精品一区二区夜色| 99国产精品久久久久| 日韩美女视频一区二区在线观看| 久久久久综合网| 五月天丁香久久| 国产91精品一区二区| 91麻豆精品国产91久久久久| 国产精品午夜春色av| 免费在线成人网| 在线区一区二视频| 日本一区二区高清| 激情五月婷婷综合网| 欧美三级视频在线播放| 欧美国产激情一区二区三区蜜月| 五月开心婷婷久久|