lyvanbethao
10-03-13, 01:08 PM
trong script như thế này
local tbNpc= Npc:GetClass("xinnian_vowtree");
SpecialEvent.Euro = SpecialEvent.Euro or {};
local Euro = SpecialEvent.Euro or {};
function tbNpc:OnDialog()
local szMsg = "Xin chào, ta có thể giúp được gì?";
local tbOpt=
{
{"Cuồng nhiệt cùng <color=yellow>EURO<color>",self.eventeuro,self},
{"Kết thúc đối thoại"},
};
Dialog:Say(szMsg,tbOpt);
end
function tbNpc:eventeuro()
local szMsg = "Hãy đi tìm những Ngôi sao danh vọng Euro đem về đây ta sẽ đổi cho ngươi phần thưởng xứng đáng!";
local tbOpt =
{
{"Tao muốn đỗi<color=yellow>5<color> ngôi sao", self.ChangePartnerMiJExi, self, 1},--uc van
--{"<color=yellow>20<color> ngôi sao", self.ChangePartnerMiJExi2, self, 1},--ngua 2 skill
--{"<color=yellow>50<color> ngôi sao", self.ChangePartnerMiJExi3, self, 1},--mat na
--{"<color=yellow>100<color> ngôi sao", self.ChangePartnerMiJExi4, self, 1},-- ấn
--{"<color=yellow>300<color> ngôi sao", self.ChangePartnerMiJExi5, self, 1},--hổ cap +3
{"Kết thúc đối thoại"},
};
Dialog:Say(szMsg, tbOpt);
end
function tbNpc:ChangePartnerMiJExi(nLevel)
local tbType = {5} --Số lượng vật phẩm cần đê đổi
local szContent = string.format("Đặt %s <color=yellow>Ngôi sao danh vọng Euro<color> vào đây và ta sẽ thực hiện điều ước của ngươi!", tbType[nLevel]);
Dialog:OpenGift(szContent, nil, {tbNpc.OnOpenGiftOk, tbNpc, nLevel});
end
function tbNpc:OnOpenGiftOk(nLevel, tbItemObj)
local tbType = {5} --Số lượng vật phẩm cần đê đổi
local szPartnerCaiLiao = "18,1,25067,1" ; --Vật phẩm cần để đổi
--数量判断
local nCount = 0;
for i = 1, #tbItemObj do
nCount = nCount + tbItemObj[i][1].nCount;
end
if nCount ~= tbType[nLevel] then
Dialog:Say("Số lượng không đủ", {"Ta biết rồi"});
return 0;
end
--物品判定
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 ~= szPartnerCaiLiao then
Dialog:Say("Loại nguyên liệu không đúng", {"Ta biết rồi"});
return 0;
end
end
--背包判定
if me.CountFreeBagCell() < 1 then
Dialog:Say("Hành trang đã đầy, hãy thu xếp rồi nhận lại",{"Ta biết rồi"});
return 0;
end
--删除交的东西
for i = 1, #tbItemObj do
local pItem = tbItemObj[i][1];
pItem.Delete(me);
end
local pItemEx = me.AddItem(18,1,356,1); --Vật phẩm nhận được sau khi đổi 10 ngoi sao
if pItemEx then
pItemEx.Bind(1);
--me.SetItemTimeout(pItemEx, 60*24*30, 0);
EventManager:WriteLog(string.format("[兑换同伴秘籍]获得物品:%s",pItemEx.szName), me);
me.PlayerLog(Log.emKPLAYERLOG_TYPE_JOINSPORT, string.format("[兑换同伴秘籍]获得物品:%s",pItemEx.szName));
else
EventManager:WriteLog(string.format("[兑换同伴秘籍]获得失败,扣除材料%s个",nCount), me);
me.PlayerLog(Log.emKPLAYERLOG_TYPE_JOINSPORT, string.format("[兑换同伴秘籍]获得失败,扣除材料%s个",nCount));
end
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đem 5 Ngôi Sao danh Vọng Ero cầu nguyện được 1 huyền tinh vô hạ cấp 9 xin chúc mừng!"});
me.SendMsgToFriend("Hảo hữu của bạn <color=cyan>" .. me.szName
.. "<color>] đem 10 Ngôi Sao danh Vọng Ero cầu nguyện được 1 huyền tinh vô hạ cấp 9 xin chúc mừng!");
Dialog:Say("<color=wheat>Chúc mừng ngươi đã đem 10 Ngôi Sao danh Vọng Ero cầu nguyện được 1 huyền tinh vô hạ cấp 9 xin chúc mừng!!<color>", {"Cảm ơn !"});
end
sẽ nhận được 1 hòa thị bích khóa giờ muốn thêm 2 vũ khí khóa thì mình add như thế này nhận vẫn dc nhưng gs báo lõi
local pItemEx = me.AddItem(18,1,356,1).Bind(1); --Vật phẩm nhận được sau khi đổi 10 ngoi sao
local pItemEx = me.AddItem(2,1,1292,10).Bind(1); --Vật phẩm nhận được sau khi đổi 10 ngoi sao
local pItemEx = me.AddItem(2,1,1292,10).Bind(1); --Vật phẩm nhận được sau khi đổi 10 ngoi sao
if pItemEx then
pItemEx.Bind(1);
bạn nào rành cho mình hỏi add như thế nào để dc thêm trang bị khóa mà gs ko báo lõi nhé thanks :)
local tbNpc= Npc:GetClass("xinnian_vowtree");
SpecialEvent.Euro = SpecialEvent.Euro or {};
local Euro = SpecialEvent.Euro or {};
function tbNpc:OnDialog()
local szMsg = "Xin chào, ta có thể giúp được gì?";
local tbOpt=
{
{"Cuồng nhiệt cùng <color=yellow>EURO<color>",self.eventeuro,self},
{"Kết thúc đối thoại"},
};
Dialog:Say(szMsg,tbOpt);
end
function tbNpc:eventeuro()
local szMsg = "Hãy đi tìm những Ngôi sao danh vọng Euro đem về đây ta sẽ đổi cho ngươi phần thưởng xứng đáng!";
local tbOpt =
{
{"Tao muốn đỗi<color=yellow>5<color> ngôi sao", self.ChangePartnerMiJExi, self, 1},--uc van
--{"<color=yellow>20<color> ngôi sao", self.ChangePartnerMiJExi2, self, 1},--ngua 2 skill
--{"<color=yellow>50<color> ngôi sao", self.ChangePartnerMiJExi3, self, 1},--mat na
--{"<color=yellow>100<color> ngôi sao", self.ChangePartnerMiJExi4, self, 1},-- ấn
--{"<color=yellow>300<color> ngôi sao", self.ChangePartnerMiJExi5, self, 1},--hổ cap +3
{"Kết thúc đối thoại"},
};
Dialog:Say(szMsg, tbOpt);
end
function tbNpc:ChangePartnerMiJExi(nLevel)
local tbType = {5} --Số lượng vật phẩm cần đê đổi
local szContent = string.format("Đặt %s <color=yellow>Ngôi sao danh vọng Euro<color> vào đây và ta sẽ thực hiện điều ước của ngươi!", tbType[nLevel]);
Dialog:OpenGift(szContent, nil, {tbNpc.OnOpenGiftOk, tbNpc, nLevel});
end
function tbNpc:OnOpenGiftOk(nLevel, tbItemObj)
local tbType = {5} --Số lượng vật phẩm cần đê đổi
local szPartnerCaiLiao = "18,1,25067,1" ; --Vật phẩm cần để đổi
--数量判断
local nCount = 0;
for i = 1, #tbItemObj do
nCount = nCount + tbItemObj[i][1].nCount;
end
if nCount ~= tbType[nLevel] then
Dialog:Say("Số lượng không đủ", {"Ta biết rồi"});
return 0;
end
--物品判定
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 ~= szPartnerCaiLiao then
Dialog:Say("Loại nguyên liệu không đúng", {"Ta biết rồi"});
return 0;
end
end
--背包判定
if me.CountFreeBagCell() < 1 then
Dialog:Say("Hành trang đã đầy, hãy thu xếp rồi nhận lại",{"Ta biết rồi"});
return 0;
end
--删除交的东西
for i = 1, #tbItemObj do
local pItem = tbItemObj[i][1];
pItem.Delete(me);
end
local pItemEx = me.AddItem(18,1,356,1); --Vật phẩm nhận được sau khi đổi 10 ngoi sao
if pItemEx then
pItemEx.Bind(1);
--me.SetItemTimeout(pItemEx, 60*24*30, 0);
EventManager:WriteLog(string.format("[兑换同伴秘籍]获得物品:%s",pItemEx.szName), me);
me.PlayerLog(Log.emKPLAYERLOG_TYPE_JOINSPORT, string.format("[兑换同伴秘籍]获得物品:%s",pItemEx.szName));
else
EventManager:WriteLog(string.format("[兑换同伴秘籍]获得失败,扣除材料%s个",nCount), me);
me.PlayerLog(Log.emKPLAYERLOG_TYPE_JOINSPORT, string.format("[兑换同伴秘籍]获得失败,扣除材料%s个",nCount));
end
GlobalExcute({"Dialog:GlobalNewsMsg_GS", "Người chơi <color=cyan>" ..me.szName.. "<color> đem 5 Ngôi Sao danh Vọng Ero cầu nguyện được 1 huyền tinh vô hạ cấp 9 xin chúc mừng!"});
me.SendMsgToFriend("Hảo hữu của bạn <color=cyan>" .. me.szName
.. "<color>] đem 10 Ngôi Sao danh Vọng Ero cầu nguyện được 1 huyền tinh vô hạ cấp 9 xin chúc mừng!");
Dialog:Say("<color=wheat>Chúc mừng ngươi đã đem 10 Ngôi Sao danh Vọng Ero cầu nguyện được 1 huyền tinh vô hạ cấp 9 xin chúc mừng!!<color>", {"Cảm ơn !"});
end
sẽ nhận được 1 hòa thị bích khóa giờ muốn thêm 2 vũ khí khóa thì mình add như thế này nhận vẫn dc nhưng gs báo lõi
local pItemEx = me.AddItem(18,1,356,1).Bind(1); --Vật phẩm nhận được sau khi đổi 10 ngoi sao
local pItemEx = me.AddItem(2,1,1292,10).Bind(1); --Vật phẩm nhận được sau khi đổi 10 ngoi sao
local pItemEx = me.AddItem(2,1,1292,10).Bind(1); --Vật phẩm nhận được sau khi đổi 10 ngoi sao
if pItemEx then
pItemEx.Bind(1);
bạn nào rành cho mình hỏi add như thế nào để dc thêm trang bị khóa mà gs ko báo lõi nhé thanks :)