PDA

View Full Version : [JX] Tổng hợp tất cả sever + update + Fix lỗi ....Tất tần tật từ A->Z Sever Linux VL



Trang : 1 2 3 [4]

duongto
06-03-17, 08:23 PM
ai còn file event bất kỳ nào không, cho em xin về ngâm cứu cái....event anh tvtam share trên topic này link die rồi

thank

bincute1
07-03-17, 11:14 AM
ai còn file event bất kỳ nào không, cho em xin về ngâm cứu cái....event anh tvtam share trên topic này link die rồi

thank

event bạn tự chỉnh được nhé :)

duongto
08-03-17, 05:32 PM
event bạn tự chỉnh được nhé :)

nhưng làm sao để biết những NPC liên quan đến event đó bạn ( chẳng lẻ NPC event nó có hết trong folder event hả bạn)

sky.light9530
08-03-17, 05:48 PM
nhưng làm sao để biết những NPC liên quan đến event đó bạn ( chẳng lẻ NPC event nó có hết trong folder event hả bạn)

Tự viết lấy 1 event luôn bạn ! Đơn giản mà .
Bước 1 :
Tạo một vật phẩm trong magicscript ví dụ bạn tạo vật phẩm là ( Bánh ngọt 2017 ) và add script cho vật phẩm là bánh mở ra exp và random vật phẩm tùy ý bạn .
Bước 2
Tạo 1 npc và set script cho nó dùng hàm để check xem có nguyên liệu event hay không ( thường là 2 - 3 cái ví dụ như bột , sữa , đường ) nếu có thì sẽ xóa nó đi và thêm vào hành trang vật phẩm Bánh ngọt 2017 ( bánh mở ra exp , vật phẩm mà bạn add ở bước 1 )

Mình chỉ tới đó thôi nhé :-* Bạn nên xem mấy script trong mục /jxser/server1/script/item và mục /home/jxser/server1/script/event để tham khảo hàm add random vật phẩm khi mở Bánh ngọt 2017 , hàm giới hạn exp như thế nào !

duongto
10-03-17, 05:08 PM
Tự viết lấy 1 event luôn bạn ! Đơn giản mà .
Bước 1 :
Tạo một vật phẩm trong magicscript ví dụ bạn tạo vật phẩm là ( Bánh ngọt 2017 ) và add script cho vật phẩm là bánh mở ra exp và random vật phẩm tùy ý bạn .
Bước 2
Tạo 1 npc và set script cho nó dùng hàm để check xem có nguyên liệu event hay không ( thường là 2 - 3 cái ví dụ như bột , sữa , đường ) nếu có thì sẽ xóa nó đi và thêm vào hành trang vật phẩm Bánh ngọt 2017 ( bánh mở ra exp , vật phẩm mà bạn add ở bước 1 )

Mình chỉ tới đó thôi nhé :-* Bạn nên xem mấy script trong mục /jxser/server1/script/item và mục /home/jxser/server1/script/event để tham khảo hàm add random vật phẩm khi mở Bánh ngọt 2017 , hàm giới hạn exp như thế nào !

thank. bạn cho mình xin facebook với, cái vụ add NPC này mình chuẩn bị làm thử có gì không hiểu mình pmm hỏi chút

duongto
21-03-17, 07:26 PM
Tự viết lấy 1 event luôn bạn ! Đơn giản mà .
Bước 1 :
Tạo một vật phẩm trong magicscript ví dụ bạn tạo vật phẩm là ( Bánh ngọt 2017 ) và add script cho vật phẩm là bánh mở ra exp và random vật phẩm tùy ý bạn .
Bước 2
Tạo 1 npc và set script cho nó dùng hàm để check xem có nguyên liệu event hay không ( thường là 2 - 3 cái ví dụ như bột , sữa , đường ) nếu có thì sẽ xóa nó đi và thêm vào hành trang vật phẩm Bánh ngọt 2017 ( bánh mở ra exp , vật phẩm mà bạn add ở bước 1 )

Mình chỉ tới đó thôi nhé :-* Bạn nên xem mấy script trong mục /jxser/server1/script/item và mục /home/jxser/server1/script/event để tham khảo hàm add random vật phẩm khi mở Bánh ngọt 2017 , hàm giới hạn exp như thế nào !

bạn chỉ giúp mình cách hiện NPC với : trong sv1 mình tìm thấy folder Nam Cung Nhất Thiên định add code ép event vào nó, nhưng không biết cách làm cho nó hiện ra map. chỉ giùm mình cai này với thank

tvnnam
22-03-17, 05:38 AM
bạn chỉ giúp mình cách hiện NPC với : trong sv1 mình tìm thấy folder Nam Cung Nhất Thiên định add code ép event vào nó, nhưng không biết cách làm cho nó hiện ra map. chỉ giùm mình cai này với thank


bạn muốn thấy hình nó thì vào đường dẫn này \jxser\server1\script\global\addspreadernpc.lua và mở file đó lên sửa lại dòng này:
{87,80,4,53,1631,3177,0,"Nam Cung NhÊt Thiªn",0,"\\script\\global\\namcung\\namcung_say.lu a"},

-- sửa số đầu tiên chổ màu đỏ đó thành 87 là đc.

duongto
22-03-17, 11:51 AM
Về tăng số lần boss sát thủ / ngày:
1.script\task\newtask\newtask_head.lua

Bạn tìm dòng này:
Code:
KILLER_MAXCOUNT = 8; --每天杀人上限8人

2.\jxser\server1\script\task\tollgate\killer\niesh ichen.lua

if (myDate == nDate and nt_getTask(TSKID_KILLERMAXCOUNT) >= KILLER_MAXCOUNT) then
Describe(DescLink_NieShiChen.."S¸t thñ cã mét tè chÊt rÊt quan träng gäi lµ khinh kÎ b¹i trËn. H«m nay ng¬¬i ®• bÞ h¹"..KILLER_MAXCOUNT.." ng¬êi råi, ngµy mai h•y quay l¹i.", 1, ContentList[15]);

tìm đến đoạn này sửa lại killer_maxcount = số sát thủ muốn đánh trong ngày là được. ví dụ 100
if (myDate == nDate and nt_getTask(TSKID_KILLERMAXCOUNT) >= 100) then
Describe(DescLink_NieShiChen.."S¸t thñ cã mét tè chÊt rÊt quan träng gäi lµ khinh kÎ b¹i trËn. H«m nay ng¬¬i ®• bÞ h¹"..KILLER_MAXCOUNT.." ng¬êi råi, ngµy mai h•y quay l¹i.", 1, ContentList[15]);

Xong reset lại server

chuchu
22-03-17, 02:18 PM
Mọi người ơi cho em hỏi vấn đề về file magicscript với ạ! Em thấy các vật phẩm trong đây có vật phẩm thì cho phép quăng ra đất và có vật phẩm thì không?Ví dụ như Huyền viên lệnh không cho phép quăng ra đất (khi quăng nó sẽ báo :"Để bảo vệ tài sản cho người chơi,...) nhưng khi em copy dòng vật phẩm huyền viên lệnh xuống dưới cùng để tạo vật phẩm mới thì huyền viên lệnh mới này lại quăng ra đất được mặc dù đã copy y chang như huyền viên lệnh ở trên. Xin mọi người hướng dẫn giúp em cách chỉnh vật phẩm có thể quăng ra đất hay không cho quăng ra đất tại file magicscript với ạ và mục nào qui định vấn đề này ạ? Em rất mong mọi người hướng dẫn giúp e! Em xin cảm ơn nhiều ạ!

duongto
22-03-17, 03:11 PM
Mình cắm map vi sơn đảo mà không thấy rớt ra đồ phổ HKMP + đồ tím nên nhờ giúp:
Ai biết xin chỉ giùm cụ thể file drop quái map vi sơn đảo và mặc bắc thảo nguyên + file id trang bị đồ tím với. thank nhiều

ntcong295810
22-04-17, 12:32 AM
hướng dẫn mình fix lỗi này với.Mình không hiểu khúc này.Mình nhận lệnh bài nó ra dấu ?.

62. Fix lệnh bài GM bị thành bất minh đạo cụ

1. lỗi do chưa đồng bộ
2. thiếu spr
3. có thể client chưa update mới nhất

hungvoi94
29-04-17, 08:24 AM
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\\check_func.lu a")
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

WriteLog(format("[DoTransLife]\t%s\tName:%s\tAccount:%s\tDoTransLife,LEVEL:%d,Se tLevel:%d,FACTION:%d,TRANSCOUNT:%d,RESIST:%d,AddMa gicPoint:%d,AddProp:%d,AddResist:%d",
GetLocalDate("%Y-%m-%d %X"),GetName(), GetAccount(),
GetLevel(), n_setlevel, GetLastFactionNumber(), n_transcount, n_resistid,
nmgpoint, nprop, nresist));
zhuansheng_set_gre(n_transcount+1, n_setlevel, n_resistid);

-- 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

SetTask(144, 0); --Ãâ·ÑÏ´µã
SetRevPos(121, 55); --ÉèÖØÉúµãÔÚÁúÃÅÕò
zhuansheng_clear_skill(n_level, nmgpoint); --Çåµô¼¼Äܵã
zhuansheng_clear_prop(n_level, nprop); --ÇåµôDZÄܵã

SetSkillMaxLevelAddons(GetSkillMaxLevelAddons() + naddskill);

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

local nBaseLevel = 10 --ĬÈÏתÉúºóÉý¼¶µ½10¼¶

ST_LevelUp(nBaseLevel-n_level); --ÉèµÈ¼¶Îª10¼¶,±ÜÃâ10¼¶Ç°½ÇÉ«� �¾ºÅ²»ÄÜÕÒ»Ø
SetTask(TSK_ZHUANSHENG_FLAG,0);
SetTask(TSK_ZHUANSHENG_LASTTIME, GetCurServerTime());

PARTNER_CallOutCurPartner(0)
--SetTask(TSK_ZHUANSHENG_FLAG, 2);
Msg2Player("LÜnh héi <B¾c §Èu Tr­êng Sinh ThuËt - T©m Ph¸p Thiªn>");

KickOutSelf();
--Msg2Player("Translife done")
return 1
end


+fuyuan.lua

--¸£ÔµÏµÍ³
--2004.8.5

TASKID_FY = 151; --ÈÎÎñ±äÁ¿ID of Íæ¼Ò¸£ÔµÖµ
TASKID_FY_START_ONLINE_TIME = 152; --ÈÎÎñ±äÁ¿ID of Íæ¼Ò×îºóÒ»´Î¿ªÊ¼»ýÔܸ£ÔµÊ ±µÄÔÚÏßʱ¼ä£¨Ã룩£¬-1±íʾ¸£Ôµ»ýÔÜÒѱ»ÔÝÍ£
TASKID_FY_ADDITIONAL_TIME = 153; --ÈÎÎñ±äÁ¿ID of Íæ¼Ò¸£Ôµ±»ÔÝͣǰ¿É»»¸£Ôµµ ÄÔÚÏßʱ¼ä£¨Ã룩
TASKID_GAIN_LAST_DATE = 154; --ÈÎÎñ±äÁ¿ID of Íæ¼Ò×îºóÒ»´ÎÁìÈ¡¸£ÔµÈÕÆÚ
TASKID_GAIN_TIMES_IN_DAY = 155; --ÈÎÎñ±äÁ¿ID of Íæ¼Ò×îºóÒ»´ÎÁìÈ¡¸£Ôµµ±ÌìÁ ìÈ¡¸£ÔµµÄ´ÎÊý

TIME_UNIT = 3600; --»ù±¾Ê±¼äµ¥Î»£¨1Сʱ£©
TIME_PER_FUYUAN = TIME_UNIT; --1µã¸£Ôµ»»È¡ËùÐèʱ¼ä £¨1Сʱ£©
TIME_FUYUAN_THRESHOLD1 = 2 * TIME_UNIT; --¸£Ôµ»»È¡ËùÐè»ù׼ʱ¼ä £¨2Сʱ£©
TIME_FUYUAN_THRESHOLD2 = 4 * TIME_UNIT; --¸£ÔµË¥¼õ¿ªÊ¼Ê±¼ä £¨4Сʱ£©
FUYUAN_EXTRA = 2; --½±ÀøµÄ¸£Ôµµã
TIMES_IN_DAY_EXTRA = 2; --»ñÈ¡½±ÀøËùÐèÒ»ÌìÁìÈ¡¸£Ôµµ Ä´ÎÊý

FUYUAN_MAX_GAIN = 100; --Ò»´Î×¿É»»È¡¶µÉٵ㸣Ե


--Æô¶¯¸£Ôµ»ýÔÜ
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

nFuYuanGained = floor( nFYValidTime / TIME_PER_FUYUAN );
nFYGainTimesInDay = nFYGainTimesInDay + 1;
nFYStartOnlineTime = nCurrentOnlineTime - mod( nFYValidTime, TIME_UNIT );

--Ò»ÌìÄÚÁìÈ¡×ã¹»´Î¸£Ôµ,¶îÍâ� �Ù½±Àø¸£Ôµ
if( tonumber(date("%Y%m%d")) == nFYGainLastDate ) then
if( nFYGainTimesInDay == TIMES_IN_DAY_EXTRA ) then
nFuYuanGained = nFuYuanGained + FUYUAN_EXTRA;
end
else
nFYGainLastDate = date("%Y%m%d");
nFYGainTimesInDay = 1;
end

if( nFuYuanGained >= FUYUAN_MAX_GAIN ) then
FuYuan_Add( FUYUAN_MAX_GAIN );
WriteLog( "["..date("%Y-%m-%d %X").."] "..GetAccount().."("..GetName()..") get over "..FUYUAN_MAX_GAIN.." FUYUAN. (Current OnlineTime: "..GetGameTime().." sec)" );
else
FuYuan_Add( nFuYuanGained );
end
SetTask( TASKID_FY_START_ONLINE_TIME, nFYStartOnlineTime );
SetTask( TASKID_FY_ADDITIONAL_TIME, 0 );
SetTask( TASKID_GAIN_LAST_DATE, nFYGainLastDate );
SetTask( TASKID_GAIN_TIMES_IN_DAY, nFYGainTimesInDay );
return 1;
end

--»ñµÃÍæ¼Òµ±Ç°¿É»»È¡¸£ÔµµÄÀ Û»ýÔÚÏßʱ¼ä£¨Ã룩 £¨2¸ö·µ»ØÖµ£¬·Ö±ðΪ»»È¡¸£� �µµÄËùÓÐʱ¼äºÍÓÐЧʱ¼ä£©
function FuYuan_GetDepositTime()
if( IsFuYuanAvailable() ~= 1 ) then
return 0, 0;
end
local nCurrentOnlineTime = GetGameTime();
local nFYStartOnlineTime = GetTask( TASKID_FY_START_ONLINE_TIME );
local nFYAdditionalTime = GetTask( TASKID_FY_ADDITIONAL_TIME );
local nFYTotalTime;
local nFYValidTime;
--¸£Ôµ»ýÔÜÒѱ»ÔÝÍ£
if( IsFuYuanPaused() == 1 ) then
if( GetTeamSize() > 1 ) then
return 0, 0; --×é¶Ó״̬Ϣ²»ÄܼÌÐø¸£Ôµ»ýÔ Ü£¬·ÀÖ¹³öÏÖ±¾ÈËÔÚ¹Ò»ú£¬¶Ó ÓÑ´úÁ츣ԵµÄÒì³£³öÏÖʱ½«± ¾ÈËÔÝͣ״̬ÆÆ»µ
else
nFYStartOnlineTime = nCurrentOnlineTime; --Ö»ÄÜ»»È¡ÔÝ֮ͣǰ»ýÔܵÄÔÚÏ ßʱ¼ä
FuYuan_Resume(); --¼ÌÐø¸£Ôµ»ýÔÜ,·ÀÖ¹¸£ÔµPause¶ø δResume¾ÍÁìÈ¡¸£ÔµµÄÒì³£Çé¿ö Ï¢µ¼Ö¢µÄ¸£Ôµ»ýÔÜËÀËø
end
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

nFYTotalTime = ( nCurrentOnlineTime - nFYStartOnlineTime ) + nFYAdditionalTime;

if( nFYTotalTime <= TIME_FUYUAN_THRESHOLD2 ) then
nFYValidTime = nFYTotalTime;
else
local nHour = floor( nFYTotalTime / TIME_UNIT );
nFYValidTime = ( nHour - floor( ( nFYTotalTime - TIME_FUYUAN_THRESHOLD2 ) / ( 2 * TIME_UNIT ) ) ) * TIME_UNIT + mod( nFYTotalTime, TIME_PER_FUYUAN );
end
return nFYTotalTime, nFYValidTime;
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


+ npc_saodisend.lua

-- ====================== ÎļþÐÅÏ¢ ======================

-- ½£ÏÀÇéÔµÍøÂç°æÔ½ÄÏ°æ - 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.lu a")
-- ±»Ô½ÄÏÇ¿ÖÆǨÒƵ½ ±±¶·ÀÏÈË´¦
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,FA CTION:%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


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é !

duongto
06-05-17, 03:59 PM
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

kukondd
06-05-17, 07:40 PM
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 :)):)):))

duongto
07-05-17, 05:44 PM
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 :D

laptrinhjx
17-05-17, 08:04 AM
<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>

Mình new mới tập cài of, mà cài bị thế này mò miết k ra :(

wermanhme1990
17-05-17, 09:10 AM
<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> (<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>)

Mình new mới tập cài of, mà cài bị thế này mò miết k ra :(

incompatible with this version of vmware workstation.
bạn cài bản vmware workstation mới nhất vào.

laptrinhjx
17-05-17, 12:02 PM
incompatible with this version of vmware workstation.
bạn cài bản vmware workstation mới nhất vào.

<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>
cài đến này là bị dấu chấm đỏ thế, giờ làm cách nào đây bác :(

kukondd
17-05-17, 12:48 PM
<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>
cài đến này là bị dấu chấm đỏ thế, giờ làm cách nào đây bác :(
Bạn xem bên centos đã đang nhập root chưa

laptrinhjx
17-05-17, 01:13 PM
Bạn xem bên centos đã đang nhập root chưa

mình đăng nhập hết rồi bạn, mình cũng chỉnh IP hết luôn rồi

kukondd
17-05-17, 01:20 PM
mình đăng nhập hết rồi bạn, mình cũng chỉnh IP hết luôn rồi

inBox qua Mình team qua xem cho bạn

laptrinhjx
17-05-17, 03:23 PM
inBox qua Mình team qua xem cho bạn

bác có fb hay zalo gì ko mình inb cá nhân bạn cho

kukondd
17-05-17, 03:54 PM
bác có fb hay zalo gì ko mình inb cá nhân bạn cho

<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>

hanamnet1
17-05-17, 04:35 PM
Mọi người cho em hỏi em đây là bị lỗi gì ạ
IP của vmnet 2 em đã để 192.168.1.200 và em cũng rêst lại máy mấy lần rồi
P/s: Trc lúc cài xong em có vào "cmd" rồi gĩ lệnh "Ipconfig" không biết có phải do ảnh hưởng của lệnh này ko nữa

<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>

<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>

<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>

saodzi
03-11-18, 12:05 PM
Bác Nào Còn Cái Script Ép Đồ HKMP của Thợ Rèn Thần Bí Lâm An , cho mình xin
Sever mình , mình tìm trong File Thằng Thợ rèn không còn nữa
với Ép đồ Tím Lun , Ai Share Giúp Mình với nhé ! :-|:-|:-|:-|:-|:-|:-|

songvijx
03-11-18, 08:19 PM
Mọi người cho em hỏi em đây là bị lỗi gì ạ
IP của vmnet 2 em đã để 192.168.1.200 và em cũng rêst lại máy mấy lần rồi
P/s: Trc lúc cài xong em có vào "cmd" rồi gĩ lệnh "Ipconfig" không biết có phải do ảnh hưởng của lệnh này ko nữa

<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>

<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>

<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>

mình cũng bi y như bạn
có ai pro giúp với.......

laptrinhjx
04-11-18, 07:49 AM
mình cũng bi y như bạn
có ai pro giúp với.......

tắt hết rs máy chạy lại là đc mà bạn

songvijx
04-11-18, 08:50 PM
tắt hết rs máy chạy lại là đc mà bạn

<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>
<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>
mình rs cả chục lần vẫn bị vậy bạn ơi
có ai rãnh teamvie xem giúp với
thanks

saodzi
05-11-18, 07:43 AM
Helpp me !!! lỗi Ép đồ tím , lấy Phôi Sai Option !!!!
em sài Ver 4 Anh đô , Bị lỗi Sai Option khi rút Phôi , ép đồ tím , các bác cho em hỏi , nên đồng bộ những file nào qua client để ko bị nữa ạ !

vta10306
12-03-19, 03:34 PM
Helpp me !!! lỗi Ép đồ tím , lấy Phôi Sai Option !!!!
em sài Ver 4 Anh đô , Bị lỗi Sai Option khi rút Phôi , ép đồ tím , các bác cho em hỏi , nên đồng bộ những file nào qua client để ko bị nữa ạ !
đào lại, mọi người vào giúp đỡ chung cái lỗi này với

vuduymanh
12-03-19, 06:08 PM
đào lại, mọi người vào giúp đỡ chung cái lỗi này với


bạn đi trian lấy phôi xem có bị ko nhe
thường là do lấy phôi qua hàm hay bị lỗi

tvnnam
12-03-19, 07:04 PM
đào lại, mọi người vào giúp đỡ chung cái lỗi này với

vấn đề của bạn được đề cập ở thứ tự số 49 trong bài này của mình nhé, bạn thử đọc và fix lại xem có đc ko nhé : <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>

thinkiem
24-04-19, 02:40 PM
lâu lắm rồi mới ngó lại ! các bác cho em hỏi có cái nào chơi jx1 linux trên win 10 không ạ?