PDA

View Full Version : [JX] LINUX - Script hỗ trợ làm Hoàn Thành Q Dã Tẩu luôn và ngay



f-fantasy
08-07-19, 01:03 PM
- Chơi off làm Dã tẩu cực vcd ra nên mình khô máu với nó =))
- Sau khi nhận Q Dã Tẩu thì sử dụng item. Nó sẽ hiện thông tin Q Dã Tẩu và giúp hoàn thành Q luốn
- Q tìm mật chí, đồ chí
- Q tìm đồ thi nó sẽ cho luôn món đồ theo yêu cầu của dã tẩu. Kể cả Dã tẩu có đòi huyền tinh hay là sát thủ giản các loại. Các loại item từ đòi hỏi option lẫn ko option cân hết
- Q nâng pk, tống kim, phúc duyên, danh vọng, kinh nghiệm
- Q tìm số lượng mảnh bản đồ sơn hà xã tắc

Với các nhiệm vụ như nâng điểm kn, nâng phúc duyên, danh vọng, trị pk script ko hề nâng trực tiếp vào nhân vật mà chỉ nâng chỉ số để có thể hoàn thành ngay q dã tẩu mà thôi. Cho nên nhân vật không hề bị ảnh hưởng gì cả. Mình viết script này khi các nhân vật sử dụng của mình toàn level cao, cho nên có cái loại Q mà chạy sang thành X thành Y mua món đồ là mình ko có viết trong đó. Nói chung đứng im tại chỗ click click hết 40 Q
Trong quá trình viết mình chú thích loạn cả lên nhưng lười xóa nên copy cả share nhé. Trong script mình có sử dụng hàm Say mở rộng SayEx đã có bài share, các bạn ko thích sửa lại cho phù hợp để script chạy được
Bây giờ thì Dã Tẩu méo có tuổi =))
Clip : <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>


Include("\\script\\task\\newtask\\tasklink\\tasklink_head.l ua")

--function main()
-- dofile("script/00ff/magicscriptitem/dataubitich.lua")


-- Msg2Player(myTaskValueType)
-- return 1
--end
function main(nItemIndex)
dofile("script/00ff/magicscriptitem/dataubitich.lua")
local LoiThoai = "Cuèn bÝ tÞch ghi chÐp l¹i nh÷ng bÝ mËt cña D· TÈu vÒ nhiÖm vô truy t×m <color=green>MËt ChÝ<color> vµ <color=green>§Þa §å ChÝ<color><enter>HiÖn t¹i <color=yellow>D· TÈu<color> ®ang giao ng­¬i lµm nhiÖm vô : "..tl_gettaskinfo()
local tb = {}
tinsert(tb,{"Hoµn thµnh nhiÖm vô ®­îc giao ngay lËp tøc",DaTau_HT})
SayEx(LoiThoai,tb)
return 1
end
TabFile_Load("\\settings\\task\\tasklink_upground.txt",TL_UPGROUND)
TabFile_Load("\\settings\\task\\tasklink_findgoods.txt",TL_FINDGOODS)
TabFile_Load("\\settings\\task\\tasklink_showgoods.txt",TL_SHOWGOODS)
tbOptionFindGood = {
{97,0,"Søc m¹nh"},
{98,3,"Th©n Ph¸p"},
{99,2,"Sinh KhÝ"},
{101,0,"Kh¸ng §éc"},
{105,4,"Kh¸ng B¨ng"},
{102,2,"Kh¸ng Ho¶ - Thuû"},
{103,1,"Kh¸ng L«i - Méc"},

--96: Phuc hoi the luc / Day Chuyen, Nhan
--92: Phuc hoi noi luc / Ngoc Boi
--88: Phuc hoi sinh luc / Dai Lung (0,6,0)
}
tbOptionFindGoodShowGood = {
{97,0,{0,3,0,10},2,"Søc m¹nh"},
{98,3,{0,3,0,10},2,"Th©n Ph¸p"},
{99,2,{0,3,0,10},2,"Sinh KhÝ"},
{101,0,{0,3,0,10},2,"Kh¸ng §éc"},
{105,4,{0,3,0,10},2,"Kh¸ng B¨ng"},
{102,2,{0,3,0,10},2,"Kh¸ng Ho¶ - Thuû"},
{103,1,{0,3,0,10},2,"Kh¸ng L«i - Méc"},
{108,4,{0,3,0,10},2,"Gi¶m thêi gian tróng ®éc - Thæ"},
{110,2,{0,3,0,10},2,"Gi¶m thêi gian cho¸ng - Thuû"},
{106,3,{0,3,0,10},2,"Gi¶m thêi lµm chËm - ho¶"},
{88,99,{0,6,0,10},1,"Phôc håi sinh lùc / §ai l­ng"},
{92,99,{0,9,0,10},1,"Phôc håi néi lùc / Ngäc Béi / H­¬ng nang"},
{96,99,{0,3,0,10},1,"Phôc håi thÓ lùc / nhÉn"},
}
function DaTau_HT()
myTaskType = tl_getplayertasktype() --KiÓm tra lo¹i nhiÖm vô ®ang lµm lµ nhiÖm vô g×, nÕu b»ng 4 th× míi lµ nhiÖm vô t×m ®Þa ®å chÝ
--6: T×m sè l­îng m¶nh b¶n ®å s¬n hµ x· t¾c
myTaskID = tl_gettasktablecol()
if myTaskType == 1 then
return Talk(1, "", "BÝ tÞch kh«ng ghi chÐp c¸ch thøc hoµn thµnh nhiÖm vô lÇn nµy, xin h·y kiÓm tra l¹i.")
end
if myTaskType == 2 then --T×m item cã option
local myGenre,myDetail,myParticular = tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"Genre")), tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"Detail")), tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"Particular"))
local myGoodsFive = TabFile_GetCell(TL_FINDGOODS,myTaskID,"GoodsFive") --Ngò hµnh
myMagicID = TabFile_GetCell(TL_FINDGOODS,myTaskID,"MagicEnName") --ID cña option cÇn t×m kiÕm
myMagicMax = tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"MaxValue"))
myMagicMin = tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"MinValue"))

if (myGoodsFive == "n") then --NÕu nhiÖm vô d· tÈu kh«ng yªu cÇu ngò hµnh mãn ®å
--n: NghÜa lµ Mãn ®å D· TÈu yªu cÇu ko cÇn ngò hµnh g× c¶
if (myMagicID ~= "n") then --yªu cÇu option kÌm theo
for i=1,getn(tbOptionFindGood) do
if tbOptionFindGood[i][1] == tonumber(myMagicID) then --®©y lµ nh÷ng option cã yªu cÇu ngò hµnh, option cña dßng 2
myGoodsFive = tbOptionFindGood[i][2]
LoaiDong = 2 --Option Èn
myMagicID = tonumber(myMagicID)
break --t×m ®­îc item ®Õn ®©y nã tho¸t vßng lÆp for. Tøc lµ c¸i ®o¹n ë d­íi sÏ ko ch¹y n÷a
end
--cã ®ßi option nh­ng option kh«ng yªu cÇu ngò hµnh
myGoodsFive = random(0,4)
LoaiDong = 1 --dßng 1
myMagicID = tonumber(myMagicID)
end
end
else --®· yªu cÇu ngò hµnh
myGoodsFive = tonumber(myGoodsFive)
LoaiDong = 2 --Option Èn
end
myLevel = TabFile_GetCell(TL_FINDGOODS,myTaskID,"Level")
if (myLevel == "n") then --Tøc lµ lo¹i nµo còng ®­îc kh«ng quan träng
myLevel = random(1,10)
else
myLevel = tonumber(myLevel)
end

--Msg2Player(myGenre)
--Msg2Player(myDetail)
--Msg2Player(myParticular)
--Msg2Player(myMagicID)
--Msg2Player(myMagicMax)
--Msg2Player(myMagicMin)
--Msg2Player(LoaiDong)
--Msg2Player(myGoodsFive)
if (myMagicID == "n") then --t×m item kh«ng cÇn option, th× sÏ cã ngò hµnh kÌm theo
Item = AddItem(myGenre,myDetail,myParticular,myLevel,myGo odsFive,100,10)
else --t×m item yªu cÇu option lµ sÏ cã kho¶ng min max
local magictype
SoVongLap = 0
while magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax do --trong khi option ch­a ®óng option cÇn t×m
local Item = AddItem(myGenre,myDetail,myParticular,myLevel,myGo odsFive,100,10)
magictype, p1 = GetItemMagicAttrib(Item,LoaiDong)
if magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax then
RemoveItemByIndex(Item)
end
SoVongLap = SoVongLap + 1
if SoVongLap == 1000 then Msg2Player("Kh«ng t×m ®­îc") break end
end
end
return
end
if myTaskType == 3 then
--T×m 1 mãn ®å(lo¹i nµo còng ®­îc) cã option kÌm theo
myMagicID = tonumber(TabFile_GetCell(TL_SHOWGOODS,myTaskID,"MagicEnName"))
myMagicMin = tonumber(TabFile_GetCell(TL_SHOWGOODS,myTaskID,"MinValue"))
myMagicMax = tonumber(TabFile_GetCell(TL_SHOWGOODS,myTaskID,"MaxValue"))
for i=1,getn(tbOptionFindGoodShowGood) do
if tbOptionFindGoodShowGood[i][1] == myMagicID then --lµ nh÷ng option cã yªu cÇu ngò hµnh hoÆc ®å ®Æc biÖt míi cã
nG,nD,nP,nLevel = tbOptionFindGoodShowGood[i][3][1],tbOptionFindGoodShowGood[i][3][2], tbOptionFindGoodShowGood[i][3][3],tbOptionFindGoodShowGood[i][3][4]
nLoaiDong = tbOptionFindGoodShowGood[i][4]
if tbOptionFindGoodShowGood[i][2] == 99 then
nNguHanh = random(0,4)
else
nNguHanh = tbOptionFindGoodShowGood[i][2]
end
break
end
--nh÷ng option ch¼ng ®Æc biÖt g× nh­ sinh lùc, néi lùc thÓ lùc
nG,nD,nP,nLevel,nLoaiDong,nNguHanh = 0,3,0,10,1,random(0,4)
end
--Msg2Player(nNguHanh)
--Msg2Player(nG)
--Msg2Player(nD)
--Msg2Player(nP)
--Msg2Player(nLevel)
local magictype, p1
SoVongLap = 0
while magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax do --trong khi option ch­a ®óng option cÇn t×m
local Item = AddItem(nG,nD,nP,nLevel,nNguHanh,100,10)
magictype, p1 = GetItemMagicAttrib(Item,nLoaiDong)
if magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax then
RemoveItemByIndex(Item)
end
SoVongLap = SoVongLap + 1
--Msg2Player(SoVongLap)
if SoVongLap == 1000 then Msg2Player("Kh«ng t×m ®­îc") break end
end
return
end
if myTaskType == 4 then
--Talk(1, "", "BÝ tÞch kh«ng ghi chÐp c¸ch thøc hoµn thµnh nhiÖm vô lÇn nµy, xin h·y kiÓm tra l¹i.")
--return 1
nt_setTask(1025,15)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
return
end
if myTaskType == 5 then --NhiÖm vô n©ng c¸c lo¹i ®iÓm danh väng, phóc duyªn, tèng kim, pk
myTaskValueType = tonumber(TabFile_GetCell(TL_UPGROUND,myTaskID,"NumericType")) --C¸i gi¸ trÞ quyÕt ®Þnh nã lµ lo¹i nhiÖm vô t¨ng kinh nghiÖm, danh väng, phóc duyªn, tèng kim, pk.....
--2: N©ng kinh nghiÖm
--3: Danh väng
--4: Phóc duyªn
--5: PK
--6: Tèng Kim
myTaskValue = tonumber(TabFile_GetCell(TL_UPGROUND,myTaskID,"NumericValue")) --Gi¸ trÞ chØ ra bao nhiªu ®iÓm kn, danh väng, phóc duyªn, pk, tèng kim.....cÇn ph¶i n©ng lªn
if myTaskValueType == 2 then --n©ng kinh nghiÖm
nt_setTask(1034,-1*myTaskValue)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
--Msg2Player(nt_getTask(1034))
--Msg2Player(nt_getTask(1033))
else
--nt_getTask(1026) sÏ lµ Task chung ®Ó tÝnh c¸c lo¹i ®iÓm cßn l¹i
nt_setTask(1026,-1*myTaskValue)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
end
return
end
if myTaskType == 6 then --T×m sè l­îng m¶nh b¶n ®å s¬n hµ x· t¾c
nt_setTask(1027,100)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
return
end
end

vunhutha
08-07-19, 07:41 PM
Bạn chỉ mình cách thêm vào item được không mình add hoài nhưng không mở được ?

vuduymanh
08-07-19, 07:43 PM
thanks bác
dù em có rồi nhưng vẫn thanks bác'
vì tinh thần bất diệt
của em dùng tử thủy tinh để hoàn thành :)

f-fantasy
08-07-19, 08:04 PM
Bạn chỉ mình cách thêm vào item được không mình add hoài nhưng không mở được ?

Không mở được thì nó thông báo lỗi gì hả bạn? Chú ý mình đã có nói về hàm SayEx ở dòng số 15 bạn có thể thay lại nó thành hàm Say thông thường. Hàm đó server mình mới có

--- Chế độ gộp bài viết ---


thanks bác
dù em có rồi nhưng vẫn thanks bác'
vì tinh thần bất diệt
của em dùng tử thủy tinh để hoàn thành :)

Thì add vào cái gì cũng được, biến tấu cái cần tiêu hao đi cho nó có tính cày quốc =)).

traminh83
09-07-19, 09:06 AM
- Chơi off làm Dã tẩu cực vcd ra nên mình khô máu với nó =))
- Sau khi nhận Q Dã Tẩu thì sử dụng item. Nó sẽ hiện thông tin Q Dã Tẩu và giúp hoàn thành Q luốn
- Q tìm mật chí, đồ chí
- Q tìm đồ thi nó sẽ cho luôn món đồ theo yêu cầu của dã tẩu. Kể cả Dã tẩu có đòi huyền tinh hay là sát thủ giản các loại. Các loại item từ đòi hỏi option lẫn ko option cân hết
- Q nâng pk, tống kim, phúc duyên, danh vọng, kinh nghiệm
- Q tìm số lượng mảnh bản đồ sơn hà xã tắc

Với các nhiệm vụ như nâng điểm kn, nâng phúc duyên, danh vọng, trị pk script ko hề nâng trực tiếp vào nhân vật mà chỉ nâng chỉ số để có thể hoàn thành ngay q dã tẩu mà thôi. Cho nên nhân vật không hề bị ảnh hưởng gì cả. Mình viết script này khi các nhân vật sử dụng của mình toàn level cao, cho nên có cái loại Q mà chạy sang thành X thành Y mua món đồ là mình ko có viết trong đó. Nói chung đứng im tại chỗ click click hết 40 Q
Trong quá trình viết mình chú thích loạn cả lên nhưng lười xóa nên copy cả share nhé. Trong script mình có sử dụng hàm Say mở rộng SayEx đã có bài share, các bạn ko thích sửa lại cho phù hợp để script chạy được
Bây giờ thì Dã Tẩu méo có tuổi =))
Clip : <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>


Include("\\script\\task\\newtask\\tasklink\\tasklink_head.l ua")

--function main()
-- dofile("script/00ff/magicscriptitem/dataubitich.lua")


-- Msg2Player(myTaskValueType)
-- return 1
--end
function main(nItemIndex)
dofile("script/00ff/magicscriptitem/dataubitich.lua")
local LoiThoai = "Cuèn bÝ tÞch ghi chÐp l¹i nh÷ng bÝ mËt cña D· TÈu vÒ nhiÖm vô truy t×m <color=green>MËt ChÝ<color> vµ <color=green>§Þa §å ChÝ<color><enter>HiÖn t¹i <color=yellow>D· TÈu<color> ®ang giao ng­¬i lµm nhiÖm vô : "..tl_gettaskinfo()
local tb = {}
tinsert(tb,{"Hoµn thµnh nhiÖm vô ®­îc giao ngay lËp tøc",DaTau_HT})
SayEx(LoiThoai,tb)
return 1
end
TabFile_Load("\\settings\\task\\tasklink_upground.txt",TL_UPGROUND)
TabFile_Load("\\settings\\task\\tasklink_findgoods.txt",TL_FINDGOODS)
TabFile_Load("\\settings\\task\\tasklink_showgoods.txt",TL_SHOWGOODS)
tbOptionFindGood = {
{97,0,"Søc m¹nh"},
{98,3,"Th©n Ph¸p"},
{99,2,"Sinh KhÝ"},
{101,0,"Kh¸ng §éc"},
{105,4,"Kh¸ng B¨ng"},
{102,2,"Kh¸ng Ho¶ - Thuû"},
{103,1,"Kh¸ng L«i - Méc"},

--96: Phuc hoi the luc / Day Chuyen, Nhan
--92: Phuc hoi noi luc / Ngoc Boi
--88: Phuc hoi sinh luc / Dai Lung (0,6,0)
}
tbOptionFindGoodShowGood = {
{97,0,{0,3,0,10},2,"Søc m¹nh"},
{98,3,{0,3,0,10},2,"Th©n Ph¸p"},
{99,2,{0,3,0,10},2,"Sinh KhÝ"},
{101,0,{0,3,0,10},2,"Kh¸ng §éc"},
{105,4,{0,3,0,10},2,"Kh¸ng B¨ng"},
{102,2,{0,3,0,10},2,"Kh¸ng Ho¶ - Thuû"},
{103,1,{0,3,0,10},2,"Kh¸ng L«i - Méc"},
{108,4,{0,3,0,10},2,"Gi¶m thêi gian tróng ®éc - Thæ"},
{110,2,{0,3,0,10},2,"Gi¶m thêi gian cho¸ng - Thuû"},
{106,3,{0,3,0,10},2,"Gi¶m thêi lµm chËm - ho¶"},
{88,99,{0,6,0,10},1,"Phôc håi sinh lùc / §ai l­ng"},
{92,99,{0,9,0,10},1,"Phôc håi néi lùc / Ngäc Béi / H­¬ng nang"},
{96,99,{0,3,0,10},1,"Phôc håi thÓ lùc / nhÉn"},
}
function DaTau_HT()
myTaskType = tl_getplayertasktype() --KiÓm tra lo¹i nhiÖm vô ®ang lµm lµ nhiÖm vô g×, nÕu b»ng 4 th× míi lµ nhiÖm vô t×m ®Þa ®å chÝ
--6: T×m sè l­îng m¶nh b¶n ®å s¬n hµ x· t¾c
myTaskID = tl_gettasktablecol()
if myTaskType == 1 then
return Talk(1, "", "BÝ tÞch kh«ng ghi chÐp c¸ch thøc hoµn thµnh nhiÖm vô lÇn nµy, xin h·y kiÓm tra l¹i.")
end
if myTaskType == 2 then --T×m item cã option
local myGenre,myDetail,myParticular = tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"Genre")), tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"Detail")), tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"Particular"))
local myGoodsFive = TabFile_GetCell(TL_FINDGOODS,myTaskID,"GoodsFive") --Ngò hµnh
myMagicID = TabFile_GetCell(TL_FINDGOODS,myTaskID,"MagicEnName") --ID cña option cÇn t×m kiÕm
myMagicMax = tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"MaxValue"))
myMagicMin = tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"MinValue"))

if (myGoodsFive == "n") then --NÕu nhiÖm vô d· tÈu kh«ng yªu cÇu ngò hµnh mãn ®å
--n: NghÜa lµ Mãn ®å D· TÈu yªu cÇu ko cÇn ngò hµnh g× c¶
if (myMagicID ~= "n") then --yªu cÇu option kÌm theo
for i=1,getn(tbOptionFindGood) do
if tbOptionFindGood[i][1] == tonumber(myMagicID) then --®©y lµ nh÷ng option cã yªu cÇu ngò hµnh, option cña dßng 2
myGoodsFive = tbOptionFindGood[i][2]
LoaiDong = 2 --Option Èn
myMagicID = tonumber(myMagicID)
break --t×m ®­îc item ®Õn ®©y nã tho¸t vßng lÆp for. Tøc lµ c¸i ®o¹n ë d­íi sÏ ko ch¹y n÷a
end
--cã ®ßi option nh­ng option kh«ng yªu cÇu ngò hµnh
myGoodsFive = random(0,4)
LoaiDong = 1 --dßng 1
myMagicID = tonumber(myMagicID)
end
end
else --®· yªu cÇu ngò hµnh
myGoodsFive = tonumber(myGoodsFive)
LoaiDong = 2 --Option Èn
end
myLevel = TabFile_GetCell(TL_FINDGOODS,myTaskID,"Level")
if (myLevel == "n") then --Tøc lµ lo¹i nµo còng ®­îc kh«ng quan träng
myLevel = random(1,10)
else
myLevel = tonumber(myLevel)
end

--Msg2Player(myGenre)
--Msg2Player(myDetail)
--Msg2Player(myParticular)
--Msg2Player(myMagicID)
--Msg2Player(myMagicMax)
--Msg2Player(myMagicMin)
--Msg2Player(LoaiDong)
--Msg2Player(myGoodsFive)
if (myMagicID == "n") then --t×m item kh«ng cÇn option, th× sÏ cã ngò hµnh kÌm theo
Item = AddItem(myGenre,myDetail,myParticular,myLevel,myGo odsFive,100,10)
else --t×m item yªu cÇu option lµ sÏ cã kho¶ng min max
local magictype
SoVongLap = 0
while magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax do --trong khi option ch­a ®óng option cÇn t×m
local Item = AddItem(myGenre,myDetail,myParticular,myLevel,myGo odsFive,100,10)
magictype, p1 = GetItemMagicAttrib(Item,LoaiDong)
if magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax then
RemoveItemByIndex(Item)
end
SoVongLap = SoVongLap + 1
if SoVongLap == 1000 then Msg2Player("Kh«ng t×m ®­îc") break end
end
end
return
end
if myTaskType == 3 then
--T×m 1 mãn ®å(lo¹i nµo còng ®­îc) cã option kÌm theo
myMagicID = tonumber(TabFile_GetCell(TL_SHOWGOODS,myTaskID,"MagicEnName"))
myMagicMin = tonumber(TabFile_GetCell(TL_SHOWGOODS,myTaskID,"MinValue"))
myMagicMax = tonumber(TabFile_GetCell(TL_SHOWGOODS,myTaskID,"MaxValue"))
for i=1,getn(tbOptionFindGoodShowGood) do
if tbOptionFindGoodShowGood[i][1] == myMagicID then --lµ nh÷ng option cã yªu cÇu ngò hµnh hoÆc ®å ®Æc biÖt míi cã
nG,nD,nP,nLevel = tbOptionFindGoodShowGood[i][3][1],tbOptionFindGoodShowGood[i][3][2], tbOptionFindGoodShowGood[i][3][3],tbOptionFindGoodShowGood[i][3][4]
nLoaiDong = tbOptionFindGoodShowGood[i][4]
if tbOptionFindGoodShowGood[i][2] == 99 then
nNguHanh = random(0,4)
else
nNguHanh = tbOptionFindGoodShowGood[i][2]
end
break
end
--nh÷ng option ch¼ng ®Æc biÖt g× nh­ sinh lùc, néi lùc thÓ lùc
nG,nD,nP,nLevel,nLoaiDong,nNguHanh = 0,3,0,10,1,random(0,4)
end
--Msg2Player(nNguHanh)
--Msg2Player(nG)
--Msg2Player(nD)
--Msg2Player(nP)
--Msg2Player(nLevel)
local magictype, p1
SoVongLap = 0
while magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax do --trong khi option ch­a ®óng option cÇn t×m
local Item = AddItem(nG,nD,nP,nLevel,nNguHanh,100,10)
magictype, p1 = GetItemMagicAttrib(Item,nLoaiDong)
if magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax then
RemoveItemByIndex(Item)
end
SoVongLap = SoVongLap + 1
--Msg2Player(SoVongLap)
if SoVongLap == 1000 then Msg2Player("Kh«ng t×m ®­îc") break end
end
return
end
if myTaskType == 4 then
--Talk(1, "", "BÝ tÞch kh«ng ghi chÐp c¸ch thøc hoµn thµnh nhiÖm vô lÇn nµy, xin h·y kiÓm tra l¹i.")
--return 1
nt_setTask(1025,15)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
return
end
if myTaskType == 5 then --NhiÖm vô n©ng c¸c lo¹i ®iÓm danh väng, phóc duyªn, tèng kim, pk
myTaskValueType = tonumber(TabFile_GetCell(TL_UPGROUND,myTaskID,"NumericType")) --C¸i gi¸ trÞ quyÕt ®Þnh nã lµ lo¹i nhiÖm vô t¨ng kinh nghiÖm, danh väng, phóc duyªn, tèng kim, pk.....
--2: N©ng kinh nghiÖm
--3: Danh väng
--4: Phóc duyªn
--5: PK
--6: Tèng Kim
myTaskValue = tonumber(TabFile_GetCell(TL_UPGROUND,myTaskID,"NumericValue")) --Gi¸ trÞ chØ ra bao nhiªu ®iÓm kn, danh väng, phóc duyªn, pk, tèng kim.....cÇn ph¶i n©ng lªn
if myTaskValueType == 2 then --n©ng kinh nghiÖm
nt_setTask(1034,-1*myTaskValue)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
--Msg2Player(nt_getTask(1034))
--Msg2Player(nt_getTask(1033))
else
--nt_getTask(1026) sÏ lµ Task chung ®Ó tÝnh c¸c lo¹i ®iÓm cßn l¹i
nt_setTask(1026,-1*myTaskValue)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
end
return
end
if myTaskType == 6 then --T×m sè l­îng m¶nh b¶n ®å s¬n hµ x· t¾c
nt_setTask(1027,100)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
return
end
end



Hehe, thanks. Giờ ngộ, nhìn code ad viết, lúc trước nhìn mà chẳng hiểu gì hết, giờ nhìn cái là hiểu liền.

minhnghia0507
09-07-19, 12:01 PM
Làm sao để xài cái này vậy bác ơi, em gà nên k biết bỏ vào chỗ nào hết, xin bác hướng dẫn, e đang dùng sv linux 2019 ạ

tranvanlong789
09-07-19, 02:11 PM
Có 1 hàm hoàn thành luôn mà bác. nó chỉ là task thôi mà. việc gì phải khổ thế nhỉ...................

f-fantasy
09-07-19, 05:02 PM
Có 1 hàm hoàn thành luôn mà bác. nó chỉ là task thôi mà. việc gì phải khổ thế nhỉ...................

Ồ vậy hả. Mình ko biết, vì soi file dã tẩu thì chỉ cần set cho cái taskcheck về 1 là hoàn thành. Nhưng lại thấy nó có vẻ ảnh hưởng tới các dữ liệu của chuỗi Q dã tẩu nên thay vì set nó bằng 1 mình viết để đáo ứng đòi hòi của dã tẩu. Script này ko ảnh hưởng bất kỳ dữ liệu nào đc lưu của dã tẩu cả nên đỡ sợ sai về sau. Với cả Q đòi tìm đồ, cho dù đã set hoàn thành thì khi nhấn vào ta hoàn thành nó vẫn bắt nộp item để check.

--- Chế độ gộp bài viết ---


Làm sao để xài cái này vậy bác ơi, em gà nên k biết bỏ vào chỗ nào hết, xin bác hướng dẫn, e đang dùng sv linux 2019 ạ

Bạn thêm 1 cái item mới, rồi nhét cái script này vào thôi. Chú ý chỗ hàm SayEx mình đã nói qua

tranvanlong789
15-07-19, 11:11 PM
ồ vậy hả. Mình ko biết, vì soi file dã tẩu thì chỉ cần set cho cái taskcheck về 1 là hoàn thành. Nhưng lại thấy nó có vẻ ảnh hưởng tới các dữ liệu của chuỗi q dã tẩu nên thay vì set nó bằng 1 mình viết để đáo ứng đòi hòi của dã tẩu. Script này ko ảnh hưởng bất kỳ dữ liệu nào đc lưu của dã tẩu cả nên đỡ sợ sai về sau. Với cả q đòi tìm đồ, cho dù đã set hoàn thành thì khi nhấn vào ta hoàn thành nó vẫn bắt nộp item để check.

--- chế độ gộp bài viết ---



bạn thêm 1 cái item mới, rồi nhét cái script này vào thôi. Chú ý chỗ hàm sayex mình đã nói qua

không cần thiết phải khổ như vậy mặc định soucer đã có hàm sét 1 cài là hoàn thành. Ko có dụng chạm dữ liệu gì cả.

Bản thân dã tẩu nó quy định rồi khi hàm đó = 1 thì là hoàn tất. Ta sét cái là xong. Vẫn + các q nv các thứ.

Mà công nhận bác rãnh và tâm huyết thiệt đấy. Nếu rãnh làm cái tống kim các cược 2 bang hội đi. Cho nó chất

f-fantasy
17-07-19, 11:52 PM
không cần thiết phải khổ như vậy mặc định soucer đã có hàm sét 1 cài là hoàn thành. Ko có dụng chạm dữ liệu gì cả.

Bản thân dã tẩu nó quy định rồi khi hàm đó = 1 thì là hoàn tất. Ta sét cái là xong. Vẫn + các q nv các thứ.

Mà công nhận bác rãnh và tâm huyết thiệt đấy. Nếu rãnh làm cái tống kim các cược 2 bang hội đi. Cho nó chất

Chơi off mà nên vụ bang hội lại chả máu me lắm, lập cái bang có 2 3 thằng đến công thành thẹo chơi off cả 2 tháng rồi chưa đánh trận nào =))). Thực ra mấy cái đó nếu vào hoàn cảnh mình mở online hoặc chí ít là mở LAN cho chục anh em chơi thì sẽ lọ mọ viết đấy. Có điều mỗi mình =))))

minhduc_aa
26-08-19, 08:02 PM
Không mở được thì nó thông báo lỗi gì hả bạn? Chú ý mình đã có nói về hàm SayEx ở dòng số 15 bạn có thể thay lại nó thành hàm Say thông thường. Hàm đó server mình mới có

--- Chế độ gộp bài viết ---



Thì add vào cái gì cũng được, biến tấu cái cần tiêu hao đi cho nó có tính cày quốc =)).

Mình add vào 1 món đồ magicscript để dùng nhưng nhấp chuột phải thì báo lỗi dòng 12, nil value. Câu lệnh sai gì vậy nhỉ, đã sửa hàm sayex -> say nhưng không giải quyết được.

Đã sửa phần đầu của bạn thành như sau không bị lỗi nữa:

function main(nItemIndex)
dofile("script/item/baibaoxiang.lua") -- đường dẫn file .lua của món đồ được add
local tbSay = {}
tinsert(tbSay,"Hoµn thµnh nhiÖm vô ®­îc giao ngay lËp tøc/DaTau_HT")
tinsert(tbSay,"Th«i/no")
Say("Xin chµo <color=yellow>"..GetName().."<color>, H·y chän nh÷ng g× mµ b¹n muèn !", getn(tbSay), tbSay)
return 1
end
function no()
end

f-fantasy
27-08-19, 12:08 PM
Mình add vào 1 món đồ magicscript để dùng nhưng nhấp chuột phải thì báo lỗi dòng 12, nil value. Câu lệnh sai gì vậy nhỉ, đã sửa hàm sayex -> say nhưng không giải quyết được.

Đã sửa phần đầu của bạn thành như sau không bị lỗi nữa:

function main(nItemIndex)
dofile("script/item/baibaoxiang.lua") -- đường dẫn file .lua của món đồ được add
local tbSay = {}
tinsert(tbSay,"Hoµn thµnh nhiÖm vô ®­îc giao ngay lËp tøc/DaTau_HT")
tinsert(tbSay,"Th«i/no")
Say("Xin chµo <color=yellow>"..GetName().."<color>, H·y chän nh÷ng g× mµ b¹n muèn !", getn(tbSay), tbSay)
return 1
end
function no()
end
Nó báo lỗi dòng 12 của scritp nào hả bạn. Script này của bạn bthuong mà. Dòng 12 trong script của mình là SayEx. Bạn post cái scritp bạn ĐÃ SỬA lên mình xem

minhduc_aa
27-08-19, 06:53 PM
Nó báo lỗi dòng 12 của scritp nào hả bạn. Script này của bạn bthuong mà. Dòng 12 trong script của mình là SayEx. Bạn post cái scritp bạn ĐÃ SỬA lên mình xem

:)>- Cám ơn bạn đã chia sẻ một script hay và viết chi tiết rất tâm huyết, mình chỉ sửa lại 1 chút nhỏ như dưới đây ở bản ver3 mình bị báo lỗi, không dùng được item đã add đó. Chỗ màu đỏ dofile mình đặt đường dẫn vào script của 1 món đồ magic mình gán cho nó, mình không biết bản jx mình khác bạn không mà xài không được. Mình dùng Ver3 tranminhdo mày mò add Hoa sơn cách đây...cỡ 4 năm tới giờ mới dùng lại. À mà mình nhầm, dòng số 15 chỗ sayex bạn ơi.


Include("\\script\\task\\newtask\\tasklink\\tasklink_head.l ua")

--function main()
-- dofile("script/00ff/magicscriptitem/dataubitich.lua")


-- Msg2Player(myTaskValueType)
-- return 1
--end
function main(nItemIndex)
dofile("script/item/baibaoxiang.lua")
local tbSay = {}
tinsert(tbSay,"Hoµn thµnh nhiÖm vô ®­îc giao ngay lËp tøc/DaTau_HT")
tinsert(tbSay,"Th«i/no")
Say("Xin chµo <color=yellow>"..GetName().."<color>, H·y chän nh÷ng g× mµ b¹n muèn !", getn(tbSay), tbSay)
return 1
end
function no()
end
TabFile_Load("\\settings\\task\\tasklink_upground.txt",TL_UPGROUND)
TabFile_Load("\\settings\\task\\tasklink_findgoods.txt",TL_FINDGOODS)
TabFile_Load("\\settings\\task\\tasklink_showgoods.txt",TL_SHOWGOODS)
tbOptionFindGood = {
{97,0,"Søc m¹nh"},
{98,3,"Th©n Ph¸p"},
{99,2,"Sinh KhÝ"},
{101,0,"Kh¸ng §éc"},
{105,4,"Kh¸ng B¨ng"},
{102,2,"Kh¸ng Ho¶ - Thuû"},
{103,1,"Kh¸ng L«i - Méc"},

--96: Phuc hoi the luc / Day Chuyen, Nhan
--92: Phuc hoi noi luc / Ngoc Boi
--88: Phuc hoi sinh luc / Dai Lung (0,6,0)
}
tbOptionFindGoodShowGood = {
{97,0,{0,3,0,10},2,"Søc m¹nh"},
{98,3,{0,3,0,10},2,"Th©n Ph¸p"},
{99,2,{0,3,0,10},2,"Sinh KhÝ"},
{101,0,{0,3,0,10},2,"Kh¸ng §éc"},
{105,4,{0,3,0,10},2,"Kh¸ng B¨ng"},
{102,2,{0,3,0,10},2,"Kh¸ng Ho¶ - Thuû"},
{103,1,{0,3,0,10},2,"Kh¸ng L«i - Méc"},
{108,4,{0,3,0,10},2,"Gi¶m thêi gian tróng ®éc - Thæ"},
{110,2,{0,3,0,10},2,"Gi¶m thêi gian cho¸ng - Thuû"},
{106,3,{0,3,0,10},2,"Gi¶m thêi lµm chËm - ho¶"},
{88,99,{0,6,0,10},1,"Phôc håi sinh lùc / §ai l­ng"},
{92,99,{0,9,0,10},1,"Phôc håi néi lùc / Ngäc Béi / H­¬ng nang"},
{96,99,{0,3,0,10},1,"Phôc håi thÓ lùc / nhÉn"},
}
function DaTau_HT()
myTaskType = tl_getplayertasktype() --KiÓm tra lo¹i nhiÖm vô ®ang lµm lµ nhiÖm vô g×, nÕu b»ng 4 th× míi lµ nhiÖm vô t×m ®Þa ®å chÝ
--6: T×m sè l­îng m¶nh b¶n ®å s¬n hµ x· t¾c
myTaskID = tl_gettasktablecol()
if myTaskType == 1 then
return Talk(1, "", "BÝ tÞch kh«ng ghi chÐp c¸ch thøc hoµn thµnh nhiÖm vô lÇn nµy, xin h·y kiÓm tra l¹i.")
end
if myTaskType == 2 then --T×m item cã option
local myGenre,myDetail,myParticular = tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"Genre")), tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"Detail")), tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"Particular"))
local myGoodsFive = TabFile_GetCell(TL_FINDGOODS,myTaskID,"GoodsFive") --Ngò hµnh
myMagicID = TabFile_GetCell(TL_FINDGOODS,myTaskID,"MagicEnName") --ID cña option cÇn t×m kiÕm
myMagicMax = tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"MaxValue"))
myMagicMin = tonumber(TabFile_GetCell(TL_FINDGOODS,myTaskID,"MinValue"))

if (myGoodsFive == "n") then --NÕu nhiÖm vô d· tÈu kh«ng yªu cÇu ngò hµnh mãn ®å
--n: NghÜa lµ Mãn ®å D· TÈu yªu cÇu ko cÇn ngò hµnh g× c¶
if (myMagicID ~= "n") then --yªu cÇu option kÌm theo
for i=1,getn(tbOptionFindGood) do
if tbOptionFindGood[i][1] == tonumber(myMagicID) then --®©y lµ nh÷ng option cã yªu cÇu ngò hµnh, option cña dßng 2
myGoodsFive = tbOptionFindGood[i][2]
LoaiDong = 2 --Option Èn
myMagicID = tonumber(myMagicID)
break --t×m ®­îc item ®Õn ®©y nã tho¸t vßng lÆp for. Tøc lµ c¸i ®o¹n ë d­íi sÏ ko ch¹y n÷a
end
--cã ®ßi option nh­ng option kh«ng yªu cÇu ngò hµnh
myGoodsFive = random(0,4)
LoaiDong = 1 --dßng 1
myMagicID = tonumber(myMagicID)
end
end
else --®· yªu cÇu ngò hµnh
myGoodsFive = tonumber(myGoodsFive)
LoaiDong = 2 --Option Èn
end
myLevel = TabFile_GetCell(TL_FINDGOODS,myTaskID,"Level")
if (myLevel == "n") then --Tøc lµ lo¹i nµo còng ®­îc kh«ng quan träng
myLevel = random(1,10)
else
myLevel = tonumber(myLevel)
end

--Msg2Player(myGenre)
--Msg2Player(myDetail)
--Msg2Player(myParticular)
--Msg2Player(myMagicID)
--Msg2Player(myMagicMax)
--Msg2Player(myMagicMin)
--Msg2Player(LoaiDong)
--Msg2Player(myGoodsFive)
if (myMagicID == "n") then --t×m item kh«ng cÇn option, th× sÏ cã ngò hµnh kÌm theo
Item = AddItem(myGenre,myDetail,myParticular,myLevel,myGo odsFive,100,10)
else --t×m item yªu cÇu option lµ sÏ cã kho¶ng min max
local magictype
SoVongLap = 0
while magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax do --trong khi option ch­a ®óng option cÇn t×m
local Item = AddItem(myGenre,myDetail,myParticular,myLevel,myGo odsFive,100,10)
magictype, p1 = GetItemMagicAttrib(Item,LoaiDong)
if magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax then
RemoveItemByIndex(Item)
end
SoVongLap = SoVongLap + 1
if SoVongLap == 1000 then Msg2Player("Kh«ng t×m ®­îc") break end
end
end
return
end
if myTaskType == 3 then
--T×m 1 mãn ®å(lo¹i nµo còng ®­îc) cã option kÌm theo
myMagicID = tonumber(TabFile_GetCell(TL_SHOWGOODS,myTaskID,"MagicEnName"))
myMagicMin = tonumber(TabFile_GetCell(TL_SHOWGOODS,myTaskID,"MinValue"))
myMagicMax = tonumber(TabFile_GetCell(TL_SHOWGOODS,myTaskID,"MaxValue"))
for i=1,getn(tbOptionFindGoodShowGood) do
if tbOptionFindGoodShowGood[i][1] == myMagicID then --lµ nh÷ng option cã yªu cÇu ngò hµnh hoÆc ®å ®Æc biÖt míi cã
nG,nD,nP,nLevel = tbOptionFindGoodShowGood[i][3][1],tbOptionFindGoodShowGood[i][3][2], tbOptionFindGoodShowGood[i][3][3],tbOptionFindGoodShowGood[i][3][4]
nLoaiDong = tbOptionFindGoodShowGood[i][4]
if tbOptionFindGoodShowGood[i][2] == 99 then
nNguHanh = random(0,4)
else
nNguHanh = tbOptionFindGoodShowGood[i][2]
end
break
end
--nh÷ng option ch¼ng ®Æc biÖt g× nh­ sinh lùc, néi lùc thÓ lùc
nG,nD,nP,nLevel,nLoaiDong,nNguHanh = 0,3,0,10,1,random(0,4)
end
--Msg2Player(nNguHanh)
--Msg2Player(nG)
--Msg2Player(nD)
--Msg2Player(nP)
--Msg2Player(nLevel)
local magictype, p1
SoVongLap = 0
while magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax do --trong khi option ch­a ®óng option cÇn t×m
local Item = AddItem(nG,nD,nP,nLevel,nNguHanh,100,10)
magictype, p1 = GetItemMagicAttrib(Item,nLoaiDong)
if magictype ~= myMagicID or p1 < myMagicMin or p1 > myMagicMax then
RemoveItemByIndex(Item)
end
SoVongLap = SoVongLap + 1
--Msg2Player(SoVongLap)
if SoVongLap == 1000 then Msg2Player("Kh«ng t×m ®­îc") break end
end
return
end
if myTaskType == 4 then
--Talk(1, "", "BÝ tÞch kh«ng ghi chÐp c¸ch thøc hoµn thµnh nhiÖm vô lÇn nµy, xin h·y kiÓm tra l¹i.")
--return 1
nt_setTask(1025,15)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
return
end
if myTaskType == 5 then --NhiÖm vô n©ng c¸c lo¹i ®iÓm danh väng, phóc duyªn, tèng kim, pk
myTaskValueType = tonumber(TabFile_GetCell(TL_UPGROUND,myTaskID,"NumericType")) --C¸i gi¸ trÞ quyÕt ®Þnh nã lµ lo¹i nhiÖm vô t¨ng kinh nghiÖm, danh väng, phóc duyªn, tèng kim, pk.....
--2: N©ng kinh nghiÖm
--3: Danh väng
--4: Phóc duyªn
--5: PK
--6: Tèng Kim
myTaskValue = tonumber(TabFile_GetCell(TL_UPGROUND,myTaskID,"NumericValue")) --Gi¸ trÞ chØ ra bao nhiªu ®iÓm kn, danh väng, phóc duyªn, pk, tèng kim.....cÇn ph¶i n©ng lªn
if myTaskValueType == 2 then --n©ng kinh nghiÖm
nt_setTask(1034,-1*myTaskValue)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
--Msg2Player(nt_getTask(1034))
--Msg2Player(nt_getTask(1033))
else
--nt_getTask(1026) sÏ lµ Task chung ®Ó tÝnh c¸c lo¹i ®iÓm cßn l¹i
nt_setTask(1026,-1*myTaskValue)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
end
return
end
if myTaskType == 6 then --T×m sè l­îng m¶nh b¶n ®å s¬n hµ x· t¾c
nt_setTask(1027,100)
Talk(1, "", "NhiÖm vô "..tl_gettaskinfo().." ®· Hoµn Thµnh.")
return
end
end

Đây là hình báo lỗi ở dòng số 15 nếu để nguyên script của bạn, chỉ sửa dofile( đường dẫn script/item/ ....lua ) của mì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>
Nếu sửa hàm SayEx -> Say thì chỉ hiện mỗi câu lệnh kết thúc đối thoại, còn để nguyên thì server không hiểu hàm sayex hay sao ấy.

f-fantasy
27-08-19, 10:11 PM
Nó ko hiểu SayEx là đúng thôi bạn ạ vì hàm đó mình thêm vào mà (Mình có nói bên topic hàm say mở rộng của mình ấy)
1. Hoặc bạn thêm cái hàm SayEx theo cái topic "Hàm say mở rộng" để server hiểu

2. Sửa lại cả đoạn đầu thành

function main(nItemIndex)
dofile("script/item/baibaoxiang.lua")
local tbSay = {
"Hoµn thµnh nhiÖm vô ®­îc giao ngay lËp tøc/DaTau_HT",
"Th«i/no",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, H·y chän nh÷ng g× mµ b¹n muèn !", getn(tbSay), tbSay)
return 1
end

anhlove990
29-09-21, 07:29 PM
không cần thiết phải khổ như vậy mặc định soucer đã có hàm sét 1 cài là hoàn thành. Ko có dụng chạm dữ liệu gì cả.

Bản thân dã tẩu nó quy định rồi khi hàm đó = 1 thì là hoàn tất. Ta sét cái là xong. Vẫn + các q nv các thứ.

Mà công nhận bác rãnh và tâm huyết thiệt đấy. Nếu rãnh làm cái tống kim các cược 2 bang hội đi. Cho nó chất

Bạn có thể share cho mình code được không ?

DungT
30-09-21, 09:32 PM
những người lười là những người rất giỏi =))=))=)) tks bác nhớ nhớ :-|:-|:-|o:-)o:-)o:-)