Kết quả 1 đến 2 của 2
-
11-02-17, 11:28 PM #1
Cú pháp hàm check vật phẩm xếp chồng/ share lại NPC đổi, ép trang bị
Đã lâu không thấy box JX không có phát minh gì mới cho mấy bạn chơi off, ở đây mình nói là chơi off thôi nha. Nên trước tiên mình xin các bạn có kinh nghiệm hoặc các bạn từng thấy file chứa hàm check vật phẩm xếp chồng, dùng để đổi lấy kinh nghiệm, hoặc tiền (nhân với số lượng vật phẩm đó trong bảng giao) thì chia sẻ với mình cú pháp hàm đó với ạ. Vì mình hoạt động phi lợi nhuận nên không có gì bán, cũng không làm thuê cho ai, mà cũng không trả công cho ai cả. Các bạn hảo tâm có thể giúp đỡ. Xin cám ơn.
Vấn đề thứ hai là ở vài bản share cho ae chơi off trước, thì cách ép, nâng cấp, làm lệnh bài, chế tác, đổi lệnh bài lấy lệnh bài cấp cao hơn, hay trùng luyện gì đó, và đổi lấy đồ thường là săn Boss Hoàng kim, hoặc đi phong lăng độ lụm trực tiếp, dựa vào droprate của con boss đó (nếu bản của bạn đang xài có dùng edit của mình). Thì nay mình xin lập một ông NPC Quan thu đổi lệnh bài và code của ổng. Đi kèm là các lệnh bài, túi trang bị, để các bạn bớt phụ thuộc vào lệnh bài admin, nhận bộ trang bị free, chơi off nghịch thì có mục tiêu hơn và bớt ngán hơn. Bạn muốn có đồ, phải xách đao, thương lên đi đánh quái. Đồ free lenhbaiadmin.lua, NPC Chiếm Tâm Tôn Giả chỉ một phần thôi. Sau này mình edit tiếp và bỏ dần những tính năng nhận hỗ trợ có Trang bị. Nếu bạn giỏi có thể tự làm và sáng tạo Trân trọng.
Chi tiết như sau:
NPC Quan thu đổi lệnh bài, đặt tại gần Bến tàu Bắc Biện Kinh cho giảm tải ở BLH (tọa độ trong game 238.155)
thêm dòng này vào script/global/addspreadernpc.lua và đồng bộ vào Client:PHP Code:{697,80,4,37,1912,2480,0," Quan thu ®æi lÖnh bµi ",0,"\\script\\global\\namcung\\namcung_say.lua"},
PHP Code:Include("\\script\\dailogsys\\dailogsay.lua")
Include("\\script\\lib\\awardtemplet.lua")
Include("\\script\\global\\namcung\\namcung_gm.lua")
Include("\\script\\global\\namcung\\namcung_help.lua")
PHP Code:local tbOpt =
{
{"Hæ trî thu thËp lÖnh bµi vµ ®æi trang bÞ", nacu},
{"Tho¸t"},
}
CreateNewSayEx(szTitle, tbOpt)
end
function nacu()
dialog_main()
end
File namcung_gm.lua (link theo Include viết trên):
PHP Code:IncludeLib("SETTING")
Include("\\script\\dailogsys\\dailogsay.lua")
Include("\\script\\lib\\awardtemplet.lua")
Include("\\script\\global\\fuyuan.lua")
Include("\\script\\missions\\leaguematch\\npc\\officer.lua")
Include("\\script\\lib\\log.lua")
Include("\\script\\lib\\common.lua")
Include("\\script\\global\\namcung\\namcung_help.lua")
function dialog_main()
local szTitle = "<npc>Kiªm hiªp quÇn hïng chiÕn nam h¶i, long tranh hæ ®Êu diÖu Cöu ch©u. Ta vèn lµ sø gi¶ triÒu ®×nh, hoan nghªnh c¸c anh hïng hµo kiÖt."
local tbOpt =
{
{"Tíng Qu©n LÖnh ®æi trang bÞ hiÕm", tql},
{"Gióp ta chÕ t¸c lÖnh bµi trang bÞ", chetac_wantCompose},
{"Tho¸t"},
}
CreateNewSayEx(szTitle, tbOpt)
end
function no()
end
function tql()
local tbDialog =
{
"<dec><npc>Ha ha, ta cßn n¾m gi÷ c«ng thøc chÕ t¹o cùc phÈm Huynh §Ö - H¾c ThÇn - Long T¬ng - Vò LiÖt, nh©n sÜ giang hå r¸o riÕt truy s¸t.",
"Néi dung c«ng thøc./cttb_Content",
"Ta muèn t¹o trang bÞ./cttb_wantCompose",
"Ta muèn ®æi tiÒn thëng./doitienthuong",
"Ta muèn chän lo¹i ¸o Vò LiÖt./chonao",
"KÕt thóc ®èi tho¹i/OnCancel",
}
CreateTaskSay(tbDialog)
end
function chonao()
local tab_Content = {
"Ph¸i Hoa S¬n /hoason",
"Ph¸i ThiÕu L©m /thieulam",
"Thiªn V¬ng Bang /thienvuong",
"Ngò §éc Gi¸o /ngudoc",
"§êng M«n /duongmon",
"Nga My ph¸i /ngamy",
"Trang sau /trangsau",
"Th«i ta xin rêi khái /no"
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon lo¹i ¸o Vò LiÖt m«n ph¸i cÇn ®æi", getn(tab_Content), tab_Content);
end
function trangsau()
local tab_Content = {
"Thóy Yªn M«n /thuyyen",
"C¸i Bang /caibang",
"Thiªn NhÉn Gi¸o /thiennhan",
"C«n L«n ph¸i /conlon",
"Vâ §ang /vodang",
"Trang tríc /chonao",
"Th«i ta xin rêi khái /no",
}
Say("Xin chµo <color=yellow>"..GetName().."<color>, h·y lùa chon lo¹i ¸o Vò LiÖt m«n ph¸i cÇn ®æi", getn(tab_Content), tab_Content);
end
function hoason()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_hoason", "no")
end
function submit_hoason(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./hoason", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
dohoason();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> ph¸i Hoa S¬n, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./hoason", "Ta sÏ quay l¹i sau/no");
end
end
function dohoason()
AddGoldItem(0, 5209)
end
function thieulam()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_thieulam", "no")
end
function submit_thieulam(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./thieulam", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
dothieulam();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> ph¸i ThiÕu L©m, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./thieulam", "Ta sÏ quay l¹i sau/no");
end
end
function dothieulam()
AddGoldItem(0, 5228)
end
function thienvuong()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_thienvuong", "no")
end
function submit_thienvuong(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./thienvuong", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
dothienvuong();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> Thiªn V¬ng Bang, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./thienvuong", "Ta sÏ quay l¹i sau/no");
end
end
function dothienvuong()
AddGoldItem(0, 5229)
end
function ngudoc()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_ngudoc", "no")
end
function submit_ngudoc(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./ngudoc", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
dongudoc();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> Ngò §éc Gi¸o, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./ngudoc", "Ta sÏ quay l¹i sau/no");
end
end
function dongudoc()
AddGoldItem(0, 5231)
end
function duongmon()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_duongmon", "no")
end
function submit_duongmon(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./duongmon", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
doduongmon();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> §êng M«n, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./duongmon", "Ta sÏ quay l¹i sau/no");
end
end
function doduongmon()
AddGoldItem(0, 5230)
end
function ngamy()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_ngamy", "no")
end
function submit_ngamy(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./ngamy", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
dongamy();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> ph¸i Nga My, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./ngamy", "Ta sÏ quay l¹i sau/no");
end
end
function dongamy()
AddGoldItem(0, 5232)
end
function thuyyen()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_thuyyen", "no")
end
function submit_thuyyen(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./thuyyen", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
dothuyyen();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> Thóy Yªn m«n, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./thuyyen", "Ta sÏ quay l¹i sau/no");
end
end
function dothuyyen()
AddGoldItem(0, 5233)
end
function caibang()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_caibang", "no")
end
function submit_caibang(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./caibang", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
docaibang();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> C¸i Bang, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./caibang", "Ta sÏ quay l¹i sau/no");
end
end
function docaibang()
AddGoldItem(0, 5234)
end
function thiennhan()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_thiennhan", "no")
end
function submit_thiennhan(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./thiennhan", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
dothiennhan();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> Thiªn NhÉn Gi¸o, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./thiennhan", "Ta sÏ quay l¹i sau/no");
end
end
function dothiennhan()
AddGoldItem(0, 5235)
end
function conlon()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_conlon", "no")
end
function submit_conlon(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./conlon", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
doconlon();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> ph¸i C«n L«n, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./conlon", "Ta sÏ quay l¹i sau/no");
end
end
function doconlon()
AddGoldItem(0, 5237)
end
function vodang()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá 24 Tíng Qu©n LÖnh vµo tõng «. Mæi « chØ cÇn tèi thiÓu 01 qu©n lÖnh, tr¸nh hoang phÝ", "submit_vodang", "no")
end
function submit_vodang(nCount)
if (nCount ~= 24) then
Say("Bá vµo sè lîng kh«ng ®óng 24!", 2, "Xin lçi! Ta sÏ bá l¹i./vodang", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
dovodang();
Msg2Player("§¹i hiÖp ®æi thµnh c«ng <color=yellow> Gi¸p Vò LiÖt<color> ph¸i Vâ §ang, xin chóc mõng.");
for i=1, nCount do
local nItemIndex = GetGiveItemUnit(i);
local strItem = GetItemName(nItemIndex);
RemoveItemByIndex(nItemIndex)
end
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./vodang", "Ta sÏ quay l¹i sau/no");
end
end
function dovodang()
AddGoldItem(0, 5236)
end
function doitienthuong()
GiveItemUI("Giao Tíng Qu©n LÖnh", "Xin mêi bá Tíng Qu©n LÖnh vµo « bªn díi, mçi lÇn mét c¸i duy nhÊt", "submit_doitienthuong", "no")
end
function submit_doitienthuong(nCount)
if (nCount ~= 1) then
Say("Bá vµo sè lîng kh«ng ®óng 1!", 2, "Xin lçi! Ta sÏ bá l¹i./doitienthuong", "Ta sÏ quay l¹i sau/no")
return
end
local nItemIdx = GetGiveItemUnit(1);
local ng, nd, np = GetItemProp(nItemIdx);
if (ng == 6 and nd == 1 and np == 4660) then
RemoveItemByIndex(nItemIdx);
Earn(2000000);
Msg2Player("Ngêi nhËn ®îc <color=yellow>200 v¹n<color> lîng.");
else
Say("VËt phÈm b¹n ®Ó vµo kh«ng chÝnh x¸c!", 2, "Xin lçi! Ta sÏ bá l¹i./doitienthuong", "Ta sÏ quay l¹i sau/no");
end
end
function chetac_wantCompose()
local tbDialog =
{
"<dec><npc>C¸c vâ l©m nh©n sü khi ®¸nh qu¸i sÏ cã c¬ héi nhÆt ®îc <color=yellow>Sö dông c¸c lo¹i nguyªn liÖu kh¸c nhau sÏ chÕ t¹o ®îc trang bÞ kh¸c nhau, ®¹i hiÖp muèn lo¹i nµo?<enter>Kim ¤ LÖnh: 16 Tö M·ng LÖnh+100 MËt ®å thÇn bÝ+20 TQL,500 v¹n.<enter>B¹ch Hæ LÖnh:10 Kim ¤ LÖnh+200 MËt ®å thÇn bÝ+30 TQL,700 v¹n.<enter>XÝch L©n LÖnh: 4 Kim ¤ LÖnh+10 B¹ch Hæ LÖnh+200 MËt ®å thÇn bÝ+30 TQL,1000 v¹n.<enter>Minh Phîng LÖnh: 4 B¹ch Hæ LÖnh+8 XÝch L©n LÖnh+300 MËt ®å thÇn bÝ+40 TQL,2000 v¹n.<enter>§»ng Long LÖnh:5 XÝch L©n LÖnh+8 Minh Phîng LÖnh+400 MËt ®å thÇn bÝ+40 TQL,3000 v¹n.<enter>Tinh S¬ng:4 Minh Phîng LÖnh+8 §»ng Long LÖnh+400 MËt ®å thÇn bÝ+50 TQL, 5000 v¹n.",
"Ta muèn chÕ t¹o 'Kim ¤ LÖnh'/#chetac_compose([[E]])",
"Ta muèn chÕ t¹o 'B¹ch Hæ LÖnh'/#chetac_compose([[F]])",
"Ta muèn chÕ t¹o 'XÝch L©n LÖnh'/#chetac_compose([[G]])",
"Ta muèn chÕ t¹o 'Minh Phîng LÖnh'/#chetac_compose([[H]])",
"Ta muèn chÕ t¹o '§»ng Long LÖnh'/#chetac_compose([[I]])",
"Ta muèn chÕ t¹o 'Tinh S¬ng Chi B¶o'/#chetac_compose([[J]])",
"Lóc kh¸c quay l¹i/OnCancel"
}
CreateTaskSay(tbDialog)
end
chetac_tbItem =
{
{1, {6,1,2349,1,0,0}, "Kim ¤ LÖnh"},
{1, {6,1,2357,1,0,0}, "B¹ch Hæ LÖnh"},
{1, {6,1,2370,1,0,0}, "XÝch L©n LÖnh"},
{1, {6,1,2371,1,0,0}, "Minh Phîng LÖnh"},
{1, {6,1,2372,1,0,0}, "§»ng Long LÖnh"},
{1, {6,1,4369,1,0,0}, "Tinh S¬ng Chi B¶o"},
}
chetac_tbMaterial =
{
{0, {6,1,2357,nil,nil,nil}, "Tö M·ng LÖnh"},
{0, {6,1,2357,nil,nil,nil}, "Kim ¤ LÖnh"},
{0, {6,1,2357,nil,nil,nil}, "B¹ch Hæ LÖnh"},
{0, {6,1,2349,nil,nil,nil}, "XÝch L©n LÖnh"},
{0, {6,1,2357,nil,nil,nil}, "Minh Phîng LÖnh"},
{0, {6,1,2357,nil,nil,nil}, "§»ng Long LÖnh"},
{0, {6,1,196,nil,nil,nil}, "MËt ®å thÇn bÝ"},
{0, {6,1,4660,nil,nil,nil}, "Tíng Qu©n LÖnh"},
}
chetac_Recipe =
{
E = {tbItemList = {16,0,0,0,0,0,100,20}, nMoney = 5000000, tbResult = chetac_tbItem[1]},
F = {tbItemList = {0,10,0,0,0,0,200,30}, nMoney = 7000000, tbResult = chetac_tbItem[2]},
G = {tbItemList = {0,4,10,0,0,0,200,30},nMoney = 10000000, tbResult = chetac_tbItem[3]},
H = {tbItemList = {0,0,4,8,0,0,300,40},nMoney = 20000000, tbResult = chetac_tbItem[4]},
I = {tbItemList = {0,0,0,5,8,0,400,40},nMoney = 30000000, tbResult = chetac_tbItem[5]},
J = {tbItemList = {0,0,0,0,4,8,400,50},nMoney = 50000000, tbResult = chetac_tbItem[6]},
}
function chetac_ComposeConfirm(szSelect)
local tbMaterial = chetac_tbMaterial;
local szMaterialList = nil;
for i=1,getn(tbMaterial) do
tbMaterial[i][1] = chetac_Recipe[szSelect].tbItemList[i];
if tbMaterial[i][1] ~= 0 then
if not szMaterialList then
szMaterialList = format("<color=red>%d<color> <color=yellow>%s<color>",tbMaterial[i][1],tbMaterial[i][3])
else
szMaterialList = format("%s, <color=red>%d<color> <color=yellow>%s<color>",szMaterialList,tbMaterial[i][1],tbMaterial[i][3])
end
end
end
local tbAwardItem = chetac_Recipe[szSelect].tbResult
local nMoney = chetac_Recipe[szSelect].nMoney;
if chetac_CheckMaterial(tbMaterial) ~= 1 then
Say(format("§¹i hiÖp kh«ng cã ®ñ nguyªn liÖu, cÇn ph¶i cã %s míi cã thÓ chÕ t¹o ®îc.",szMaterialList), 1 , "ThËt ng¹i qu¸, ta sÏ quay l¹i sau./OnCancel")
return 0;
end
if Pay(nMoney) == 0 then
Say(format("Kh«ng ®îc råi, kh«ng mang theo ®ñ tiÒn, cÇn cã <color=yellow>%d<color> lîng",nMoney),0)
return 0;
end
if nMoney ~= 0 then
Msg2Player(format("§¹i hiÖp chi tr¶ <color=yellow>%d<color> lîng",nMoney))
end
if chetac_ConsumeMaterial(tbMaterial) ~= 1 then
Say("ChÕ t¹o thÊt b¹i, mÊt ®i mét sè nguyªn liÖu.",0)
return 0;
end
chetacItem_AddItem(tbAwardItem[3],tbAwardItem[2]);
Say(format("Quan thu thËp: Ha ha, <color=yellow>%s<color> ®· chÕ t¹o thµnh c«ng, h·y nhËn lÊy!",tbAwardItem[3]))
end
function chetac_compose(szSelect)
local tbMaterial = chetac_tbMaterial;
local szMaterialList = nil;
for i=1,getn(tbMaterial) do
tbMaterial[i][1] = chetac_Recipe[szSelect].tbItemList[i];
if tbMaterial[i][1] ~= 0 then
if not szMaterialList then
szMaterialList = format("<color=red>%d<color> <color=yellow>%s<color>",tbMaterial[i][1],tbMaterial[i][3])
else
szMaterialList = format("%s, <color=red>%d<color> <color=yellow>%s<color>",szMaterialList,tbMaterial[i][1],tbMaterial[i][3])
end
end
end
local tbAwardItem = chetac_Recipe[szSelect].tbResult
local nMoney = chetac_Recipe[szSelect].nMoney;
if nMoney ~= 0 then
szMaterialList = format("%s, cÇn ph¶i cã <color=yellow>%d<color> lîng",szMaterialList,nMoney)
end
local tbNpcSay =
{
format("<dec><npc>ChÕ t¹o <color=yellow>%s<color>, cÇn cã: %s.",tbAwardItem[3],szMaterialList),
format("ChÕ t¹o trang bÞ/#chetac_ComposeConfirm([[%s]])",szSelect),
"§Ó ta chuÈn bÞ ®·/OnCancel",
}
CreateTaskSay(tbNpcSay)
end
function chetac_CheckMaterial(tbMaterial)
for i=1,getn(tbMaterial) do
local tbItem = tbMaterial[i]
local nLevel = tbItem[2][4] or -1
if tbItem[1] > 0 and CalcEquiproomItemCount(tbItem[2][1],tbItem[2][2],tbItem[2][3],nLevel) < tbItem[1] then
return 0;
end
end
return 1;
end
function chetac_ConsumeMaterial(tbMaterial)
for i=1,getn(tbMaterial) do
local tbItem = tbMaterial[i]
local nLevel = tbItem[2][4] or -1
--print(tbItem[1],tbItem[2][1],tbItem[2][2],tbItem[2][3],nLevel)
if tbItem[1] > 0 and ConsumeEquiproomItem(tbItem[1],tbItem[2][1],tbItem[2][2],tbItem[2][3],nLevel) ~= 1 then
return 0;
end
end
return 1;
end
function OnCancel()
end
function chetacItem_AddItem(szItemName,tbItemProp)
local nPropCount = getn(tbItemProp)
if nPropCount == 6 then
AddItem(tbItemProp[1],tbItemProp[2],tbItemProp[3],tbItemProp[4],tbItemProp[5],tbItemProp[6]);
elseif nPropCount == 2 then
AddGoldItem(tbItemProp[1],tbItemProp[2])
end
Msg2Player(format("NhËn ®îc %s",szItemName))
end
File namcung_help.lua (link theo Include ở namcung_gm.lua):
PHP Code:Include("\\script\\task\\system\\task_string.lua");
Include("\\script\\lib\\basic.lua");
function cttb_Content()
local tbDialog =
{
"<dec><npc><color=red>Vâ L©m TruyÒn Kú<color>, nh©n sÜ phiªu b¹t giang hå thu thËp <color=yellow>Tíng Qu©n LÖnh<color>, MËt ®å thÇn bÝ, B¹ch Hæ LÖnh, Kim ¤ LÖnh.<enter>Sau khi thu thËp ®ñ nguyªn liÖu cã thÓ ®Õn chÕ t¹o <color=yellow>Huynh §Ö-HÆc ThÇn-Long T¬ng-Vò LiÖt<color> c¸c lo¹i.<enter>",
"Ta hiÓu råi/tql"
}
CreateTaskSay(tbDialog)
end
function cttb_wantCompose()
local tbDialog =
{
"<dec><npc>C¸c vâ l©m nh©n sü khi ®¸nh qu¸i sÏ cã c¬ héi nhÆt ®îc <color=yellow>Sö dông c¸c lo¹i nguyªn liÖu kh¸c nhau sÏ chÕ t¹o ®îc trang bÞ kh¸c nhau, ®¹i hiÖp muèn lo¹i nµo?",
"Ta muèn chÕ t¹o 'Tói v¶i trang bÞ Huynh §Ö'/#cttb_compose([[A]])",
"Ta muèn chÕ t¹o 'Tói v¶i trang bÞ H¾c ThÇn'/#cttb_compose([[B]])",
"Ta muèn chÕ t¹o 'Tói v¶i trang bÞ Long T¬ng'/#cttb_compose([[C]])",
"Ta muèn chÕ t¹o 'Tói v¶i trang bÞ Vò LiÖt '/#cttb_compose([[D]])",
"Lóc kh¸c quay l¹i/OnCancel"
}
CreateTaskSay(tbDialog)
end
cttb_tbItem =
{
{1, {6,1,4661,1,0,0}, "Tói v¶i Trang BÞ Huynh §Ö"},
{1, {6,1,4662,1,0,0}, "Tói v¶i Trang bÞ H¾c ThÇn"},
{1, {6,1,4663,1,0,0}, "Tói v¶i Trang bÞ Long T¬ng"},
{1, {6,1,4664,1,0,0}, "Tói v¶i Trang bÞ §Ö NhÊt Vò LiÖt"},
}
cttb_tbMaterial =
{
{0, {6,1,2357,nil,nil,nil}, "B¹ch Hæ LÖnh"},
{0, {6,1,2349,nil,nil,nil}, "Kim ¤ LÖnh"},
{0, {6,1,196,nil,nil,nil}, "MËt ®å thÇn bÝ"},
{0, {6,1,4660,nil,nil,nil}, "Tíng Qu©n LÖnh"},
}
cttb_Recipe =
{
A = {tbItemList = {2,4,200,60}, nMoney = 10000000, tbResult = cttb_tbItem[1]},
B = {tbItemList = {3,5,200,80}, nMoney = 20000000, tbResult = cttb_tbItem[2]},
C = {tbItemList = {4,8,400,100},nMoney = 50000000, tbResult = cttb_tbItem[3]},
D = {tbItemList = {6,10,600,120},nMoney = 100000000, tbResult = cttb_tbItem[4]},
}
function cttb_ComposeConfirm(szSelect)
local tbMaterial = cttb_tbMaterial;
local szMaterialList = nil;
for i=1,getn(tbMaterial) do
tbMaterial[i][1] = cttb_Recipe[szSelect].tbItemList[i];
if tbMaterial[i][1] ~= 0 then
if not szMaterialList then
szMaterialList = format("<color=red>%d<color> <color=yellow>%s<color>",tbMaterial[i][1],tbMaterial[i][3])
else
szMaterialList = format("%s, <color=red>%d<color> <color=yellow>%s<color>",szMaterialList,tbMaterial[i][1],tbMaterial[i][3])
end
end
end
local tbAwardItem = cttb_Recipe[szSelect].tbResult
local nMoney = cttb_Recipe[szSelect].nMoney;
if cttb_CheckMaterial(tbMaterial) ~= 1 then
Say(format("§¹i hiÖp kh«ng cã ®ñ nguyªn liÖu, cÇn ph¶i cã %s míi cã thÓ chÕ t¹o ®îc.",szMaterialList), 1 , "ThËt ng¹i qu¸, ta sÏ quay l¹i sau./OnCancel")
return 0;
end
if Pay(nMoney) == 0 then
Say(format("Kh«ng ®îc råi, kh«ng mang theo ®ñ tiÒn, cÇn cã <color=yellow>%d<color> lîng",nMoney),0)
return 0;
end
if nMoney ~= 0 then
Msg2Player(format("§¹i hiÖp chi tr¶ <color=yellow>%d<color> lîng",nMoney))
end
if cttb_ConsumeMaterial(tbMaterial) ~= 1 then
Say("ChÕ t¹o thÊt b¹i, mÊt ®i mét sè nguyªn liÖu.",0)
return 0;
end
cttbItem_AddItem(tbAwardItem[3],tbAwardItem[2]);
Say(format("Quan thu thËp: Ha ha, <color=yellow>%s<color> ®· chÕ t¹o thµnh c«ng, h·y nhËn lÊy!",tbAwardItem[3]))
end
function cttb_compose(szSelect)
local tbMaterial = cttb_tbMaterial;
local szMaterialList = nil;
for i=1,getn(tbMaterial) do
tbMaterial[i][1] = cttb_Recipe[szSelect].tbItemList[i];
if tbMaterial[i][1] ~= 0 then
if not szMaterialList then
szMaterialList = format("<color=red>%d<color> <color=yellow>%s<color>",tbMaterial[i][1],tbMaterial[i][3])
else
szMaterialList = format("%s, <color=red>%d<color> <color=yellow>%s<color>",szMaterialList,tbMaterial[i][1],tbMaterial[i][3])
end
end
end
local tbAwardItem = cttb_Recipe[szSelect].tbResult
local nMoney = cttb_Recipe[szSelect].nMoney;
if nMoney ~= 0 then
szMaterialList = format("%s, cÇn ph¶i cã <color=yellow>%d<color> lîng",szMaterialList,nMoney)
end
local tbNpcSay =
{
format("<dec><npc>ChÕ t¹o <color=yellow>%s<color>, cÇn cã: %s.",tbAwardItem[3],szMaterialList),
format("ChÕ t¹o trang bÞ/#cttb_ComposeConfirm([[%s]])",szSelect),
"§Ó ta chuÈn bÞ ®·/OnCancel",
}
CreateTaskSay(tbNpcSay)
end
function cttb_CheckMaterial(tbMaterial)
for i=1,getn(tbMaterial) do
local tbItem = tbMaterial[i]
local nLevel = tbItem[2][4] or -1
if tbItem[1] > 0 and CalcEquiproomItemCount(tbItem[2][1],tbItem[2][2],tbItem[2][3],nLevel) < tbItem[1] then
return 0;
end
end
return 1;
end
function cttb_ConsumeMaterial(tbMaterial)
for i=1,getn(tbMaterial) do
local tbItem = tbMaterial[i]
local nLevel = tbItem[2][4] or -1
--print(tbItem[1],tbItem[2][1],tbItem[2][2],tbItem[2][3],nLevel)
if tbItem[1] > 0 and ConsumeEquiproomItem(tbItem[1],tbItem[2][1],tbItem[2][2],tbItem[2][3],nLevel) ~= 1 then
return 0;
end
end
return 1;
end
function OnCancel()
end
function cttbItem_AddItem(szItemName,tbItemProp)
local nPropCount = getn(tbItemProp)
if nPropCount == 6 then
AddItem(tbItemProp[1],tbItemProp[2],tbItemProp[3],tbItemProp[4],tbItemProp[5],tbItemProp[6]);
elseif nPropCount == 2 then
AddGoldItem(tbItemProp[1],tbItemProp[2])
end
Msg2Player(format("NhËn ®îc %s",szItemName))
end
Tạo trang bị mới, mở magicscript.txt bằng Excel, dưới dòng cuối cùng, thêm:
PHP Code:Tíng Qu©n LÖnh 6 1 4660 \spr\item\script\yinpai_haozhao.spr 385 1 1 <color=yellow>LÖnh bµi ®iÒu binh cæ vËt cña Hoµng Phi Hæ. Nh©n sÜ giang hå ra søc thu thËp.<color> 0 1 0 \script\item\noscript.lua 0 1 1 0 0 200 0 0 0 0 0 0 0 0 0
Tói v¶i Trang BÞ Huynh §Ö 6 1 4661 \spr\item\obj_item_mantle.spr 41 1 1 <color=yellow>Bªn trong cã chøa Huynh §Ö ngäc ch©u vµ ngäc trôy cùc phÈm <color> 0 1 0 \script\item\market_pack.lua 0 1 1 0 0 100 0 0 0 0 0 0 0 0 0
Tói v¶i Trang BÞ H¾c ThÇn 6 1 4662 \spr\item\obj_item_mantle.spr 41 1 1 <color=yellow>Bªn trong cã chøa bé H¾c ThÇn cùc phÈm <color> 0 1 0 \script\item\market_pack.lua 0 1 1 0 0 100 0 0 0 0 0 0 0 0 0
Tói v¶i Trang BÞ Long T¬ng 6 1 4663 \spr\item\obj_item_mantle.spr 41 1 1 <color=yellow>Bªn trong cã chøa bé Long T¬ng hoµng kim cùc phÈm <color> 0 1 0 \script\item\market_pack.lua 0 1 1 0 0 100 0 0 0 0 0 0 0 0 0
Tói v¶i Trang BÞ §Ö NhÊt Vò LiÖt 6 1 4664 \spr\item\obj_item_mantle.spr 41 1 1 <color=yellow>Bªn trong cã chøa bé chiÕn phÈm Vò LiÖt <color> 0 1 0 \script\item\market_pack.lua 0 1 1 0 0 100 0 0 0 0 0 0 0 0 0
File \script\item\market_pack.lua: -- là túi vải chứa trang bị, khi nhấp chuột phải, bạn sẽ nhận được bộ trang bị tương ứng
Dưới dãy if P == ... then
Add gì đó đó
end
thêm vào cái này:PHP Code:if P == 4661 then -- Huynh De
AddGoldItem (0, 4436)
AddGoldItem (0, 4481)
AddGoldItem (0, 4482)
AddGoldItem (0, 4437)
end
if P == 4662 then -- Hacthan
for i=4833,4837 do
AddGoldItem(0, i)
end
end
if P == 4663 then -- longtuong
AddGoldItem(0, 5198)
AddGoldItem(0, 5199)
AddGoldItem(0, 5200)
AddGoldItem(0, 5201)
AddGoldItem(0, 5202)
AddGoldItem(0, 5219)
AddGoldItem(0, 5221)
AddGoldItem(0, 5226)
AddGoldItem(0, 5227)
end
if P == 4664 then --vuliet
AddGoldItem(0, 5208)
AddGoldItem(0, 5210)
AddGoldItem(0, 5211)
AddGoldItem(0, 5212)
end
end
PHP Code:1. Tướng Quân Lệnh: 6,1,4660
2. Túi vải trang bị huynh đệ: 6,1,4661
3. Túi vải trang bị Hắc Thần: 6,1,4662
4. Túi vải trang bị Long Tương: 6,1,4663
5. Túi vải trang bị Vũ Liệt: 6,1,4664
6. Tinh Sương Chi Bảo: 6,1,4369
PHP Code:1. Đổi Túi trang bị Huynh Đệ: cần 2 Bạch Hổ Lệnh, 4 Kim Ô Lệnh, 200 Mật đồ thần bí, 60 TQL, 1000 vạn lượng;
2. Đổi Túi vải trang bị Hắc Thần: 3 Bạch Hổ Lệnh, 5 Kim Ô Lệnh, 200 Mật đồ thần bí, 80 TQL, 2000 vạn lượng;
3. Đổi Túi vải trang bị Long Tương: 4 Bạch Hổ Lệnh, 8 Kim Ô Lệnh, 400 Mật đồ thần bí, 100 TQL, 5000 vạn lượng;
4. Đổi Túi vải trang bị Vũ Liệt (không có áo): 6 Bạch Hổ Lệnh, 10 Kim Ô Lệnh, 600 Mật đồ thần bí, 120 TQL, 10.000 vạn lượng;
5. Đổi áo Vũ Liệt theo hệ phái, gồm cả Hoa Sơn: 24 Tướng Quân Lệnh không xếp chồng, mỗi ô giao 1 TQL.
Chế tạo lệnh bài nhỏ -> cao
6. Kim Ô Lệnh: 16 Tử Mãng Lệnh + 100 Mật đồ thần bí + 20 TQL + 500 vạn
7. Bạch Hổ Lệnh: 10 Kim Ô Lệnh + 200 Mật đồ thần bí + 30 TQL + 700 vạn
8. Xích Lân Lệnh: 4 Kim Ô Lệnh+ 10 Bạch Hổ Lệnh + 200 Mật đồ thần bí + 30 TQL + 1000 vạn
9. Minh Phượng Lệnh: 4 Bạch Hổ Lệnh+ 8 Xích Lân Lệnh + 300 Mật đồ thần bí + 40 TQL + 2000 vạn
10. Đằng Long Lệnh: 5 Xích Lân Lệnh+ 8 Minh Phượng Lệnh + 400 Mật đồ thần bí + 40 TQL + 3000 vạn
11. Tinh Sương Chi bảo: 4 Minh Phượng Lệnh + 8 Đằng Long Lệnh + 400 Mật đồ thần bí + 50 TQL + 5000 vạn
12. Có thể đổi TQL lấy tiền thưởng
server1/setting/droprate/goldennpc/90_01234droprate.ini
[Main]
Count=109 (tức là bổ sung 1 loại nữa thay vì 108)
...
...
[109]
Genre=6
Detail=1
Particular=4660
RandRate=6000
Xong rồi đó.
Khuyết điểm: Do mình không biết hàm check số lượng xếp chồng, nên khi bỏ vào ô giao xếp chồng có 100 cái thì code chỉ hiểu là 1 cái. (nCount =1)
Nên khi xài thì vui lòng tách ra cho đúng số ô, mỗi ô 1 cái, tránh hoang phí nguyên vật liệu.Lần sửa cuối bởi minhduc_aa, ngày 11-02-17 lúc 11:36 PM.
Khách viếng thăm hãy cùng minhduc_aa xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 8 Users Say Thank You to minhduc_aa For This Useful Post:
calms1001 (12-02-17), jamescma1 (23-03-17), JXDev (12-02-17),
Linh_JX(12-02-17), minhkhanh109 (11-02-17), sleepmd (12-02-17),thutrangcs(12-02-17), vuduymanh (12-02-17)
-
12-02-17, 12:21 AM #2
- Ngày tham gia
- Nov 2011
- Bài viết
- 685
- Thanks
- 353
- Thanked 244 Times in 116 Posts
Ðề: Cú pháp hàm check vật phẩm xếp chồng/ share lại NPC đổi, ép trang bị
đức inbox tớ. tớ chỉ cho cậu cái vụ xếp chồng nhé
Khách viếng thăm hãy cùngLinh_JXxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
Các thành viên gởi lời cảm ơn đến Linh_JX vì bài viết này !
minhduc_aa (12-02-17)
Các Chủ đề tương tự
-
[KT] Share server Trang bị pet + Ngoại trang + Chân nguyên khá giống VNG
Bởi mr.error trong diễn đàn ReleasesTrả lời: 92Bài viết cuối: 18-10-19, 03:23 PM -
[KT] Xin hàm check id trang bị
Bởi anhnhianh trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 5Bài viết cuối: 24-01-16, 09:41 PM -
[KT] Xin hỏi hàm check thú cưỡi đeo trên người và trong hành trang !!!
Bởi huylouis1996 trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 1Bài viết cuối: 17-07-13, 03:55 PM -
[MU] Share trang chủ và trang download mu-thanchet vừa mới rip đc
Bởi ikyssu trong diễn đàn SQL Server & WebsiteTrả lời: 7Bài viết cuối: 19-05-13, 10:53 AM -
Suorce Check Title- No check Launcher , main - No check Item
Bởi cuocdoisp trong diễn đàn ReleasesTrả lời: 8Bài viết cuối: 26-06-10, 04:31 PM