[JX] Hỏi cách Tăng điểm kỹ năng, tiềm năng giữ lại sau mỗi lần chuyển sinh
Hello & Welcome to our community. Is this your first visit? Đăng Ký
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 2 của 2
  1. #1
    Thành Viên
    Ngày tham gia
    Jan 2015
    Bài viết
    103
    Thanks
    18
    Thanked 11 Times in 11 Posts

    Hỏi cách Tăng điểm kỹ năng, tiềm năng giữ lại sau mỗi lần chuyển sinh

    Mình đang xem cái tăng điểm tiềm năng và kỹ năng sau mỗi lần chuyển sinh của jx linux .Nhưng mình không rành về script lắm .mong bạn nào tăng được có thể giúp mình với . mình cảm ơn
    Đây là đoạn mình tìm vào
    Code:
    -- ====================== ÎļþÐÅÏ¢ ======================
    
    -- ½£ÏÀÇéÔµÍøÂç°æÔ½ÄÏ°æ - NPC¶Ô»°´¦Àí
    -- ÎļþÃû¡¡£ºnpc_saodiseng.lua
    -- ´´½¨Õß¡¡£º×Ó·Çô~
    -- ´´½¨Ê±¼ä£º2009-02-04 16:25:15
    
    -- ======================================================
    
    Include("\\script\\task\\metempsychosis\\task_func.lua")
    Include("\\script\\task\\metempsychosis\\translife_4.lua")
    --Phong V©n LÖnh Bµi - §iÒu chØnh thêi gian trïng sinh ®èi víi c¸c t©n thñ - Modified By DinhHQ - 20110926
    Include("\\script\\activitysys\\config\\1005\\check_func.lua")
    -- ±»Ô½ÄÏÇ¿ÖÆǨÒƵ½ ±±¶·ÀÏÈË´¦
    function beidou_translife_main()
    	CreateTaskSay({"<dec><npc>L¹i ®Õn 1 ng­êi n÷a? Xem ra chuyÖn ta ®¹t ®­îc <B¾c §Èu Tr­êng Sinh ThuËt - T©m Ph¸p Thiªn> kh«ng cßn lµ bÝ mËt n÷a råi. LÏ nµo viÖc phÕ vâ c«ng kh«ng lµm cho thiªn h¹ sî h·i hay sao. ViÖc ®· nh­ thÕ nµy råi, ng­¬i t×m ta cã viÖc g×.",
    		"PhÕ vâ c«ng? Ng­êi ®õng däa ta chø?/zhuansheng_ondialog",
    		"KiÓm tra kü n¨ng trïng sinh 4 cßn d­ ®iÓm kü n¨ng/querySkillPoint_4",
    		"TÈy ®iÓm kü n¨ng trïng sinh 4/wantClearSkillPoint_4",
    		"Vâ c«ng, t©m ph¸p c¸i g×! L¹i thªm 1 kÎ ®iªn khïng/OnCancel"
    		});
    end
    
    function zhuansheng_ondialog()
    	if (GetTask(TSK_ZHUANSHENG_FLAG) == 1) then
    		Msg2Player("§· häc <B¾c §Èu Tr­êng Sinh ThuËt - C¬ Së Thiªn>");
    	end
    	
    	local tbOpp = {"<dec><npc>Kh«ng sai, lÏ nµo ng­¬i kh«ng biÕt? Tu luyÖn B¾c §Èu Tr­êng Sinh ThuËt xong. CÊp bËc cña ®¹i hiÖp sÏ thµnh cÊp 10, tÊt c¶ kü  n¨ng vâ c«ng sÏ bÞ phÕ, ®¹t ®Õn cÊp bËc t­¬ng øng  míi cã thÓ håi phôc (cÊp 90, 120 sÏ kh«i phôc c¸c kü n¨ng vèn cã). Ngoµi ra, sÏ b¶o l­u tÊt c¶ nh÷ng ®iÓm kü n¨ng vµ tiÒm n¨ng cña ®¹i hiÖp.<enter> Nãi chung, ®¹i hiÖp cÇn b¾t ®Çu tõ ®Çu. Nh­ng còng ®õng  qu¸ n«n nãng, ®îi ng­¬i lªn cÊp 120 130 sÏ t¸i xuÊt  giang hå, thiªn h¹ nµy vÉn lµ thiªn h¹ cña ng­¬i mµ."};
    	local n_level = GetLevel();
    	local n_transcount = ST_GetTransLifeCount();
    	
    	local n_date = tonumber(GetLocalDate("%Y%m%d"));
    	
    	if (n_transcount == 0 and n_level == 199 and (n_date >= ZHUANSHENG_ITEM_BEGIN and n_date <= ZHUANSHENG_ITEM_ENDLE)) then --ÐèÒª¼ÓÈëʱ¼äÏÞÖÆ
    		tinsert(tbOpp, "Ta muèn t×m hiÓu vÒ B¾c §Èu Tiªn §¬n/zhuansheng_xiandan");
    	end
    	
    	tinsert(tbOpp, "Xin hái tu luyÖn <B¾c §Èu Tr­êng Sinh ThuËt - T©m Ph¸p Thiªn> cÇn nh÷ng ®iÒu kiÖn g×?/zhuansheng_help_require");
    	tinsert(tbOpp, "Lµm thÕ nµo cã thÓ häc <B¾c §Èu Tr­êng Sinh ThuËt - T©m Ph¸p Thiªn>?/zhuansheng_help_method");
    	tinsert(tbOpp, "Xin hái ®¼ng cÊp cña ta cã thÓ l­u gi÷ bao nhiªu ®iÓm kü n¨ng vµ tiÒm n¨ng?/zhuansheng_help_prop");
    	tinsert(tbOpp, "Xin hái ta cã thÓ tu luyÖn ®Õn møc ®é nµo råi?/zhuansheng_query");
    	tinsert(tbOpp, "Xin hái thêi gian ®Ó chuyÓn sinh lÇn kÕ tiÕp: /zhuansheng_time");
    	tinsert(tbOpp, "KÕt thóc ®èi tho¹i/OnCancel");
    	
    	CreateTaskSay(tbOpp);
    end
    
    --תÉúµÄÌõ¼þ
    function zhuansheng_help_require()
    	
    	CreateTaskSay({"<dec><npc>§iÒu kiÖn rÊt ®¬n gi¶n"
    		.."<enter>  ".."1. Yªu cÇu ®¼ng cÊp trïng sinh:"
    		.."<enter>    "..format("LÇn trïng sinh thø %d, ®¼ng cÊp kh«ng ®­îc nhá h¬n %d", 1, TB_LEVEL_LIMIT[1])
    		.."<enter>    "..format("LÇn trïng sinh thø %d, ®¼ng cÊp kh«ng ®­îc nhá h¬n %d", 2, TB_LEVEL_LIMIT[2])
    		.."<enter>    "..format("LÇn trïng sinh thø %d, ®¼ng cÊp kh«ng ®­îc nhá h¬n %d", 3, TB_LEVEL_LIMIT[3])
    		.."<enter>    "..format("LÇn trïng sinh thø %d, ®¼ng cÊp kh«ng ®­îc nhá h¬n %d", 4, TB_LEVEL_LIMIT[4])
    		.."<enter>    "..format("LÇn trïng sinh thø %d, ®¼ng cÊp kh«ng ®­îc nhá h¬n %d", 5, TB_LEVEL_LIMIT[5])
    		.."<enter>  ".."2. §· häc <B¾c §Èu Tr­êng Sinh ThuËt - C¬ Së Thiªn>"
    		.."<enter>  ".."3. Cëi bá tÊt c¶ trang bÞ vµ ngùa trªn ng­êi."
    		.."<enter>  ".."4. B¾t buéc ph¶i tho¸t khái chiÕn ®éi vâ l©m liªn ®Êu."
    		.."<enter>  ".."5. Kh«ng ®­îc cßn nhiÖm vô ch­a hoµn thµnh (S¸t thñ, tÝn sø, D· TÈu)."
    		.."<enter>  ".."6. ChuyÓn sinh lÇn thø 1 ®Õn thø 3 cÇn cã 100 v¹n l­îng, chuyÓn sinh lÇn thø 4 cÇn cã 200 v¹n l­îng"
    		.."<enter>  "..format("7. ChuyÓn sinh lÇn 4 cÇn cã %d c¸i %s.", TBITEMNEED_4[1].nCount, TBITEMNEED_4[1].szName)
    		.."<enter>  "..format("8. ChuyÓn sinh lÇn 4 cÇn cã %d c¸i %s.", TBITEMNEED_4[2].nCount, TBITEMNEED_4[2].szName)
    		.."<enter>  ".."9. Ch­a nhËn hoÆc ch­a hoµn thµnh nhiÖm vô kÜ n¨ng cÊp 150",
    		--.."<enter>¡¡¡¡".."3¡¢±ØÐëÇå³ýʦͽ¹Øϵ¡£", ¸ÄΪתÉúºó80¼¶ÒÔϲ»ÄÜʹÓÃʦͽÁî
    		"T×m hiÓu viÖc kh¸c./zhuansheng_ondialog",
    		"Ta hiÓu råi./OnCancel"});
    end
    
    --תÉúµÄºÃ´¦
    function zhuansheng_help_effect()
    	CreateTaskSay({"<dec><npc>1. Thu ®­îc ®iÓm d­ kü n¨ng vµ tiÒm n¨ng"
    	.."<enter>  ".."2. Thu ®­îc kh¸ng tÝnh cã giíi h¹n cao h¬n, cã ®­îc n¨ng lùc sinh tån nhiÒu h¬n."
    	.."<enter>  ".."3. T¨ng giíi h¹n kü n¨ng vâ c«ng cao nhÊt, sÏ cã ®­îc lùc c«ng kÝch m¹nh h¬n vµ tèc ®é ®¸nh nhanh h¬n."
    	.."<enter>  ".."4. Cã thÓ sö dông 1 sè trang bÞ míi nhÊt"
    	.."<enter>  ".."5. Thu ®­îc c¬ héi 1 lÇn tÈy ®iÓm miÔn phÝ",
    		"T×m hiÓu viÖc kh¸c./zhuansheng_ondialog",
    		"Ta hiÓu råi./OnCancel"});
    end
    
    --ÈçºÎѧϰתÉú
    function zhuansheng_help_method()
    	CreateTaskSay({"<dec><npc>NÕu nh­ ng­¬i ®· häc qua <B¾c §Èu Tr­êng Sinh ThuËt - C¬ Së Thiªn>, th× ta cã thÓ ®äc khÈu   quyÕt d¹y ng­¬i <B¾c §Èu Tr­êng Sinh ThuËt - T©m Ph¸p Thiªn>."
    		.. "ChuyÓn sinh lÇn 1 ®Õn lÇn 3 cÇn cã 10 ngµn v¹n l­îng lµ ®­îc, chuyÓn sinh lÇn 4 th× ph¶i 20 ngµn v¹n, ha ha."
    		.. "<enter>Nh¾c nhë mét chót lµ, nÕu nh­ muèn chuyÓn sinh lÇn 4, tr­íc tiªn b¶n th©n m×nh cÇn ph¶i nhËn nhiÖm vô, sau ®ã h·y ®i"
    		.. "<color=yellow>Tr­êng B¹ch S¬n Nam, D­îc V­¬ng §éng TÇng 4, Sa M¹c S¬n §éng 3, Kháa Lang §éng <color> ®¸nh b¹i <color=yellow> S­¬ng §ao, Xuyªn S¬n, TËt Phong, ¶nh C«n <color>"
    		.. "Míi cã tØ lÖ nhÊt ®Þnh nhËn ®­îc TÝch LÞch §¬n vËt cÇn thiÕt ®Ó chuyÓn sinh 4.", 
    		"§­îc, ta muèn häc ngay./zhuansheng_want_learn",
    		"NhËn nhiÖm vô chuyÓn sinh 4/wantGetTranslifeTask_4",
    		"Ta muèn t×m hiÓu chi tiÕt h¬n/zhuansheng_ondialog",
    		"Ta biÕt rå/OnCancel"});
    end
    
    --ÏëҪѧϰתÉú
    --ÔÚ´ËÅжÏÊÇ·ñ·ûºÏתÉúµÄÌõ¼þ
    function zhuansheng_want_learn()
    	local n_transcount = ST_GetTransLifeCount()
    	
    	if (n_transcount >= 4) then
    		CreateTaskSay({"<dec><npc>"..format("LÇn chuyÓn sinh thø %d vÉn ch­a më, thêi gian cô thÓ sÏ cËp nhËt sau", 5), 
    			"KÕt thóc ®èi tho¹i/OnCancel"});
    		return 0;
    	end
    
    	local nTaskValue = GetTask(2885)
    	local nTmpRes = floor(nTaskValue/100)
    	if nTaskValue > 0 and mod(nTmpRes, 100) < 14 then
    		Msg2Player("Ng­¬i ®· nhËn nhiÖm vô kü n¨ng 150, xin h·y hoµn thµnh nhiÖm vô råi h·y ®Õn gÆp ta")
    		return 
    	end
    
    	if (check_zhuansheng() == 0) then
    		return 0;
    	end
    	
    	if (n_transcount == 0) then
    		CreateTaskSay({"<dec><npc>".."LÇn chuyÓn sinh thø nhÊt 5 lo¹i phßng ngù sÏ gia t¨ng.", 
    			"§­îc, ta muèn häc ngay./#zhuansheng_sure_learn(-1)", "KÕt thóc ®èi tho¹i/OnCancel"});
    	elseif (n_transcount < 0 or n_transcount >=5) then
    		Say("Tr¹ng th¸i bÊt th­êng xin mêi liªn l¹c víi nhµ ®iÒu hµnh xö lý.", 0);
    	else
    		local tbOpp = {"<dec><npc>".."Xin mêi chän ®iÓm phßng ngù muèn t¨ng:"};
    		
    		for k, sz in TB_BASE_RESIST do
    			tinsert(tbOpp, format("%s%s/#zhuansheng_sure_learn(%d)", "+", sz, k));
    		end
    		tinsert(tbOpp, "KÕt thóc ®èi tho¹i/OnCancel")
    		CreateTaskSay(tbOpp);
    		
    	end
    end
    
    function zhuansheng_sure_learn(n_resist)
    	if (check_zhuansheng() == 0) then
    		return 0;
    	end
    	
    	local n_transcount = ST_GetTransLifeCount();
    	
    	if (n_transcount >= 2) then
    		for i = 2, n_transcount do
    			local n_translevel, n_transresist = zhuansheng_get_gre(i);
    			if (n_translevel ~= 0 and n_transresist == n_resist) then
    				CreateTaskSay({"<dec><npc>"..format("§©y lµ lÇn chuyÓn sinh thø %d vµ ®· chän %s kh«ng thÓ chän nhiÒu lÇn 1 ®iÓm phßng ngù, xin mêi h·y chän l¹i.", i, TB_BASE_RESIST[n_resist]),
    								"Ta muèn chän l¹i/zhuansheng_want_learn",
    								"KÕt thóc ®èi tho¹i/OnCancel"});
    				return 0;
    			end
    		end
    	end
    	
    	SetTaskTemp(TSKM_ZHUANSHENG_RESISTID, n_resist);
    	if (n_transcount == 2 and GetLevel() >= 190) then
    		SetTask(TSK_ZHUANSHENG_AWARD, 1);
    	end
    	local nlevel = GetLevel();
    	--תÉúʱµÄ´¦Àí
    	LeaveTeam();	--½âÉ¢×é¶Ó¹Øϵ
    	
    	ST_DoTransLife();		--Ö´ÐÐתÉú£¬»á×Ô¶¯µ÷ÓÃ\\script\\global\\translife.luaµÄmainº¯Êý ·µ»ØֵΪ1Ϊ³É¹¦£¬³É¹¦ºó»á¼Ç¼תÉúÇ°µÄµÈ¼¶¡£
    	
    	CreateTaskSay({"<dec><npc>Ng­¬i ®· häc <B¾c §Èu Tr­êng Sinh ThuËt - T©m Ph¸p Thiªn> råi.", "§a ta s­ phô ®· chØ gi¸o/OnCancel"});
    end
    
    function check_zhuansheng()
    	-- Ô½ÄÏ°æÔÊÐí¶à´ÎתÉú ×î¶à 5´Î
    	if (check_zhuansheng_level() ~= 1) then							--»ù´¡ÆªµÄѧϰ		
    		return 0;
    	end
    	local ntranscount = ST_GetTransLifeCount();
    	if (ntranscount ~= 0) then
    		--Phong V©n LÖnh Bµi - §iÒu chØnh thêi gian trïng sinh ®èi víi c¸c t©n thñ - Modified By DinhHQ - 20110926
    		if tbPVLB_Check:IsNewPlayer() == 1 and tbPVLB_Check:CheckTime() == 1 then
    			local tb = {6, 10, 180, 180, 180}
    			if (GetTask(TSK_ZHUANSHENG_LASTTIME) + tb[ntranscount]*24*60*60 >= GetCurServerTime()) then
    				CreateTaskSay({format(TB_TRANSLIFE_ERRORMSG[12], tb[ntranscount]), "§­îc råi./OnCancel"});
    				return 0;
    			end
    		else
    			if (GetTask(TSK_ZHUANSHENG_LASTTIME) + TB_TRANSTIME_LIMIT[ntranscount]*24*60*60 >= GetCurServerTime()) then
    				CreateTaskSay({format(TB_TRANSLIFE_ERRORMSG[12], TB_TRANSTIME_LIMIT[ntranscount]), "§­îc råi./OnCancel"});
    				return 0;
    			end
    		end	
    	end
    	
    	--type=2 ºÃÏñÊÇÉíÉÏ
    	--type=3 Ó¦¸ÃÊDZ³°ü
    	if (CalcItemCount(2,0,-1,-1,-1) > 0) then
    		CreateTaskSay({TB_TRANSLIFE_ERRORMSG[1], "§­îc råi./OnCancel"});
    		return 0;
    	end
    	--if (check_zhuansheng_league(LG_SHITULEAGUE) == 1) then	--ʦͽ¹Øϵ
    	--	CreateTaskSay({TB_TRANSLIFE_ERRORMSG[3], "ºÃµÄ£¬ÎÒÖªµÀÁË¡£/OnCancel"});
    	--	return 0;
    	--end
    	--T¹m bá ®iÒu kiÖn rêi ®éi liªn ®Êu khi trïng sinh 4 - Modified By DinhHQ - 20110813
    	if ntranscount < 3 and (check_zhuansheng_league(LG_WLLSLEAGUE) == 1) then	--Õ½¶Ó¹Øϵ
    		CreateTaskSay({TB_TRANSLIFE_ERRORMSG[6], "§­îc råi./OnCancel"});
    		return 0;
    	end
    	if (GetTask(TSK_KILLER_ID) ~= 0) then	--ɱÊÖÈÎÎñÍê³É
    		CreateTaskSay({TB_TRANSLIFE_ERRORMSG[8], "§­îc råi./OnCancel"});
    		return 0;
    	end
    	if (GetTask(TSK_MESSENGER_FENG) ~= 0 or GetTask(TSK_MESSENGER_SHAN) ~= 0 or GetTask(TSK_MESSENGER_QIAN) ~= 0 ) then	--ÐÅʹÈÎÎñÍê³É
    		CreateTaskSay({TB_TRANSLIFE_ERRORMSG[9], "§­îc råi./OnCancel"});
    		return 0;
    	end
    	if (GetTask(TSK_TASKLINK_STATE) ~= 3 and GetTask(TSK_TASKLINK_STATE) ~= 0) then	--Ò°ÛÅÈÎÎñÍê³É
    		CreateTaskSay({TB_TRANSLIFE_ERRORMSG[10], "§­îc råi./OnCancel"});
    		return 0;
    	end
    	
    	if GetTask(TSK_TASKLINK_CancelTaskLevel) ~= 0 or GetTask(TSK_TASKLINK_CancelTaskExp1) ~= 0 or GetTask(TSK_TASKLINK_CancelTaskExp2) ~= 0 then
    		CreateTaskSay({TB_TRANSLIFE_ERRORMSG[11], "§­îc råi./OnCancel"});
    		return 0;
    	end
    	
    	if (GetTask(TSK_ZHUANSHENG_FLAG) ~= 1) then							--»ù´¡ÆªµÄѧϰ
    		CreateTaskSay({TB_TRANSLIFE_ERRORMSG[4], "§­îc råi./OnCancel"});
    		return 0;
    	end
    	
    	--Phong V©n LÖnh Bµi - §iÒu chØnh phÝ trïng sinh ®èi víi c¸c t©n thñ - Modified By DinhHQ - 20110926
    	if tbPVLB_Check:IsNewPlayer() == 1 and tbPVLB_Check:CheckTime() == 1 then
    		if ntranscount == 0 then
    		 	if GetCash() < 1000000 then
    				CreateTaskSay({"H×nh nh­ tiÒn vÉn ch­a ®ñ <color=red>1000000<color>.", "§­îc råi./OnCancel"});
    				return 0;
    			end
    		elseif ntranscount == 1 then
    			if GetCash() < 20000000 then
    				CreateTaskSay({"H×nh nh­ tiÒn vÉn ch­a ®ñ <color=red>20000000<color>.", "§­îc råi./OnCancel"});
    				return 0;
    			end
    		else
    			if (ntranscount < 3 and GetCash() < ZHUANSHENG_TUITION) then				--jxbÒª1ÒÚ
    				CreateTaskSay({TB_TRANSLIFE_ERRORMSG[2], "§­îc råi./OnCancel"});
    				return 0;
    			end
    		end
    	else
    		if (ntranscount < 3 and GetCash() < ZHUANSHENG_TUITION) then				--jxbÒª1ÒÚ
    			CreateTaskSay({TB_TRANSLIFE_ERRORMSG[2], "§­îc råi./OnCancel"});
    			return 0;
    		end
    	end
    	-- ÐèÒªµÚ4´ÎתÉú£¬ÅжÏÊÇ·ñ¾ßÓÐ999¸öÅùö¨µ¯£¬±±¶·³¤ÉúÊõ¡ª´ó³ËÐÄ·¨ ºÍ ¶þÒÚjxb
    	if ntranscount == 3 then
    		for i=1,getn(TBITEMNEED_4) do
    			local tbProb = TBITEMNEED_4[i].tbProb
    			if CalcItemCount(3,tbProb[1], tbProb[2],tbProb[3], -1) < TBITEMNEED_4[i].nCount then
    				CreateTaskSay({TB_TRANSLIFE_ERRORMSG[13 + i], "§­îc råi./OnCancel"})
    				return 0
    			end
    		end
    		
    		-- 4ת¶þÒÚjxb
    		if GetCash() < ZHUANSHENG_TUITION_4 then	
    			CreateTaskSay({TB_TRANSLIFE_ERRORMSG[13], "§­îc råi./OnCancel"});
    		return 0;
    		end
    	end
    	--ÆäËû£¿É±ÊÖÈÎÎñ£¿
    	return 1;
    end
    
    --תÉúºóÄܱ£ÁôµÄDZÄܵ㠼¼Äܵã˵Ã÷
    function zhuansheng_help_prop()
    	local nlevel = GetLevel();
    	local ncurexp = GetExp();
    	local ntranscount = ST_GetTransLifeCount();
    	
    	if (check_zhuansheng_level() ~= 1) then
    		return 0;
    	end
    	
    	local nmgpoint, nprop, nresist, naddskill  = 	TB_LEVEL_REMAIN_PROP[nlevel][ntranscount+1][1],
    													TB_LEVEL_REMAIN_PROP[nlevel][ntranscount+1][2],
    													TB_LEVEL_REMAIN_PROP[nlevel][ntranscount+1][3],
    													TB_LEVEL_REMAIN_PROP[nlevel][ntranscount+1][4];
    	
    	local sz_res = "Chän 1 lo¹i kh¸ng tÝnh";
    	local sz_addskill = "";
    	
    	if (ntranscount == 0) then
    		sz_res = "TÊt c¶ kh¸ng tÝnh";
    	end
    	
    	if (nlevel == 199 and ncurexp >= ZHUANSHENG_XIANDAN_MINEXP and ntranscount == 0) then
    		nmgpoint, nprop, nresist, naddskill  = 	TB_LEVEL_REMAIN_PROP[200][ntranscount+1][1],
    												TB_LEVEL_REMAIN_PROP[200][ntranscount+1][2],
    												TB_LEVEL_REMAIN_PROP[200][ntranscount+1][3],
    												TB_LEVEL_REMAIN_PROP[200][ntranscount+1][4];
    		sz_addskill = "[HiÖn t¹i kinh nghiÖm ®· v­ît qu¸ 2 tû:]";
    	end
    	
    	CreateTaskSay({"<dec><npc>"..format("Theo nh­ cÊp %d cña ng­¬i vµ trïng sinh %d lÇn, %s cã thÓ t¨ng <color=yellow>%d<color> tiÒm n¨ng, <color=yellow>%d <color> kü n¨ng, t¨ng <color=yellow>%d%%<color> kh¸ng tÝnh (%s), n©ng cao <color=yellow>%d <color> giíi h¹n kü n¨ng cao nhÊt.", 
    				nlevel, (ntranscount+1), sz_addskill, nprop, nmgpoint, nresist, sz_res, naddskill), 
    		"T×m hiÓu viÖc kh¸c./zhuansheng_ondialog",
    		"§­îc råi./OnCancel"});
    end
    
    
    function zhuansheng_query()
    	--do return Say("δÍê³É", 0)end
    	local n_transcount = ST_GetTransLifeCount();
    	local nmgpoint, nprop, nskill = 0,0,0;
    	local tbresist = {0, 0, 0, 0, 0};
    	local sz_msg = "";
    	
    	if (n_transcount ~= 0) then
    		for i = 1, n_transcount do
    			nlevel, nresistid = zhuansheng_get_gre(i);
    			
    			nmgpoint = TB_LEVEL_REMAIN_PROP[nlevel][i][1] + nmgpoint;
    			nprop  = TB_LEVEL_REMAIN_PROP[nlevel][i][2] + nprop;
    			nskill = TB_LEVEL_REMAIN_PROP[nlevel][i][4] + nskill;
    			if (nresistid >= 0 and nresistid <= 4) then
    				tbresist[nresistid+1] = tbresist[nresistid+1] + TB_LEVEL_REMAIN_PROP[nlevel][i][3];
    				sz_msg = sz_msg.."<enter>"..format("Trïng sinh lÇn %d ®¼ng cÊp: %d; chän kh¸ng tÝnh: %s", i, nlevel, TB_BASE_RESIST[nresistid]);
    			elseif (nresistid == 255) then
    				tbresist[1] = tbresist[1] + TB_LEVEL_REMAIN_PROP[nlevel][i][3];
    				tbresist[2] = tbresist[2] + TB_LEVEL_REMAIN_PROP[nlevel][i][3];
    				tbresist[3] = tbresist[3] + TB_LEVEL_REMAIN_PROP[nlevel][i][3];
    				tbresist[4] = tbresist[4] + TB_LEVEL_REMAIN_PROP[nlevel][i][3];
    				tbresist[5] = tbresist[5] + TB_LEVEL_REMAIN_PROP[nlevel][i][3];
    				sz_msg = sz_msg.."<enter>"..format("Trïng sinh lÇn %d ®¼ng cÊp: %d; chän kh¸ng tÝnh: %s", i, nlevel, "TÊt c¶ kh¸ng tÝnh");
    			end
    		end
    	end
    	
    	CreateTaskSay({format("%s<enter>%s<enter>%s<enter>%s<enter>%s<enter>%s<enter>%s<enter>%s<enter>%s<enter>%s%s", 
    					"<dec><npc>",
    					format("Sè lÇn chuyÓn sinh: %d", n_transcount),
    					format("Thu ®­îc ®iÓm kü n¨ng: %d", nmgpoint),
    					format("Thu ®­îc ®iÓm tiÒm n¨ng: %d", nprop),
    					format("§iÓm kü n¨ng cao nhÊt t¨ng thªm: %d", nskill),
    					format("Háa phßng t¨ng: %d", tbresist[1]),
    					format("B¨ng phßng t¨ng: %d", tbresist[2]),
    					format("§éc phßng t¨ng: %d", tbresist[3]),
    					format("L«i phßng t¨ng: %d", tbresist[4]),
    					format("Phæ phßng t¨ng: %d", tbresist[5]),
    					sz_msg
    					), 
    			"T×m hiÓu viÖc kh¸c./zhuansheng_ondialog",
    			"§­îc råi./OnCancel"});
    	
    end
    
    
    function zhuansheng_xiandan()
    	
    	CreateTaskSay({"<dec><npc>".."'B¾c ®Èu tiªn ®¬n' lµ lo¹i linh d­îc mµ vÞ vâ l©m cao thñ cã néi c«ng th©m hËu nµo muèn häc 'B¾c ®Èu tr­êng sinh thuËt'  ®Òu ph¶i dïng ®Õn, sau khi sö dông cã thÓ t¨ng thªm nhiÒu phÇn c«ng lùc. ChÕ t¹o B¾c §Èu Tiªn §¬n b¾t buéc cÊp 199 vµ cã 201000 v¹n kinh nghiÖm míi chÕ t¹o ®­îc, lóc chÕ t¹o B¾c §Èu Tiªn §¬n nh÷ng kinh nghiÖm v­ît qu¸ 2 tû sÏ chuyÓn hãa vµo tiªn ®¬n. Nªn nhí r»ng ph¶i chuyÓn sinh xong míi sö dông ®­îc, mçi ng­êi nhiÒu nhÊt sö dông 1 linh ®¬n, ®ång thêi b¾t buéc trong vßng 30 ngµy ph¶i sö dông. Tiªn ®¬n cã ®¬n vÞ kinh nghiÖm lµ 1000 v¹n, v× vËy nh÷ng kinh nghiÖm thõa cã nh÷ng sè kh«ng bÞ l­ît bá ®i. Ng­¬i muèn chÕ t¹o 'B¾c §Èu Tiªn §¬n' kh«ng?",
    				"ChÕ t¹o B¾c §Èu Tiªn §¬n/zhuansheng_makexiandan",
    				"T×m hiÓu vÒ ®iÓm kinh nghiÖm/zhuansheng_help_xiandan",
    				"Ta muèn t×m hiÓu thªm./zhuansheng_ondialog",
    				"KÕt thóc ®èi tho¹i/OnCancel"
    				});
    end
    
    
    function zhuansheng_makexiandan()
    	local n_level = GetLevel();
    	local n_transcount = ST_GetTransLifeCount();
    	if (n_level ~= 199 or n_transcount ~= 0) then
    		return
    	end
    	
    	if (GetTask(TSK_ZHUANSHENG_XIANDAN) > 0) then
    		CreateTaskSay({"<dec><npc>".."Mçi ng­êi chØ cã thÓ chÕ t¹o 1 B¾c §Èu Tiªn §¬n, c¸c h¹ kh«ng thÓ lµm thÕ.", "KÕt thóc ®èi tho¹i/OnCancel"});
    		return
    	end
    	
    	local n_curexp = GetExp();
    	if (n_curexp - ZHUANSHENG_XIANDAN_MINEXP >= ZHUANSHENG_XIANDAN_BASEEXP) then
    		local n_addexp = n_curexp - ZHUANSHENG_XIANDAN_MINEXP;
    		n_addexp = floor(n_addexp / 10e7) * 10e7;
    		CreateTaskSay({"<dec><npc>".."Ng­¬i cã"..n_addexp.." kinh nghiÖm sÏ bÞ chuyÓn vµo tiªn ®¬n. Ng­¬i cã x¸c nhËn muèn chÕ t¹o 'B¾c §Èu Tiªn §¬n'?",
    				"§óng råi, ta muèn luyÖn tiªn ®¬n!/zhuansheng_surexiandan",
    				"Ta muèn t×m hiÓu thªm./zhuansheng_ondialog",
    				"KÕt thóc ®èi tho¹i/OnCancel"});
    	else
    		CreateTaskSay({"<dec><npc>".."Theo nh­ c«ng lùc cña c¸c h¹ kh«ng thÓ luyÖn thµnh B¾c §Èu Tiªn §¬n, muèn luyÖn thµnh tiªn ®¬n th× xin h·y luyÖn thªm thêi gian n÷a nhÐ!",
    				"Ta muèn t×m hiÓu thªm./zhuansheng_ondialog",
    				"KÕt thóc ®èi tho¹i/OnCancel"});
    	end
    end
    
    
    function zhuansheng_surexiandan()
    	local n_level = GetLevel();
    	local n_transcount = ST_GetTransLifeCount();
    	if (n_level ~= 199 or n_transcount ~= 0) then
    		return
    	end
    	
    	if (CalcFreeItemCellCount() < 10) then
    		CreateTaskSay({"<dec><npc>".."Hµnh trang kh«ng ®ñ 10 «, xin mêi h·y thu dän hµnh lý.", "KÕt thóc ®èi tho¹i/OnCancel"});
    		return
    	end
    	
    	local n_curexp = GetExp();
    	if (n_curexp - ZHUANSHENG_XIANDAN_MINEXP >= ZHUANSHENG_XIANDAN_BASEEXP) then
    		local n_addexp = n_curexp - ZHUANSHENG_XIANDAN_MINEXP;
    		
    		local nitemidx = AddItem(6,1,1970,1,1,0);
    		if (nitemidx > 0) then
    --			local n_recexp = n_addexp;
    --			if (n_recexp <= 10e8) then
    --				ReduceOwnExp(n_recexp);
    --			else
    --				while (n_recexp > 0) do
    --					if (n_recexp < 10e8) then
    --						ReduceOwnExp(n_recexp);
    --						n_recexp = 0;
    --					else
    --						n_recexp = n_recexp - 10e8;
    --						ReduceOwnExp(10e8);
    --					end
    --				end
    --			end
    			ReduceOwnExp(n_addexp);
    			
    			SetSpecItemParam(nitemidx, 1, floor(n_addexp / ZHUANSHENG_XIANDAN_BASEEXP));
    			ITEM_SetExpiredTime(nitemidx, ZHUANSHENG_ITEM_EXTIME);	-- ÓÐЧÆÚ30Ìì
    			SyncItem(nitemidx);
    			SetTask(TSK_ZHUANSHENG_XIANDAN, 1);
    			WriteLog(format("[%s]\t%s\tName:%s\tAccount:%s\tMakeSuccess,LEVEL:%d,FACTION:%d,ReduceExp:"..n_addexp..",ItemExp:%d",
    						"B¾c §Èu Tiªn §¬n",
    						GetLocalDate("%Y-%m-%d %X"),GetName(), GetAccount(),
    						GetLevel(), GetLastFactionNumber(), floor(n_addexp / ZHUANSHENG_XIANDAN_BASEEXP)));
    			Msg2Player(format("Thu ®­îc 1 %s", "B¾c §Èu Tiªn §¬n"));
    		end
    	end
    	
    end
    
    
    function zhuansheng_help_xiandan()
    	CreateTaskSay({"<dec><npc>".."Phµm nh÷ng ng­êi cã cÊp 199 vµ h¬n 2 tû kinh nghiÖm tu luyÖn 'B¾c §Èu Tr­êng Sinh ThuËt' sÏ ®­îc n©ng cao nh÷ng thuéc tÝnh, nh­ng nh÷ng kinh nghiÖm thõa ra sÏ bÞ l·ng phÝ. V× vËy cã mét ngµy kia ta vµ 1 vÞ Èn sü ph¸t minh ra lo¹i tiªn ®¬n nµy, th«ng qua 'B¾c §Èu Tiªn §¬n' ng­¬i cã thÓ l­u gi÷ nh÷ng kinh nghiÖm cßn thõa ®Ó lóc trïng sinh xong th× cã thÓ sö dông.",
    				"Ta muèn t×m hiÓu thªm./zhuansheng_ondialog",
    				"KÕt thóc ®èi tho¹i/OnCancel"});
    end
    
    
    function zhuansheng_time()
    	local ntranscount = ST_GetTransLifeCount();
    	local n_last_time = GetTask(TSK_ZHUANSHENG_LASTTIME);
    	local n_cur_time = GetCurServerTime();
    	local n_add_time = n_cur_time - n_last_time;
    	
    	if (ntranscount == 0) then
    		CreateTaskSay({"<dec><npc>".."C¸c h¹ vÉn ch­a häc B¾c §Èu TruyÒn Sinh ThuËt, chØ cÇn ®ñ ®iÒu kiÖn nµy th× cã thÓ chuyÓn sinh ngay lËp tøc.", "KÕt thóc ®èi tho¹i/OnCancel"})
    	else
    		if (n_add_time >= TB_TRANSTIME_LIMIT[ntranscount]*24*60*60) then
    			CreateTaskSay({"<dec><npc>".."§· ®ñ ®iÒu kiÖn gi·n c¸ch thêi gian chuyÓn sinh, chØ cÇn ®ñ ®iÒu kiÖn th× cã thÓ lËp tøc chuyÓn sinh.", "KÕt thóc ®èi tho¹i/OnCancel"})
    		else
    			
    			CreateTaskSay({"<dec><npc>"..format("Cßn %d ngµy míi cã thÓ tiÕp tôc chuyÓn sinh.",ceil((TB_TRANSTIME_LIMIT[ntranscount]*24*60*60 - n_add_time) / (24*60*60))), "KÕt thóc ®èi tho¹i/OnCancel"})
    		end
    	end
    end
    Khi kiểm tra lượng điểm kỹ, tiềm năng giữ lại thì nó có function như sau
    Code:
    function zhuansheng_help_prop()
    	local nlevel = GetLevel();
    	local ncurexp = GetExp();
    	local ntranscount = ST_GetTransLifeCount();
    	
    	if (check_zhuansheng_level() ~= 1) then
    		return 0;
    	end
    	
    	local nmgpoint, nprop, nresist, naddskill  = 	TB_LEVEL_REMAIN_PROP[nlevel][ntranscount+1][1],
    													TB_LEVEL_REMAIN_PROP[nlevel][ntranscount+1][2],
    													TB_LEVEL_REMAIN_PROP[nlevel][ntranscount+1][3],
    													TB_LEVEL_REMAIN_PROP[nlevel][ntranscount+1][4];
    	
    	local sz_res = "Chän 1 lo¹i kh¸ng tÝnh";
    	local sz_addskill = "";
    	
    	if (ntranscount == 0) then
    		sz_res = "TÊt c¶ kh¸ng tÝnh";
    	end
    	
    	if (nlevel == 199 and ncurexp >= ZHUANSHENG_XIANDAN_MINEXP and ntranscount == 0) then
    		nmgpoint, nprop, nresist, naddskill  = 	TB_LEVEL_REMAIN_PROP[200][ntranscount+1][1],
    												TB_LEVEL_REMAIN_PROP[200][ntranscount+1][2],
    												TB_LEVEL_REMAIN_PROP[200][ntranscount+1][3],
    												TB_LEVEL_REMAIN_PROP[200][ntranscount+1][4];
    		sz_addskill = "[HiÖn t¹i kinh nghiÖm ®· v­ît qu¸ 2 tû:]";
    	end
    	
    	CreateTaskSay({"<dec><npc>"..format("Theo nh­ cÊp %d cña ng­¬i vµ trïng sinh %d lÇn, %s cã thÓ t¨ng <color=yellow>%d<color> tiÒm n¨ng, <color=yellow>%d <color> kü n¨ng, t¨ng <color=yellow>%d%%<color> kh¸ng tÝnh (%s), n©ng cao <color=yellow>%d <color> giíi h¹n kü n¨ng cao nhÊt.", 
    				nlevel, (ntranscount+1), sz_addskill, nprop, nmgpoint, nresist, sz_res, naddskill), 
    		"T×m hiÓu viÖc kh¸c./zhuansheng_ondialog",
    		"§­îc råi./OnCancel"});
    end
    đọc vào thì lấy cứ %d không à . ko biết nó quy định như thế nào đây
    Khách viếng thăm hãy cùng Slayer xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Vi phạm quy định
    Ngày tham gia
    Apr 2013
    Bài viết
    1,237
    Thanks
    315
    Thanked 499 Times in 292 Posts

    Ðề: Hỏi cách Tăng điểm kỹ năng, tiềm năng giữ lại sau mỗi lần chuyển sinh

    Lục tới cái chỗ mà sau khi nhấn đồng ý rồi nó chuyển sinh . có 1 số hàm ngày đó . sau đó lần theo là thấy nhé bác :3
    Khách viếng thăm hãy cùng bthhhz xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 

Các Chủ đề tương tự

  1. [TLBB] Hỏi về Chức năng Chuyển sinh
    Bởi vhmt1101 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 1
    Bài viết cuối: 23-04-15, 11:50 AM
  2. [JX] Hỏi đáp chức năng chuyển sinh về sv awjx
    Bởi hupchao trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 0
    Bài viết cuối: 26-05-13, 01:18 PM
  3. Cần Giúp Về Chức Năng Chuyển Sinh
    Bởi Kusanagi trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 5
    Bài viết cuối: 18-12-11, 09:23 PM
  4. Trả lời: 7
    Bài viết cuối: 25-09-11, 08:01 PM
  5. Lỗi chức năng chuyển sinh mong các bạn giúp mình
    Bởi sunday2288 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 8
    Bài viết cuối: 12-07-11, 12:54 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 08:17 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.