Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Ai giúp mình sửa cái này cho nó không còn hạn chế Trung Sinh với. Hiện tại nó chỉ cho Trùng Sinh 5 là dừng lại.
+ translife.lua
IncludeLib("SETTING")
IncludeLib("PARTNER")
Include("\\script\\task\\metempsychosis\\task_func .lua")
--·çÔÆÁîÅÆ- µ÷Õû¶ÔТÊÖÖØÉúµÄʱ¼ä- Modified By DinhHQ - 20110926
Include("\\script\\activitysys\\config\\1005\\chec k_func.lua")
function main()
local n_level = GetLevel();
local n_setlevel = n_level;
local n_curexp = GetExp();
local n_resistid = GetTaskTemp(TSKM_ZHUANSHENG_RESISTID);
local n_transcount = ST_GetTransLifeCount();
local nmgpoint, nprop, nresist, naddskill = TB_LEVEL_REMAIN_PROP[n_level][n_transcount+1][1],
TB_LEVEL_REMAIN_PROP[n_level][n_transcount+1][2],
TB_LEVEL_REMAIN_PROP[n_level][n_transcount+1][3],
TB_LEVEL_REMAIN_PROP[n_level][n_transcount+1][4];
if (n_level == 199 and n_transcount == 0 and n_curexp >= ZHUANSHENG_XIANDAN_MINEXP) then
nmgpoint, nprop, nresist, naddskill = TB_LEVEL_REMAIN_PROP[200][n_transcount+1][1],
TB_LEVEL_REMAIN_PROP[200][n_transcount+1][2],
TB_LEVEL_REMAIN_PROP[200][n_transcount+1][3],
TB_LEVEL_REMAIN_PROP[200][n_transcount+1][4];
n_setlevel = 200;
end
-- 4ת´¦Àí
if n_transcount == 3 then
Pay(ZHUANSHENG_TUITION_4)
SetTask(TSK_TRANSLIFE_4, 0) -- 4תÈÎÎñÉèÖÃΪδ½ÓÊÕ£¬É±¹Ö� �±²»»áµÃµ½Åùö¨µ¯
SetTask(TSK_LEAVE_SKILL_POINT_4, 0) -- Çå¿ÕÊ£Óµ¼¼Äܵã
SetTask(TSK_USED_SKILL_POINT_4, 0) -- Çå¿ÕÒѾʹÓõļ¼Äܵã
SetTask(TSK_LAST_UP_LEVEL_4, 0) -- ÉèÖÃ×îºóÉý¼¶µÈ¼¶Îª0
for i=1,getn(TBITEMNEED_4) do
local tbProb = TBITEMNEED_4[i].tbProb
ConsumeItem(3,TBITEMNEED_4[i].nCount, tbProb[1], tbProb[2], tbProb[3], -1)
end
--Kh«ng add skill TS4 khi TS - Modified by DinhHQ - 20110812
-- for i=1,getn(TB_SKILL_4) do
-- AddMagic(TB_SKILL_4[i][1],TB_SKILL_4[i][2])
-- end
else
--·çÔÆÁîÅÆ- µ÷Õû¶ÔТÊÖÖØÉúµÄʱ¼ä- Modified By DinhHQ - 20110926
if tbPVLB_Check:IsNewPlayer() == 1 and tbPVLB_Check:CheckTime() == 1 and (n_transcount == 0 or n_transcount == 1) then
if n_transcount == 0 then
Pay(1000000)
elseif n_transcount == 1 then
Pay(20000000)
end
else
Pay(ZHUANSHENG_TUITION)
end
end
if (n_resistid >= 0 and n_resistid <= 4) then
-- AddMaxResist(n_resistid, nresist);
-- elseif (n_resistid == -1) then
for i = 0, 4 do
AddMaxResist(i, nresist);
end
end
--Æô¶¯¸£Ôµ»ýÔÜ
function FuYuan_Start()
--δ³ä¿¨
if( IsCharged() ~= 1 ) then
return 0;
end
SetTask( TASKID_FY_START_ONLINE_TIME, GetGameTime() );
SetTask( TASKID_FY_ADDITIONAL_TIME, 0 );
SetTask( TASKID_GAIN_LAST_DATE, date("%Y%m%d") );
SetTask( TASKID_GAIN_TIMES_IN_DAY, 0 );
end
--ÔÝÍ£¸£Ôµ»ýÔÜ
function FuYuan_Pause()
if( IsFuYuanAvailable() ~= 1 ) then
return 0;
end
local nFYStartOnlineTime = GetTask( TASKID_FY_START_ONLINE_TIME );
local nFYAdditionalTime = GetTask( TASKID_FY_ADDITIONAL_TIME );
if( IsFuYuanPaused() ~= 1 ) then
if (nFYAdditionalTime < 0) then
nFYAdditionalTime = 0
end
local nFYDiffer = GetGameTime() - nFYStartOnlineTime;
if (nFYDiffer < 0) then
nFYDiffer = 0
end
local nFYTotalTime = nFYDiffer + nFYAdditionalTime;
SetTask( TASKID_FY_ADDITIONAL_TIME, nFYTotalTime );
SetTask( TASKID_FY_START_ONLINE_TIME, -1 );
end
end
--¼ÌÐø¸£Ôµ»ýÔÜ
function FuYuan_Resume()
if( IsFuYuanAvailable() ~= 1 or IsFuYuanPaused() ~= 1 ) then
return 0;
end
SetTask( TASKID_FY_START_ONLINE_TIME, GetGameTime() );
end
--ÔÚÏßʱ¼ä»»È¡¸£Ôµ ( ·µ»ØÖµ 1:Õý³£ÁìÈ¡, 0:ÔÚÏßʱ¼ä²»¹»ÁìÈ¡¸£Ôµ, -1:δ³ä¿¨»ò¸£Ôµ»ýÔÜÉÐδÆô¶¯ )
function FuYuan_Gain()
if( IsFuYuanAvailable() ~= 1 ) then
return -1;
end
local nFuYuanGained = 0; --»ñÈ¡µÄ¸£Ôµµã;
local nFYStartOnlineTime;
local nFYTotalTime, nFYValidTime = FuYuan_GetDepositTime();
local nCurrentOnlineTime = GetGameTime();
local nFYGainLastDate = GetTask( TASKID_GAIN_LAST_DATE );
local nFYGainTimesInDay = GetTask( TASKID_GAIN_TIMES_IN_DAY )
--ÔÚÏßʱ¼ä²»¹»ÁìÈ¡¸£Ôµ
if( nFYValidTime < TIME_FUYUAN_THRESHOLD1 ) then
return 0;
end
if (nFYAdditionalTime < 0) then
nFYAdditionalTime = 0;
SetTask(TASKID_FY_ADDITIONAL_TIME, 0);
end
if ((nCurrentOnlineTime - nFYStartOnlineTime) < 0) then
SetTask(TASKID_FY_START_ONLINE_TIME, nCurrentOnlineTime);
nFYStartOnlineTime = nCurrentOnlineTime;
end
--»ñµÃÍæ¼ÒµÄ¸£ÔµÖµ
function FuYuan_Get()
return GetTask( TASKID_FY );
end
--ÉèÖÃÍæ¼ÒµÄ¸£ÔµÖµ
function FuYuan_Set( value )
if( IsFuYuanAvailable() ~= 1 ) then
return 0;
end
SetTask( TASKID_FY, value );
SyncTaskValue( TASKID_FY );
return 1;
end
--Ôö¼ÓÍæ¼ÒµÄ¸£ÔµÖµ
function FuYuan_Add( value )
local nResult = FuYuan_Set( FuYuan_Get() + value );
if( nResult == 1 ) then
Msg2Player( "<#>Ngµi thu ®îc "..value.."<#> ®iÓm phóc duyªn " );
end
return nResult;
end
--¼õÉÙÍæ¼ÒµÄ¸£ÔµÖµ
function FuYuan_Reduce( value )
local nResult = FuYuan_Set( FuYuan_Get() - value );
if( nResult == 1 ) then
Msg2Player( "<#>Ngµi tiªu hao "..value.."<#> ®iÓm phóc duyªn." );
end
return nResult;
end
--ÅжÏÍæ¼ÒÊÇ·ñ³ä¹ý¿¨
function IsCharged()
if( GetExtPoint( 0 ) >= 1 ) then
return 1;
else
return 0;
end
end
--ÅжÏÍæ¼ÒÊÇ·ñÒѾÆô¶¯¸£Ôµ» ýÔÜ
function IsFuYuanStarted()
local nFYStartOnlineTime = GetTask( TASKID_FY_START_ONLINE_TIME );
if( nFYStartOnlineTime == 0 ) then
return 0;
else
return 1;
end
end
--ÅжÏÍæ¼Ò¿É·ñ½øÐи£Ôµ²Ù×÷
function IsFuYuanAvailable()
--δ³ä¿¨»òδÆô¶¯¸£Ôµ»ýÔÜ
if( IsCharged() ~= 1 or IsFuYuanStarted() ~= 1 ) then
return 0;
else
return 1;
end
end
--ÅжÏÍæ¼Ò¸£Ôµ»ýÔÜÊÇ·ñÒѱ»Ô ÝÍ£
function IsFuYuanPaused()
local nFYStartOnlineTime = GetTask( TASKID_FY_START_ONLINE_TIME );
if( nFYStartOnlineTime < 0 ) then
return 1;
else
return 0;
end
end
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
--ÏëҪѧϰתÉú
--ÔÚ´ËÅжÏÊÇ·ñ·ûºÏתÉúµÄÌõ¼ þ
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 cha 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
SetTaskTemp(TSKM_ZHUANSHENG_RESISTID, n_resist);
if (n_transcount == 2 and GetLevel() >= 190) then
SetTask(TSK_ZHUANSHENG_AWARD, 1);
end
local nlevel = GetLevel();
--תÉúʱµÄ´¦Àí
LeaveTeam(); --½âÉ¢×é¶Ó¹Øϵ
--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
-- 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
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
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);
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 cha 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
Và cho mình hỏi thêm là chỉnh máu của Boss Sát thủ ở đâu vậy mọi người ?
Mình cảm ơn trước nhé !
Lần sửa cuối bởi hungvoi94, ngày 29-04-17 lúc 08:30 AM.
Khách viếng thăm
hãy cùng hungvoi94 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Gửi bởi duongto[Only registered and activated users can see links. ]
cho hỏi em muốn bỏ đi cái giới hạn cách mấy tháng, mới được trùng sinh lại thì chỉnh thế nào
Cái này bạn vào chỉnh theo đường dẫn : script/task/metempsychosis/tank_head.lua
TB_LEVEL_LIMIT = {160, 170, 180, 200, 200};
TB_TRANSTIME_LIMIT = {3, 7, 14, 21, 30}; cái này là chỉnh ngày để trùng sinh bạn có thể chình về số 0 là có thể trùng sinh ngay khỏi phải chờ đợi
Khách viếng thăm
hãy cùng kukondd xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Ðề: Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux
Gửi bởi kukondd[Only registered and activated users can see links. ]
Cái này bạn vào chỉnh theo đường dẫn : script/task/metempsychosis/tank_head.lua
TB_LEVEL_LIMIT = {160, 170, 180, 200, 200};
TB_TRANSTIME_LIMIT = {3, 7, 14, 21, 30}; cái này là chỉnh ngày để trùng sinh bạn có thể chình về số 0 là có thể trùng sinh ngay khỏi phải chờ đợi
à đây là tương ứng với 5 lần trùng sinh với cấp độ và ngày trùng sinh lại phải không bạn. thank nhiều
Khách viếng thăm
hãy cùng duongto xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!