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

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

?? npc_roomadminnew.c

?? 石器時代8.0服務端完整源代碼??梢灾苯泳幾g
?? C
?? 第 1 頁 / 共 3 頁
字號:
#include "version.h"

#include <stdio.h>
#include <time.h>
#include <string.h>
#include <unistd.h>
#include <math.h>

#include "object.h"
#include "char.h"
#include "char_base.h"
#include "char_data.h"
#include "net.h"
#include "npcutil.h"
#include "handletime.h"
#include "readmap.h"
#include "npc_roomadminnew.h"
#include "npc_door.h"


/* 
 * 尕  遣支今氏 By Kawata
 *
 * 酷    汔卞  凳及啃踏五  仄兇  互鍍中午  丹及匹踏五卅云仄
 */


enum{
	/* 左□弁撲亦件  區 */
	CHAR_WORKINT_RANGE     = CHAR_NPCWORKINT1,
	/* 戚及蠡濠凜棉 */
	CHAR_WORKINT_NEXTTIME  = CHAR_NPCWORKINT2,
	/*   憎迕>蠡濠"坌蟆= */
	CHAR_WORKINT_PRINTCLOSETIME = CHAR_NPCWORKINT3,
	/*   盒腹綢仄兇  尥 */
	CHAR_WORKINT_SEARCHROOMTIME = CHAR_NPCWORKINT4,
	
};
enum {
	/* 憤坌及  蟆 */
	CHAR_WORKCHAR_MYNAME   = CHAR_NPCWORKCHAR1,
	/* 戚及  瘀 */
	CHAR_WORKCHAR_NEXTROOM = CHAR_NPCWORKCHAR2,
	
};

/* 仿件平件弘  憎      迕伐□弁*/
enum {
	/* 棟  諦及  蟆 */
	CHAR_WORKCHAR_ADMNAME = CHAR_NPCWORKCHAR1,
};


/* 犯□正白央奶伙毛傘  允月犯奴伊弁玄伉[ls2/src/lss 井日及鍬覆隙爛 */
#define     NPC_ROOMADMINNEW_DATADIR        "roomadmin/"
/* 犯□正白央奶伙及傀艦閡 */
#define     NPC_ROOMADMINNEW_EXTENSION      ".room"
/* 仿件平件弘犯□正白央奶伙及傀艦閡    件禾仿伉   */
#define     NPC_ROOMADMINNEW_RANKING_EXTENSION      ".score"
#define     NPC_ROOMADMINNEW_RANKING_EXTENSION_TMP  ".score.tmp"
/*   嫖  誑樊仿件平件弘白央奶伙 */
#define     NPC_ROOMADMINNEW_SCOREFILE      ".score"
/* 蠡戶濠曰"坌蟆井日丟永本□斥 */
#define     NPC_ROOMADMINNEW_PRINTCLOSETIME_DEFAULT     5

#define     NPC_ROOMADMINNEW_MSG_CLOSE_BEFORE       \
"%s %s %s的活動,截止日%d分前。"
#define     NPC_ROOMADMINNEW_MSG_CLOSE              \
"。。。已截止。"
#define     NPC_ROOMADMINNEW_MSG_NONE               \
"很可惜本次沒有人獲得房間的擁有權。"
#define     NPC_ROOMADMINNEW_MSG_CONGRATULATION     \
"恭喜您!%s獲得房間的所有權!%s的金錢全部被徵收了。%s請向管理員詢問房間暗號。"
#define     NPC_ROOMADMINNEW_MSG_PRINTPASSWD_NONE    \
"由於你未持有房間因此沒有暗號。"
#define     NPC_ROOMADMINNEW_MSG_DSPPASSWD1          \
"你的房間是 %s %s %s。"
#define     NPC_ROOMADMINNEW_MSG_DSPPASSWD2          \
"房間的暗號是 「%s 」。只要在對著門說話時在與尾加上「...」,別人就看不見了??!"
#define     NPC_ROOMADMINNEW_MSG_DSPNEXTAUCTION_NONE        \
"本日的活動結束。"
#define     NPC_ROOMADMINNEW_MSG_DSPNEXTAUCTION1     \
"接下來的房間是 %s %s %s。"
#define     NPC_ROOMADMINNEW_MSG_DSPNEXTAUCTION2     \
"截止日是 %d:%d 。到截止日為止還有%2d小時%02d分。"
#define     NPC_ROOMADMINNEW_MSG_DSPNEXTAUCTION3     \
"最低得標金額是 %s 。"

#define     NPC_ROOMADMINNEW_MSG_RANKING_INFO       \
"這是高額得標者排行榜。"
#define     NPC_ROOMADMINNEW_MSG_RANKING            \
"Rank %2d:%4d/%02d/%02d %8d GOLD %s%s "

/* 仇及NPC及丟永本□斥縉 */
#define     NPC_ROOMADMINNEW_MSGCOLOR           CHAR_COLORWHITE
#define     NPC_RANKING_MSGCOLOR                CHAR_COLORWHITE
#define		NPC_ROOMADMINNEW_2WEEK				60*60*24*14

static void NPC_RoomAdminNew_DspNextAuction( int meindex, int talkerindex);
static void NPC_RoomAdminNew_DspRoomPasswd( int meindex, int adminindex, int talkerindex);
static BOOL NPC_RoomAdminNew_SetNextAuction( int meindex);
static BOOL NPC_RoomAdminNew_WriteDataFile( int meindex, int pindex, char *roomname,
											char *passwd, BOOL flg);
static void NPC_RoomAdminNew_CreatePasswd( char *passwd, int passlen);
static void NPC_RoomAdminNew_SendMsgThisFloor( int index, char *buff);
static int NPC_RoomAdminNew_SearchPlayerHasMostMoney( int meindex);
static void NPC_RoomAdminNew_CloseProc( int meindex);
static int NPC_RoomAdminNew_WriteScoreFile( int meindex, int pindex);
static void NPC_RoomAdminNew_ReadScoreFile( int meindex, int talkerindex, 
											char *admname);

/************************************************
 * 賡渝質  
 ************************************************/
BOOL NPC_RoomAdminNewInit( int meindex )
{
	int     i;
	char    buf[256];
	char    argstr[NPC_UTIL_GETARGSTR_BUFSIZE];
	
	/* 憤坌及棟喱及蟈  及玉失互請  曉互月引匹仇及NPC反綜岳今木卅中 */
	for( i = 3; ; i ++ ) {
		if( getStringFromIndexWithDelim(argstr, "|" , i , buf,sizeof(buf) )) {
			if( NPC_DoorSearchByName( buf) < 0 ) {
				print( "admin not created.在密碼門做好之前先等待。\n");
				return FALSE;
			}
		}
		else{ 
			break;
		}
	}
	
	NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr));
	
	/* 賡渝祭質   */
	
	/* type本永玄 */
	CHAR_setInt( meindex, CHAR_WHICHTYPE, CHAR_TYPEROOMADMIN);
	/*   躲  區潸   */
	getStringFromIndexWithDelim(argstr, "|" , 1 , buf,sizeof(buf) );
	CHAR_setWorkInt( meindex , CHAR_WORKINT_RANGE , atoi( buf ));
	/* 憤坌及  蟆潸   */
	if( !getStringFromIndexWithDelim(argstr, "|" , 2 , buf,sizeof(buf) )) {
		print( "arg err.admin not created.\n");
		return( FALSE);
	}
	CHAR_setWorkChar( meindex , CHAR_WORKCHAR_MYNAME , buf);
	
	/*   憎迕>蠡濠"坌蟆=賡渝祭 */
	CHAR_setWorkInt( meindex, CHAR_WORKINT_PRINTCLOSETIME, 0);
	
	/* 戚及  瘀午左□弁撲亦件釩瘍凜棉毛本永玄 */
	NPC_RoomAdminNew_SetNextAuction( meindex);
	
	return TRUE;
}
/************************************************
 * 伙□皿質  
 * 裟太請仄  蘸反公氏卅卞    匹卅仁化手中中[
 * 匹手濮覆卞ㄠ坌    卞允月儀
 ************************************************/
void NPC_RoomAdminNewLoop( int meindex )
{
	int     hun;
	/* 手仄手釩瘍凜棉互瑁引勻化中卅井勻兇日潸  仄卅云允 */
	if( CHAR_getWorkInt( meindex, CHAR_WORKINT_NEXTTIME) == 0 ) {
		/* 蟆莢腹綢仄兇  互啜尹壬腹綢仄卅云允 */
		struct  tm      tm1,tm2;
		time_t          t;
		memcpy( &tm1, localtime( (time_t *)&NowTime.tv_sec), sizeof( tm1));
		t = CHAR_getWorkInt( meindex, CHAR_WORKINT_SEARCHROOMTIME);
		memcpy( &tm2, localtime( &t), 
								sizeof( tm2));
		if( tm1.tm_year != tm2.tm_year ||
			tm1.tm_mday != tm2.tm_mday ||
			tm1.tm_mon != tm2.tm_mon )
		{
			NPC_RoomAdminNew_SetNextAuction( meindex);
		}
		return;
	}
	
	hun = ceil((double)(CHAR_getWorkInt( meindex, CHAR_WORKINT_NEXTTIME) - 
		   NowTime.tv_sec) / 60.0);
	/* 手仄手及凜及啃卞hun互穴奶瓜旦及凜反ㄟ卞  允 */
	if( hun < 0 ) hun = 0;
	
	if( hun < NPC_ROOMADMINNEW_PRINTCLOSETIME_DEFAULT ) {
		/* 蠡戶濠曰嗤仁卞卅勻兇日>蠡戶濠曰"坌蟆匹允=午蛻歹允 */
		if( hun != CHAR_getWorkInt( meindex, CHAR_WORKINT_PRINTCLOSETIME)) {
			char    buff[256];
			if( hun != 0 ) {
				char    buf2[1024];
				char	msgbuff[16];
				char    argstr2[NPC_UTIL_GETARGSTR_BUFSIZE];
				int		doorindex;

				/*   盒樹  潸   */
				doorindex = NPC_DoorSearchByName( CHAR_getWorkChar( meindex, CHAR_WORKCHAR_NEXTROOM));
				NPC_Util_GetArgStr( doorindex, argstr2, sizeof( argstr2));
				getStringFromIndexWithDelim( argstr2, "|" , 9 , 
											 buf2,sizeof(buf2) );
				/*   盒樹  */
				if( strlen(CHAR_getChar( doorindex, CHAR_NAME) ) != 0 ) {
					strcpy( msgbuff, "號室");
				}
				else {
					msgbuff[0] = '\0';
				}
				/* >蠡戶濠曰"坌蟆匹允= */
				snprintf( buff, sizeof(buff), 
							NPC_ROOMADMINNEW_MSG_CLOSE_BEFORE, 
							buf2,
							CHAR_getChar( doorindex, CHAR_NAME),
							msgbuff,
							hun);
				
				CHAR_setWorkInt( meindex, CHAR_WORKINT_PRINTCLOSETIME, hun);
			}
			else {
				/* >蠡戶濠曰引仄兇= */
				strcpy( buff, NPC_ROOMADMINNEW_MSG_CLOSE);
				CHAR_setWorkInt( meindex, CHAR_WORKINT_PRINTCLOSETIME, 0);
			}
			/* 仇及白夫失卞中月諦蟈夠卞霜耨 */
			NPC_RoomAdminNew_SendMsgThisFloor( meindex, buff);
		}
	}
	/* 蠡戶濠勻兇凜及質   */
	if( hun == 0 ) {
		NPC_RoomAdminNew_CloseProc( meindex);
	}
}

/************************************************
 *   仄井仃日木兇凜及質  
 ************************************************/
void NPC_RoomAdminNewTalked( int meindex , int talkerindex , char *msg ,
							 int color )
{
	
	/* 皿伊奶乩□互玉失穴件及1弘伉永玉動  卅日  殺允月[ */
	if(NPC_Util_CharDistance( talkerindex, meindex ) > 1)return;
	
	/*   仄井仃日木兇諦互  盒毛歐曰化中兇日由旦伐□玉毛  憎允月 */
	/*NPC_RoomAdminNew_DspRoomPasswd( meindex, talkerindex);*/
	
	/* 戚莢釩瘍凜棉]  盒毛蛻丹 */
	NPC_RoomAdminNew_DspNextAuction( meindex, talkerindex);
}
/*-----------------------------------------------
 * 蠡戶濠日木兇凜及質  
 *----------------------------------------------*/
static void NPC_RoomAdminNew_CloseProc( int meindex)
{
	int     pindex;
	char    buff[256];
	char    pname[32];
	int     failed = TRUE;
	
	/* 域  云嗯毛聶仁  勻化中月皿伊奶乩□毛繭允 */
	pindex = NPC_RoomAdminNew_SearchPlayerHasMostMoney( meindex);
	/* 竟癲樊失伉 */
	if( pindex != -1) {
		/* ㄠ莢匹  仃月伙□皿匹允 */
		while( 1) {
			char    passwd[9];
			int		doorindex;
			doorindex = NPC_DoorSearchByName( 
							CHAR_getWorkChar( meindex, CHAR_WORKCHAR_NEXTROOM));
			/* 由旦伐□玉毛戲岳允月 */
			NPC_RoomAdminNew_CreatePasswd( passwd, sizeof( passwd));
			/* 白央奶伙卞仇及諦及    平□]平乓仿  ]  盒  ]由旦毛踏五  戈 */
			if( NPC_RoomAdminNew_WriteDataFile( meindex, pindex,
							CHAR_getWorkChar( meindex, CHAR_WORKCHAR_NEXTROOM),
												passwd, 1)
				== FALSE) 
			{
				break;
			}
			/* 玉失卞由旦毛本永玄 */
			if( NPC_DoorSetPasswd( doorindex, passwd) == -1 ) {
				break;
			}
			/*   躲渝蜃毛本永玄 */
			CHAR_setWorkInt( doorindex, CHAR_WORKDOOREXPIRETIME, 
							CHAR_getWorkInt( meindex, CHAR_WORKINT_NEXTTIME)
							+ NPC_ROOMADMINNEW_2WEEK);
			/*   誑樊仿件平件弘民尼永弁↓白央奶伙踏五  心 */
			NPC_RoomAdminNew_WriteScoreFile( meindex, pindex);

			CHAR_setInt( pindex, CHAR_GOLD, 0);

			CHAR_send_P_StatusString( pindex , CHAR_P_STRING_GOLD);
			
			/* 云戶匹午丹″丟永本□斥 */
			strcpy( pname, CHAR_getChar( pindex, CHAR_NAME));
			snprintf( buff, sizeof(buff), 
						NPC_ROOMADMINNEW_MSG_CONGRATULATION, pname, pname, pname);
			failed = FALSE;
			break;
		}
	}
	
	/* 竟癲樊瓜撲引兇反質  撩  及凜 */
	if( failed) {
		/* 白央奶伙井日仇及  盒及樹  毛壅允 */
		NPC_RoomAdminNew_WriteDataFile( meindex, -1,
					CHAR_getWorkChar( meindex, CHAR_WORKCHAR_NEXTROOM),
										NULL, 0);
		/* 竟癲樊反中引六氏丟永本□斥 */
		snprintf( buff, sizeof(buff), 
				NPC_ROOMADMINNEW_MSG_NONE);
	}
	/* 仇及白夫失卞中月諦蟈夠卞霜耨 */
	NPC_RoomAdminNew_SendMsgThisFloor( meindex, buff);
	
	/* 戚及  瘀午左□弁撲亦件釩瘍凜棉毛本永玄 */
	NPC_RoomAdminNew_SetNextAuction( meindex);
	
}
/*-----------------------------------------------
 * 域  云嗯毛聶仁  勻化中月皿伊奶乩□毛繭允
 *----------------------------------------------*/
static int NPC_RoomAdminNew_SearchPlayerHasMostMoney( int meindex)
{
	int     i,j, range;
	int     fl,x,y, gold;
	int     doorindex;
	int     topindex;
	
	fl = CHAR_getInt( meindex, CHAR_FLOOR);
	x  = CHAR_getInt( meindex, CHAR_X);
	y  = CHAR_getInt( meindex, CHAR_Y);
	range = CHAR_getWorkInt( meindex , CHAR_WORKINT_RANGE);
	topindex = -1;
	
	/*   盒及  蟆井日  斕  誑嗯喊毛譬屯月 */
	doorindex = NPC_DoorSearchByName( CHAR_getWorkChar( meindex, 
														CHAR_WORKCHAR_NEXTROOM));
	gold = atoi( CHAR_getWorkChar( doorindex, CHAR_WORKDOORGOLDLIMIT));
	/*   區  卞中月平乓仿及醒毛譬屯月 */
	for( i = x-range ; i <= x+range ; i++ ){
		for( j = y-range ; j <= y+range ; j ++ ){
			OBJECT  object;
			for( object = MAP_getTopObj( fl, i,j); object; 
				 object = NEXT_OBJECT(object) ) 
			{
				int objindex = GET_OBJINDEX( object);
				if( OBJECT_getType(objindex) == OBJTYPE_CHARA ){
					int     index;
					index = OBJECT_getIndex(objindex);
					if( CHAR_getInt( index,
								 CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER )
					{
						if( CHAR_getInt( index, CHAR_GOLD) >= gold ) {
							if( topindex == -1 ) {
								topindex =  index;
							}
							else {
								/* 玄永皿及諦午云嗯  勝 */
								int nowgold,topgold;
								nowgold = CHAR_getInt( index, CHAR_GOLD );
								topgold = CHAR_getInt( topindex, CHAR_GOLD);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产日韩在线观看| 91精品在线一区二区| 国产精品日韩成人| 91丨九色丨黑人外教| 亚洲精选视频免费看| 欧美日韩亚洲高清一区二区| 人人狠狠综合久久亚洲| 久久精品日产第一区二区三区高清版| 国产电影一区在线| 一区二区三区不卡视频| 91精品国产福利在线观看| 久久精品国产亚洲高清剧情介绍| 国产欧美精品一区aⅴ影院| 色综合一个色综合亚洲| 人人超碰91尤物精品国产| 国产婷婷色一区二区三区在线| 成人黄页毛片网站| 亚洲高清免费一级二级三级| 日韩你懂的在线观看| www.亚洲人| 奇米在线7777在线精品| 国产精品久久久爽爽爽麻豆色哟哟| 91久久国产综合久久| 久久精品国产77777蜜臀| 国产欧美日韩另类视频免费观看 | 久久国产精品72免费观看| 国产人妖乱国产精品人妖| 一本久道中文字幕精品亚洲嫩| 欧美aaa在线| 国产精品热久久久久夜色精品三区| 日本道免费精品一区二区三区| 加勒比av一区二区| 夜夜爽夜夜爽精品视频| 国产女同性恋一区二区| 欧美精品久久99| bt7086福利一区国产| 麻豆精品蜜桃视频网站| 亚洲人成在线播放网站岛国| 精品不卡在线视频| 欧美日韩一区二区在线观看视频| 国产成人在线色| 蜜桃av一区二区在线观看 | 欧美三级日韩三级国产三级| 国产福利电影一区二区三区| 日韩在线一区二区三区| 亚洲男人天堂一区| 日本一区二区动态图| 欧美喷水一区二区| 色爱区综合激月婷婷| 成人精品电影在线观看| 老司机午夜精品| 日韩精品五月天| 一级中文字幕一区二区| 国产精品麻豆99久久久久久| 26uuu精品一区二区| 欧美高清dvd| 欧美日韩欧美一区二区| 一本色道久久综合精品竹菊| 成人精品鲁一区一区二区| 久久国产免费看| 蜜桃av一区二区三区电影| 天天综合天天综合色| 亚洲激情中文1区| 亚洲欧美日韩综合aⅴ视频| 国产精品麻豆网站| 国产精品天干天干在线综合| 久久久久久久av麻豆果冻| 日韩欧美你懂的| 欧美成人a在线| 欧美精品一区二区三区蜜桃| 欧美成人vr18sexvr| 精品人在线二区三区| 精品国产欧美一区二区| 日韩限制级电影在线观看| 日韩欧美高清在线| 精品免费99久久| 久久久亚洲午夜电影| 久久久蜜臀国产一区二区| 国产亚洲婷婷免费| 亚洲国产成人自拍| 自拍av一区二区三区| 一区二区三区视频在线看| 亚洲电影你懂得| 日韩精品视频网站| 国内一区二区在线| 国产成人亚洲精品狼色在线 | 国产一区999| 福利电影一区二区三区| 99视频超级精品| 在线精品视频一区二区三四| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 一区二区三区国产精华| 性做久久久久久免费观看| 日本vs亚洲vs韩国一区三区二区 | 欧美精品乱码久久久久久按摩| 91麻豆精品国产无毒不卡在线观看| 欧美一区二区成人| 久久这里只精品最新地址| 日韩一区中文字幕| 天堂久久久久va久久久久| 激情综合网av| 91免费国产视频网站| 欧美军同video69gay| 国产亚洲成年网址在线观看| 亚洲女人小视频在线观看| 强制捆绑调教一区二区| 成人激情视频网站| 欧美日韩国产区一| 国产日韩欧美亚洲| 午夜精品一区二区三区电影天堂| 久久99精品视频| 色综合久久天天| 欧美成人精品3d动漫h| 亚洲天堂免费在线观看视频| 日韩和欧美一区二区三区| 国产成人精品aa毛片| 欧美视频在线一区| 国产婷婷精品av在线| 午夜精品免费在线| 播五月开心婷婷综合| 欧美一级片在线看| 亚洲精品一二三区| 国产一区欧美日韩| 欧美日韩在线三区| 国产精品久久久爽爽爽麻豆色哟哟| 日韩成人av影视| 91美女片黄在线观看| 精品福利一区二区三区| 亚洲成人av中文| av一区二区三区在线| 精品福利在线导航| 婷婷亚洲久悠悠色悠在线播放| 99国产一区二区三精品乱码| 精品国产乱码久久久久久影片| 亚洲国产综合色| 97精品久久久久中文字幕| 久久久国产精品麻豆| 日产国产高清一区二区三区| 色呦呦日韩精品| 国产精品天天摸av网| 黑人巨大精品欧美一区| 3d动漫精品啪啪一区二区竹菊| 亚洲三级免费观看| 成人美女在线观看| 久久久亚洲午夜电影| 麻豆国产精品一区二区三区| 欧美日韩中文国产| 一级做a爱片久久| 91福利精品视频| 亚洲另类春色校园小说| jiyouzz国产精品久久| 国产精品全国免费观看高清| 久久www免费人成看片高清| 欧美一区二区高清| 奇米四色…亚洲| 欧美精品在线视频| 亚洲成年人网站在线观看| 在线观看中文字幕不卡| 日韩一区在线免费观看| 99精品欧美一区二区三区综合在线| 久久精品一区二区三区不卡| 国产乱人伦偷精品视频不卡| 久久亚洲精华国产精华液| 国产一区二区三区不卡在线观看| 精品国产免费人成在线观看| 精品一区二区成人精品| 日韩欧美成人激情| 久久99精品国产.久久久久久| 精品国精品国产尤物美女| 国内精品免费在线观看| 久久综合色婷婷| 高清不卡在线观看| 亚洲欧美区自拍先锋| 91久久国产最好的精华液| 亚洲1区2区3区视频| 欧美一区二区三区视频在线观看| 美女视频一区二区| 26uuu亚洲婷婷狠狠天堂| 大桥未久av一区二区三区中文| 国产精品国产馆在线真实露脸| 91最新地址在线播放| 亚洲成人精品一区| 精品日韩一区二区三区| 成人久久18免费网站麻豆| 亚洲免费观看视频| 欧美一区二区三区系列电影| 国产精品一区二区久久不卡 | 秋霞电影网一区二区| ww久久中文字幕| 91日韩精品一区| 日韩不卡一二三区| 国产午夜精品福利| 欧美亚洲自拍偷拍| 欧美aⅴ一区二区三区视频| 国产亚洲欧美在线| 在线观看一区日韩| 韩国欧美国产一区| 一区二区三区美女视频| 日韩精品一区在线| 91视频免费看|