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

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

?? npc_gamblemaster.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "version.h"
#include <string.h>
#include "char.h"
#include "object.h"
#include "char_base.h"
#include "npcutil.h"
#include "lssproto_serv.h"
#include "handletime.h"
#include "readmap.h"
#include "log.h"
#include "npc_eventaction.h"

#ifdef _GAMBLE_ROULETTE

#include "npc_gamblemaster.h"
void defPlayerGold( int meindex, int flg);
void NPC_GAMBLEMASTER_RESET( int meindex);
void Codef_Gold( int meindex, int toindex, int stone, int flg, char *token);
void NPC_GambleRoulette_selectWindow(int meindex,int toindex,int num,int select);

enum
{
	ROULETTE_START=0,
	ROULETTE_SELECT,
	ROULETTE_LOOK,
	ROULETTE_END,
};

enum
{
	roulette1 = 11,	roulette2, roulette3, roulette4, roulette5,	roulette6, roulette7, 
	roulette8, roulette9, roulette10, roulette11, roulette12, roulette13, roulette14,
	roulette15,	roulette16,	roulette17,	roulette18,	roulette19,	roulette20,	

	roulette21 = 41, roulette22, roulette23, roulette24, roulette25,	roulette26,	
	roulette27,	roulette28,	roulette29, roulette30, roulette31, roulette32,
	roulette33,	roulette34,	roulette35,	roulette36,	roulette37,	roulette38,
	roulette39,	roulette40,
	roulette41 = 71, roulette42, roulette43, roulette44, roulette45,

	roulette51 = 101, roulette52=102, roulette53=103,
	roulette61 = 111, roulette62=112,
};

typedef struct tagGambleMaster
{
	int m_fx;
	int m_fy;
	int m_type;	//號碼 
	int m_RG;	//紅綠1 2
	int m_EO;	//單雙1 2
	int m_SI;
	int m_IN;
	char str_type[56];
	int m_nums;
}GambleEndType;
GambleEndType EndTypedef[60]={
{22, 8 , roulette1 , roulette41, roulette43, roulette51, roulette61, "號碼紅1", 0},
{7 , 8 , roulette1 , roulette41, roulette43, roulette51, roulette61, "號碼紅1", 0},
{22, 10, roulette3 , roulette41, roulette43, roulette51, roulette61, "號碼紅3", 0},
{7 , 6 , roulette3 , roulette41, roulette43, roulette51, roulette61, "號碼紅3", 0},
{20, 11, roulette5 , roulette41, roulette43, roulette51, roulette61, "號碼紅5", 0},
{9 , 5 , roulette5 , roulette41, roulette43, roulette51, roulette61, "號碼紅5", 0},
{19, 5 , roulette6 , roulette41, roulette44, roulette53, roulette61, "號碼紅6", 0},
{10, 11, roulette6 , roulette41, roulette44, roulette53, roulette61, "號碼紅6", 0},
{17, 5 , roulette8 , roulette41, roulette44, roulette53, roulette61, "號碼紅8", 0},
{12, 11, roulette8 , roulette41, roulette44, roulette53, roulette61, "號碼紅8", 0},
{16, 5 , roulette9 , roulette41, roulette43, roulette53, roulette61, "號碼紅9", 0},
{13, 11, roulette9 , roulette41, roulette43, roulette53, roulette61, "號碼紅9", 0},
{15, 5 , roulette10, roulette41, roulette44, roulette53, roulette61, "號碼紅10", 0},
{14, 11, roulette10, roulette41, roulette44, roulette53, roulette61, "號碼紅10", 0},
{12, 5 , roulette13, roulette41, roulette43, roulette52, roulette62, "號碼紅13", 0},
{17, 11, roulette13, roulette41, roulette43, roulette52, roulette62, "號碼紅13", 0},
{22, 6 , roulette17, roulette41, roulette43, roulette53, roulette62, "號碼紅17", 0},
{7 , 10, roulette17, roulette41, roulette43, roulette53, roulette62, "號碼紅17", 0},
{22, 5 , roulette18, roulette41, roulette44, roulette52, roulette62, "號碼紅18", 0},
{7 , 11, roulette18, roulette41, roulette44, roulette52, roulette62, "號碼紅18", 0},

{22, 9 , roulette22, roulette42, roulette44, roulette51, roulette61, "號碼綠2", 0},
{7 , 7 , roulette22, roulette42, roulette44, roulette51, roulette61, "號碼綠2", 0},
{21, 11, roulette24, roulette42, roulette44, roulette51, roulette61, "號碼綠4", 0},
{8 , 5 , roulette24, roulette42, roulette44, roulette51, roulette61, "號碼綠4", 0},
{18, 5 , roulette27, roulette42, roulette43, roulette53, roulette61, "號碼綠7", 0},
{11, 11, roulette27, roulette42, roulette43, roulette53, roulette61, "號碼綠7", 0},
{19, 11, roulette31, roulette42, roulette43, roulette51, roulette62, "號碼綠11", 0},
{10, 5 , roulette31, roulette42, roulette43, roulette51, roulette62, "號碼綠11", 0},
{18, 11, roulette32, roulette42, roulette44, roulette51, roulette62, "號碼綠12", 0},
{11, 5 , roulette32, roulette42, roulette44, roulette51, roulette62, "號碼綠12", 0},
{16, 11, roulette34, roulette42, roulette44, roulette52, roulette62, "號碼綠14", 0},
{14, 5 , roulette34, roulette42, roulette44, roulette52, roulette62, "號碼綠14", 0},
{15, 11, roulette35, roulette42, roulette43, roulette52, roulette62, "號碼綠15", 0},
{13, 5 , roulette35, roulette42, roulette43, roulette52, roulette62, "號碼綠15", 0},
{22, 7 , roulette36, roulette42, roulette44, roulette53, roulette62, "號碼綠16", 0},
{7 , 9 , roulette36, roulette42, roulette44, roulette53, roulette62, "號碼綠16", 0},
{21, 5 , roulette39, roulette42, roulette43, roulette52, roulette62, "號碼綠19", 0},
{8 , 11, roulette39, roulette42, roulette43, roulette52, roulette62, "號碼綠19", 0},
{20, 5 , roulette40, roulette42, roulette44, roulette52, roulette62, "號碼綠20", 0},
{9 , 11, roulette40, roulette42, roulette44, roulette52, roulette62, "號碼綠20", 0},
{22,11, roulette45, 0, 0, roulette52, 0, "號碼00"},

{ 7, 5, -1, -1, -1, -1, -1, "號碼X", 0},
{ -1, -1, -1, -1, -1, -1, -1, "無", 0},
};

enum {
	/*
	NPC_WORK_ROUTETOX = CHAR_NPCWORKINT1,
	NPC_WORK_ROUTETOY = CHAR_NPCWORKINT2,
	NPC_WORK_ROUTEPOINT = CHAR_NPCWORKINT3,
*/
	NPC_WORK_NPCAI = CHAR_NPCWORKINT3,
	NPC_WORK_NPCACTION = CHAR_NPCWORKINT3,
	NPC_WORK_MASTERSTONE = CHAR_NPCWORKINT4,
	NPC_WORK_MODE = CHAR_NPCWORKINT5,
	NPC_WORK_SYSTIME = CHAR_NPCWORKINT6,
	NPC_WORK_GAMEFLG = CHAR_NPCWORKINT7,
	NPC_WORK_GAMBLECODE = CHAR_NPCWORKINT8,
	NPC_WORK_MASTERFLG = CHAR_NPCWORKINT9,
	NPC_WORK_ENDPOINT = CHAR_NPCWORKINT10,
};

#define		ROULETTE_ERRTIME	500
#define		ROULETTE_STANDBY1	40
#define		ROULETTE_LOOPTIME	3000

BOOL NPC_Gamble_MasterInit( int meindex )
{
	char	argstr[NPC_UTIL_GETARGSTR_BUFSIZE];
	char	buf1[256];

	if( NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr)) == NULL )	{
		print("\n not found argstr ");
		return FALSE;
	}

	if( NPC_Util_GetStrFromStrWithDelim( argstr, "gamble_code",buf1, sizeof(buf1)) == NULL ) {
		print("\n gamble_code error: not found !!");
		return FALSE;
	}
	CHAR_setWorkInt( meindex, NPC_WORK_GAMBLECODE, atoi( buf1));
	//游戲階段
	CHAR_setWorkInt( meindex, NPC_WORK_GAMEFLG, 0);
	CHAR_setInt( meindex , CHAR_WHICHTYPE , CHAR_GAMBLEMASTER );
	// NPC_WORK_MODE 主持人狀態 0: 等待 1:GAME START 2:GAME END
	CHAR_setWorkInt( meindex, NPC_WORK_MODE, 0);
	CHAR_setWorkInt( meindex, NPC_WORK_MASTERFLG, 30);
	CHAR_setWorkInt( meindex, NPC_WORK_MASTERSTONE, 0);
	CHAR_setWorkInt( meindex, NPC_WORK_NPCAI, 0);
	//設定LOOP TIMER
	CHAR_setInt( meindex, CHAR_LOOPINTERVAL, ROULETTE_LOOPTIME);
	//用來記錄時間點
	CHAR_setWorkInt( meindex, NPC_WORK_SYSTIME, NowTime.tv_sec);
    return TRUE;
}

void NPC_Gamble_MasterTalked( int meindex , int talkerindex , char *szMes , int color )
{
	char argstr[NPC_UTIL_GETARGSTR_BUFSIZE];

	if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ){
    		return;
	}
	if(NPC_Util_isFaceToFace( meindex ,talkerindex , 2) == FALSE) {
		if(NPC_Util_isFaceToChara( talkerindex, meindex, 1) == FALSE) return;
	}

	if( NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr)) == NULL )	{
		print("\n not found argstr ");
		return;
	}
	// 0 選單 11 - 19 規則 21 - 29 積分
	CHAR_setWorkInt(talkerindex , CHAR_WORKSHOPRELEVANT,0);
	NPC_GambleRoulette_selectWindow( meindex, talkerindex, ROULETTE_START, -1 );
}

void NPC_GambleRoulette_selectWindow(int meindex,int toindex,int num,int select)
{
	char npcarg[NPC_UTIL_GETARGSTR_BUFSIZE];
	char buf1[256],buf2[256];
	char token[256];
	int buttontype = 0, windowtype = 0, windowno = 0;
	int fd = getfdFromCharaIndex( toindex);
	int pagenum=0, i;
	windowtype = WINDOW_MESSAGETYPE_MESSAGE;

	if( NPC_Util_GetArgStr( meindex, npcarg, sizeof( npcarg)) == NULL )	{
		print("\n not found npcarg ");
		CHAR_setWorkInt( toindex, CHAR_WORKSHOPRELEVANT,0);
		return;
	}
	switch( num)	{
	case ROULETTE_START:
		i = 1;
		strcpy( token, "\0");
		sprintf( buf2,"%s%d", "gamble_msg0", i);
		while( NPC_Util_GetStrFromStrWithDelim( npcarg, buf2, buf1, sizeof( buf1) ) != NULL )	{
			if( strstr( buf1, "NULL" ) == NULL )	{
				strcat( token , buf1);
				strcat( token, "\n");
			}else	{
				strcat( token, "\n");
			}
			i++;
			sprintf( buf2,"%s%d", "gamble_msg0", i);
		}
	  	windowtype=WINDOW_MESSAGETYPE_SELECT;
	  	windowno = WINDOWTYPE_GAMBLEROULETTE_START; 
		break;
	break;
	case ROULETTE_SELECT:
		//頁 select
		pagenum = CHAR_getWorkInt( toindex , CHAR_WORKSHOPRELEVANT);
		strcpy( token, "\0");
		if( select >= 0 )	{
			sprintf( buf2,"%s%2d", "page_num", select);
			CHAR_setWorkInt( toindex , CHAR_WORKSHOPRELEVANT, select+1);
		}else	{
			sprintf( buf2,"%s%2d", "page_num", pagenum );
			pagenum+=1;
			CHAR_setWorkInt( toindex , CHAR_WORKSHOPRELEVANT, pagenum);
		}
		
		if( NPC_Util_GetStrFromStrWithDelim( npcarg, buf2, token, sizeof( token) ) == NULL )	{
			print("\n error: not found token:%s", token);
			CHAR_setWorkInt( toindex , CHAR_WORKSHOPRELEVANT,0);
			return;
		}

		sprintf( buf2,"%s%2d", "page_num", CHAR_getWorkInt( toindex , CHAR_WORKSHOPRELEVANT));
		if( NPC_Util_GetStrFromStrWithDelim( npcarg, buf2, buf1, sizeof( buf1) ) == NULL )	{
			windowno = WINDOWTYPE_GAMBLEROULETTE_END;
			buttontype = WINDOW_BUTTONTYPE_OK;
		}else	{
			windowno = WINDOWTYPE_GAMBLEROULETTE_SELECT;
			buttontype = WINDOW_BUTTONTYPE_NEXT;
		}
	break;
	case ROULETTE_LOOK:
		{	//顯示時補回積分
			int G_num = CHAR_getInt( toindex, CHAR_GAMBLENUM );

			if( CHAR_getWorkInt( toindex, CHAR_WORKSTAKEFLAG) != FALSE)	{
				for( i=0; i<5; i++)	{
					if( CHAR_getWorkInt( toindex, i+CHAR_WORKSTAKETYPE1) > 0 )
						G_num++;
				}
			}
			if( G_num < 0 ) G_num = 0;
			sprintf( token,"你的游樂場積分為%d。", G_num );
			windowno = WINDOWTYPE_GAMBLEROULETTE_END;
			buttontype = WINDOW_BUTTONTYPE_OK;
		}
		break;
	case ROULETTE_END:
		if( NPC_Util_GetStrFromStrWithDelim( npcarg, "page_endmsg", token, sizeof( token) ) == NULL )	{
			print("\n error: not found end_msg");
			CHAR_setWorkInt( toindex , CHAR_WORKSHOPRELEVANT,0);
			return;
		}

		windowno = WINDOWTYPE_GAMBLEROULETTE_END;
		buttontype = WINDOW_BUTTONTYPE_OK;
	break;
	}

	lssproto_WN_send( fd, windowtype, buttontype, windowno, 
		CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX), token);
}

void NPC_Gamble_MasterWindowTalked( int meindex, int talkerindex, int seqno, int select, char *data)
{
	int pagenum=0;
	
	if( CHAR_getInt( talkerindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ){
    		return;
	}
	if(NPC_Util_isFaceToFace( meindex ,talkerindex , 2) == FALSE) {
		if(NPC_Util_isFaceToChara( talkerindex, meindex, 1) == FALSE) return;
	}    

	switch( seqno )	{
	case WINDOWTYPE_GAMBLEROULETTE_START:
		pagenum = atoi( data);
		if( pagenum == 4 )	{
			NPC_GambleRoulette_selectWindow( meindex, talkerindex, ROULETTE_END, -1 );
		}else	{
			if( pagenum == 3 )	{	//ROULETTE_LOOK
				NPC_GambleRoulette_selectWindow( meindex, talkerindex, ROULETTE_LOOK, -1 );
			}else	{
				pagenum = (pagenum*10)+1;
				NPC_GambleRoulette_selectWindow( meindex, talkerindex, ROULETTE_SELECT, pagenum );
			}
		}
	break;
	case WINDOWTYPE_GAMBLEROULETTE_SELECT:
			NPC_GambleRoulette_selectWindow( meindex, talkerindex, ROULETTE_SELECT, -1 );
	break;
	case WINDOWTYPE_GAMBLEROULETTE_END:
			CHAR_setWorkInt(talkerindex , CHAR_WORKSHOPRELEVANT, 0);
	break;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久www免费人成看片高清| 欧美电影免费观看高清完整版在| 精品久久人人做人人爰| 韩国欧美国产1区| 国产欧美一区二区精品性色超碰| 国产在线视视频有精品| 国产欧美日韩亚州综合| 色综合天天做天天爱| 一区二区三区在线看| 欧美图区在线视频| 美女一区二区久久| 国产欧美日韩一区二区三区在线观看| 青青草国产精品97视觉盛宴| 欧美私人免费视频| 久久99精品国产麻豆不卡| wwwwxxxxx欧美| 成人国产电影网| 亚洲午夜电影在线| 日韩一区二区精品葵司在线| 成人性生交大片免费看中文| 亚洲自拍偷拍麻豆| 久久综合久久综合亚洲| 91原创在线视频| 久久精品国产网站| **欧美大码日韩| 日韩一区二区三区高清免费看看| 国产成人免费在线| 日韩成人精品在线观看| 欧美岛国在线观看| 色噜噜狠狠色综合中国| 国产精品一区二区在线看| 亚洲综合色成人| 久久久久久免费| 欧美日韩视频在线观看一区二区三区 | 亚洲国产一区二区视频| 欧美刺激午夜性久久久久久久| 成人h版在线观看| 亚洲超碰97人人做人人爱| 久久精品一区四区| 4hu四虎永久在线影院成人| 成人黄色a**站在线观看| 免费成人av在线| 亚洲国产人成综合网站| 亚洲国产精品嫩草影院| 国产精品免费网站在线观看| 欧美一区二区视频在线观看2020| 一道本成人在线| 国产资源在线一区| 美女一区二区久久| 99国产精品久| 国产91清纯白嫩初高中在线观看 | 久久综合丝袜日本网| 91精品福利视频| 不卡一区在线观看| 国产剧情在线观看一区二区| 久久精品99国产精品| 午夜精品福利一区二区三区蜜桃| 成人美女视频在线观看18| 五月综合激情日本mⅴ| 国产亚洲综合在线| 欧美老肥妇做.爰bbww视频| 午夜一区二区三区在线观看| 欧美日韩大陆在线| 91久久久免费一区二区| 国产精品视频观看| 色综合久久久久综合体桃花网| 91精品国产91综合久久蜜臀| 欧美一区二区三区在线| 欧美亚洲综合一区| 欧美亚洲精品一区| 一本色道久久综合精品竹菊| 91精品欧美久久久久久动漫| 欧美tk—视频vk| 中文久久乱码一区二区| 99久久精品久久久久久清纯| 色综合色综合色综合色综合色综合 | 7777精品久久久大香线蕉| 久久久久久久久一| 久久综合精品国产一区二区三区| 日韩欧美国产三级电影视频| 91麻豆精品久久久久蜜臀| 青青青伊人色综合久久| 亚洲精品国产精品乱码不99 | 欧美日韩亚洲丝袜制服| 久久综合中文字幕| 亚洲欧美自拍偷拍| 亚洲国产成人av| 亚洲精品成人少妇| 亚洲一区视频在线| 丝袜美腿亚洲色图| 国产一区二区视频在线播放| 亚洲视频小说图片| 亚洲电影一级片| 日韩精品五月天| 裸体歌舞表演一区二区| 岛国精品一区二区| 国产一区二区三区电影在线观看 | 欧美日韩精品一区视频| 在线观看免费成人| 欧美日韩视频在线观看一区二区三区| 久久疯狂做爰流白浆xx| 国产成人精品一区二区三区网站观看| 一区二区三区精品视频| 天堂精品中文字幕在线| hitomi一区二区三区精品| 99视频精品在线| 久久丝袜美腿综合| 亚洲综合免费观看高清完整版 | 成人黄色av网站在线| 97久久精品人人澡人人爽| 欧美高清在线一区二区| 国产精品视频看| 中文字幕在线视频一区| 欧美午夜精品一区| 极品少妇一区二区三区精品视频| 久久精品视频一区| 在线电影院国产精品| 成人av第一页| 捆绑调教美女网站视频一区| 亚洲男人的天堂在线观看| 日韩午夜av一区| 91传媒视频在线播放| 国产精品123区| 日本欧美一区二区在线观看| 国产精品免费视频一区| 日韩美女视频在线| 欧美色综合天天久久综合精品| 东方aⅴ免费观看久久av| 午夜电影网一区| 亚洲卡通动漫在线| 国产欧美日韩亚州综合| 欧美xxxx老人做受| 欧美精品在线观看一区二区| 9色porny自拍视频一区二区| 国产一区二区三区四区五区入口| 午夜电影一区二区三区| 亚洲综合无码一区二区| 亚洲欧美另类久久久精品| 国产日韩欧美激情| 久久影院视频免费| 精品日本一线二线三线不卡 | 国产日韩欧美制服另类| 欧美一二三区精品| 欧美一区二区精品在线| 欧美婷婷六月丁香综合色| 色婷婷综合久久久久中文| 成人av影视在线观看| 成人午夜av影视| 成人小视频在线| zzijzzij亚洲日本少妇熟睡| 高清国产一区二区三区| 国产不卡视频在线播放| 国产成人精品免费网站| 国产成人鲁色资源国产91色综 | 精品视频在线免费看| 色综合色狠狠天天综合色| 91在线播放网址| 欧亚洲嫩模精品一区三区| 色婷婷av一区| 欧美日韩精品一区二区三区蜜桃| 欧美伊人精品成人久久综合97| 欧洲国内综合视频| 777精品伊人久久久久大香线蕉| 欧美欧美午夜aⅴ在线观看| 欧美日韩成人一区| 欧美不卡视频一区| 欧美高清一级片在线观看| 国产精品久久一卡二卡| 亚洲精品乱码久久久久久| 亚洲国产你懂的| 久久99久久99精品免视看婷婷| 国产麻豆精品久久一二三| 成人高清视频在线| 欧美日韩久久久久久| 日韩久久久久久| 国产精品福利av| 日韩精品免费专区| 国产乱对白刺激视频不卡| 91免费在线视频观看| 欧美日韩国产一区| 精品国产乱码91久久久久久网站| 国产区在线观看成人精品| 樱花草国产18久久久久| 丝袜美腿亚洲综合| 国产91色综合久久免费分享| 欧美在线观看视频一区二区三区| 精品日韩一区二区| 亚洲六月丁香色婷婷综合久久| 日本美女一区二区三区| 国产69精品一区二区亚洲孕妇| 欧美亚洲一区二区在线| 欧美精品一区二区三区很污很色的| 国产精品二区一区二区aⅴ污介绍| 亚洲成人一区二区在线观看| 国产成人在线网站| 欧美精品久久久久久久多人混战| 国产欧美日韩在线视频| 奇米色一区二区三区四区| 91原创在线视频| 国产日产欧美一区二区视频|