View Full Version : [TLBB] Share Nhiệm Vụ Kịch Tình Dù Vạn Người Ta Vẫn Cứ Tiến
 
 
Thấy nhiền bạn muốn làm full Nhiệm vụ Kịch Tình "Dù Vạn Người Ta Vẫn Cứ TIến" nhưng đều gặp lỗi ở đoạn hộ tống Kiều Phong. 
Hiểu được nỗi lòng của các bạn muốn trải nghiệm một phiên bản giống với nhà phát hành. Nhưng tất cả phiên bản private từ 0.26 đến hiện nay đều gặp lỗi này thì khá là ức chế.
Các bạn download (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>) file về giải nén ra và copy vào đường dẫn /home/tlbb/Public/Data/Script/event/juqing và tận hưởng thôi:D
Link download (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)
danhducdcnag
10-10-17, 10:25 PM
Thấy nhiền bạn muốn làm full Nhiệm vụ Kịch Tình "Dù Vạn Người Ta Vẫn Cứ TIến" nhưng đều gặp lỗi ở đoạn hộ tống Kiều Phong. 
Hiểu được nỗi lòng của các bạn muốn trải nghiệm một phiên bản giống với nhà phát hành. Nhưng tất cả phiên bản private từ 0.26 đến hiện nay đều gặp lỗi này thì khá là ức chế.
Các bạn download (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>) file về giải nén ra và copy vào đường dẫn /home/tlbb/Public/Data/Script/event/juqing và tận hưởng thôi:D
Link download (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)
Đã test va KP vẫn như trời trồng nó không chiu di chuyển?
caovanthanh22
10-10-17, 10:47 PM
vao` script lua trong server bo~ qua doan. code ho tong', nhận va` tra~  Q cung~ co' the~ cham che', ko can` chinh~ sua~ qua' cong phu :D:D:D
Đã test va KP vẫn như trời trồng nó không chiu di chuyển?
Bạn gặp kiều phong thì nhận nhiệm vụ rồi về từ kinh lôi trả là được nhe. Không cần phải hôk tống.
akiem9x
11-10-17, 06:42 AM
Đã test va KP vẫn như trời trồng nó không chiu di chuyển?
Các bác muốn nó đi thì hãy tham khảo script Q hộ tống Chung Linh, tuy cũng là nhận Q rồi chạy lại kia trả nhưng em Chung Linh vẫn đi theo chúng ta :-|
phiyeutuan08
11-10-17, 08:20 AM
Các bác muốn nó đi thì hãy tham khảo script Q hộ tống Chung Linh, tuy cũng là nhận Q rồi chạy lại kia trả nhưng em Chung Linh vẫn đi theo chúng ta :-|
Bác nếu có kiến thức chỉnh sửa scrip thì fix dùm anh em với !
chihochoi
11-10-17, 08:34 AM
Hộ tống thì dùng patrol ấy là thằng đó nó chạy mak
danhducdcnag
11-10-17, 09:37 AM
Hộ tống thì dùng patrol ấy là thằng đó nó chạy mak
ae nào biết code thì code lại dùm còn mình thì potay rồi!
chihochoi
11-10-17, 11:50 AM
mình chưa choi nhiệm vụ đó vs lại bỏ tlbb rồi 
  mình chỉ nêu ra ý tưởng làm thôi 
     1 tạo cái patrol trong map_patrolpoint. j j đó quên rồi
     2 trong đoạn trong script thì set cái patrol cho thằng NPC 
     3 check mổi ms xem bạn có đi gần thằng NPC đó ko nếu không thì nv thất bại 
     4 kiểm tra thằng NPC đó tới nơi chưa tới nơi thì hoàn thành 
  Mình không pro tlbb lắm có gì các bạn đóng góp ý kiến cho các dev khác học hỏi :D:D:D:D:D
Sói Đẹp Trai
12-10-17, 04:01 PM
Mình có đoạn code này bạn sửa theo nó là được nhé. Toàn bộ các Q kịch tình hộ tống đều làm như này hết. Đã test rất OK.
-- ¾ÛÏÍׯ֮ ÂåÑô³¡¾°»¤ËÍ£¬Öص㲿·ÖŶ
-- ´¥·¢Ìõ¼þ£¬Íê³ÉÈÎÎñ21£¬È»ºó ½øÈëÂåÑôµÄʼþÇøÓò
--MisDescBegin
--½Å±¾ºÅ
x200022_g_ScriptId = 200022
--ÈÎÎñºÅ
x200022_g_MissionId = 22
--Ç°ÐøÈÎÎñºÅ
x200022_g_PreMissionId = 47
--Ä¿±êNPC
x200022_g_Name	="Ki«u Phong"
x200022_g_Name1 ="T× Kinh Lôi"
--ÈÎÎñ¹éÀà
x200022_g_MissionKind = 47
--ÈÎÎñµÈ¼¶
x200022_g_MissionLevel = 40
--ÊÇ·ñÊǾ«Ó¢ÈÎÎñ
x200022_g_IfMissionElite = 0
--ÈÎÎñÃû
x200022_g_MissionName="Dù vÕn ngß¶i, ta vçn cÑ tiªn"
--ÈÎÎñÃèÊö
x200022_g_MissionInfo="#{Mis_juqing_0022}"
--ÈÎÎñÄ¿±ê
x200022_g_MissionTarget="#{Mis_juqing_Tar_0022}"		
--ÌύʱnpcµÄ»°
x200022_g_MissionComplete="  Ki«u Phong th§t là...l¨ nào huynh ta chï vì mµt cô nß½ng, dám quên cä tính mÕng mình? Không khéo gi¶ ðây Tø Hi«n Trang ðã ðÕi loÕn m¤t.."		
x200022_g_MoneyBonus=9000
x200022_g_exp=9600
x200022_g_RadioItemBonus={{id=10423008 ,num=1},{id=10423009,num=1},{id=10423010,num=1},{i d=10423011,num=1}}
x200022_g_Custom	= {{id="Dù vÕn ngß¶i, ta vçn cÑ tiªn",num=1}}
--MisDescEnd
-- ¶ÓÎéId
x200022_g_GroupId = 0
-- »¤ËÍ·ÏßId
x200022_g_PatrolPathIndex = 4
-- ³¡¾°¼ÆÊ±Æ÷Index
x200022_g_SceneTimerIndex = -1
x200022_g_Step = 0
x200022_g_StartTime = 0
x200022_g_PlayerNum = 0
x200022_g_PlayerId= {-1,-1,-1,-1,-1,-1}
function x200022_DisplayBonus(sceneId, missionIndex)
	
end
--**********************************
--ÈÎÎñÈë¿Úº¯Êý
--**********************************
function x200022_OnDefaultEvent( sceneId, selfId, targetId, missionIndex )	--µã»÷¸ÃÈÎÎñºóÖ´Ðд˽ű¾
	--Èç¹ûÍæ¼ÒÍê³É¹ýÕâ¸öÈÎÎñ
	if (IsMissionHaveDone(sceneId,selfId,x200022_g_Missio nId) > 0 ) then
		return
	elseif( IsHaveMission(sceneId,selfId,x200022_g_MissionId) > 0)  then
		if GetName(sceneId, targetId) == x200022_g_Name1   then
			x200022_OnContinue( sceneId, selfId, targetId )
		end
	
	--Âú×ãÈÎÎñ½ÓÊÕÌõ¼þ
	elseif x200022_CheckAccept(sceneId,selfId) > 0 then
		-- ÅжÏÊÇÔÚ¸±±¾£¬
		if GetName(sceneId, targetId) == x200022_g_Name   then
			--·¢ËÍÈÎÎñ½ÓÊÜʱÏÔʾµÄÐÅÏ¢
			BeginEvent(sceneId)
				AddText(sceneId,x200022_g_MissionName)
				AddText(sceneId,x200022_g_MissionInfo)
				AddText(sceneId,"#{M_MUBIAO}#r")
				AddText(sceneId,x200022_g_MissionTarget)
				AddText(sceneId,"#{M_SHOUHUO}#r")
				for i, item in x200022_g_RadioItemBonus do
					AddRadioItemBonus( sceneId, item.id, item.num )
				end
				AddMoneyBonus( sceneId, x200022_g_MoneyBonus )
			EndEvent( )
			DispatchMissionInfo(sceneId,selfId,targetId,x20002 2_g_ScriptId,x200022_g_MissionId)
		end
	end
end
function x200022_OnMissionRefuse()
end
--**********************************
--ʼþÁбíÑ¡ÖÐÒ»Ïî
--**********************************
function x200022_OnEventRequest( sceneId, selfId, targetId, eventId )
	
	if GetName(sceneId, targetId) == x200022_g_Name   then
		if GetNumText() == 0    then
			BeginEvent(sceneId)
				AddText(sceneId,x200022_g_MissionName)
				AddText(sceneId,x200022_g_MissionInfo)
				AddText(sceneId,"#{M_MUBIAO}#r")
				AddText(sceneId,x200022_g_MissionTarget)
			EndEvent( )
			DispatchMissionInfo(sceneId,selfId,targetId,x20002 2_g_ScriptId,x200022_g_MissionId)
		end
	end
	
end
--**********************************
--ÁоÙʼþ
--**********************************
function x200022_OnEnumerate( sceneId, selfId, targetId )
	--Èç¹ûÍæ¼ÒÍê³É¹ýÕâ¸öÈÎÎñ
	if IsMissionHaveDone(sceneId,selfId,x200022_g_Mission Id) > 0 then
		return 
	--Èç¹ûÒѽӴËÈÎÎñ
	elseif IsHaveMission(sceneId,selfId,x200022_g_MissionId) > 0 then
		if GetName(sceneId, targetId) == x200022_g_Name1   then
			AddNumText(sceneId, x200022_g_ScriptId,x200022_g_MissionName,2,-1);
		end
	--Âú×ãÈÎÎñ½ÓÊÕÌõ¼þ
	elseif x200022_CheckAccept(sceneId,selfId) > 0 then
		if GetName(sceneId, targetId) == x200022_g_Name    then
			AddNumText(sceneId,x200022_g_ScriptId,x200022_g_Mi ssionName,1,-1);
		end
	end
end
--**********************************
-- 
--**********************************
function x200022_OnLockedTarget( sceneId, selfId, targetId, missionIndex )
end
--**********************************
--¼ì²â½ÓÊÜÌõ¼þ
--**********************************
function x200022_CheckAccept( sceneId, selfId )
	-- ½ÓÈÎÎñµÄÌõ¼þÊÇ£¬ÈËÎï´ïµ½20 ¼¶ÒÔÉÏ£¬²¢ÇÒÍê³ÉÁËÇ°ÐøÈÎÎ ñ
	if GetLevel(sceneId, selfId) < 40   then
		return 0
	end
	
	if IsMissionHaveDone(sceneId, selfId, x200022_g_PreMissionId ) < 1   then
		return 0
	end
	
	return 1
end
--**********************************
--½ÓÊÜ
--**********************************
function x200022_OnAccept( sceneId, selfId, targetId )
	-- ¼ì²âÍæ¼ÒÊDz»ÊÇÒѾÍê³É¹ýÕ â¸öÈÎÎñ
	if IsMissionHaveDone(sceneId, selfId, x200022_g_MissionId) > 0   then
		return
	end
	
	if x200022_CheckAccept(sceneId, selfId)  < 1   then
		return
	end
	if x200022_g_Step ~= 0  and x200022_g_Step ~= 2   then
		BeginEvent(sceneId)
			AddText(sceneId, "Møc tiêu ðang b§n, xin ðþi mµt lát!")
		EndEvent()
		DispatchMissionTips(sceneId, selfId)
		return
	end
	
	-- ÕâÀïµÄ»¤ËÍÐèÒªÆô¶¯³¡¾°µÄ¼ ÆÊ±Æ÷£¬²»ÄÜʹÓÃÈÎÎñ¼ÆÊ±Æ÷
	if x200022_g_Step == 0   then
		local ret = AddMission( sceneId,selfId, x200022_g_MissionId, x200022_g_ScriptId, 0, 0, 0 )
		if ret <= 0 then
			Msg2Player(  sceneId, selfId,"#YNh§t ký nhi®m vø cüa các hÕ ðã ð¥y" , MSG2PLAYER_PARA )
			return
		end
		local misIndex = GetMissionIndexByID(sceneId,selfId,x200022_g_Missi onId)
		-- Õâ¸ö³¡¾°¼ÆÊ±Æ÷£¬Ó¦¸ÃÊÇÒ»Ö ±±»Õâ¸ö»î¶¯Õ¼Óõģ¬ËùÒÔ£¬ Ö»ÒªÕâ¸öÖµ²»µÈÓÚ-1£¬¾Í²»ÒªÔÙÉêÇë
		if x200022_g_SceneTimerIndex == -1  then
			x200022_g_SceneTimerIndex = SetTimer(sceneId, selfId, x200022_g_ScriptId, "OnSceneTimer", 1)
			SetMissionByIndex(sceneId,selfId,misIndex,3,x20002 2_g_SceneTimerIndex)
		end
		
		x200022_g_StartTime = LuaFnGetCurrentTime()
		x200022_g_Step = 1
		
		Msg2Player(  sceneId, selfId,"#YNh§n nhi®m vø#W: Dù vÕn ngß¶i, ta vçn cÑ tiªn",MSG2PLAYER_PARA )
		
		SetMissionByIndex(sceneId,selfId,misIndex,2,0)
	end
	
	if x200022_g_Step == 2   then
		-- °ÑÕâ¸öÍæ¼Ò¼Óµ½»¤ËÍÁбíÖÐÈ ¥
		
		local ret = AddMission( sceneId,selfId, x200022_g_MissionId, x200022_g_ScriptId, 0, 0, 0 )
		if ret <= 0 then
			Msg2Player(  sceneId, selfId,"#YNh§t ký nhi®m vø cüa các hÕ ðã ð¥y" , MSG2PLAYER_PARA )
			return
		end
		
		x200022_g_PlayerNum = x200022_g_PlayerNum + 1
		x200022_g_PlayerId[x200022_g_PlayerNum] = selfId
		Msg2Player(  sceneId, selfId,"#YNh§n nhi®m vø#W: Dù vÕn ngß¶i, ta vçn cÑ tiªn",MSG2PLAYER_PARA )
		
		local misIndex = GetMissionIndexByID(sceneId,selfId,x200022_g_Missi onId)
		SetMissionByIndex(sceneId,selfId,misIndex,2,0)
	end
	
end
--**********************************
--³¡¾°Timer
--**********************************
function x200022_OnSceneTimer( sceneId, selfId )
	if LuaFnIsObjValid(sceneId,selfId)~=1 then
		return
	end
	local misIndex = GetMissionIndexByID(sceneId,selfId,x200022_g_Missi onId)
	if not misIndex or misIndex<0 or misIndex>5000 then
		return
	end
	
	local nStep=GetMissionParam(sceneId,selfId,misIndex,2)
	
	x200022_g_PlayerId[1] = selfId
	x200022_g_PlayerNum = 1
	
	if nStep==100 then
		x200022_g_SceneTimerIndex=GetMissionParam(sceneId, selfId,misIndex,3)
		StopTimer(sceneId, x200022_g_SceneTimerIndex)
		return
	end
	
	if nStep == 0 then
		x200022_g_StartTime = LuaFnGetCurrentTime()
		--nStep = 1
		SetMissionByIndex(sceneId,selfId,misIndex,2,1)
	end
	
	if nStep < 3  then
		local nSelfId = -1
		local bHavePlayer = 0
	--	if LuaFnIsObjValid(sceneId, nSelfId)==1  and
	--		 LuaFnIsCanDoScriptLogic(sceneId, nSelfId) == 0   then
			for i=1, x200022_g_PlayerNum  do	
				if x200022_g_PlayerId[i] ~= -1  then
					if LuaFnIsObjValid(sceneId, x200022_g_PlayerId[i])==1  and
						 LuaFnIsCanDoScriptLogic(sceneId, x200022_g_PlayerId[i]) == 1   then
						bHavePlayer = 1
						nSelfId = x200022_g_PlayerId[i]
						
						break
					end
				end
			end
	--	else
	--		bHavePlayer = 1
	--	end
		
		if bHavePlayer == 0   then
			-- ¼ÆÊ±Æ÷Í£Ö¹£¬Çå³ýËùÓеÄÈ«¾ Ö±äÁ¿
			--x200022_g_Step = 0
			SetMissionByIndex(sceneId,selfId,misIndex,2,100)
			x200022_g_StartTime = 0
			x200022_g_PlayerId[1] = -1
			x200022_g_PlayerId[2] = -1
			x200022_g_PlayerId[3] = -1
			x200022_g_PlayerId[4] = -1
			x200022_g_PlayerId[5] = -1
			x200022_g_PlayerId[6] = -1
			x200022_g_PlayerNum = 0
			x200022_g_StartTime = 0
			
			return
		end
		--end
	end
	
	-- ¼ì²âÖ»ÒªÇÇ·åºÍ°¢ÖéÖеÄÈκ ÎÒ»¸öÈ˲»ÔÚ³¡¾°ÖÐÁË£¬¾ÍÇå ¿ÕËùÓеÄÈ«¾Ö±äÁ¿
	local nNpcNum = GetMonsterCount(sceneId)
	local kk = 0
	local bHaveQiao = 0
	for kk = 0, nNpcNum-1 do
		local nNpcId = GetMonsterObjID(sceneId,kk)
		if GetName(sceneId, nNpcId)  == "Ki«u Phong"  then
			bHaveQiao = 1+bHaveQiao
		end
		
		if GetName(sceneId, nNpcId)  == "A Châu"  then
			bHaveQiao = 1+bHaveQiao
		end
	end
	
	if 	bHaveQiao ~= 2   then
		--StopTimer(sceneId, x200022_g_SceneTimerIndex)
		--x200022_g_SceneTimerIndex = -1
		nStep = 0
		SetMissionByIndex(sceneId,selfId,misIndex,2,100)
		x200022_g_StartTime = 0
		x200022_g_PlayerId[1] = -1
		x200022_g_PlayerId[2] = -1
		x200022_g_PlayerId[3] = -1
		x200022_g_PlayerId[4] = -1
		x200022_g_PlayerId[5] = -1
		x200022_g_PlayerId[6] = -1
		x200022_g_PlayerNum = 0
		x200022_g_StartTime = 0
		
		return
	end
	
	
	if nStep == 1   then
		-- ¸øÐ¡¶ÓµÄËùÓÐÍæ¼Ò·¢ËÍÒ»Æð» ¤Ë͵ÄÑûÇë
		--local groupId = AllocateMonsterGroup(sceneId)
		local nMonsterNum = GetMonsterCount(sceneId)
		local jj = 0
		local nQiaofenId = 0
		local bHaveMonster = 0
		for jj=0, nMonsterNum-1 do
			local nMonsterId = GetMonsterObjID(sceneId,jj)
			if GetName(sceneId, nMonsterId)  == "Ki«u Phong"  then
				nQiaofenId = nMonsterId
				bHaveMonster = 1
			end
		end
		
		for i=1, x200022_g_PlayerNum  do	
			if x200022_g_PlayerId[i] ~= -1  then
				if LuaFnIsObjValid(sceneId, x200022_g_PlayerId[i])==1  and
					 LuaFnIsCanDoScriptLogic(sceneId, x200022_g_PlayerId[i]) == 1   then
					bHavePlayer = 1
					nSelfId = x200022_g_PlayerId[i]
					
					break
				end
			end
		end
--		PrintNum(nSelfId)
--		PrintNum(x200022_g_PlayerNum)
		local nTeamCount = GetNearTeamCount(sceneId, nSelfId)
		for i=0, nTeamCount-1 do
			local PlayerId = GetNearTeamMember(sceneId, nSelfId, i)
			if PlayerId ~= nSelfId    then
				CallScriptFunction((200022), "OnDefaultEvent", sceneId, PlayerId, nQiaofenId )
			end
		end
		
		-- ¼ÇÏÂÕâ¸ö½ÓÁËÈÎÎñµÄÍæ¼Ò
		--x200022_g_PlayerNum = 1
		--x200022_g_PlayerId[1]= nSelfId
		x200022_g_StartTime = LuaFnGetCurrentTime()
		
		--x200022_g_Step = 2
		SetMissionByIndex(sceneId,selfId,misIndex,2,2)
		CallScriptFunction((200060), "Paopao",sceneId, "Ki«u Phong", "LÕc Dß½ng", "#{juqing_start_007}")
		
	elseif nStep == 2   then
		-- µÈ´ý5Ã룬Õâ¸öʱ¼äÊǵȴý±ð� �ÄÍæ¼ÒÒ»Æð½øÐÐÕâ¸ö»¤Ë͵ÄÊ� �¼ä
		if LuaFnGetCurrentTime() - x200022_g_StartTime > 5   then
			CallScriptFunction((200060), "Paopao",sceneId, "Ki«u Phong", "LÕc Dß½ng", "#{juqing_start_008}")
			--x200022_g_Step = 3
			SetMissionByIndex(sceneId,selfId,misIndex,2,3)
			return
		end
		
	elseif nStep == 3   then
		CallScriptFunction((200060), "Paopao",sceneId, "Ki«u Phong", "LÕc Dß½ng", "#{juqing_start_009}")
		
		-- ÉêÇëÒ»¸öѲÂß×飬¿ªÊ¼×ß
		--local groupId = AllocateMonsterGroup(sceneId)
		-- ÔÀ´ÊÇÓõÄÊÇÉêÇëÒ»¸öеÄÑ ²Âß×飬ÏÖÔÚʹÓÃÒ»¸ö¹Ì¶¨µÄ ѲÂß×éÀ´Íê³É
		-- ÔÚ¿ªÊ¼Õâ¸öȺÌ廤ËÍǰ£¬ÏÖÇ å¿ÕÒ»ÏÂÕâ¸ö×é
		ReleaseMonsterGroup(sceneId, x200022_g_GroupId)
		local nMonsterNum = GetMonsterCount(sceneId)
		local jj = 0
		local nHaveMonster = 0
		local nQiaofenId = 0
		for jj=0, nMonsterNum-1 do
			local nMonsterId = GetMonsterObjID(sceneId,jj)
			if GetName(sceneId, nMonsterId)  == "A Châu"  then
				AddGroupMember(sceneId, x200022_g_GroupId, nMonsterId, 2, 1)
				SetConvoyNPC(sceneId, nMonsterId, 1)
				nHaveMonster = nHaveMonster + 1
			end
			if GetName(sceneId, nMonsterId)  == "Ki«u Phong"  then
				AddGroupLeader(sceneId, x200022_g_GroupId, nMonsterId)
				nQiaofenId = nMonsterId
				nHaveMonster = nHaveMonster + 1
			end
		end
		SetIntervalDistOfGroupMember(sceneId, x200022_g_GroupId, 1)
		
		RefixPosOfGroupMember(sceneId,x200022_g_GroupId,nQ iaofenId)
		--µÃµ½»¤ËÍѲÂß·Ïß
		SetPatrolId(sceneId, nQiaofenId, x200022_g_PatrolPathIndex)
		
		--x200022_g_Step = 4
		SetMissionByIndex(sceneId,selfId,misIndex,2,4)
		
	elseif nStep == 4   then
	
		-- ¼ÆÊ±Æ÷ÿ´Î¼ì²âÍæ¼ÒÊDz»ÊÇÓ ÐÈÎÎñʧ°ÜµÄÇé¿ö³öÏÖ£¬
		for i=1, x200022_g_PlayerNum  do
			-- Èç¹ûÍæ¼ÒÀ뿪Á˳¡¾°£¬¾ÍÈÎÎ ñʧ°Ü
			if x200022_g_PlayerId[i] ~= -1   then
				if LuaFnIsObjValid(sceneId, x200022_g_PlayerId[i])==0  or
					 LuaFnIsCanDoScriptLogic(sceneId, x200022_g_PlayerId[i]) == 0  then
					x200022_g_PlayerId[i] = -1
				end	
			end
		end
		
		-- ÔÚÕâÀïÌí¼ÓÂåÑô¾ÓÃñµÄÅÝÅÝ£ ¬Ôö¼ÓÆø·Õ
		
		
		-- ¼ì²â»¤Ë͵ÄÍê³ÉÌõ¼þ£¬ÇÇ·å ×ßµ½ÁËÄ¿±êµã
		local nMonsterNum = GetMonsterCount(sceneId)
		local jj = 0
		local bHaveMonster = 0
		for jj=0, nMonsterNum-1 do
			local nMonsterId = GetMonsterObjID(sceneId,jj)
			if GetName(sceneId, nMonsterId)  == "Ki«u Phong"  then
				-- ÅжÏÇÇ·åÊDz»ÊÇ×ßµ½ÁË
				local targetX, targetZ = GetWorldPos(sceneId, nMonsterId)
				local x, z = GetLastPatrolPoint(sceneId, x200022_g_PatrolPathIndex)
				local distance = floor(sqrt((targetX-x)*(targetX-x)+(targetZ-z)*(targetZ-z)))
				local Pos_X,Pos_Y=GetWorldPos(sceneId,selfId)
				
				if floor(sqrt((targetX-Pos_X)*(targetX-Pos_X)+(targetZ-Pos_Y)*(targetZ-Pos_Y)))>=20 then
					BeginEvent(sceneId)
						AddText(sceneId, "Hµ t¯ng Ki«u Phong th¤t bÕi, khoäng cách quá xa!")
					EndEvent()
					DispatchMissionTips(sceneId, selfId)
					for kk=0, nMonsterNum-1 do
						local nMonsterId1 = GetMonsterObjID(sceneId,kk)
						if GetName(sceneId, nMonsterId1)  == "Ki«u Phong" or  GetName(sceneId, nMonsterId1)  == "A Châu" then
							--SetCharacterDieTime(sceneId,nMonsterId1,100)
							LuaFnDeleteMonster(sceneId, nMonsterId1)
						end
					end
					local MstId=LuaFnCreateMonster(sceneId,1,378,265,3,0,113 001)
					SetCharacterName(sceneId,MstId,"Ki«u Phong")
					local MstId=LuaFnCreateMonster(sceneId,5,382,265,3,0,113 001)
					SetCharacterName(sceneId,MstId,"A Châu")
					local misIndex = GetMissionIndexByID(sceneId, selfId, x200022_g_MissionId)--µÃµ½ÈÎÎñÔÚ20¸öÈÎÎñÖеÄÐòÁÐ ºÅ
					SetMissionByIndex(sceneId, selfId, misIndex, 0, 2)
					SetMissionByIndex(sceneId,selfId,misIndex,2,100)
					return
				end
				
				if distance<=2   then
					--x200022_g_Step = 5
					SetMissionByIndex(sceneId,selfId,misIndex,2,5)
					-- ֪ͨËùÓÐÈË£¬»¤Ëͳɹ¦
					for i=1, x200022_g_PlayerNum   do
						if x200022_g_PlayerId[i]~=-1   then
							local misIndex = GetMissionIndexByID(sceneId, x200022_g_PlayerId[i], x200022_g_MissionId)--µÃµ½ÈÎÎñÔÚ20¸öÈÎÎñÖеÄÐòÁÐ ºÅ
							SetMissionByIndex(sceneId, x200022_g_PlayerId[i], misIndex, 0, 1)
							BeginEvent(sceneId)
								AddText(sceneId, "Hµ t¯ng Ki«u Phong thành công")
							EndEvent()
							DispatchMissionTips(sceneId, x200022_g_PlayerId[i])
						end
					end
				end
			end
		end
		
	elseif nStep == 5  then
		--º°»°¾çÇé
		CallScriptFunction((200060), "Paopao",sceneId, "T× Kinh Lôi", "LÕc Dß½ng", "#{JQ_PaoPao_79}") 
		--x200022_g_Step = 6
		SetMissionByIndex(sceneId,selfId,misIndex,2,6)
		x200022_g_StartTime = LuaFnGetCurrentTime()
		
	elseif nStep == 6  then
		if LuaFnGetCurrentTime()-x200022_g_StartTime > 3   then
			CallScriptFunction((200060), "Paopao",sceneId, "Ki«u Phong", "LÕc Dß½ng", "#{JQ_PaoPao_80}")
			--x200022_g_Step = 7
			SetMissionByIndex(sceneId,selfId,misIndex,2,7)
			x200022_g_StartTime = LuaFnGetCurrentTime()
		end
		
	elseif nStep == 7  then
		if LuaFnGetCurrentTime()-x200022_g_StartTime > 3   then
			CallScriptFunction((200060), "Paopao",sceneId, "T× Kinh Lôi", "LÕc Dß½ng", "#{JQ_PaoPao_81}")
			--x200022_g_Step = 8
			SetMissionByIndex(sceneId,selfId,misIndex,2,8)
			x200022_g_StartTime = LuaFnGetCurrentTime()
		end
		
	elseif nStep == 8  then
		if LuaFnGetCurrentTime()-x200022_g_StartTime > 5   then
		
			-- ¼ÆÊ±Æ÷Í£Ö¹£¬Çå³ýËùÓеÄÈ«¾ Ö±äÁ¿
			--StopTimer(sceneId, x200022_g_SceneTimerIndex)
			
			--x200022_g_SceneTimerIndex = -1
			--x200022_g_Step = 0
			SetMissionByIndex(sceneId,selfId,misIndex,2,100)
			x200022_g_StartTime = 0
			x200022_g_PlayerId[1] = -1
			x200022_g_PlayerId[2] = -1
			x200022_g_PlayerId[3] = -1
			x200022_g_PlayerId[4] = -1
			x200022_g_PlayerId[5] = -1
			x200022_g_PlayerId[6] = -1
			x200022_g_PlayerNum = 0
			x200022_g_StartTime = 0
			
			--ɾ³ýÇÇ·åºÍ°¢Öì
		  local nMonsterNum = GetMonsterCount(sceneId)
			local ii = 0
			local bHaveMonster = 0
			for ii=0, nMonsterNum-1 do
				local nMonsterId = GetMonsterObjID(sceneId,ii)
				if GetName(sceneId, nMonsterId)  == "Ki«u Phong"  then
					LuaFnDeleteMonster(sceneId, nMonsterId)
				end
				
				if GetName(sceneId, nMonsterId)  == "A Châu"  then
					LuaFnDeleteMonster(sceneId, nMonsterId)
				end
			end
		end	
		
		local MstId=LuaFnCreateMonster(sceneId,1,378,265,3,0,113 001)
		SetCharacterName(sceneId,MstId,"Ki«u Phong")
		local MstId=LuaFnCreateMonster(sceneId,5,382,265,3,0,113 001)
		SetCharacterName(sceneId,MstId,"A Châu")
	end
	
end
--**********************************
--·ÅÆú
--**********************************
function x200022_OnAbandon( sceneId, selfId )
  --½«»¤ËÍnpcË²ÒÆ»ØÔÀ´Î»ÖÃ
  DelMission(sceneId, selfId, x200022_g_MissionId)
  
end
--**********************************
--¼ÌÐø
--**********************************
function x200022_OnContinue( sceneId, selfId, targetId )
	
	if x200022_CheckSubmit(sceneId, selfId) ~= 1 then 
		BeginEvent(sceneId)
			strText = "Các hÕ ðã hoàn thành nhi®m vø chßa?"
			AddText(sceneId,strText);
		EndEvent(sceneId)
		DispatchEventList(sceneId,selfId,targetId)
		return
	end
	
	BeginEvent(sceneId)
		AddText(sceneId,x200022_g_Name)
		AddText(sceneId,x200022_g_MissionComplete)
		AddText(sceneId,"#{M_MUBIAO}#r")
		AddText(sceneId,x200022_g_MissionTarget)
		AddText(sceneId,"#{M_SHOUHUO}#r")
		AddMoneyBonus( sceneId, x200022_g_MoneyBonus )
		for i, item in x200022_g_RadioItemBonus do
			AddRadioItemBonus( sceneId, item.id, item.num )
		end
	EndEvent( )
	
	DispatchMissionContinueInfo(sceneId, selfId, targetId, x200022_g_ScriptId, x200022_g_MissionId)
end
--**********************************
--¼ì²âÊÇ·ñ¿ÉÒÔÌá½»
--**********************************
function x200022_CheckSubmit( sceneId, selfId )
	local misIndex = GetMissionIndexByID(sceneId, selfId, x200022_g_MissionId)--µÃµ½ÈÎÎñÔÚ20¸öÈÎÎñÖеÄÐòÁÐ ºÅ
	local bComplete = GetMissionParam(sceneId, selfId, misIndex, 0)	
	if bComplete == 1 then
		return 1
	else
		return 0
	end
end
--**********************************
--Ìá½»
--**********************************
function x200022_OnSubmit( sceneId, selfId, targetId, selectRadioId, missionIndex )
	-- ¼ì²âÊDz»ÊÇÂú×ãÍê³ÉÈÎÎñµÄÌ õ¼þ
	if x200022_CheckSubmit(sceneId, selfId) ~= 1 then 
		return
	end
	BeginAddItem(sceneId)
	for i, item in x200022_g_RadioItemBonus do
		if item.id == selectRadioId then
			AddItem( sceneId,item.id, item.num )
		end
	end
	ret = EndAddItem(sceneId,selfId)
	--Ìí¼ÓÈÎÎñ½±Àø
	if ret < 1 then
		--ÈÎÎñ½±ÀøÃ»Óмӳɹ¦
		BeginEvent(sceneId)
			strText = "Nhi®m vø th¤t bÕi!"
			AddText(sceneId,strText);
		EndEvent(sceneId)
		DispatchMissionTips(sceneId,selfId)
		return
	end
	AddItemListToHuman(sceneId,selfId)
	AddMoney(sceneId,selfId,x200022_g_MoneyBonus );
	LuaFnAddExp( sceneId, selfId,x200022_g_exp)
	
	DelMission( sceneId,selfId, x200022_g_MissionId )
	--ÉèÖÃÈÎÎñÒѾ±»Íê³É¹ý
	MissionCom( sceneId,selfId, x200022_g_MissionId )
	Msg2Player(  sceneId, selfId,"#YNhi®m vø hoàn thành#W: Dù vÕn ngß¶i, ta vçn cÑ tiªn",MSG2PLAYER_PARA )
end
function x200022_OnHumanDie(sceneId, selfId)
end
--**********************************
--¶¨Ê±Ê¼þ
--**********************************
function x200022_OnTimer(sceneId,selfId)--,missionIndex)
	
end
Chú ý cái nStep là đoạn mình mới thêm vào. Đọc chút là hiểu.
phiyeutuan08
12-10-17, 04:19 PM
Mình có đoạn code này bạn sửa theo nó là được nhé. Toàn bộ các Q kịch tình hộ tống đều làm như này hết. Đã test rất OK.
-- ¾ÛÏÍׯ֮ ÂåÑô³¡¾°»¤ËÍ£¬Öص㲿·ÖŶ
-- ´¥·¢Ìõ¼þ£¬Íê³ÉÈÎÎñ21£¬È»ºó ½øÈëÂåÑôµÄʼþÇøÓò
--MisDescBegin
--½Å±¾ºÅ
x200022_g_ScriptId = 200022
--ÈÎÎñºÅ
x200022_g_MissionId = 22
--Ç°ÐøÈÎÎñºÅ
x200022_g_PreMissionId = 47
--Ä¿±êNPC
x200022_g_Name	="Ki«u Phong"
x200022_g_Name1 ="T× Kinh Lôi"
--ÈÎÎñ¹éÀà
x200022_g_MissionKind = 47
--ÈÎÎñµÈ¼¶
x200022_g_MissionLevel = 40
--ÊÇ·ñÊǾ«Ó¢ÈÎÎñ
x200022_g_IfMissionElite = 0
--ÈÎÎñÃû
x200022_g_MissionName="Dù vÕn ngß¶i, ta vçn cÑ tiªn"
--ÈÎÎñÃèÊö
x200022_g_MissionInfo="#{Mis_juqing_0022}"
--ÈÎÎñÄ¿±ê
x200022_g_MissionTarget="#{Mis_juqing_Tar_0022}"		
--ÌύʱnpcµÄ»°
x200022_g_MissionComplete="  Ki«u Phong th§t là...l¨ nào huynh ta chï vì mµt cô nß½ng, dám quên cä tính mÕng mình? Không khéo gi¶ ðây Tø Hi«n Trang ðã ðÕi loÕn m¤t.."		
x200022_g_MoneyBonus=9000
x200022_g_exp=9600
x200022_g_RadioItemBonus={{id=10423008 ,num=1},{id=10423009,num=1},{id=10423010,num=1},{i d=10423011,num=1}}
x200022_g_Custom	= {{id="Dù vÕn ngß¶i, ta vçn cÑ tiªn",num=1}}
--MisDescEnd
-- ¶ÓÎéId
x200022_g_GroupId = 0
-- »¤ËÍ·ÏßId
x200022_g_PatrolPathIndex = 4
-- ³¡¾°¼ÆÊ±Æ÷Index
x200022_g_SceneTimerIndex = -1
x200022_g_Step = 0
x200022_g_StartTime = 0
x200022_g_PlayerNum = 0
x200022_g_PlayerId= {-1,-1,-1,-1,-1,-1}
function x200022_DisplayBonus(sceneId, missionIndex)
	
end
--**********************************
--ÈÎÎñÈë¿Úº¯Êý
--**********************************
function x200022_OnDefaultEvent( sceneId, selfId, targetId, missionIndex )	--µã»÷¸ÃÈÎÎñºóÖ´Ðд˽ű¾
	--Èç¹ûÍæ¼ÒÍê³É¹ýÕâ¸öÈÎÎñ
	if (IsMissionHaveDone(sceneId,selfId,x200022_g_Missio nId) > 0 ) then
		return
	elseif( IsHaveMission(sceneId,selfId,x200022_g_MissionId) > 0)  then
		if GetName(sceneId, targetId) == x200022_g_Name1   then
			x200022_OnContinue( sceneId, selfId, targetId )
		end
	
	--Âú×ãÈÎÎñ½ÓÊÕÌõ¼þ
	elseif x200022_CheckAccept(sceneId,selfId) > 0 then
		-- ÅжÏÊÇÔÚ¸±±¾£¬
		if GetName(sceneId, targetId) == x200022_g_Name   then
			--·¢ËÍÈÎÎñ½ÓÊÜʱÏÔʾµÄÐÅÏ¢
			BeginEvent(sceneId)
				AddText(sceneId,x200022_g_MissionName)
				AddText(sceneId,x200022_g_MissionInfo)
				AddText(sceneId,"#{M_MUBIAO}#r")
				AddText(sceneId,x200022_g_MissionTarget)
				AddText(sceneId,"#{M_SHOUHUO}#r")
				for i, item in x200022_g_RadioItemBonus do
					AddRadioItemBonus( sceneId, item.id, item.num )
				end
				AddMoneyBonus( sceneId, x200022_g_MoneyBonus )
			EndEvent( )
			DispatchMissionInfo(sceneId,selfId,targetId,x20002 2_g_ScriptId,x200022_g_MissionId)
		end
	end
end
function x200022_OnMissionRefuse()
end
--**********************************
--ʼþÁбíÑ¡ÖÐÒ»Ïî
--**********************************
function x200022_OnEventRequest( sceneId, selfId, targetId, eventId )
	
	if GetName(sceneId, targetId) == x200022_g_Name   then
		if GetNumText() == 0    then
			BeginEvent(sceneId)
				AddText(sceneId,x200022_g_MissionName)
				AddText(sceneId,x200022_g_MissionInfo)
				AddText(sceneId,"#{M_MUBIAO}#r")
				AddText(sceneId,x200022_g_MissionTarget)
			EndEvent( )
			DispatchMissionInfo(sceneId,selfId,targetId,x20002 2_g_ScriptId,x200022_g_MissionId)
		end
	end
	
end
--**********************************
--ÁоÙʼþ
--**********************************
function x200022_OnEnumerate( sceneId, selfId, targetId )
	--Èç¹ûÍæ¼ÒÍê³É¹ýÕâ¸öÈÎÎñ
	if IsMissionHaveDone(sceneId,selfId,x200022_g_Mission Id) > 0 then
		return 
	--Èç¹ûÒѽӴËÈÎÎñ
	elseif IsHaveMission(sceneId,selfId,x200022_g_MissionId) > 0 then
		if GetName(sceneId, targetId) == x200022_g_Name1   then
			AddNumText(sceneId, x200022_g_ScriptId,x200022_g_MissionName,2,-1);
		end
	--Âú×ãÈÎÎñ½ÓÊÕÌõ¼þ
	elseif x200022_CheckAccept(sceneId,selfId) > 0 then
		if GetName(sceneId, targetId) == x200022_g_Name    then
			AddNumText(sceneId,x200022_g_ScriptId,x200022_g_Mi ssionName,1,-1);
		end
	end
end
--**********************************
-- 
--**********************************
function x200022_OnLockedTarget( sceneId, selfId, targetId, missionIndex )
end
--**********************************
--¼ì²â½ÓÊÜÌõ¼þ
--**********************************
function x200022_CheckAccept( sceneId, selfId )
	-- ½ÓÈÎÎñµÄÌõ¼þÊÇ£¬ÈËÎï´ïµ½20 ¼¶ÒÔÉÏ£¬²¢ÇÒÍê³ÉÁËÇ°ÐøÈÎÎ ñ
	if GetLevel(sceneId, selfId) < 40   then
		return 0
	end
	
	if IsMissionHaveDone(sceneId, selfId, x200022_g_PreMissionId ) < 1   then
		return 0
	end
	
	return 1
end
--**********************************
--½ÓÊÜ
--**********************************
function x200022_OnAccept( sceneId, selfId, targetId )
	-- ¼ì²âÍæ¼ÒÊDz»ÊÇÒѾÍê³É¹ýÕ â¸öÈÎÎñ
	if IsMissionHaveDone(sceneId, selfId, x200022_g_MissionId) > 0   then
		return
	end
	
	if x200022_CheckAccept(sceneId, selfId)  < 1   then
		return
	end
	if x200022_g_Step ~= 0  and x200022_g_Step ~= 2   then
		BeginEvent(sceneId)
			AddText(sceneId, "Møc tiêu ðang b§n, xin ðþi mµt lát!")
		EndEvent()
		DispatchMissionTips(sceneId, selfId)
		return
	end
	
	-- ÕâÀïµÄ»¤ËÍÐèÒªÆô¶¯³¡¾°µÄ¼ ÆÊ±Æ÷£¬²»ÄÜʹÓÃÈÎÎñ¼ÆÊ±Æ÷
	if x200022_g_Step == 0   then
		local ret = AddMission( sceneId,selfId, x200022_g_MissionId, x200022_g_ScriptId, 0, 0, 0 )
		if ret <= 0 then
			Msg2Player(  sceneId, selfId,"#YNh§t ký nhi®m vø cüa các hÕ ðã ð¥y" , MSG2PLAYER_PARA )
			return
		end
		local misIndex = GetMissionIndexByID(sceneId,selfId,x200022_g_Missi onId)
		-- Õâ¸ö³¡¾°¼ÆÊ±Æ÷£¬Ó¦¸ÃÊÇÒ»Ö ±±»Õâ¸ö»î¶¯Õ¼Óõģ¬ËùÒÔ£¬ Ö»ÒªÕâ¸öÖµ²»µÈÓÚ-1£¬¾Í²»ÒªÔÙÉêÇë
		if x200022_g_SceneTimerIndex == -1  then
			x200022_g_SceneTimerIndex = SetTimer(sceneId, selfId, x200022_g_ScriptId, "OnSceneTimer", 1)
			SetMissionByIndex(sceneId,selfId,misIndex,3,x20002 2_g_SceneTimerIndex)
		end
		
		x200022_g_StartTime = LuaFnGetCurrentTime()
		x200022_g_Step = 1
		
		Msg2Player(  sceneId, selfId,"#YNh§n nhi®m vø#W: Dù vÕn ngß¶i, ta vçn cÑ tiªn",MSG2PLAYER_PARA )
		
		SetMissionByIndex(sceneId,selfId,misIndex,2,0)
	end
	
	if x200022_g_Step == 2   then
		-- °ÑÕâ¸öÍæ¼Ò¼Óµ½»¤ËÍÁбíÖÐÈ ¥
		
		local ret = AddMission( sceneId,selfId, x200022_g_MissionId, x200022_g_ScriptId, 0, 0, 0 )
		if ret <= 0 then
			Msg2Player(  sceneId, selfId,"#YNh§t ký nhi®m vø cüa các hÕ ðã ð¥y" , MSG2PLAYER_PARA )
			return
		end
		
		x200022_g_PlayerNum = x200022_g_PlayerNum + 1
		x200022_g_PlayerId[x200022_g_PlayerNum] = selfId
		Msg2Player(  sceneId, selfId,"#YNh§n nhi®m vø#W: Dù vÕn ngß¶i, ta vçn cÑ tiªn",MSG2PLAYER_PARA )
		
		local misIndex = GetMissionIndexByID(sceneId,selfId,x200022_g_Missi onId)
		SetMissionByIndex(sceneId,selfId,misIndex,2,0)
	end
	
end
--**********************************
--³¡¾°Timer
--**********************************
function x200022_OnSceneTimer( sceneId, selfId )
	if LuaFnIsObjValid(sceneId,selfId)~=1 then
		return
	end
	local misIndex = GetMissionIndexByID(sceneId,selfId,x200022_g_Missi onId)
	if not misIndex or misIndex<0 or misIndex>5000 then
		return
	end
	
	local nStep=GetMissionParam(sceneId,selfId,misIndex,2)
	
	x200022_g_PlayerId[1] = selfId
	x200022_g_PlayerNum = 1
	
	if nStep==100 then
		x200022_g_SceneTimerIndex=GetMissionParam(sceneId, selfId,misIndex,3)
		StopTimer(sceneId, x200022_g_SceneTimerIndex)
		return
	end
	
	if nStep == 0 then
		x200022_g_StartTime = LuaFnGetCurrentTime()
		--nStep = 1
		SetMissionByIndex(sceneId,selfId,misIndex,2,1)
	end
	
	if nStep < 3  then
		local nSelfId = -1
		local bHavePlayer = 0
	--	if LuaFnIsObjValid(sceneId, nSelfId)==1  and
	--		 LuaFnIsCanDoScriptLogic(sceneId, nSelfId) == 0   then
			for i=1, x200022_g_PlayerNum  do	
				if x200022_g_PlayerId[i] ~= -1  then
					if LuaFnIsObjValid(sceneId, x200022_g_PlayerId[i])==1  and
						 LuaFnIsCanDoScriptLogic(sceneId, x200022_g_PlayerId[i]) == 1   then
						bHavePlayer = 1
						nSelfId = x200022_g_PlayerId[i]
						
						break
					end
				end
			end
	--	else
	--		bHavePlayer = 1
	--	end
		
		if bHavePlayer == 0   then
			-- ¼ÆÊ±Æ÷Í£Ö¹£¬Çå³ýËùÓеÄÈ«¾ Ö±äÁ¿
			--x200022_g_Step = 0
			SetMissionByIndex(sceneId,selfId,misIndex,2,100)
			x200022_g_StartTime = 0
			x200022_g_PlayerId[1] = -1
			x200022_g_PlayerId[2] = -1
			x200022_g_PlayerId[3] = -1
			x200022_g_PlayerId[4] = -1
			x200022_g_PlayerId[5] = -1
			x200022_g_PlayerId[6] = -1
			x200022_g_PlayerNum = 0
			x200022_g_StartTime = 0
			
			return
		end
		--end
	end
	
	-- ¼ì²âÖ»ÒªÇÇ·åºÍ°¢ÖéÖеÄÈκ ÎÒ»¸öÈ˲»ÔÚ³¡¾°ÖÐÁË£¬¾ÍÇå ¿ÕËùÓеÄÈ«¾Ö±äÁ¿
	local nNpcNum = GetMonsterCount(sceneId)
	local kk = 0
	local bHaveQiao = 0
	for kk = 0, nNpcNum-1 do
		local nNpcId = GetMonsterObjID(sceneId,kk)
		if GetName(sceneId, nNpcId)  == "Ki«u Phong"  then
			bHaveQiao = 1+bHaveQiao
		end
		
		if GetName(sceneId, nNpcId)  == "A Châu"  then
			bHaveQiao = 1+bHaveQiao
		end
	end
	
	if 	bHaveQiao ~= 2   then
		--StopTimer(sceneId, x200022_g_SceneTimerIndex)
		--x200022_g_SceneTimerIndex = -1
		nStep = 0
		SetMissionByIndex(sceneId,selfId,misIndex,2,100)
		x200022_g_StartTime = 0
		x200022_g_PlayerId[1] = -1
		x200022_g_PlayerId[2] = -1
		x200022_g_PlayerId[3] = -1
		x200022_g_PlayerId[4] = -1
		x200022_g_PlayerId[5] = -1
		x200022_g_PlayerId[6] = -1
		x200022_g_PlayerNum = 0
		x200022_g_StartTime = 0
		
		return
	end
	
	
	if nStep == 1   then
		-- ¸øÐ¡¶ÓµÄËùÓÐÍæ¼Ò·¢ËÍÒ»Æð» ¤Ë͵ÄÑûÇë
		--local groupId = AllocateMonsterGroup(sceneId)
		local nMonsterNum = GetMonsterCount(sceneId)
		local jj = 0
		local nQiaofenId = 0
		local bHaveMonster = 0
		for jj=0, nMonsterNum-1 do
			local nMonsterId = GetMonsterObjID(sceneId,jj)
			if GetName(sceneId, nMonsterId)  == "Ki«u Phong"  then
				nQiaofenId = nMonsterId
				bHaveMonster = 1
			end
		end
		
		for i=1, x200022_g_PlayerNum  do	
			if x200022_g_PlayerId[i] ~= -1  then
				if LuaFnIsObjValid(sceneId, x200022_g_PlayerId[i])==1  and
					 LuaFnIsCanDoScriptLogic(sceneId, x200022_g_PlayerId[i]) == 1   then
					bHavePlayer = 1
					nSelfId = x200022_g_PlayerId[i]
					
					break
				end
			end
		end
--		PrintNum(nSelfId)
--		PrintNum(x200022_g_PlayerNum)
		local nTeamCount = GetNearTeamCount(sceneId, nSelfId)
		for i=0, nTeamCount-1 do
			local PlayerId = GetNearTeamMember(sceneId, nSelfId, i)
			if PlayerId ~= nSelfId    then
				CallScriptFunction((200022), "OnDefaultEvent", sceneId, PlayerId, nQiaofenId )
			end
		end
		
		-- ¼ÇÏÂÕâ¸ö½ÓÁËÈÎÎñµÄÍæ¼Ò
		--x200022_g_PlayerNum = 1
		--x200022_g_PlayerId[1]= nSelfId
		x200022_g_StartTime = LuaFnGetCurrentTime()
		
		--x200022_g_Step = 2
		SetMissionByIndex(sceneId,selfId,misIndex,2,2)
		CallScriptFunction((200060), "Paopao",sceneId, "Ki«u Phong", "LÕc Dß½ng", "#{juqing_start_007}")
		
	elseif nStep == 2   then
		-- µÈ´ý5Ã룬Õâ¸öʱ¼äÊǵȴý±ð� �ÄÍæ¼ÒÒ»Æð½øÐÐÕâ¸ö»¤Ë͵ÄÊ� �¼ä
		if LuaFnGetCurrentTime() - x200022_g_StartTime > 5   then
			CallScriptFunction((200060), "Paopao",sceneId, "Ki«u Phong", "LÕc Dß½ng", "#{juqing_start_008}")
			--x200022_g_Step = 3
			SetMissionByIndex(sceneId,selfId,misIndex,2,3)
			return
		end
		
	elseif nStep == 3   then
		CallScriptFunction((200060), "Paopao",sceneId, "Ki«u Phong", "LÕc Dß½ng", "#{juqing_start_009}")
		
		-- ÉêÇëÒ»¸öѲÂß×飬¿ªÊ¼×ß
		--local groupId = AllocateMonsterGroup(sceneId)
		-- ÔÀ´ÊÇÓõÄÊÇÉêÇëÒ»¸öеÄÑ ²Âß×飬ÏÖÔÚʹÓÃÒ»¸ö¹Ì¶¨µÄ ѲÂß×éÀ´Íê³É
		-- ÔÚ¿ªÊ¼Õâ¸öȺÌ廤ËÍǰ£¬ÏÖÇ å¿ÕÒ»ÏÂÕâ¸ö×é
		ReleaseMonsterGroup(sceneId, x200022_g_GroupId)
		local nMonsterNum = GetMonsterCount(sceneId)
		local jj = 0
		local nHaveMonster = 0
		local nQiaofenId = 0
		for jj=0, nMonsterNum-1 do
			local nMonsterId = GetMonsterObjID(sceneId,jj)
			if GetName(sceneId, nMonsterId)  == "A Châu"  then
				AddGroupMember(sceneId, x200022_g_GroupId, nMonsterId, 2, 1)
				SetConvoyNPC(sceneId, nMonsterId, 1)
				nHaveMonster = nHaveMonster + 1
			end
			if GetName(sceneId, nMonsterId)  == "Ki«u Phong"  then
				AddGroupLeader(sceneId, x200022_g_GroupId, nMonsterId)
				nQiaofenId = nMonsterId
				nHaveMonster = nHaveMonster + 1
			end
		end
		SetIntervalDistOfGroupMember(sceneId, x200022_g_GroupId, 1)
		
		RefixPosOfGroupMember(sceneId,x200022_g_GroupId,nQ iaofenId)
		--µÃµ½»¤ËÍѲÂß·Ïß
		SetPatrolId(sceneId, nQiaofenId, x200022_g_PatrolPathIndex)
		
		--x200022_g_Step = 4
		SetMissionByIndex(sceneId,selfId,misIndex,2,4)
		
	elseif nStep == 4   then
	
		-- ¼ÆÊ±Æ÷ÿ´Î¼ì²âÍæ¼ÒÊDz»ÊÇÓ ÐÈÎÎñʧ°ÜµÄÇé¿ö³öÏÖ£¬
		for i=1, x200022_g_PlayerNum  do
			-- Èç¹ûÍæ¼ÒÀ뿪Á˳¡¾°£¬¾ÍÈÎÎ ñʧ°Ü
			if x200022_g_PlayerId[i] ~= -1   then
				if LuaFnIsObjValid(sceneId, x200022_g_PlayerId[i])==0  or
					 LuaFnIsCanDoScriptLogic(sceneId, x200022_g_PlayerId[i]) == 0  then
					x200022_g_PlayerId[i] = -1
				end	
			end
		end
		
		-- ÔÚÕâÀïÌí¼ÓÂåÑô¾ÓÃñµÄÅÝÅÝ£ ¬Ôö¼ÓÆø·Õ
		
		
		-- ¼ì²â»¤Ë͵ÄÍê³ÉÌõ¼þ£¬ÇÇ·å ×ßµ½ÁËÄ¿±êµã
		local nMonsterNum = GetMonsterCount(sceneId)
		local jj = 0
		local bHaveMonster = 0
		for jj=0, nMonsterNum-1 do
			local nMonsterId = GetMonsterObjID(sceneId,jj)
			if GetName(sceneId, nMonsterId)  == "Ki«u Phong"  then
				-- ÅжÏÇÇ·åÊDz»ÊÇ×ßµ½ÁË
				local targetX, targetZ = GetWorldPos(sceneId, nMonsterId)
				local x, z = GetLastPatrolPoint(sceneId, x200022_g_PatrolPathIndex)
				local distance = floor(sqrt((targetX-x)*(targetX-x)+(targetZ-z)*(targetZ-z)))
				local Pos_X,Pos_Y=GetWorldPos(sceneId,selfId)
				
				if floor(sqrt((targetX-Pos_X)*(targetX-Pos_X)+(targetZ-Pos_Y)*(targetZ-Pos_Y)))>=20 then
					BeginEvent(sceneId)
						AddText(sceneId, "Hµ t¯ng Ki«u Phong th¤t bÕi, khoäng cách quá xa!")
					EndEvent()
					DispatchMissionTips(sceneId, selfId)
					for kk=0, nMonsterNum-1 do
						local nMonsterId1 = GetMonsterObjID(sceneId,kk)
						if GetName(sceneId, nMonsterId1)  == "Ki«u Phong" or  GetName(sceneId, nMonsterId1)  == "A Châu" then
							--SetCharacterDieTime(sceneId,nMonsterId1,100)
							LuaFnDeleteMonster(sceneId, nMonsterId1)
						end
					end
					local MstId=LuaFnCreateMonster(sceneId,1,378,265,3,0,113 001)
					SetCharacterName(sceneId,MstId,"Ki«u Phong")
					local MstId=LuaFnCreateMonster(sceneId,5,382,265,3,0,113 001)
					SetCharacterName(sceneId,MstId,"A Châu")
					local misIndex = GetMissionIndexByID(sceneId, selfId, x200022_g_MissionId)--µÃµ½ÈÎÎñÔÚ20¸öÈÎÎñÖеÄÐòÁÐ ºÅ
					SetMissionByIndex(sceneId, selfId, misIndex, 0, 2)
					SetMissionByIndex(sceneId,selfId,misIndex,2,100)
					return
				end
				
				if distance<=2   then
					--x200022_g_Step = 5
					SetMissionByIndex(sceneId,selfId,misIndex,2,5)
					-- ֪ͨËùÓÐÈË£¬»¤Ëͳɹ¦
					for i=1, x200022_g_PlayerNum   do
						if x200022_g_PlayerId[i]~=-1   then
							local misIndex = GetMissionIndexByID(sceneId, x200022_g_PlayerId[i], x200022_g_MissionId)--µÃµ½ÈÎÎñÔÚ20¸öÈÎÎñÖеÄÐòÁÐ ºÅ
							SetMissionByIndex(sceneId, x200022_g_PlayerId[i], misIndex, 0, 1)
							BeginEvent(sceneId)
								AddText(sceneId, "Hµ t¯ng Ki«u Phong thành công")
							EndEvent()
							DispatchMissionTips(sceneId, x200022_g_PlayerId[i])
						end
					end
				end
			end
		end
		
	elseif nStep == 5  then
		--º°»°¾çÇé
		CallScriptFunction((200060), "Paopao",sceneId, "T× Kinh Lôi", "LÕc Dß½ng", "#{JQ_PaoPao_79}") 
		--x200022_g_Step = 6
		SetMissionByIndex(sceneId,selfId,misIndex,2,6)
		x200022_g_StartTime = LuaFnGetCurrentTime()
		
	elseif nStep == 6  then
		if LuaFnGetCurrentTime()-x200022_g_StartTime > 3   then
			CallScriptFunction((200060), "Paopao",sceneId, "Ki«u Phong", "LÕc Dß½ng", "#{JQ_PaoPao_80}")
			--x200022_g_Step = 7
			SetMissionByIndex(sceneId,selfId,misIndex,2,7)
			x200022_g_StartTime = LuaFnGetCurrentTime()
		end
		
	elseif nStep == 7  then
		if LuaFnGetCurrentTime()-x200022_g_StartTime > 3   then
			CallScriptFunction((200060), "Paopao",sceneId, "T× Kinh Lôi", "LÕc Dß½ng", "#{JQ_PaoPao_81}")
			--x200022_g_Step = 8
			SetMissionByIndex(sceneId,selfId,misIndex,2,8)
			x200022_g_StartTime = LuaFnGetCurrentTime()
		end
		
	elseif nStep == 8  then
		if LuaFnGetCurrentTime()-x200022_g_StartTime > 5   then
		
			-- ¼ÆÊ±Æ÷Í£Ö¹£¬Çå³ýËùÓеÄÈ«¾ Ö±äÁ¿
			--StopTimer(sceneId, x200022_g_SceneTimerIndex)
			
			--x200022_g_SceneTimerIndex = -1
			--x200022_g_Step = 0
			SetMissionByIndex(sceneId,selfId,misIndex,2,100)
			x200022_g_StartTime = 0
			x200022_g_PlayerId[1] = -1
			x200022_g_PlayerId[2] = -1
			x200022_g_PlayerId[3] = -1
			x200022_g_PlayerId[4] = -1
			x200022_g_PlayerId[5] = -1
			x200022_g_PlayerId[6] = -1
			x200022_g_PlayerNum = 0
			x200022_g_StartTime = 0
			
			--ɾ³ýÇÇ·åºÍ°¢Öì
		  local nMonsterNum = GetMonsterCount(sceneId)
			local ii = 0
			local bHaveMonster = 0
			for ii=0, nMonsterNum-1 do
				local nMonsterId = GetMonsterObjID(sceneId,ii)
				if GetName(sceneId, nMonsterId)  == "Ki«u Phong"  then
					LuaFnDeleteMonster(sceneId, nMonsterId)
				end
				
				if GetName(sceneId, nMonsterId)  == "A Châu"  then
					LuaFnDeleteMonster(sceneId, nMonsterId)
				end
			end
		end	
		
		local MstId=LuaFnCreateMonster(sceneId,1,378,265,3,0,113 001)
		SetCharacterName(sceneId,MstId,"Ki«u Phong")
		local MstId=LuaFnCreateMonster(sceneId,5,382,265,3,0,113 001)
		SetCharacterName(sceneId,MstId,"A Châu")
	end
	
end
--**********************************
--·ÅÆú
--**********************************
function x200022_OnAbandon( sceneId, selfId )
  --½«»¤ËÍnpcË²ÒÆ»ØÔÀ´Î»ÖÃ
  DelMission(sceneId, selfId, x200022_g_MissionId)
  
end
--**********************************
--¼ÌÐø
--**********************************
function x200022_OnContinue( sceneId, selfId, targetId )
	
	if x200022_CheckSubmit(sceneId, selfId) ~= 1 then 
		BeginEvent(sceneId)
			strText = "Các hÕ ðã hoàn thành nhi®m vø chßa?"
			AddText(sceneId,strText);
		EndEvent(sceneId)
		DispatchEventList(sceneId,selfId,targetId)
		return
	end
	
	BeginEvent(sceneId)
		AddText(sceneId,x200022_g_Name)
		AddText(sceneId,x200022_g_MissionComplete)
		AddText(sceneId,"#{M_MUBIAO}#r")
		AddText(sceneId,x200022_g_MissionTarget)
		AddText(sceneId,"#{M_SHOUHUO}#r")
		AddMoneyBonus( sceneId, x200022_g_MoneyBonus )
		for i, item in x200022_g_RadioItemBonus do
			AddRadioItemBonus( sceneId, item.id, item.num )
		end
	EndEvent( )
	
	DispatchMissionContinueInfo(sceneId, selfId, targetId, x200022_g_ScriptId, x200022_g_MissionId)
end
--**********************************
--¼ì²âÊÇ·ñ¿ÉÒÔÌá½»
--**********************************
function x200022_CheckSubmit( sceneId, selfId )
	local misIndex = GetMissionIndexByID(sceneId, selfId, x200022_g_MissionId)--µÃµ½ÈÎÎñÔÚ20¸öÈÎÎñÖеÄÐòÁÐ ºÅ
	local bComplete = GetMissionParam(sceneId, selfId, misIndex, 0)	
	if bComplete == 1 then
		return 1
	else
		return 0
	end
end
--**********************************
--Ìá½»
--**********************************
function x200022_OnSubmit( sceneId, selfId, targetId, selectRadioId, missionIndex )
	-- ¼ì²âÊDz»ÊÇÂú×ãÍê³ÉÈÎÎñµÄÌ õ¼þ
	if x200022_CheckSubmit(sceneId, selfId) ~= 1 then 
		return
	end
	BeginAddItem(sceneId)
	for i, item in x200022_g_RadioItemBonus do
		if item.id == selectRadioId then
			AddItem( sceneId,item.id, item.num )
		end
	end
	ret = EndAddItem(sceneId,selfId)
	--Ìí¼ÓÈÎÎñ½±Àø
	if ret < 1 then
		--ÈÎÎñ½±ÀøÃ»Óмӳɹ¦
		BeginEvent(sceneId)
			strText = "Nhi®m vø th¤t bÕi!"
			AddText(sceneId,strText);
		EndEvent(sceneId)
		DispatchMissionTips(sceneId,selfId)
		return
	end
	AddItemListToHuman(sceneId,selfId)
	AddMoney(sceneId,selfId,x200022_g_MoneyBonus );
	LuaFnAddExp( sceneId, selfId,x200022_g_exp)
	
	DelMission( sceneId,selfId, x200022_g_MissionId )
	--ÉèÖÃÈÎÎñÒѾ±»Íê³É¹ý
	MissionCom( sceneId,selfId, x200022_g_MissionId )
	Msg2Player(  sceneId, selfId,"#YNhi®m vø hoàn thành#W: Dù vÕn ngß¶i, ta vçn cÑ tiªn",MSG2PLAYER_PARA )
end
function x200022_OnHumanDie(sceneId, selfId)
end
--**********************************
--¶¨Ê±Ê¼þ
--**********************************
function x200022_OnTimer(sceneId,selfId)--,missionIndex)
	
end
Chú ý cái nStep là đoạn mình mới thêm vào. Đọc chút là hiểu.
Mình copy cái này vào file juxianzhuang_03.lua là fix được nhiệm vụ kịch tình Kiều Phong hả Sói!
aphrodite
12-10-17, 07:16 PM
mình hộ tống xong ko trả quest đc :-ss:-ss:-ss
phiyeutuan08
17-10-17, 04:55 PM
Mình sử dụng file của chủ topic cũng không trả được Quest chỗ Từ Tịnh Lôi!
Làm theo cách của Sói thì Kiều Phong di chuyển nhưng đến cho Từ Tịnh Lôi cũng không trả được quest!
Mong cao nhân giúp!
Dark.Hades
17-10-17, 05:26 PM
Mình sử dụng file của chủ topic cũng không trả được Quest chỗ Từ Tịnh Lôi!
Làm theo cách của Sói thì Kiều Phong di chuyển nhưng đến cho Từ Tịnh Lôi cũng không trả được quest!
Mong cao nhân giúp!
diff file rồi merge code trả quest là ok :D
Sói Đẹp Trai
17-10-17, 09:12 PM
Code của mình nó chỉ là cái tư tưởng để fix các Q sau này thôi, còn đoạn code đó tùy sv của bạn như nào. Nó run đc hay ko còn thuộc vào tên của NPC có khớp file không nữa. Ngoài ra còn nhiều yếu tố khác...
--- Chế độ gộp bài viết ---
Lưu ý thêm là khi làm Q chính tuyến chỗ Thạch Lâm hộ tống thằng gì ấy quên tên rồi. Script đó nó sẽ LỖI không chạy được. Cái này nguyên nhân cũng do cái step kia thôi. Thế nên mình nói toàn bộ Q hộ tống về sau (Q thạch lâm, Bảo tiêu đậu đậu - Tuyết nguyên, Linh hồn của A vũ - Miêu cuơng..., Q Quỳnh Châu) đều dùng cơ chế này sẽ ok hết.
phiyeutuan08
19-10-17, 04:22 PM
Code của mình nó chỉ là cái tư tưởng để fix các Q sau này thôi, còn đoạn code đó tùy sv của bạn như nào. Nó run đc hay ko còn thuộc vào tên của NPC có khớp file không nữa. Ngoài ra còn nhiều yếu tố khác...
--- Chế độ gộp bài viết ---
Lưu ý thêm là khi làm Q chính tuyến chỗ Thạch Lâm hộ tống thằng gì ấy quên tên rồi. Script đó nó sẽ LỖI không chạy được. Cái này nguyên nhân cũng do cái step kia thôi. Thế nên mình nói toàn bộ Q hộ tống về sau (Q thạch lâm, Bảo tiêu đậu đậu - Tuyết nguyên, Linh hồn của A vũ - Miêu cuơng..., Q Quỳnh Châu) đều dùng cơ chế này sẽ ok hết.
Đã sửa được nhiệm vụ kịch tình 40 rồi, cám ơn Sói nhiều! Đang cùng Tiêu Phong chiến quần hùng phê quá!
phamvuong
19-10-17, 04:31 PM
Đã sửa được nhiệm vụ kịch tình 40 rồi, cám ơn Sói nhiều! Đang cùng Tiêu Phong chiến quần hùng phê quá!
share scipt đi bồ tèo ơi
:D
mò mãi mà chưa dc nè
phiyeutuan08
19-10-17, 04:51 PM
share scipt đi bồ tèo ơi
:D
mò mãi mà chưa dc nè
Đây bạn hiền ơi!
Mình cũng đang xài 0.26 như bạn mà.
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Đường dẫn cho ai chưa biết: tlbb\Public\Data\Script\event\juqing
phamvuong
19-10-17, 05:02 PM
Đây bạn hiền ơi!
Mình cũng đang xài 0.26 như bạn mà.
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Đường dẫn cho ai chưa biết: tlbb\Public\Data\Script\event\juqing
hự mình đang chạy sv của darkhades
chắc script cũng giống nhau nhỉ :D
tks bạn hiền
Dark.Hades
19-10-17, 06:03 PM
hự mình đang chạy sv của darkhades
chắc script cũng giống nhau nhỉ :D
tks bạn hiền
Bác test thử xem nhé, nếu chạy thì báo mình, tiện thể update source sv luôn
phamvuong
19-10-17, 06:45 PM
Bác test thử xem nhé, nếu chạy thì báo mình, tiện thể update source sv luôn
theo script này thì hộ tống xong xuối nhưng không trả được Q
check Q vẫn thấy báo dù vạn người ta vẫn tiến 0/1
buồn
phiyeutuan08
19-10-17, 07:17 PM
theo script này thì hộ tống xong xuối nhưng không trả được Q
check Q vẫn thấy báo dù vạn người ta vẫn tiến 0/1
buồn
Bạn hủy nv rồi nhận lại xem. Mình test chạy ok trên ban 0.26 rồi mà. Hộ tống xong nc voi Từ Kinh Lôi là trả Quest luôn. Vào THT gặp Kieu Phong va chiến!
phamvuong
19-10-17, 07:24 PM
Bạn hủy nv rồi nhận lại xem. Mình test chạy ok trên ban 0.26 rồi mà. Hộ tống xong nc voi Từ Kinh Lôi là trả Quest luôn. Vào THT gặp Kieu Phong va chiến!
hủy thì ko nhận lại được luôn
còn trả nv thì toàn vào lại Q vào tụ hiền trang (đêm)
phiyeutuan08
19-10-17, 09:15 PM
hủy thì ko nhận lại được luôn
còn trả nv thì toàn vào lại Q vào tụ hiền trang (đêm)
Ban chon nhiem vu roi chon huy. Chay ra Nhan Nam gap lai Kieu phong nhan lai nhiem vu. Ho tong xong la nc voi Tu Kinh Loi xem ok ko? Thu 2 -3 lan xem sao. Bao gio nhap vao Tu Kinh Loi no hien ra ten nhiem vu: Du van nguoi ta van tien la duoc roi!
phamvuong
19-10-17, 09:22 PM
Ban chon nhiem vu roi chon huy. Chay ra Nhan Nam gap lai Kieu phong nhan lai nhiem vu. Ho tong xong la nc voi Tu Kinh Loi xem ok ko? Thu 2 -3 lan xem sao. Bao gio nhap vao Tu Kinh Loi no hien ra ten nhiem vu: Du van nguoi ta van tien la duoc roi!
từ kính lôi thì chỉ nv vào tụ hiền trang (đêm)
ra nhạn nam thì ngắm cây thôi 
hix
phiyeutuan08
19-10-17, 09:55 PM
từ kính lôi thì chỉ nv vào tụ hiền trang (đêm)
ra nhạn nam thì ngắm cây thôi 
hix
Hay ban test lai ban 0.26 xem. Minh thay ko loi ma!
phamvuong
20-10-17, 04:55 PM
Hay ban test lai ban 0.26 xem. Minh thay ko loi ma!
mình ðang sửa lại ở bản của Hải nên chưa đụng tới bản 0.26
bạn làm qua rồi thì ok rồi 
check tiếp mấy q hộ tống sau thôi 
hì
Sói Đẹp Trai
20-10-17, 10:16 PM
Cái tư tưởng này để fix các bản về sau còn 0.26 thì code cũ nó run OK nhé.
phiyeutuan08
28-10-17, 01:25 PM
Vừa Test hoàn thành xong hết nhiệm vụ kịch tình 70 của TLBB bản 0.26 không lỗi lầm gì!
Con như phiên bản hoài cổ này đã hoàn chỉnh hết các nhiệm vụ chơi giải trí đơn thuần rất vui!
phamvuong
28-10-17, 01:32 PM
Vừa Test hoàn thành xong hết nhiệm vụ kịch tình 70 của TLBB bản 0.26 không lỗi lầm gì!
Con như phiên bản hoài cổ này đã hoàn chỉnh hết các nhiệm vụ chơi giải trí đơn thuần rất vui!
ghét cái nó ko có chức năng auto chọn mục tiêu
nhưng cái khác thì ok thật
danhducdcnag
28-10-17, 01:49 PM
Vừa Test hoàn thành xong hết nhiệm vụ kịch tình 70 của TLBB bản 0.26 không lỗi lầm gì!
Con như phiên bản hoài cổ này đã hoàn chỉnh hết các nhiệm vụ chơi giải trí đơn thuần rất vui!
Share cho anh em chơi đi bạn! Cảm ơn trước nha
phiyeutuan08
28-10-17, 02:26 PM
Share cho anh em chơi đi bạn! Cảm ơn trước nha
Là bản share ở Topic này mà:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Mang về vọc tý và dùng hướng dẫn của Sói sửa quest là chạy ầm ầm mà!
Bản 0.26 nhìn bi hài nhất cái auto tìm đường nó đi đánh võng thôi rồi!
 
Powered by vBulletin® Version 4.2.0 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.