PDA

View Full Version : [KT] Hỏi về script đổi trang bị pet



lyvanbethao
18-05-13, 08:54 PM
cả 2 SV share điều có chung cái scipt này nhưng mình tét có lõi sau

function tbLegendKiem:vkdhc2()
local tbItemId1 = {18,1,25128,1,0,0}; -- Linh Hồn Vũ Khí
local tbItemId2 = {18,1,325,1,0,0}; -- VSV
local nCount1 = me.GetItemCountInBags(18,1,25128,1);
local nCount2 = me.GetItemCountInBags(18,1,325,1);

if nCount1 < 50 and nCount2 < 2500 then
Dialog:Say("Khi nào đủ 50 Linh Hồn Vũ Khí và 2500 Vỏ Sò Vàng hãy đến tìm ta .")
return 0;
else
Task:DelItem(me, tbItemId1, 50);
Task:DelItem(me, tbItemId2, 2500);
me.AddItem(5,19,1,2);
Dialog:Say("<color=wheat>Chức mừng <coloryellow>" ..me.szName.. "<color> Nhận được Vũ Khí Đồng Hành Cấp <color=red>2<color>", {"..."});
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã chế tạo thành công Vũ Khí Đồng Hành Cấp <color=red>2<color>"});
end
end



-----------nó chỉ check là khi bạn có 2500 vsv là nó đổi cho bạn luôn chứ nó ko đòi điều kiện là 50 linh hồn vũ khí :(

trickster
18-05-13, 09:05 PM
local tbTrangBiDongHanh = Npc:GetClass("trangbidonghanh");
local REQUIRE_ITEM = {
[5] =
{
{
{
string.format("%s,%s,%s,%s", 18, 1, 943, 1),
string.format("%s,%s,%s,%s", 18, 1, 946, 1),
string.format("%s,%s,%s,%s", 18, 1, 949, 1),
string.format("%s,%s,%s,%s", 18, 1, 1239, 1),
string.format("%s,%s,%s,%s", 18, 1, 1242, 1),

},
5
},
},
};
function tbTrangBiDongHanh:OnDialog()
local nState = me.GetTask(3006, 2);
local szButtonColor = (nState < 20 and "") or "<color=gray>";
local tbOpt =
{
{"<color=yellow>Đổi Trang Bị Đồng Hành<color>", self.DoiDo, self},
{"Kết thúc đối thoại"},
}



Dialog:Say("<color=yellow>Tướng Quân :<color> \nXin chào <color=cyan>" ..me.szName.. "<color> ! ",tbOpt);
end

function tbTrangBiDongHanh:DoiDo()
local szMsg = "<color=wheat>Xin hãy chọn vật phẩm cần đổi:<color>";
local tbOpt=
{
{"<color=yellow>Đổi lấy Đơn Tâm Chiến Y<color>",self.DoiAo,self};
{"<color=yellow>Đổi lấy Đơn Tâm Hộ Thân Phù<color>",self.DoiPhu,self};
{"<color=yellow>Đổi lấy Đơn Tâm Chi Nhẫn<color>",self.DoiVK,self};
{"<color=yellow>Đổi lấy Đan Tâm Hộ Uyển<color>",self.DoiHoUyen,self};
{"<color=yellow>Đổi lấy Đơn Tâm Giới Chỉ<color>",self.DoiNhan,self};
};
Dialog:Say(szMsg, tbOpt);
end
function tbTrangBiDongHanh:DoiAo()
local nMyMoney = me.nCashMoney; --GetCash();
local tbItemId2 = {18,1,943,1,0,0};
local tbItemId3 = {18,1,946,1,0,0};
local tbItemId4 = {18,1,949,1,0,0};
local tbItemId5 = {18,1,1239,1,0,0};
local tbItemId6 = {18,1,1242,1,0,0};
local nCount2 = me.GetItemCountInBags(18,1,943,1);
local nCount3 = me.GetItemCountInBags(18,1,946,1);
local nCount4 = me.GetItemCountInBags(18,1,949,1);
local nCount5 = me.GetItemCountInBags(18,1,1239,1);
local nCount6 = me.GetItemCountInBags(18,1,1242,1);

-- if (nMyMoney < 50000) then
-- Dialog:Say("Không đủ 5 Vạn Lượng, có đủ rồi hãy quay lại.");
-- return 0;
-- end
if nCount2 < 1 or nCount3 < 1 or nCount4 < 1 or nCount5 < 1 or nCount6 < 1 then
Dialog:Say("<color=wheat>Trong hành trang của bạn không có đủ vật phẩm ta cần:<color>\n<color=yellow>+Mảnh Đơn Tâm Chi Nhẫn\n+Mảnh Đơn Tâm Hộ Thân Phù\n+Mảnh Đơn Tâm Chiến Y\n+ MảnhĐan Tâm Giới Chỉ\n+Mảnh Đan Tâm Hộ Uyển<color><color>");
return 0;
else
Task:DelItem(me, tbItemId2, 1);
Task:DelItem(me, tbItemId3, 1);
Task:DelItem(me, tbItemId4, 1);
Task:DelItem(me, tbItemId5, 1);
Task:DelItem(me, tbItemId6, 1);
me.AddItem(5,20,1,3).Bind(1);
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng !"});
me.SendMsgToFriend("Hảo hữu của bạn <color=cyan>" .. me.szName
.. "<color>] đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng");
Dialog:Say("<color=wheat>Chúc mừng ngươi đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng<color>", {"Cảm ơn !"});
-- me.CostMoney(50000,0);
end
end
function tbTrangBiDongHanh:DoiPhu()
local nMyMoney = me.nCashMoney; --GetCash();
local tbItemId2 = {18,1,943,1,0,0};
local tbItemId3 = {18,1,946,1,0,0};
local tbItemId4 = {18,1,949,1,0,0};
local tbItemId5 = {18,1,1239,1,0,0};
local tbItemId6 = {18,1,1242,1,0,0};
local nCount2 = me.GetItemCountInBags(18,1,943,1);
local nCount3 = me.GetItemCountInBags(18,1,946,1);
local nCount4 = me.GetItemCountInBags(18,1,949,1);
local nCount5 = me.GetItemCountInBags(18,1,1239,1);
local nCount6 = me.GetItemCountInBags(18,1,1242,1);
-- if (nMyMoney < 50000) then
-- Dialog:Say("Không đủ 5 Vạn Lượng, có đủ rồi hãy quay lại.");
-- return 0;
-- end
if nCount2 < 1 or nCount3 < 1 or nCount4 < 1 or nCount5 < 1 or nCount6 < 1 then
Dialog:Say("<color=wheat>Trong hành trang của bạn không có đủ vật phẩm ta cần:<color>\n<color=yellow>+Mảnh Đơn Tâm Chi Nhẫn\n+Mảnh Đơn Tâm Hộ Thân Phù\n+Mảnh Đơn Tâm Chiến Y\n+ MảnhĐan Tâm Giới Chỉ\n+Mảnh Đan Tâm Hộ Uyển<color><color>");
return 0;
else
Task:DelItem(me, tbItemId2, 1);
Task:DelItem(me, tbItemId3, 1);
Task:DelItem(me, tbItemId4, 1);
Task:DelItem(me, tbItemId5, 1);
Task:DelItem(me, tbItemId6, 1);
me.AddItem(5,23,1,3).Bind(1);
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Hộ Thân Phù xin chúc mừng !"});
me.SendMsgToFriend("Hảo hữu của bạn <color=cyan>" .. me.szName
.. "<color>] đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Hộ Thân Phù xin chúc mừng !");
Dialog:Say("<color=wheat>Chúc mừng ngươi đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Hộ Thân Phù xin chúc mừng !<color>", {"Cảm ơn !"});
-- me.CostMoney(50000,0);
end
end
function tbTrangBiDongHanh:DoiVK()
local nMyMoney = me.nCashMoney; --GetCash();
local tbItemId2 = {18,1,943,1,0,0};
local tbItemId3 = {18,1,946,1,0,0};
local tbItemId4 = {18,1,949,1,0,0};
local tbItemId5 = {18,1,1239,1,0,0};
local tbItemId6 = {18,1,1242,1,0,0};
local nCount2 = me.GetItemCountInBags(18,1,943,1);
local nCount3 = me.GetItemCountInBags(18,1,946,1);
local nCount4 = me.GetItemCountInBags(18,1,949,1);
local nCount5 = me.GetItemCountInBags(18,1,1239,1);
local nCount6 = me.GetItemCountInBags(18,1,1242,1);

-- if (nMyMoney < 50000) then
-- Dialog:Say("Không đủ 5 Vạn Lượng, có đủ rồi hãy quay lại.");
-- return 0;
-- end
if nCount2 < 1 or nCount3 < 1 or nCount4 < 1 or nCount5 < 1 or nCount6 < 1 then
Dialog:Say("<color=wheat>Trong hành trang của bạn không có đủ vật phẩm ta cần:<color>\n<color=yellow>+Mảnh Đơn Tâm Chi Nhẫn\n+Mảnh Đơn Tâm Hộ Thân Phù\n+Mảnh Đơn Tâm Chiến Y\n+ MảnhĐan Tâm Giới Chỉ\n+Mảnh Đan Tâm Hộ Uyển<color><color>");
return 0;
else
Task:DelItem(me, tbItemId2, 1);
Task:DelItem(me, tbItemId3, 1);
Task:DelItem(me, tbItemId4, 1);
Task:DelItem(me, tbItemId5, 1);
Task:DelItem(me, tbItemId6, 1);
me.AddItem(5,19,1,3).Bind(1);
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng !"});
me.SendMsgToFriend("Hảo hữu của bạn <color=cyan>" .. me.szName
.. "<color>] đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng");
Dialog:Say("<color=wheat>Chúc mừng ngươi đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng<color>", {"Cảm ơn !"});
-- me.CostMoney(50000,0);
end
end

function tbTrangBiDongHanh:DoiHoUyen()
local nMyMoney = me.nCashMoney; --GetCash();
local tbItemId2 = {18,1,943,1,0,0};
local tbItemId3 = {18,1,946,1,0,0};
local tbItemId4 = {18,1,949,1,0,0};
local tbItemId5 = {18,1,1239,1,0,0};
local tbItemId6 = {18,1,1242,1,0,0};
local nCount2 = me.GetItemCountInBags(18,1,943,1);
local nCount3 = me.GetItemCountInBags(18,1,946,1);
local nCount4 = me.GetItemCountInBags(18,1,949,1);
local nCount5 = me.GetItemCountInBags(18,1,1239,1);
local nCount6 = me.GetItemCountInBags(18,1,1242,1);

-- if (nMyMoney < 50000) then
-- Dialog:Say("Không đủ 5 Vạn Lượng, có đủ rồi hãy quay lại.");
-- return 0;
-- end
if nCount2 < 1 or nCount3 < 1 or nCount4 < 1 or nCount5 < 1 or nCount6 < 1 then
Dialog:Say("<color=wheat>Trong hành trang của bạn không có đủ vật phẩm ta cần:<color>\n<color=yellow>+Mảnh Đơn Tâm Chi Nhẫn\n+Mảnh Đơn Tâm Hộ Thân Phù\n+Mảnh Đơn Tâm Chiến Y\n+ MảnhĐan Tâm Giới Chỉ\n+Mảnh Đan Tâm Hộ Uyển<color><color>");
return 0;
else
Task:DelItem(me, tbItemId2, 1);
Task:DelItem(me, tbItemId3, 1);
Task:DelItem(me, tbItemId4, 1);
Task:DelItem(me, tbItemId5, 1);
Task:DelItem(me, tbItemId6, 1);
me.AddItem(5,22,1,3).Bind(1);
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đam Tâm Giới Chỉ xin chúc mừng !"});
me.SendMsgToFriend("Hảo hữu của bạn <color=cyan>" .. me.szName
.. "<color>] đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng");
Dialog:Say("<color=wheat>Chúc mừng ngươi đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng<color>", {"Cảm ơn !"});
-- me.CostMoney(50000,0);
end
end
function tbTrangBiDongHanh:DoiNhan()
local nMyMoney = me.nCashMoney; --GetCash();
local tbItemId2 = {18,1,943,1,0,0};
local tbItemId3 = {18,1,946,1,0,0};
local tbItemId4 = {18,1,949,1,0,0};
local tbItemId5 = {18,1,1239,1,0,0};
local tbItemId6 = {18,1,1242,1,0,0};
local nCount2 = me.GetItemCountInBags(18,1,943,1);
local nCount3 = me.GetItemCountInBags(18,1,946,1);
local nCount4 = me.GetItemCountInBags(18,1,949,1);
local nCount5 = me.GetItemCountInBags(18,1,1239,1);
local nCount6 = me.GetItemCountInBags(18,1,1242,1);

-- if (nMyMoney < 50000) then
-- Dialog:Say("Không đủ 5 Vạn Lượng, có đủ rồi hãy quay lại.");
-- return 0;
-- end
if nCount2 < 1 or nCount3 < 1 or nCount4 < 1 or nCount5 < 1 or nCount6 < 1 then
Dialog:Say("<color=wheat>Trong hành trang của bạn không có đủ vật phẩm ta cần:<color>\n<color=yellow>+Mảnh Đơn Tâm Chi Nhẫn\n+Mảnh Đơn Tâm Hộ Thân Phù\n+Mảnh Đơn Tâm Chiến Y\n+ MảnhĐan Tâm Giới Chỉ\n+Mảnh Đan Tâm Hộ Uyển<color><color>");
return 0;
else
Task:DelItem(me, tbItemId2, 1);
Task:DelItem(me, tbItemId3, 1);
Task:DelItem(me, tbItemId4, 1);
Task:DelItem(me, tbItemId5, 1);
Task:DelItem(me, tbItemId6, 1);
me.AddItem(5,21,1,3).Bind(1);
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng !"});
me.SendMsgToFriend("Hảo hữu của bạn <color=cyan>" .. me.szName
.. "<color>] đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng");
Dialog:Say("<color=wheat>Chúc mừng ngươi đã đổi thành công 5 Mảnh Đơn Tâm Lấy Đơn Tâm Chiến Y xin chúc mừng<color>", {"Cảm ơn !"});
-- me.CostMoney(50000,0);
end
end


tham khảo

satthupro95
18-05-13, 09:11 PM
function tbLegendKiem:vkdhc2()
local tbItemId1 = {18,1,25128,1,0,0}; -- Linh Hồn Vũ Khí
local tbItemId2 = {18,1,325,1,0,0}; -- VSV
local nCount1 = me.GetItemCountInBags(18,1,25128,1);
local nCount2 = me.GetItemCountInBags(18,1,325,1);

if nCount1 < 50 and nCount2 < 2500 then
Dialog:Say("Khi nào đủ 50 Linh Hồn Vũ Khí và 2500 Vỏ Sò Vàng hãy đến tìm ta .")
return 0;
else
Task:DelItem(me, tbItemId1, 50);
Task:DelItem(me, tbItemId2, 2500);
me.AddItem(5,19,1,2);
Dialog:Say("<color=wheat>Chức mừng <coloryellow>" ..me.szName.. "<color> Nhận được Vũ Khí Đồng Hành Cấp <color=red>2<color>", {"..."});
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã chế tạo thành công Vũ Khí Đồng Hành Cấp <color=red>2<color>"});
end
end
----------
Sửa lại thử kiểu này :

function tbLegendKiem:vkdhc2()
local tbItemId1 = {18,1,25128,1,0,0}; -- Linh Hồn Vũ Khí
local tbItemId2 = {18,1,325,1,0,0}; -- VSV
local nCount1 = me.GetItemCountInBags(18,1,25128,1);
local nCount2 = me.GetItemCountInBags(18,1,325,1);

if nCount1 < 50 or nCount2 < 2500 then
Dialog:Say("Khi nào đủ 50 Linh Hồn Vũ Khí và 2500 Vỏ Sò Vàng hãy đến tìm ta .\nSố Linh Hồn Vũ Khí Hiện Có "..nCount1.."\nSố Vỏ Sò Vàng hiện có : "..nCount2.."")
return;
end
Task:DelItem(me, tbItemId1, 50); -- Xóa 50 LH Vũ Khí
Task:DelItem(me, tbItemId2, 2500); -- Xóa 2500 Vỏ Sò Vàng
me.AddItem(5,19,1,2); -- Ad vật phẩm vào
Dialog:Say("<color=wheat>Chức mừng <coloryellow>" ..me.szName.. "<color> Nhận được Vũ Khí Đồng Hành Cấp <color=red>2<color>");
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã chế tạo thành công Vũ Khí Đồng Hành Cấp<color=red>2<color>"});
end

lyvanbethao
18-05-13, 09:13 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>

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


Sửa
if nCount1 < 50 and nCount2 < 2500 then
Dialog:Say("Khi nào đủ 50 Linh Hồn Vũ Khí và 2500 Vỏ Sò Vàng hãy đến tìm ta .")
return 0;
else
Thành
if nCount1 < 50 or nCount2 < 2500 then
Dialog:Say("Khi nào đủ 50 Linh Hồn Vũ Khí và 2500 Vỏ Sò Vàng hãy đến tìm ta .")
return;
end
Thử xem được không 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>

satthupro95
18-05-13, 09:18 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>

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



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

Code chúng ta yếu cứ chơi loại đơn giản mà táng =))
Mấy code của trickter kiểu dạng phức tạp không cần làm theo cũng được :P

trickster
18-05-13, 09:31 PM
Code chúng ta yếu cứ chơi loại đơn giản mà táng =))
Mấy code của trickter kiểu dạng phức tạp không cần làm theo cũng được :P

Cái này không nhớ ai send ra , chứ viết được thế chắc mọc cánh thành thánh rồi cũng nên 8-x8-x8-x8-x8-x

lyvanbethao
18-05-13, 09:53 PM
test thêm cái đoạn này sài ok nhưng có 1 lõi

function tbLegendKiem:vkdhc2()
local tbItemId1 = {18,1,295,4,0,0}; -- Linh Hồn Vũ Khí
local tbItemId2 = {18,1,325,1,0,0}; -- VSV
local tbItemId3 = {5,19,1,1,0,0}; -- VK 1
local nCount1 = me.GetItemCountInBags(18,1,295,4);
local nCount2 = me.GetItemCountInBags(18,1,325,1);
local nCount3 = me.GetItemCountInBags(5,19,1,1);

if nCount1 < 100 or nCount2 < 2500 or nCount3 < 1 then
Dialog:Say("Khi nào đủ 1 Vũ khí LV1 + 100 Linh Hồn Vũ Khí và 2500 Vỏ Sò Vàng hãy đến tìm ta .")
return 0;
else
Task:DelItem(me, tbItemId1, 100);
Task:DelItem(me, tbItemId2, 2500);
Task:DelItem(me, tbItemId3, 1);
me.AddItem(5,19,1,2);
Dialog:Say("<color=wheat>Chức mừng <coloryellow>" ..me.szName.. "<color> Nhận được Vũ Khí Đồng Hành Cấp <color=red>2<color>", {"..."});
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã chế tạo thành công Vũ Khí Đồng Hành Cấp <color=red>2<color>"});
end
end


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

satthupro95
18-05-13, 10:23 PM
test thêm cái đoạn này sài ok nhưng có 1 lõi

function tbLegendKiem:vkdhc2()
local tbItemId1 = {18,1,295,4,0,0}; -- Linh Hồn Vũ Khí
local tbItemId2 = {18,1,325,1,0,0}; -- VSV
local tbItemId3 = {5,19,1,1,0,0}; -- VK 1
local nCount1 = me.GetItemCountInBags(18,1,295,4);
local nCount2 = me.GetItemCountInBags(18,1,325,1);
local nCount3 = me.GetItemCountInBags(5,19,1,1);

if nCount1 < 100 or nCount2 < 2500 or nCount3 < 1 then
Dialog:Say("Khi nào đủ 1 Vũ khí LV1 + 100 Linh Hồn Vũ Khí và 2500 Vỏ Sò Vàng hãy đến tìm ta .")
return 0;
else
Task:DelItem(me, tbItemId1, 100);
Task:DelItem(me, tbItemId2, 2500);
Task:DelItem(me, tbItemId3, 1);
me.AddItem(5,19,1,2);
Dialog:Say("<color=wheat>Chức mừng <coloryellow>" ..me.szName.. "<color> Nhận được Vũ Khí Đồng Hành Cấp <color=red>2<color>", {"..."});
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đã chế tạo thành công Vũ Khí Đồng Hành Cấp <color=red>2<color>"});
end
end


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

Hàm del này nó del cả item trong kho nữa nhé ^^

lyvanbethao
18-05-13, 10:49 PM
Hàm del này nó del cả item trong kho nữa 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>

__Jie__
18-05-13, 11:31 PM
sao không viết OpenGift cho đơn giản .

Bỏ Item vào và xóa item đi .

Ngay trong Client VNG nó đã share rồi còn gì ;))


function tbLiGuan:ChangeSignt()
Dialog:OpenGift("Hãy đặt vào <color=yellow>100 Mảnh Lôi Đình Ấn<color>, ta sẽ đổi cho ngươi 1 <color=yellow>Lôi Đình Ấn<color> hoàn chỉnh.", nil ,{self.OnOpenGiftOk, self});
end


function tbLiGuan:OnOpenGiftOk(tbItemObj)
local nCount = 0;
for _, pItem in pairs(tbItemObj) do
local szItem = string.format("%s,%s,%s,%s",pItem[1].nGenre, pItem[1].nDetail, pItem[1].nParticular, pItem[1].nLevel);
if "18,1,741,1" ~= szItem then
Dialog:Say("Vật phẩm đặt vào không đúng, hãy đặt Mảnh Lôi Đình Ấn.");
return 0;
end;
nCount = nCount + pItem[1].nCount;
end
if nCount ~= 100 then
Dialog:Say("Số lượng đặt vào không đúng, hãy đặt 100 Mảnh Lôi Đình Ấn.");
return 0;
end
for _, pItem in pairs(tbItemObj) do
if me.DelItem(pItem[1]) ~= 1 then
return 0;
end
end
me.AddItem(1,16,14,2);
Dbg:WriteLog("Người chơi ["..me.szName.."] đổi được Lôi Đình Ấn.");
return 1;
end

lyvanbethao
19-05-13, 10:15 AM
sao không viết OpenGift cho đơn giản .

Bỏ Item vào và xóa item đi .

Ngay trong Client VNG nó đã share rồi còn gì ;))


function tbLiGuan:ChangeSignt()
Dialog:OpenGift("Hãy đặt vào <color=yellow>100 Mảnh Lôi Đình Ấn<color>, ta sẽ đổi cho ngươi 1 <color=yellow>Lôi Đình Ấn<color> hoàn chỉnh.", nil ,{self.OnOpenGiftOk, self});
end


function tbLiGuan:OnOpenGiftOk(tbItemObj)
local nCount = 0;
for _, pItem in pairs(tbItemObj) do
local szItem = string.format("%s,%s,%s,%s",pItem[1].nGenre, pItem[1].nDetail, pItem[1].nParticular, pItem[1].nLevel);
if "18,1,741,1" ~= szItem then
Dialog:Say("Vật phẩm đặt vào không đúng, hãy đặt Mảnh Lôi Đình Ấn.");
return 0;
end;
nCount = nCount + pItem[1].nCount;
end
if nCount ~= 100 then
Dialog:Say("Số lượng đặt vào không đúng, hãy đặt 100 Mảnh Lôi Đình Ấn.");
return 0;
end
for _, pItem in pairs(tbItemObj) do
if me.DelItem(pItem[1]) ~= 1 then
return 0;
end
end
me.AddItem(1,16,14,2);
Dbg:WriteLog("Người chơi ["..me.szName.."] đổi được Lôi Đình Ấn.");
return 1;
end




cái này chỉ đổi dc 1 vật phẩm lấy 1 vật phẩm mà pro

__Jie__
19-05-13, 11:08 AM
thì phát triển nó thêm.

VNG nó share cho thế là mừng 8->

Bí quá thì nghiên cứu cái NV 110 ấy , nó còn đơn giản hơn cái này :))