neverbackdown
22-12-12, 06:42 PM
Bạn có thể post file scipt đó lên đây k ?
THeo mình nghĩ lỗi chỉ có những trường hợp sau :
+Do cái tổng rate k = số rate của các vật phẩm cộng lại
+Do chỗ vòng lặp i chạy từ 1 đến số vật phẩm . Ví dụ bạn khai 5 vật phẩm thì i chạy từ 1 đến 5
+Do id item của bạn k có trong sciptitem nó sẽ báo nil value
Mong bạn giúp đỡ
local tbNpc = Npc:GetClass("changeahk");
local REQUIRE_ITEM = {
[1] =
{
{
{
string.format("%s,%s,%s,%s", 18, 1, 377, 1),
},
3,
},
{
{
string.format("%s,%s,%s,%s", 1, 16, 13, 1),
},
1,
},
},[2] =
{
{
{
string.format("%s,%s,%s,%s", 18, 1, 377, 1),
},
6,
},
{
{
string.format("%s,%s,%s,%s", 1, 16, 16, 2),
},
1,
},
},[3] =
{
{
{
string.format("%s,%s,%s,%s", 18, 1, 377, 1),
},
9,
},
{
{
string.format("%s,%s,%s,%s", 1, 16, 17, 2),
},
1,
},
},[4] =
{
{
{
string.format("%s,%s,%s,%s", 18, 1, 377, 1),
},
12,
},
{
{
string.format("%s,%s,%s,%s", 1, 16, 18, 2),
},
1,
},
},[5] =
{
{
{
string.format("%s,%s,%s,%s", 18, 1, 377, 1),
},
15,
},
{
{
string.format("%s,%s,%s,%s", 1, 16, 19, 2),
},
1,
},
},
};
function tbDoian:OnDialog()
local nState = me.GetTask(3006, 2);
local szButtonColor = (nState < 20 and "") or "<color=gray>";
local tbOpt =
{
{"<color=yellow>Ta Muốn Nâng Cấp Long Ấn<color>", self.longanupdate, self},
{"<color=yellow>Ta Muốn Nâng Cấp Luân Hồi Ấn<color>", self.luanhoianupdate, self},
{"Kết thúc đối thoại"},
}
Dialog:Say("<color=yellow>Nhà Sưu Tập Vũ Khí:<color> \nXin chào <color=cyan>" ..me.szName.. "<color> ! ",tbOpt);
end
function tbDoian:luanhoianupdate()
local nValue = me.nSeries;
if (nValue == 0) then
local tbOpt = {{"Kết thúc đối thoại"}};
local szMsg = "<color=cyan>" .. me.szName .. "<color> hãy gia nhập môn phái";
Dialog:Say(szMsg, tbOpt);
return;
end;
local szMsg = "Ngươi muốn nâng cấp ấn?";
local tbItemId2 = {1,16,13,1,0,0};
local tbItemId3 = {1,16,16,2,0,0};
local tbItemId4 = {1,16,17,2,0,0};
local tbItemId5 = {1,16,18,2,0,0};
local tbItemId6 = {1,16,19,2,0,0};
local tbItemId7 = {1,16,20,2,0,0};
local nCount2 = me.GetItemCountInBags(1,16,13,1);
local nCount3 = me.GetItemCountInBags(1,16,16,2);
local nCount4 = me.GetItemCountInBags(1,16,17,2);
local nCount5 = me.GetItemCountInBags(1,16,18,2);
local nCount6 = me.GetItemCountInBags(1,16,19,2);
local nCount7 = me.GetItemCountInBags(1,16,20,2);
if nCount2 < 1 or nCount3 < 1 or nCount4 < 1 or nCount5 < 1 or nCount6 < 1 or nCount7 < 1 then
Dialog:Say("<color=wheat>Trong hành trang của bạn không có vật phẩm yêu cầu<color>");
return 0;
else if nCount2 == 2
local tbOpt = {
{"Nâng Cấp Luân Hồi Ấn[Thường]", self.updateluanhoianthuong1, self},
}
Dialog:Say(szMsg, tbOpt);
else if nCount3 == 3
{"Nâng Cấp Luân Hồi Ấn[Sơ]", self.updateluanhoianthuong2, self},
}
Dialog:Say(szMsg, tbOpt);
else if nCount4 == 4
{"Nâng Cấp Luân Hồi Ấn[Trung]", self.updateluanhoianthuong3, self},
}
Dialog:Say(szMsg, tbOpt);
else if nCount5 == 5
{"Nâng Cấp Luân Hồi Ấn[Cao]", self.updateluanhoianthuong4, self},
}
Dialog:Say(szMsg, tbOpt);
else if nCount6 == 6
{"Nâng Cấp Luân Hồi Ấn[Hồn]", self.updateluanhoianthuong5, self},
}
Dialog:Say(szMsg, tbOpt);
else if nCount7 == 7
{"Nâng Cấp Luân Hồi Ấn[Thần]", self.updateluanhoianthuong6, self},
}
Dialog:Say(szMsg, tbOpt);
end
end
end
function tbNpc:updateluanhoianthuong1()
local nValue = me.nSeries;
local szMsg = "Ta sẽ giúp nhà ngươi Nâng cấp Ấn,nhưng phải trả công cho ta 100 Vạn Lượng,khả năng thành công là không lớn.nhà ngươi có chấp nhận không?";
szMsg = "Vui lòng đặt Luân Hòi Ấn + 3HTB vào.Khả năng hợp thành là không cao.Nhà Ngươi hãy suy nghĩ thật kĩ";
Dialog:OpenGift(szMsg, nil, {self.OnOpenGiftOk, self, nValue});
end;
function tbNpc:updateluanhoianthuong2()
local nValue = me.nSeries+1;
local szMsg = "Ta sẽ giúp nhà ngươi Nâng cấp Ấn,nhưng phải trả công cho ta 200 Vạn Lượng,khả năng thành công là không lớn.nhà ngươi có chấp nhận không?";
szMsg = "Vui lòng đặt Huyền Vũ Án + 6HTB vào.Khả năng hợp thành là không cao.Nhà Ngươi hãy suy nghĩ thật kĩ";
Dialog:OpenGift(szMsg, nil, {self.OnOpenGiftOk, self, nValue});
end;
function tbNpc:updateluanhoianthuong3()
local nValue = me.nSeries+2;
local szMsg = "Ta sẽ giúp nhà ngươi Nâng cấp Ấn,nhưng phải trả công cho ta 300 Vạn Lượng,khả năng thành công là không lớn.nhà ngươi có chấp nhận không?";
szMsg = "Vui lòng đặt Bạch Hỗ Ấn + 9HTB vào.Khả năng hợp thành là không cao.Nhà Ngươi hãy suy nghĩ thật kĩ";
Dialog:OpenGift(szMsg, nil, {self.OnOpenGiftOk, self, nValue});
end;
function tbNpc:updateluanhoianthuong4()
local nValue = me.nSeries+3;
local szMsg = "Ta sẽ giúp nhà ngươi Nâng cấp Ấn,nhưng phải trả công cho ta 400 Vạn Lượng,khả năng thành công là không lớn.nhà ngươi có chấp nhận không?";
szMsg = "Vui lòng đặt Chu Tước Ấn + 12HTB vào.Khả năng hợp thành là không cao.Nhà Ngươi hãy suy nghĩ thật kĩ";
Dialog:OpenGift(szMsg, nil, {self.OnOpenGiftOk, self, nValue});
end;
function tbNpc:updateluanhoianthuong5()
local nValue = me.nSeries+4;
local szMsg = "Ta sẽ giúp nhà ngươi Nâng cấp Ấn,nhưng phải trả công cho ta 500 Vạn Lượng,khả năng thành công là không lớn.nhà ngươi có chấp nhận không?";
szMsg = "Vui lòng đặt Thanh Long Ấn + 15HTB vào.Khả năng hợp thành là không cao.Nhà Ngươi hãy suy nghĩ thật kĩ";
Dialog:OpenGift(szMsg, nil, {self.OnOpenGiftOk, self, nValue});
end;
function tbNpc:OnOpenGiftOk(nValue, tbItemObj)
local nFaction = me.nFaction;
local nRouteId = me.nRouteId;
local nSex = me.nSex;
local nMyMoney = me.nCashMoney; --GetCash();
if (nMyMoney < 1000000) then
Dialog:Say("Không đủ Tiền Vạn, có đủ rồi hãy quay lại.");
return 0;
end
local tbItemList = {};
for _, pItem in pairs(tbItemObj) do
if (self:ChechItem(pItem, REQUIRE_ITEM[nValue], tbItemList) ~= 1) then
me.Msg("Có Vật Phẩm không đủ tiêu chuẩn.");
return 0;
end
end;
local bResult = false;
for i = 1, #REQUIRE_ITEM[nValue] do
if (REQUIRE_ITEM[nValue][i][2] ~= tbItemList[i]) then
bResult = true;
end
end;
if (bResult) then
me.Msg("Số lượng Mảnh Ghép Cực Phẩm không đúng.");
return 0;
end;
for _, pItem in pairs(tbItemObj) do
if me.DelItem(pItem[1]) ~= 1 then
return 0;
end;
end;
if (nValue == 1) then
me.CostMoney(1000000,0);
local i = 0;
local nAdd = 0;
local nRand = 0;
local nIndex = 0;
-- random
nRand = MathRandom(1, 10000);
-- fill 3 rate
local tbRate = {4000, 6000};
local tbAward =
{
[1] = {1, 16, 13, 1};
[2] = {1,16,16,2};
}
for i = 1, 2 do
nAdd = nAdd + tbRate[i];
if nAdd >= nRand then
nIndex = i;
break;
end
end
local pItem = me.AddItem(unpack(tbAward[nIndex]));
pItem.Bind(1);
if (nIndex == 2) then
local szMsg = string.format("Chúc mừng người chơi <color=cyan>%s<color> đã may mắn Hợp Thành thành công <color=cyan>%s<color>", me.szName, pItem.szName);
KDialog.NewsMsg(1, Env.NEWSMSG_COUNT, szMsg);
KDialog.MsgToGlobal(szMsg);
me.SendMsgToFriend("Hảo hữu của bạn [<color=yellow>" .. me.szName
.. "<color>] Hợp Thành thành công <color=cyan>"
.. pItem.szName .."<color>");
me.Msg("Hợp thành thành công nhận được <color=yellow>"..pItem.szName.."<color>.");
elseif (nIndex == 1) then
me.Msg("Hợp thành thất bại nhận được <color=yellow>"..pItem.szName.."<color>.");
end
end;
if (nValue == 2) then
me.CostMoney(2000000,0);
local i = 0;
local nAdd = 0;
local nRand = 0;
local nIndex = 0;
-- random
nRand = MathRandom(1, 10000);
-- fill 3 rate
local tbRate = {4000, 6000};
local tbAward =
{
[1] = {1, 16, 13, 1};
[2] = {1,16,17,2};
}
for i = 1, 2 do
nAdd = nAdd + tbRate[i];
if nAdd >= nRand then
nIndex = i;
break;
end
end
local pItem = me.AddItem(unpack(tbAward[nIndex]));
pItem.Bind(1);
if (nIndex == 2) then
local szMsg = string.format("Chúc mừng người chơi <color=cyan>%s<color> đã may mắn Hợp Thành thành công <color=cyan>%s<color>", me.szName, pItem.szName);
KDialog.NewsMsg(1, Env.NEWSMSG_COUNT, szMsg);
KDialog.MsgToGlobal(szMsg);
me.SendMsgToFriend("Hảo hữu của bạn [<color=yellow>" .. me.szName
.. "<color>] Hợp Thành thành công <color=cyan>"
.. pItem.szName .."<color>");
me.Msg("Hợp thành thành công nhận được <color=yellow>"..pItem.szName.."<color>.");
elseif (nIndex == 1) then
me.Msg("Hợp thành thất bại nhận được <color=yellow>"..pItem.szName.."<color>.");
end
end;
if (nValue == 3) then
me.CostMoney(3000000,0);
local i = 0;
local nAdd = 0;
local nRand = 0;
local nIndex = 0;
-- random
nRand = MathRandom(1, 10000);
-- fill 3 rate
local tbRate = {4000, 6000};
local tbAward =
{
[1] = {1, 16, 13, 1};
[2] = {1,16,18,2};
}
for i = 1, 2 do
nAdd = nAdd + tbRate[i];
if nAdd >= nRand then
nIndex = i;
break;
end
end
local pItem = me.AddItem(unpack(tbAward[nIndex]));
pItem.Bind(1);
if (nIndex == 2) then
local szMsg = string.format("Chúc mừng người chơi <color=cyan>%s<color> đã may mắn Hợp Thành thành công <color=cyan>%s<color>", me.szName, pItem.szName);
KDialog.NewsMsg(1, Env.NEWSMSG_COUNT, szMsg);
KDialog.MsgToGlobal(szMsg);
me.SendMsgToFriend("Hảo hữu của bạn [<color=yellow>" .. me.szName
.. "<color>] Hợp Thành thành công <color=cyan>"
.. pItem.szName .."<color>");
me.Msg("Hợp thành thành công nhận được <color=yellow>"..pItem.szName.."<color>.");
elseif (nIndex == 1) then
me.Msg("Hợp thành thất bại nhận được <color=yellow>"..pItem.szName.."<color>.");
end
end;
if (nValue == 4) then
me.CostMoney(4000000,0);
local i = 0;
local nAdd = 0;
local nRand = 0;
local nIndex = 0;
-- random
nRand = MathRandom(1, 10000);
-- fill 3 rate
local tbRate = {4000, 6000};
local tbAward =
{
[1] = {1, 16, 13, 1};
[2] = {1,16,19,2};
}
for i = 1, 2 do
nAdd = nAdd + tbRate[i];
if nAdd >= nRand then
nIndex = i;
break;
end
end
local pItem = me.AddItem(unpack(tbAward[nIndex]));
pItem.Bind(1);
if (nIndex == 2) then
local szMsg = string.format("Chúc mừng người chơi <color=cyan>%s<color> đã may mắn Hợp Thành thành công <color=cyan>%s<color>", me.szName, pItem.szName);
KDialog.NewsMsg(1, Env.NEWSMSG_COUNT, szMsg);
KDialog.MsgToGlobal(szMsg);
me.SendMsgToFriend("Hảo hữu của bạn [<color=yellow>" .. me.szName
.. "<color>] Hợp Thành thành công <color=cyan>"
.. pItem.szName .."<color>");
me.Msg("Hợp thành thành công nhận được <color=yellow>"..pItem.szName.."<color>.");
elseif (nIndex == 1) then
me.Msg("Hợp thành thất bại nhận được <color=yellow>"..pItem.szName.."<color>.");
end
end;
if (nValue == 5) then
me.CostMoney(5000000,0);
local i = 0;
local nAdd = 0;
local nRand = 0;
local nIndex = 0;
-- random
nRand = MathRandom(1, 10000);
-- fill 3 rate
local tbRate = {4000, 6000};
local tbAward =
{
[1] = {1, 16, 13, 1};
[2] = {1,16,20,2};
}
for i = 1, 2 do
nAdd = nAdd + tbRate[i];
if nAdd >= nRand then
nIndex = i;
break;
end
end
local pItem = me.AddItem(unpack(tbAward[nIndex]));
pItem.Bind(1);
if (nIndex == 2) then
local szMsg = string.format("Chúc mừng người chơi <color=cyan>%s<color> đã may mắn Hợp Thành thành công <color=cyan>%s<color>", me.szName, pItem.szName);
KDialog.NewsMsg(1, Env.NEWSMSG_COUNT, szMsg);
KDialog.MsgToGlobal(szMsg);
me.Msg("Hợp thành thành công nhận được <color=yellow>"..pItem.szName.."<color>.");
me.SendMsgToFriend("Hảo hữu của bạn [<color=yellow>" .. me.szName
.. "<color>] Hợp Thành thành công <color=cyan>"
.. pItem.szName .."<color>");
me.Msg("Hợp thành thành công nhận được <color=yellow>"..pItem.szName.."<color>.");
elseif (nIndex == 1) then
me.Msg("Hợp thành thất bại nhận được <color=yellow>"..pItem.szName.."<color>.");
end
end;
end;
-- 檢測是否是需要的物品
function tbNpc:ChechItem(pItem, tbItemList, tbCountList)
if (not pItem) then
return 0;
end;
local szItem = string.format("%s,%s,%s,%s",pItem[1].nGenre, pItem[1].nDetail, pItem[1].nParticular, pItem[1].nLevel);
for i = 1, #tbItemList do
local tbI = tbItemList[i];
for j = 1, #tbI[1] do
if (szItem == tbI[1][j]) then
tbCountList[i] = (tbCountList[i] or 0) + pItem[1].nCount;
return 1;
end;
end;
end;
return 0;
end;
satthupro95
22-12-12, 06:57 PM
Bạn có thể dùng scipt này của mình để làm đổi thưởng . Nó k dài như scipt này :
function tbTuiGuangYuan:TienNghiaQuanDoiVP()
if me.CountFreeBagCell() < 20 then
Dialog:Say("<color=yellow>Hành trang phải đủ 20 Ô Trống <color>");
return 0;
end
local szMsg = "<color=gold>Chọn vật phẩm muốn đổi<color>";
local tbOpt = {
{"<color=yellow>5 Tiền Nghĩa Quân<color> - 1 Thức Ăn Cho Gà",self.TNQDoiMGVPA,self};
};
Dialog:Say(szMsg, tbOpt);
end
function tbTuiGuangYuan:TNQDoiMGVPA()
local tbItemId2 = {18,1,25110,1,0,0}; -- Đây là vật phẩm dùng để đổi
local nCount2 = me.GetItemCountInBags(18,1,25110,1); -- cái này để kiểm tra vật phẩm trong hành trang
local i = 0;
local nAdd = 0;
local nRand = 0;
local nIndex = 0;
-- random
nRand = MathRandom(1, 20000); -- 20000 là tổng rate của 5 vật phẩm
-- fill 3 rate
local tbRate = {10000,500,2000,5000,2500}; -- Rate của từng vật phẩm khi tổng vào bằng 20000
local tbAward =
{
[1] = {18,1,25109,1}; -- Túi thức ăn gà
[2] = {18,1,1,9}; -- Huyền Tinh 9
[3] = {18,1,25108,1}; -- Búa Vàng
[4] = {18,1,1,7}; -- Huyền Tinh 7
[5] = {18,1,1,8}; -- Huyền Tinh 8
}
if me.CountFreeBagCell() < 10 then
Dialog:Say("Phải Có 10 Ô Trống Trong Túi Hành Trang Mới Mua Được VP Nghĩa Quân !");
return 0;
end
if nCount2 < 5 then -- Kiểm tra số lượng vật phẩm trong hành trang
Dialog:Say("<color=yellow>Trong hành trang của bạn không có <color=cyan>5 Tiền Nghĩa Quân<color>");
return 0;
end
for i = 1, 5 do -- Bao nhiêu vật phẩm thì i sẽ chạy từ 1 đến số vật phẩm đó
nAdd = nAdd + tbRate[i];
if nAdd >= nRand then
nIndex = i;
break;
end
end
local pItem = me.AddItem(unpack(tbAward[nIndex]));
pItem.Bind(1);
if (nIndex == 2) or (nIndex == 3) or (nIndex == 4) or (nIndex == 5) then
local szMsg = string.format("<color=cyan>%s<color> Khi giao dịch tại NPC Cổ Phong Hà may mắn nhận được <color=cyan>"
.. pItem.szName .." ", me.szName, pItem.szName);
KDialog.NewsMsg(1, Env.NEWSMSG_COUNT, szMsg);
KDialog.MsgToGlobal(szMsg);
me.SendMsgToFriend("Hảo hữu của bạn [<color=cyan>" .. me.szName
.. "<color>] Khi giao dịch tại NPC Cổ Phong Hà may mắn nhận được <color=cyan>"
.. pItem.szName .." ");
me.Msg("<color=yellow>Giao dịch với Cổ Phong Hà nhận được <color=cyan>"..pItem.szName.."<color><color>");
Task:DelItem(me, tbItemId2, 5); -- Xóa 5 vật phẩm ItemId2
elseif (nIndex == 1)then
me.Msg("<color=yellow>Đổi thành công Túi Thức Ăn<color>");
Task:DelItem(me, tbItemId2, 5); -- Xóa 5 vật phẩm ItemId2
end
end
neverbackdown
22-12-12, 07:05 PM
Bạn có thể dùng scipt này của mình để làm đổi thưởng . Nó k dài như scipt này :
function tbTuiGuangYuan:TienNghiaQuanDoiVP()
if me.CountFreeBagCell() < 20 then
Dialog:Say("<color=yellow>Hành trang phải đủ 20 Ô Trống <color>");
return 0;
end
local szMsg = "<color=gold>Chọn vật phẩm muốn đổi<color>";
local tbOpt = {
{"<color=yellow>5 Tiền Nghĩa Quân<color> - 1 Thức Ăn Cho Gà",self.TNQDoiMGVPA,self};
};
Dialog:Say(szMsg, tbOpt);
end
function tbTuiGuangYuan:TNQDoiMGVPA()
local tbItemId2 = {18,1,25110,1,0,0}; -- Đây là vật phẩm dùng để đổi
local nCount2 = me.GetItemCountInBags(18,1,25110,1); -- cái này để kiểm tra vật phẩm trong hành trang
local i = 0;
local nAdd = 0;
local nRand = 0;
local nIndex = 0;
-- random
nRand = MathRandom(1, 20000); -- 20000 là tổng rate của 5 vật phẩm
-- fill 3 rate
local tbRate = {10000,500,2000,5000,2500}; -- Rate của từng vật phẩm khi tổng vào bằng 20000
local tbAward =
{
[1] = {18,1,25109,1}; -- Túi thức ăn gà
[2] = {18,1,1,9}; -- Huyền Tinh 9
[3] = {18,1,25108,1}; -- Búa Vàng
[4] = {18,1,1,7}; -- Huyền Tinh 7
[5] = {18,1,1,8}; -- Huyền Tinh 8
}
if me.CountFreeBagCell() < 10 then
Dialog:Say("Phải Có 10 Ô Trống Trong Túi Hành Trang Mới Mua Được VP Nghĩa Quân !");
return 0;
end
if nCount2 < 5 then -- Kiểm tra số lượng vật phẩm trong hành trang
Dialog:Say("<color=yellow>Trong hành trang của bạn không có <color=cyan>5 Tiền Nghĩa Quân<color>");
return 0;
end
for i = 1, 5 do -- Bao nhiêu vật phẩm thì i sẽ chạy từ 1 đến số vật phẩm đó
nAdd = nAdd + tbRate[i];
if nAdd >= nRand then
nIndex = i;
break;
end
end
local pItem = me.AddItem(unpack(tbAward[nIndex]));
pItem.Bind(1);
if (nIndex == 2) or (nIndex == 3) or (nIndex == 4) or (nIndex == 5) then
local szMsg = string.format("<color=cyan>%s<color> Khi giao dịch tại NPC Cổ Phong Hà may mắn nhận được <color=cyan>"
.. pItem.szName .." ", me.szName, pItem.szName);
KDialog.NewsMsg(1, Env.NEWSMSG_COUNT, szMsg);
KDialog.MsgToGlobal(szMsg);
me.SendMsgToFriend("Hảo hữu của bạn [<color=cyan>" .. me.szName
.. "<color>] Khi giao dịch tại NPC Cổ Phong Hà may mắn nhận được <color=cyan>"
.. pItem.szName .." ");
me.Msg("<color=yellow>Giao dịch với Cổ Phong Hà nhận được <color=cyan>"..pItem.szName.."<color><color>");
Task:DelItem(me, tbItemId2, 5);
elseif (nIndex == 1)then
me.Msg("<color=yellow>Đổi thành công Túi Thức Ăn<color>");
Task:DelItem(me, tbItemId2, 5);
end
end
Cảm ơn bạn rất nhiều, nhưng dạng của mình là
vd: bấm vào thì nó sẽ hiện ra table bỏ vật phẩm vào.giống như dạng cường hóa trang bị. chứ không phải nó check thằng trong rương đồ của mình.
:( cái dạng của mình bị lỗi gì ko bik nữa, mong bạn giúp mình
satthupro95
22-12-12, 07:07 PM
Cảm ơn bạn rất nhiều, nhưng dạng của mình là
vd: bấm vào thì nó sẽ hiện ra table bỏ vật phẩm vào.giống như dạng cường hóa trang bị. chứ không phải nó check thằng trong rương đồ của mình.
:( cái dạng của mình bị lỗi gì ko bik nữa, mong bạn giúp mình
Dạng hiện khung đây :
function tbTuiGuangYuan:DoiTheThanhVienVip()
local szMsg = "Ngươi muốn ghép <color=yellow>Thẻ Thành Viên V.I.P [Kiếm Thế Vạn Phúc]<color> ?";
local tbOpt = {
{"Ghép \n<color=yellow>Thẻ Thành Viên V.I.P [Kiếm Thế Vạn Phúc] <color>", self.ChangeItemThanhVienVIP, self, 1},
{"Để Ta Suy Nghỉ"},
};
Dialog:Say(szMsg, tbOpt);
end
function tbTuiGuangYuan:ChangeItemThanhVienVIP(nLevel)
local szContent = string.format("<color=yellow>Hãy đặt : \n<color=orange>150 Mảnh Ghép Thẻ Thành Viên V.I.P [Kiếm Thế Vạn Phúc]<color>\nỞ dưới này để ghép thành <color=orange>Thẻ Thành Viên V.I.P [Kiếm Thế Vạn Phúc]<color> ");
Dialog:OpenGift(szContent, nil, {tbTuiGuangYuan.OnOpenGiftOkThanhVienVip, tbTuiGuangYuan, nLevel});
end
-------------------------------------- me.AddItem(18,1,1200,1)
function tbTuiGuangYuan:OnOpenGiftOkThanhVienVip(nLevel, tbItemObj)
--Vật phẩm dùng để đổi (Mảnh Ghép Thẻ Thành Viên V.I.P [Kiếm Thế Vạn Phúc])
local vatpham = "18,1,25065,1";
--Đếm số lượng nguyên liệu
local nCount = 0;
for i = 1, #tbItemObj do
nCount = nCount + tbItemObj[i][1].nCount;
end
--Check đúng 150 Mảnh ghép hay không?
if nCount ~= 150 then
Dialog:Say("<color=pink>Chú ý : <color>Mỗi lần chỉ được đặt vào \n<color=yellow>150 Mảnh Ghép Thẻ Thành Viên V.I.P [Kiếm Thế Vạn Phúc]!<color>", {"Ta biết rồi !"});
return 0;
end
--Check có phải là Mảnh Ghép Lệnh Bài Trùng Sinh không!
for i = 1, #tbItemObj do
local pItem = tbItemObj[i][1];
local szKey = string.format("%s,%s,%s,%s",pItem.nGenre,pItem.nDetail,pItem.nParticular,pIte m.nLevel);
if szKey ~= vatpham then
Dialog:Say("<color=red>Chú Ý:<color> Đây không phải \n<color=yellow>Mảnh Ghép Thẻ Thành Viên V.I.P [Kiếm Thế Vạn Phúc]<color>", {"Xin lỗi ! Ta Nhầm !"});
return 0;
end
end
--Kiểm tra ô trống trong túi
if me.CountFreeBagCell() < 10 then
Dialog:Say("Cần sắp xếp lại túi!",{"Ta Biết rồi !"});
return 0;
end
--Nếu đúng NAT và số lượng => xóa NAT
for i = 1, #tbItemObj do
local pItem = tbItemObj[i][1];
pItem.Delete(me);
end
--Add số lượng vật phẩm mới vào
for i=1,1 do
local pItemEx = me.AddItem(18, 1, 25064, 1).Bind(1);--nhận được lệnh bài trùng sinh
me.AddTitle(15,1,1,1);
end
local pItem = me.AddItem(18, 1, 25064, 1);
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi [" ..me.szName.. "] đã ghép thành công [" ..pItem.szName.. "] xin chúc mừng !"});
me.SendMsgToFriend("Hảo hữu của bạn [<color=yellow>" .. me.szName
.. "<color>] đã ghép thành công <color=yellow>"
.. pItem.szName .."<color>!");
Dialog:Say("<color=wheat>Chúc mừng ngươi \n+đã đổi thành công <color=yellow>Thẻ Thành Viên V.I.P [Kiếm Thế Vạn Phúc]<color><color>\n<color=yellow>+Nhận được danh Hiệu : V.I.P Kiếm Thế Vạn Phúc<color>\n<color=yellow>Từ nay ngươi đã trở thành thành viên V.I.P của Kiếm Thế Vạn Phúc<color>", {"Cảm ơn !"});
end
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.