Code:
	Include("\\script\\missions\\citywar_global\\head.lua");
Include("\\script\\missions\\citywar_city\\head.lua");
Include("\\script\\missions\\clearskill\\clearhole.lua");
Include("\\script\\task\\tollgate\\messenger\\wagoner.lua");  --ÌØÊâÐÅʹµØÍ¼
Include("\\script\\task\\newtask\\map_index.lua"); -- ÓÃÓÚ»ñÈ¡ÈÎÎñÁ´µØÍ¼µÄÐÅÏ¢
Include("\\script\\task\\tollgate\\messenger\\wagoner.lua") --ÓÃÓÚÁ¬½ÓÌØÊâÐÅʹÈÎÎñµÄ½Å±¾
Include("\\script\\global\\judgeoffline_special.lua")	--ÓÃÓÚÎÞÃû¹È¡ª¡ªÍйܷþÎñÆ÷µØÍ¼
Include("\\script\\activitysys\\g_activity.lua")
Include("\\script\\dailogsys\\g_dialog.lua")
Include("\\script\\activitysys\\playerfunlib.lua")
Include("\\script\\event\\zhongqiu_jieri\\200909\\rongshu\\head.lua")
Include("\\script\\event\\great_night\\great_night_head.lua")	--Ë«Áú¶´»Æ½ðÖ®ºË
--§iÒu chØnh reset 5h ch¬i - Modified by DinhHQ - 20110630
Include("\\script\\vng_feature\\challengeoftime\\npcNhiepThiTran.lua")
szStationOp = 
	{
		"Nh÷ng n¬i ®· ®i qua/WayPointFun", 		-- 1
		"Nh÷ng thµnh thÞ ®· ®i qua/StationFun",		-- 2
		"Trë l¹i ®Þa ®iÓm cò/TownPortalFun", 	-- 3
		"§i Hoa S¬n c¶nh kü trêng/go_HSBattle", 	-- 4
		"§i c«ng thµnh chiÕn trêng/GoCityWar",			-- 5
		"§i c«ng thµnh huÊn luyÖn chiÕn trêng/GoDemoWar",		-- 6
		"§i ®¶o tÈy tñy/GotoClearSkillMap",	-- 7
		"§i ®Õn n¬i lµm nhiÖm vô d· tÈu/tl_moveToTaskMap",			-- 8
		"§i tíi n¬i lµm nhiÖm vô tÝn sø/messenger_wagoner",      -- 9
		--"È¥ÎÞÃû¹È/GotoAnonymVale"			--10
	};
function return_1()
	return 1
end
function return_0()
	return 0
end
-- ¶ÔÓ¦ÉϸöÊý×éµÄÌõ¼þÅжÏ
aryCondition = {
	[1] = {checkState = return_1},     -- ¢·¾µÄµØ·½
	[2] = {checkState = return_1},     -- ¢·¾µÄ³ÇÊÐ
	[3] = {checkState = return_1},     -- ·µ»ØµÄµØµã
	[4] = {checkState = return_1},     -- È¥»ªÉ½¾º¼¼³¡
	[5] = {checkState = function()                      -- È¥¹¥³ÇÕ½³¡
				return (WhichWarBegin()~= 0 and 1) or 0;
		   end;
		  },
	[6] = {checkState = function()                      -- È¥¹¥³ÇѵÁ·Õ½³¡
				return (GetGlbValue(2)==1 and 1) or 0;
		   end;
		  },
	[7] = {checkState = return_1},     -- ȥϴË赺
	[8] = {checkState = function()                      -- È¥Ò°ÛÅÈÎÎñËùÔÚµØ
				return (GetTask(1021)==4 and 1) or 0;
		   end;
		  },
	[9] = {checkState = function()                      -- È¥ÌØÊâÐÅʹÈÎÎñËùÔڵصã
				return (GetTask(1204)~= 0 and 1) or 0;
		   end;
		  },
	--[10] = {checkState = return_1},    -- ½øÈëÎÞÃû¹È
	[10] = {checkState = return_1},     -- ¢·¾µÄµØ·½
	[11] = {checkState = return_1},
	[12] = {checkState = return_1},
}
szStationOp_Cancel = "Kh«ng cÇn/StationOnCancel";
function go_HSBattle()
	Msg2Player("Ngåi yªn chóng ta ®i Hoa S¬n")
	NewWorld(2,2605,3592)
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
end
function WayPointFun()			-- ¼Ó·µ»ØÒª800Á½Òø×Ó£¨¶´¿Ú£©¡¡¡¡¡¡£¨BY£º Dan_Deng 2004-04-30£©
	p1 = GetWayPoint(1);
	p2 = GetWayPoint(2);
	p3 = GetWayPoint(3);
	HaveBin={};
	i = 1;
	if (p1 ~= 0)  then
		name = GetWayPointName(p1);
		name = name .."/SelWayPoint";
		HaveBin[i]= name;
		i = i + 1;
	end;
	if (p2 ~= 0)  then
		name = GetWayPointName(p2);
		name = name .."/SelWayPoint";
		HaveBin[i]= name;
		i = i + 1;
	end;
	if (p3 ~= 0)  then
		name = GetWayPointName(p3);
		name = name .."/SelWayPoint";
		HaveBin[i]= name;
		i = i + 1;
	end;
	HaveBin[i] = "Kh«ng muèn ®i ®©u c¶/OnCancel";
	if (i == 1) then 
		Say("ThËt xin lçi ta chØ cã thÓ ®a ngµi tíi n¬i ngµi ®· ®i qua",0);
	else
		Say("Mêi lùa chän", i, HaveBin);
	end;
end;
function WharfFun()
Count = GetWharfCount(CurWharf);
Num = Count;
WharfB = {};
nValidCount = 1;
for i = 1, Num do
WharfId = GetWharf(CurWharf, i);
if (WharfId ~= 0) then
	nPrice = GetWharfPrice(CurWharf, WharfId);
	WharfB[nValidCount] = GetWharfName(WharfId) .. "[" .. nPrice .. "Á½]" .. "/SelWharf";
	nValidCount = nValidCount + 1;
end;
end;
WharfB[nValidCount] = "Kh«ng ®i/OnCancel";
if (nValidCount == 1) then 
Say("ThËt xin lçi n¬i ®ã ngµi cha ®i tíi", 0);
else
Say("ThuyÒn phu: ng¬i nghÜ ®i chç nµo nha : ", nValidCount, WharfB);
end;
end;
function SelWharf(nSel)
nWharfId = GetWharf( CurWharf, nSel + 1);
nPrice = 0;
if 
(nWharfId ~= 0) then 
	nPrice = GetWharfPrice(CurWharf, nWharfId);
else
	return
end;
if (PrePay(nPrice) == 1 or GetCamp() == 6 ) then
Msg2Player("Ngåi yªn chóng ta ®i nµo"..GetWharfName(nWharfId))
nW , nX, nY = GetWharfPos(nWharfId);
nResult = NewWorld(nW, nX , nY );
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
if (nResult == 2) then
Msg2Player("Phôc vô khÝ chuyÓn ®æi trung...")
end
if (nResult == 0) then
Msg2Player("TruyÒn tèng vµo ®iÓm cã sai lÇm")
end
else
Say("ThËt ng¹i kh«ng cã tiÒn th× kh«ng thÓ ®i xe", 0);
end;
end;
function StationFun()
	for j = 1, 16 do
		AddStation(j)
	end
	Count = GetStationCount();
	Num = Count;
	if (Count > 10) then
		Num = 10
	end
	StationB = {}
	nValidCount = 1
	for i = 1, Num do
		StationId = GetStation(i, CurStation)
		if (StationId ~= 0) then
			nPrice = GetPrice2Station(CurStation, StationId)
	StationB[nValidCount] = GetStationName(StationId) .. "[" .. nPrice .. "lîng]" .. "/SelStation";
			nValidCount = nValidCount + 1
		end
	end
StationB[nValidCount] = "Kh«ng muèn ®i n¬i nµo c¶//OnCancel";
	if (nValidCount == 1) then 
Say("ThËt xin lçi ta chØ cã thÓ ®a ngµi tíi n¬i ngµi ®· ®i qua", 0);
	else
Say("Xin mêi chän ®Þa ®iÓm", nValidCount, StationB);
	end
end
function SelStation(nSel)
	Count = GetStationCount()
	nStation = GetStation(nSel + 1, CurStation)
	nPrice = GetPrice2Station(CurStation, nStation)
	if (PrePay(nPrice) == 1 or GetCamp() == 6) then
		nW, nX, nY = GetStationPos(nStation);
		nResult = NewWorld(nW, nX , nY );
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
Msg2Player("Ngåi yªn chóng ta ®i nµo"..GetStationName(nStation))
		if (nResult == 2) then
			--Msg2Player("·þÎñÆ÷ת»»ÖÐ...")
		end
		if (nResult == 0) then
Msg2Player("TruyÒn tèng tíi ®iÓm cã sai lÇm")
		end
	--§iÒu chØnh reset 5h ch¬i - Modified by DinhHQ - 20110630
	local nSongJinCount = PlayerFunLib:GetTaskDailyCount(1926)
	if nSongJinCount >= 1 or tbCOT_Party:GetDailyTaskCount() >= 1 then
		SetTireTime(0)
	end
	else
Say("ThËt ng¹i kh«ng cã tiÒn th× kh«ng thÓ ®i ®©u ®îc", 0);
	end
end
function TownPortalFun()			-- ·µ»ØÒª2000Á½Òø×Ó£¨ÔµØµã£©¡¡¡¡£¨BY: Dan_Deng 2004-04-30£©
--	if (PrePay(2000) == 1 or GetCamp() == 6) then
		ReturnFromPortal()
--	else
--		Say("ThËt ng¹i kh«ng cã tiÒn th× kh«ng thÓ ®i ®©u ®îc", 0)
--	end
end;
function SelWayPoint(nSel)			-- ·µ»ØÒª1000Á½Òø×Ó£¨¶´¿Ú£©¡¡¡¡¡¡£¨BY£ºDan_Deng 2004-04-30£©
--	if (PrePay(1000) == 1 or GetCamp() == 6) then
		nWayPoint = GetWayPoint(nSel + 1);
		if (nWayPoint ~= 0) then
			nW, nX, nY = GetWayPointPos(nWayPoint)
			nFightState = GetTerminiFState(nWayPoint)
			nResult = NewWorld(nW, nX, nY)
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
			SetFightState(nFightState)
--			Msg2Player("Goto"..GetWayPointName(nWayPoint)..nW..nX..nY);
			if (nResult == 2) then
--				Msg2Player("Phôc vô khÝ chuyÓn ®æi trung...")
			end
			if (nResult == 0) then
--				Msg2Player("TruyÒn vµo ®iÓm cã sai lÇm.")
			end
		end;
--	else									-- ²»¹»Ç®¾Í¾Ü¾ø
--		Say("ThËt ng¹i kh«ng cã tiÒn th× kh«ng thÓ ®i u ®îc", 0);
--	end;
end
--³ÇÕ½ÊÇ·ñ¿ªÊ¼ÁË
function WhichWarBegin()
	for i = 1,7 do
		if (HaveBeginWar(i) ~= 0) then
			return i;
		end;
	end;
	return 0;
end;
function CancelGoCityWar()
	Say("C«ng thµnh chiÕn trêng lµ n¬i ®ao kiÕm v« t×nh, nÕu kh«ng tíi tham chiÕn th× h·y lÊy sinh m¹ng lµm träng, trë vÒ ®i", 0);
end;
function GoCityWar()
	CityID = WhichWarBegin();
	if (CityID >= 1 and CityID <= 7) then
		Tong1, Tong2 = GetCityWarBothSides(CityID);
		str = format("B©y giê %s c«ng thµnh chiÕn ®ang tiÕn hµnh, phe c«ng thµnh<%s>, phe thñ thµnh<%s>. Xin hái ngµi muèn gia nhËp phe nµo", GetCityAreaName(CityID), Tong1, Tong2);
		Say(str , 3, "Phe c«ng thµnh/GoCityWarAttack", "Phe thñ thµnh/GoCityWarDefend", "Kh«ng ®i/CancelGoCityWar");
	end;
end;
--È¥¹¥³ÇÕ½ÊØ·½Èë¿Ú
function GoCityWarDefend()
	CityID = WhichWarBegin();
	if (CityID == 0 ) then 
		return
	end;
	TongName, result = GetTong()
	Tong1, Tong2 = GetCityWarBothSides(CityID);
	if (Tong2 ~= TongName and GetItemCountEx(CardTab[CityID * 2]) < 1) then 
		if (GetTask(TV_CITYID) ~= CityID or GetTask(TV_VALUE) ~= 1 or GetTask(TV_TASKID) ~= MISSIONID) then
			Say("Th©n phËn kh«ng hîp lÖ, vui lßng trë vÒ!", 0);
			return
		end;
	end;
	
	if (random(0,1) == 1) then
		NewWorld(222, 1614, 3172);
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
	else
		NewWorld(222, 1629, 3193);
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
	end;
end;
--È¥¹¥³ÇÕ½¹¥·½Èë¿Ú
function GoCityWarAttack()
	CityID = WhichWarBegin();
	if (CityID == 0) then 
		return
	end;
	TongName, result = GetTong()
	Tong1, Tong2 = GetCityWarBothSides(CityID);
	if (Tong1 ~= TongName and GetItemCountEx(CardTab[CityID * 2 - 1]) < 1) then
		if (GetTask(TV_CITYID) ~= CityID or GetTask(TV_VALUE) ~= 2 or GetTask(TV_TASKID) ~= MISSIONID) then
			Say("Th©n phËn kh«ng hîp lÖ, vui lßng trë vÒ!", 0);
			return
		end
	end
	
	if (random(0,1) == 1) then
		NewWorld(223, 1614, 3172);
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
	else
		NewWorld(223, 1629, 3193);
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
	end;
end;
function GoDemoWar()
	Say("C«ng thµnh tu luyÖn chiÕn b¾t ®Çu, ng¬i thùc sù muèn tham gia??", 3,"Tham gia phe thñ thµnh!/GotoDefend", "Tham gia phe c«ng thµnh/GotoAttack", "Ta kh«ng muèn ®i/OnCancel") 
end;
function GotoDefend()
if (random(0,1) == 1) then
	NewWorld(222, 1614, 3172);
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
else
	NewWorld(222, 1629, 3193);
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
end;
end;
function GotoAttack()
	if (random(0,1) == 1) then
		NewWorld(223, 1614, 3172);
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
	else
		NewWorld(223, 1629, 3193);
	SetProtectTime(18*3) --ÈýÃë±£»¤Ê±¼ä
	AddSkillState(963, 1, 0, 18*3) 		
	end;
end;
-- ȥϴµãµØÍ¼
function GotoClearSkillMap()
	-- ÔÝʱÆÁ±ÎȥϴµãµØÍ¼µÄ¹¦ÄÜ
	-- Say("³µ·ò£ºÃâ·ÑȥϴË赺µÄ»ú»áÖ»ÓÐÒ»´Î¡£Äã×îºÃ»¹ÊÇÏÈÊìϤһϢÕâ´ÎµÄ¼¼Äܵ÷Õû£¬³ÙÒ»µãÔÙÈ¥°É¡£", 1, "ÖªµÀÁË/gotocsm_no")
	nSubWorldID = SubWorldIdx2ID();
	nCityIndex = CSP_GetCityIndexByCityMap(nSubWorldID);
	if (nCityIndex == -1) then
		return -1;
	end
	
	CSP_EnterClearMap(nCityIndex);	
end;
function gotocsm_no()
end;
function OnCancel()
end;
function goto_shijiangu()
	NewWorld(949, floor(51264 / 32), floor(102368 / 32))
end
function _GoELangGu()
	Msg2Player("§Õn ¸c lang cèc!")
	local tbTargetMapList = {[11] = 950, [1] = 951, [37] = 952, 
										[176] = 953, [162] = 954, [78] = 955, [80] = 956,}
	local nMapId = GetWorldPos()
	if tbTargetMapList[nMapId] then
 		NewWorld(tbTargetMapList[nMapId], 1592, 3195)
 	end
end
CITY_OPTIONS =
{
	{"Nh÷ng n¬i ®· ®i qua", 				WayPointFun}, 			-- 1
	{"Nh÷ng thµnh thÞ ®· ®i qua",				StationFun},			-- 2
	{"Trë l¹i ®Þa ®iÓm cò",				TownPortalFun}, 		-- 3
	{"§i Hoa S¬n c¶nh kü trêng",			go_HSBattle}, 			-- 4
	{"§i c«ng thµnh chiÕn trêng",				GoCityWar},				-- 5
	{"§i c«ng thµnh huÊn luyÖn chiÕn trêng",			GoDemoWar},				-- 6
	{"§i ®¶o tÈy tñy",				GotoClearSkillMap},		-- 7
	{"§i ®Õn n¬i lµm nhiÖm vô d· tÈu",		tl_moveToTaskMap},		-- 8
	{"§i tíi n¬i lµm nhiÖm vô tÝn sø",	messenger_wagoner},     -- 9
	--{"È¥ÎÞÃû¹È",				GotoAnonymVale"			--10
	--{"ȥТÁ½Ë®¶´",		OnGoToNewLiangShuiDong},-- 10
	--{"È¥ÊÔ½£¹È",				goto_shijiangu},		-- 11
	--{"È¥¶ñÀǹÈ",				_GoELangGu},
}
-- ³ÇÊгµ·òͨÓýű¾
-- ×¢Ò⣺¹¥³ÇսδʹÓô˺¯ÊýµÄ½Å±¾ [script\missions\citywar_city\zhongzhuan_map\chefu.lua]
function CityStationCommon(szMsg)
	dofile("script/global/station.lua");
	local nNpcIndex = GetLastDiagNpc();
	local szNpcName = GetNpcName(nNpcIndex)
	if NpcName2Replace then
		szNpcName = NpcName2Replace(szNpcName)
	end
	local tbDailog = DailogClass:new(szNpcName)
	
	G_ACTIVITY:OnMessage("ClickNpc", tbDailog)
	tbDailog.szTitleMsg = szMsg
	--µ¯³ö¶Ô»°¿ò
	for i = 1, getn(CITY_OPTIONS) do
		local tb = CITY_OPTIONS[i]
		-- µ÷Óà aryCondition ÄÚµÄ checkState ¹ý³Ì£¬¼ì²é´Ë¶Ô»°Ñ¡ÏîÊÇ·ñ·ûºÏÌõ¼þ
		if aryCondition[i].checkState() == 1 then
			tbDailog:AddOptEntry(tb[1], tb[2])
		end
	end
	tbDailog:Show()
end;
-- ТÊÖ´å³µ·òͨÓýű¾ (×¢Ò⣺ÄÏÔÀÕò²»ÊÇТÊִ壬²»µ÷´Ëº¯Êý)
function NewcomerStationCommon(szMsg)
	dofile("script/global/station.lua");
--	check_update()					-- ¼¼ÄܸüТ¡¢ÃÅÅɼӱêʶ£¨2004-05-31£©
	if (GetLevel() >= 5) then
		if (WhichWarBegin() ~= 0) then
			Say(szMsg, 5, szStationOp[1], szStationOp[2], szStationOp[3], szStationOp[5], szStationOp_Cancel)
		elseif (GetGlbValue(2) == 1) then -- ¹¥³ÇѵÁ·Õ½³¡
			Say(szMsg, 5, szStationOp[1], szStationOp[2], szStationOp[3], szStationOp[6], szStationOp_Cancel)
		else
			if (GetTask(1021) == 4) then -- Èç¹û½ÓÊÜÁËÒ°ÛÅÈÎÎñÖÐѰÕÒµØÍ¼Ö¾µÄÈÎÎñ
				Say(szMsg, 5, szStationOp[1], szStationOp[2], szStationOp[3], szStationOp[8], szStationOp_Cancel)
			else
				Say(szMsg, 4, szStationOp[1], szStationOp[2], szStationOp[3], szStationOp_Cancel)
			end
		end;
	else		
		Talk(1,"","Xa phu: bªn ngoµi cã rÊt nhiÒu ngêi gièng ng¬i ®· ra ngoµi vµ uæng m¹ng. Ta kh«ng g¸nh v¸c næi chuyÖn nµy ®©u")
	end
end;
function  StationOnCancel()
   Talk(1,"","Cã tiÒn th× h·y quay l¹i")
end;
----------------------------------------------
CP_MAPPOS_IN = {1508,3026}
CP_MAPTAB = {
				{396, 397, "ThiÕu l©m"},
				{398, 399, "Thiªn v¬ng"},
				{400, 401, "§êng m«n"},
			 	{402, 403, "Ngò ®éc"},
			 	{404, 405, "Nga my"},
			 	{406, 407, "Thóy yªn"},
			 	{408, 409, "C¸i bang"},
			 	{410, 411, "Thiªn nhÉn"},
			 	{412, 413, "Vâ ®ang"},
			 	{414, 415, "C«n l«n"}
			 }
function transtoplace()
	Say("Vâ l©m liªn ®Êu m«n ph¸i ®ang tiÕn hµnhi, ng¬i muèn tiÕn vµo sao?", 2, "Ta muèn tiÕn vµo/transtoplace_sure", "§Ó ta suy nghÜ ®· /OnCancel")
end
function transtoplace_sure()
	if (GetLastFactionNumber() == -1) then
		Say("Minh chñ vâ l©m cã lÖnh: Liªn ®Êu m«n ph¸ii chØ giíi h¹n ë thËp ®¹i m«n ph¸i dù thi. Ng¬i ë ®©y trong chèn vâ l©m kh«ng m«n kh«ng ph¸i, b©y giê kh«ng thÓ tham gia ®îc, h·y gia nhËp m«n ph¸i sau ®ã, trë l¹i dù thi ®i", 0)
		return
	else
		if(GetLastFactionNumber() == 0) then
			NewWorld(CP_MAPTAB[1][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ÉÙÁÖ
		elseif (GetLastFactionNumber() == 1) then
			NewWorld(CP_MAPTAB[2][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ÌìÍõ
		elseif (GetLastFactionNumber() == 2) then
			NewWorld(CP_MAPTAB[3][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ÌÆÃÅ
		elseif (GetLastFactionNumber() == 3) then
			NewWorld(CP_MAPTAB[4][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--Îå¶¾
		elseif (GetLastFactionNumber() == 4) then
			NewWorld(CP_MAPTAB[5][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--¶ëáÒ
		elseif (GetLastFactionNumber() == 5) then
			NewWorld(CP_MAPTAB[6][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--´äÑÌ
		elseif (GetLastFactionNumber() == 6) then
			NewWorld(CP_MAPTAB[7][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ؤ°ï
		elseif (GetLastFactionNumber() == 7) then
			NewWorld(CP_MAPTAB[8][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--ÌìÈÌ
		elseif (GetLastFactionNumber() == 8) then
			NewWorld(CP_MAPTAB[9][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--Îäµ±
		elseif (GetLastFactionNumber() == 9) then
			NewWorld(CP_MAPTAB[10][1], CP_MAPPOS_IN[1], CP_MAPPOS_IN[2])--À¥¢Ø
		end
		Msg2Player("§· tiÕn vµo ®Êu trêng vâ l©m liªn ®Êu m«n ph¸i")
	end
end
-- ÓÃÓÚ´¦ÀíÒ»¶ÑÑ¡ÏîµÄ¶Ô»°º¯Êý Say(""...);
-- Edited by peres
function SelectSay(strSay)
local strMsg,strSel = "","";
local strNum = getn(strSay);
	if strNum < 2 then
		return
	end;
	
	if strNum > 2 then
		for i=2,strNum - 1 do
			strSel = strSel..format("%q", strSay[i])..",";
		end;
		strSel = strSel..format("%q", strSay[strNum]);
		strMsg = "Say("..format("%q", strSay[1])..","..(strNum - 1)..","..strSel..");";
	elseif strNum == 2 then
		strSel = format("%q", strSay[strNum]);
		strMsg = "Say("..format("%q", strSay[1])..",1"..","..strSel..");";
	end
	dostring(strMsg)
end