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

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

?? npc_gamblemaster.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 2 頁
字號:
	return;
}

void NPC_Gamble_MasterLoop( int meindex)
{
	int	objmeindex = -1;
	int full_time;
	//int Master_Stone = 0;
	int timeNum = 0;
	//int time_run=0;
	//int act;
	objmeindex = CHAR_getWorkInt( meindex, CHAR_WORKOBJINDEX);
	switch( CHAR_getWorkInt( meindex, NPC_WORK_MODE )) {
	  case 0:	// 等待
		  full_time = ROULETTE_STANDBY1;
		  timeNum = CHAR_getWorkInt( meindex, NPC_WORK_MASTERFLG );
		  if( ( CHAR_getWorkInt( meindex, NPC_WORK_SYSTIME) + full_time) < NowTime.tv_sec )	{
			  if( timeNum == 30 )	{	//倒數20秒
				//0 null 1 準備 2 跑 3 停
				CHAR_setWorkInt( meindex, NPC_WORK_GAMEFLG, 1);
				showString( meindex, "下注時間剩下20秒。", 0);
			  }else	if( timeNum == 10 )	{	
				  showString( meindex, "standby_msg", 0);	//廣播
				  SetCasinoMap( meindex, 0, 0);	//設定地圖不可下注
			  }else	if( timeNum <= 6 )	{	//開始
				  //0 null 1 準備 2 跑 3 停
				  CHAR_setWorkInt( meindex, NPC_WORK_GAMEFLG, 2);
				  CHAR_setWorkInt( meindex, NPC_WORK_MODE, 1);
				  showString( meindex, "start_msg", 0);	//廣播
			  }
			  CHAR_setWorkInt( meindex, NPC_WORK_MASTERFLG, timeNum - 2 );
		  }
		break;
	  case 1:	// GAME START
		  if( CHAR_getWorkInt( meindex, NPC_WORK_GAMEFLG) == 3 )	{
			  CHAR_setWorkInt( meindex, NPC_WORK_MODE, 2);
		  }
		break;
	  case 2:	// GAME END
			CHAR_setWorkInt( meindex, NPC_WORK_MODE, 3);
			defPlayerGold( meindex , TRUE);	//計算輸贏
			CHAR_setWorkInt( meindex, NPC_WORK_ENDPOINT, 0);
			NPC_MAPCLEANGOLD( meindex , CHAR_getInt( meindex, CHAR_FLOOR ));

			LogGamble(
				CHAR_getChar( meindex, CHAR_NAME ), "master",
				"ROULETTE",	CHAR_getInt( meindex, CHAR_FLOOR),
				CHAR_getInt( meindex, CHAR_X ),
				CHAR_getInt( meindex, CHAR_Y ) ,
				CHAR_getWorkInt( meindex, NPC_WORK_MASTERSTONE), 0, 0, 0, 2
			);
		break;
	  case 3:
		  CHAR_setWorkInt( meindex, NPC_WORK_MODE, 0);
		  CHAR_setWorkInt( meindex, NPC_WORK_GAMEFLG, 0);
		  showString( meindex, "end_msg", 0);	//廣播
		  SetCasinoMap( meindex, 0, 1);	//設定地圖可下注
		  CHAR_setWorkInt( meindex, NPC_WORK_MASTERFLG, 30 );
		  CHAR_setWorkInt( meindex, NPC_WORK_SYSTIME, NowTime.tv_sec);
		break;
	  default:
		  NPC_GAMBLEMASTER_RESET( meindex);
	    break;
	}
}

void defPlayerGold( int meindex , int flg)
{
	int X,Y;
	int endpoint;
	int End_type = 0;
	int toindex=0, i, master_floor;
	int player_type;
	int gamble_num;
	//float def;
	char token[256], buff[256];
	char buf1[56],buf2[56];
	BOOL GAMBLE_YES = FALSE;
	endpoint = CHAR_getWorkInt( meindex, NPC_WORK_ENDPOINT);
	
	X = (endpoint >> 16 );
	Y = (endpoint & 0xffff);

	for( End_type = 0; End_type < arraysizeof(EndTypedef) ; End_type++ )	{
		if( (X == EndTypedef[ End_type].m_fx) && (Y == EndTypedef[ End_type].m_fy ))	{
			break;
		}
	}

	if( End_type == arraysizeof(EndTypedef) )	{
		print("\n\n **********GAMBLE MASTER ERROR !! **************");
		print("\n NOT FOUND : X=%d Y=%d EndTypedef[I] !!", X, Y);
		return;
	}
/*Log=====================================
	{	//記錄用
		FILE *fp;
		int kp=0,pn=0;;
		fp = fopen("./data/npc/roulette/lookgamble.txt","w+");
		if( fp != NULL )	{
			if( EndTypedef[ End_type].m_nums < 10000 )
				EndTypedef[ End_type].m_nums = EndTypedef[ End_type].m_nums+1;
			for( kp=0; kp<arraysizeof( EndTypedef)-1; kp++ )	{
				if( EndTypedef[ kp].m_nums > 0 && EndTypedef[ kp].m_type > 0 )	{
					fprintf( fp," %s 中獎次數 [%d] ", EndTypedef[ kp].str_type, EndTypedef[ kp].m_nums );
					if( (pn+1)%2 == 0 )	{
						fprintf( fp," \n");
					}
					pn ++;
				}
			}
			fclose( fp);
		}
	}
//========================================*/

	if( EndTypedef[ End_type].m_type <= 0 )	{
		showString( meindex, "號碼X,通殺!", 0);
	}else	{
		sprintf( token ,"中獎號碼 : %s ", EndTypedef[End_type].str_type );
		showString( meindex, token, 0 );
	}
	if( EndTypedef[ End_type].m_EO == roulette43 )	{
		sprintf( buf1,"單");
	}else	{
		sprintf( buf1,"雙");
	}
	if( EndTypedef[ End_type].m_RG == roulette41 )	{
		sprintf( buf2,"紅");
	}else	{
		sprintf( buf2,"綠");
	}
	//找在場的人
	toindex = -1;
	master_floor = CHAR_getInt( meindex , CHAR_FLOOR);
	while( toindex < 10000 )	{
		toindex++;
		if( !CHAR_CHECKINDEX( toindex) )
			continue;
		if( CHAR_getInt( toindex , CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER )
			continue;
		if( master_floor != CHAR_getInt( toindex, CHAR_FLOOR ) )	//是否在賭場
			continue;
		if( CHAR_getWorkInt( toindex, CHAR_WORKSTAKEFLAG) == FALSE )	//是否有下注
			continue;
		//是否賭中
		GAMBLE_YES = FALSE;
		CHAR_setWorkInt( toindex, CHAR_WORKSTAKEFLAG, FALSE);
		for( i=0; i<5; i++)	{
			player_type = CHAR_getWorkInt( toindex, i+CHAR_WORKSTAKETYPE1);
			gamble_num = 0;
			if( player_type > 0 )	{
				if( player_type == EndTypedef[End_type].m_type )	{	//中了號碼
					if( EndTypedef[End_type].m_type == roulette45 )	{
						gamble_num += 40;
					}else	{
						gamble_num += 20;
					}
					GAMBLE_YES = TRUE;
					//算錢
					Codef_Gold( meindex, toindex, gamble_num, 0, EndTypedef[End_type].str_type );
				}else if( player_type == EndTypedef[End_type].m_RG )    {	//中了紅綠
					gamble_num += 1;
					GAMBLE_YES = TRUE;
					Codef_Gold( meindex, toindex, gamble_num, 0, buf2 );
				}else if( player_type == EndTypedef[End_type].m_EO )	{	//中了單雙
					gamble_num += 1;
					GAMBLE_YES = TRUE;
					Codef_Gold( meindex, toindex, gamble_num, 0, buf1 );
				}else if( player_type == EndTypedef[End_type].m_SI   )	{	//橫列					
					gamble_num += 2;
					GAMBLE_YES = TRUE;
					sprintf( token,"%s%d", "橫列", EndTypedef[End_type].m_SI-100 );
					Codef_Gold( meindex, toindex, gamble_num, 0, token );
				}else if( player_type == EndTypedef[End_type].m_IN   )	{	//1-10 11-20
					gamble_num += 1;
					GAMBLE_YES = TRUE;
					if( (EndTypedef[End_type].m_IN - 100 ) == 11 )	{
						snprintf( buff, sizeof( buff),"1-10");
					}else if( (EndTypedef[End_type].m_IN - 100 ) == 12 )	{
						snprintf( buff, sizeof( buff),"11-20");
					}
					sprintf( token,"%s%s", "  圍", buff );
					Codef_Gold( meindex, toindex, gamble_num, 0, token );
				}else	{	//沒中	扣積分
					if( (player_type>>16) == EndTypedef[End_type].m_type || 
						(player_type&0xffff) == EndTypedef[End_type].m_type
						)	{	//中雙號
						gamble_num += 10;
						GAMBLE_YES = TRUE;
						sprintf( token,"%s%s", "雙號-", EndTypedef[End_type].str_type );
						Codef_Gold( meindex, toindex, gamble_num, 0, token );
					}else if( player_type > 0 ) {	//72 73 74 75 沒中	扣積分
						strcpy( token, "\0");
						if( player_type >= roulette41 && player_type <= roulette44 )	{	//紅綠單雙
							sprintf( token,"%s", "押注 紅綠單雙 沒中");
						}else if( player_type == roulette45 )	{	//數字00
							sprintf( token,"%s", "押注 數字00 沒中");
						}else if( player_type >= roulette51 && player_type <= roulette53 )	{	//橫列
							sprintf( token,"%s", "押注 橫列 沒中");
						}else if( player_type >= roulette61 && player_type <= roulette62 )	{	//  圍
							sprintf( token,"%s", "押注   圍 沒中");
						}else if( player_type > (1<<16) )	{	//雙號
							sprintf( token,"%s", "押注 雙號 沒中");
						}else	{	//數字
							sprintf( token,"%s", "押注 數字 沒中");
						}
						gamble_num -= 1;
						Codef_Gold( meindex, toindex, gamble_num, 1, token );
					}
				}
			}
			//清空
			CHAR_setWorkInt( toindex, i+CHAR_WORKSTAKETYPE1, 0);
		}
		if( CHAR_getInt( toindex, CHAR_GAMBLENUM) < 0 )	{
			CHAR_setInt( toindex, CHAR_GAMBLENUM, 0 );
		}else if( CHAR_getInt( toindex, CHAR_GAMBLENUM) > 10000 )	{
			CHAR_setInt( toindex, CHAR_GAMBLENUM, 10000 );
		}
		sprintf( token, "你的游樂場積分累計為%d分。", CHAR_getInt( toindex, CHAR_GAMBLENUM));
		CHAR_talkToCli( toindex, meindex, token,  CHAR_COLORYELLOW);

		if( GAMBLE_YES == FALSE )	{
			sprintf( token, "你所有押注都沒中獎!");
			CHAR_talkToCli( toindex, meindex, token,  CHAR_COLORYELLOW);		
            continue;
		}

	}
	return;
}

void Codef_Gold( int meindex, int toindex, int stone,int flg, char *token)
{
	char buf1[256];
	int dnum=-1;
	int Master_gnum=0;
	Master_gnum = CHAR_getWorkInt( meindex, NPC_WORK_MASTERSTONE);
	Master_gnum += stone;
	if( !flg )	{
		sprintf( buf1,"恭喜你中了:%s,可拿得 %d 點積分", token, stone);
		CHAR_talkToCli( toindex, meindex, buf1,  CHAR_COLORYELLOW);
#ifdef _FIX_GAMBLENUM
		stone += 1;	//加上一開始下注扣的積分
#endif
		CHAR_setInt( toindex, CHAR_GAMBLENUM, CHAR_getInt( toindex, CHAR_GAMBLENUM) + stone);

	}else	{
		dnum = stone;
		if( stone < 0 )	{
			dnum = (dnum*(-1));
		}

		sprintf( buf1,"%s,扣 %d 點積分", token, dnum);
		CHAR_talkToCli( toindex, meindex, buf1,  CHAR_COLORYELLOW);
#ifdef _FIX_GAMBLENUM
#else
		CHAR_setInt( toindex, CHAR_GAMBLENUM, CHAR_getInt( toindex, CHAR_GAMBLENUM) + stone);
#endif
	}
	
	LogGamble(
		CHAR_getChar( toindex, CHAR_NAME ),
		CHAR_getChar( toindex, CHAR_CDKEY ),
		"ROULETTE",
		CHAR_getInt( toindex, CHAR_FLOOR),
		CHAR_getInt( toindex, CHAR_X ),
		CHAR_getInt( toindex, CHAR_Y ),
		CHAR_getInt( toindex, CHAR_GOLD),
		stone,
		0,
		CHAR_getInt( toindex, CHAR_GAMBLENUM ),
		1
	);
	
	//紀錄盈虧
	if( Master_gnum > 5000000 )	Master_gnum = 5000000;
	if( Master_gnum < 0 ) Master_gnum = 0;
	CHAR_setWorkInt( meindex, NPC_WORK_MASTERSTONE, Master_gnum);
	return;
}
//重置 錯誤處理
void NPC_GAMBLEMASTER_RESET( int meindex)
{
	//錯誤處理
	print("\n 錯誤處理");
	CHAR_setWorkInt( meindex, NPC_WORK_GAMEFLG, 0);//0 null 1 準備 2 跑
	CHAR_setWorkInt( meindex, NPC_WORK_MODE, 0);
	showString( meindex, "本回合不算!等5分鐘後重新開始?。?quot;, 1);
	NPC_MAPCLEANGOLD( meindex , CHAR_getInt( meindex, CHAR_FLOOR ));
	//defPlayerGold( meindex , FALSE);
	CHAR_setWorkInt( meindex, NPC_WORK_SYSTIME, NowTime.tv_sec + ROULETTE_ERRTIME);
}

#endif



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
夜夜爽夜夜爽精品视频| 精品福利一二区| 成人午夜私人影院| 国产99久久久国产精品免费看| 日韩电影免费在线看| 日日欢夜夜爽一区| 美女一区二区久久| 精品一区二区三区欧美| 国产在线看一区| 成人性生交大片免费看视频在线 | 91亚洲国产成人精品一区二区三| 国产馆精品极品| 91视频xxxx| 欧美日韩免费观看一区三区| 欧美日本精品一区二区三区| 日韩欧美国产三级电影视频| 久久人人爽人人爽| 亚洲人成电影网站色mp4| 亚洲一区二区三区自拍| 日本人妖一区二区| 久久99久久久久久久久久久| 国产又黄又大久久| 色综合一区二区| 日韩欧美黄色影院| 国产精品卡一卡二| 日韩电影在线一区二区三区| 国产精品一区在线观看乱码| 91色乱码一区二区三区| 91精品婷婷国产综合久久性色| 精品欧美黑人一区二区三区| 国产精品国产馆在线真实露脸| 亚洲人成在线观看一区二区| 青娱乐精品视频在线| 国产精品1024| 7777精品伊人久久久大香线蕉完整版| 欧美精品一区二区三区视频| 亚洲美女屁股眼交| 国产精品资源站在线| 成人sese在线| 日韩一区二区视频在线观看| 亚洲国产高清不卡| 日日夜夜精品免费视频| 大白屁股一区二区视频| 欧美美女视频在线观看| 国产精品妹子av| 美女网站一区二区| 在线观看欧美精品| 亚洲国产精品高清| 免费观看成人鲁鲁鲁鲁鲁视频| 99久久精品久久久久久清纯| 精品国产区一区| 午夜日韩在线电影| 91麻豆蜜桃一区二区三区| 欧美精品一区二区不卡| 午夜精品一区二区三区电影天堂| 成人激情免费电影网址| 精品sm捆绑视频| 日韩电影免费一区| 欧美三级三级三级| 一区二区三区在线视频免费| 成人a区在线观看| 久久久美女毛片| 久久精品国产亚洲aⅴ| 欧美日韩一区国产| 亚洲国产cao| 色婷婷激情综合| 亚洲欧洲综合另类| 91丨porny丨在线| 欧美国产日本韩| 高清国产一区二区三区| 欧美国产日韩亚洲一区| 国产·精品毛片| 国产三级精品在线| 懂色中文一区二区在线播放| 2021中文字幕一区亚洲| 国产一区二区在线观看免费| 精品久久久三级丝袜| 毛片基地黄久久久久久天堂| 日韩三级电影网址| 国产美女一区二区三区| 久久久久亚洲蜜桃| 成熟亚洲日本毛茸茸凸凹| 国产精品视频一区二区三区不卡| 成人一道本在线| 18成人在线观看| 在线观看一区二区精品视频| 亚洲妇熟xx妇色黄| 日韩欧美在线综合网| 青青草伊人久久| 精品盗摄一区二区三区| 成人性视频免费网站| 亚洲欧美日韩国产成人精品影院 | 国产精品18久久久久久久网站| 精品久久久久av影院| 久久99在线观看| 欧美国产1区2区| 99久久亚洲一区二区三区青草| 一区二区三区在线观看动漫| 欧洲在线/亚洲| 久久福利资源站| 国产精品久久福利| 欧美精品 日韩| 成人黄色免费短视频| 香港成人在线视频| 日韩一区中文字幕| 欧美性极品少妇| 国产精品自产自拍| 伊人开心综合网| 欧美一区二区三区影视| 不卡av在线网| 日韩1区2区3区| 亚洲欧美日韩在线| 精品国产一区二区三区不卡| 在线观看中文字幕不卡| 国产乱人伦偷精品视频免下载| 亚洲人成亚洲人成在线观看图片| 欧美一级片在线观看| av男人天堂一区| 国内精品不卡在线| 亚洲国产成人tv| 国产精品国产a级| 精品国产91乱码一区二区三区 | 蜜臀精品一区二区三区在线观看| 国产亚洲视频系列| 欧美丰满少妇xxxbbb| 99r国产精品| 国产激情视频一区二区在线观看 | 久久99精品久久久久久国产越南| 中文字幕免费不卡在线| 日韩亚洲欧美成人一区| 在线视频一区二区三区| 成人免费不卡视频| 九九视频精品免费| 丝袜亚洲精品中文字幕一区| 亚洲第一激情av| 亚洲视频小说图片| 国产精品久久综合| 久久蜜桃一区二区| 精品国产不卡一区二区三区| 日韩丝袜情趣美女图片| 在线成人av网站| 欧美人体做爰大胆视频| 欧美视频精品在线观看| 一本大道久久a久久综合| 国产不卡一区视频| 国产福利视频一区二区三区| 九九九精品视频| 精品一区二区三区免费观看| 免费成人av资源网| 激情综合色综合久久| 美女视频免费一区| 久久99精品久久久久| 国内精品在线播放| 国产一区免费电影| 国产成人啪免费观看软件| 国产乱码精品一区二区三区忘忧草| 奇米影视在线99精品| 麻豆国产一区二区| 国产乱一区二区| eeuss鲁片一区二区三区在线看| 成人aa视频在线观看| 色诱视频网站一区| 欧美日韩国产免费一区二区| 欧美日本一区二区三区| 精品嫩草影院久久| 国产精品人妖ts系列视频| 国产精品情趣视频| 亚洲免费三区一区二区| 亚洲不卡在线观看| 精品夜夜嗨av一区二区三区| 国模一区二区三区白浆| 国产a级毛片一区| 色综合天天天天做夜夜夜夜做| 欧洲精品在线观看| 91精品国产综合久久香蕉麻豆| 精品久久久久一区二区国产| 久久久久久麻豆| 亚洲一区二区三区爽爽爽爽爽| 日韩和欧美一区二区三区| 极品少妇xxxx偷拍精品少妇| 99久久精品久久久久久清纯| 宅男噜噜噜66一区二区66| 久久影院午夜片一区| 最新高清无码专区| 日韩精品一级中文字幕精品视频免费观看| 三级影片在线观看欧美日韩一区二区 | 日韩一区二区三区av| 国产欧美久久久精品影院| 一区二区三区免费网站| 蜜臀av一级做a爰片久久| 成人精品免费看| 精品视频在线免费看| 中文字幕av一区二区三区高| 午夜精品福利在线| 亚洲欧美日韩在线| 蜜桃av噜噜一区| 97超碰欧美中文字幕| 精品美女一区二区| 艳妇臀荡乳欲伦亚洲一区| 国产v综合v亚洲欧|