PDA

View Full Version : [KT] Bác nào pro chỉnh giùm em đoạn này với



ltasa93
08-12-12, 01:28 AM
-- ========================= Ông Già Nô-en======================

if MODULE_GC_SERVER then
return;
end
local tbNpc = Npc:GetClass("xmas_laoren");
tbNpc.TSK_GROUP = 2027;
tbNpc.TSK_ID = 97;
tbNpc.DEF_ID1 = {18,1,269,1}; -- VỚ GIÁNG SINH
tbNpc.DEF_ID2 = {18,1,20500,1}; -- BĂNG TUYẾT
tbNpc.DEF_ID3 = {18,1,1108,1}; -- Rương Noel
tbNpc.SNOW_ITEM = {18,1,213,1}; -- HOA TUYẾT
function tbNpc:OnDialog()
local nCheck = SpecialEvent.Xmas2008:Check();
if nCheck == -1 then
Dialog:Say("Ông Già Nô-en: Hoạt Động Đã Kết Thúc Rồi.")
return 0;
end
if nCheck == 0 then
Dialog:Say("Ông Già Nô-en: Vật Phẩm Đã Phát Hết Rồi. Ta Chuẩn Bị Rời Khỏi.")
return 0;
end
local szMsg ="Ông Già Nô-en: Ha Ha, Merry Chirstmas And Happy New Year 2013!!!";
local tbOpt ={
{"<color=gold> Nhận Vớ Giáng Sinh_Free <color>", self.nhanvo, self},
{"Dùng <color=Green>Hoa Tuyết<color> Đổi <color=pink>Vớ Giáng Sinh<color>", self.doivo, self},
{"Dùng <color=pink>Vớ Giáng Sinh<color> Đổi <color=yellow>Băng Tuyết<color>", self.doibangtuyet, self},
{"Dùng <color=pink>Băng Tuyết<color> Đổi <color=yellow>Rương No-el<color>", self.doiruong, self},
{"<color=red> Tìm Hiểu Hoạt Động Giáng Sinh <color>", self.About, self},
{"Ta Chỉ Đến Xem"},
};
Dialog:Say(szMsg,tbOpt);
end
function tbNpc:nhanvo(nSure)
if not nSure then
local tbOpt =
{
{ "Ta Muốn Nhận Vớ Giáng Sinh", self.nhanvo, self,1},
{ "Quay Lại", self.OnDialog, self},
}
Dialog:Say("Trong Thời Gian Diễn Ra Hoạt Động, Mỗi Ngày Ta Sẽ Tặng Cho Ngươi 1 Vớ Giáng Sinh, Mở Vớ Ra Sẽ Ngẫu Nhiên Nhận Được Nhiều Phần Thưởng Hấp Dẫn!",tbOpt);
return 0;
end
if me.nLevel < 60 then
Dialog:Say( "Ngươi Chưa Đạt Cấp 60, Không Thể Tham Gia Sự Kiện Này.");
return 0;
end
local nCurDate = tonumber(GetLocalDate( "%y%m%d "));
if me.GetTask(self.TSK_GROUP,self.TSK_ID) >= nCurDate then
Dialog:Say( "Hôm Nay Ngươi Đã Nhận Vớ Giáng Sinh Rồi Mà, Định Lừa Ta Àh!", {{ "Kết Thúc Đối Thoại."}});
return 0;
end
if me.CountFreeBagCell() < 1 then
local szAnnouce ="Hành Trang Không Đủ Chỗ Trống";
Dialog:Say(szAnnouce);
return 0;
end
local pItem = me.AddItem(unpack(self.DEF_ID1));
if pItem then
pItem.Bind(1);
me.SetTask(self.TSK_GROUP,self.TSK_ID,nCurDate);
end
Dialog:Say( "Tặng Ngươi Một Cái Vớ Giáng Sinh Này. Nhớ Mai Quay Lại Ta Cho Tiếp", {{"Thank You...."}});
end

function tbNpc:doivo()
if me.nLevel < 60 then
Dialog:Say( "Ngươi Chưa Đạt Cấp 60, Không Thể Tham Gia Hoạt Động Này");
return 0;
end
local szContent = "Hãy Đưa Hoa Tuyết Vào Đây. Ngươi Cần Phài Có <color=yellow>5 Hoa Tuyết <color> Thì Sẽ Đổi Được<color=yellow> 1 Vớ Giáng Sinh <color>.";
Dialog:OpenGift(szContent, nil, {self.vogiangsinh, self});
end
function tbNpc:vogiangsinh(tbItemObj)
local tbItemCount = {};
local szName = string.format("%s,%s,%s,%s",self.SNOW_ITEM[1],self.SNOW_ITEM[2],self.SNOW_ITEM[3],self.SNOW_ITEM[4]);
for _,tbItem in pairs(tbItemObj) do
local pItem = tbItem[1];
local szKey = string.format("%s,%s,%s,%s",pItem.nGenre,pItem.nDetail,pItem.nParticular,pIte m.nLevel);
if not tbItemCount[szKey] then
tbItemCount[szKey] = 0;
end
tbItemCount[szKey] = tbItemCount[szKey] + pItem.nCount;
end
local nSockCount = math.floor(tbItemCount[szName]/5);
if nSockCount == 0 then
me.Msg("Không Có Hoa Tuyết");
return 0;
end
if me.CountFreeBagCell() < nSockCount then
me.Msg("Hành Trang Không Đủ Chỗ Trống.");
return 0;
end
-- kiểm tra ba lô
me.ConsumeItemInBags2(nSockCount*5,self.SNOW_ITEM[1],self.SNOW_ITEM[2],self.SNOW_ITEM[3],self.SNOW_ITEM[4],nil, -1);
me.AddStackItem(self.DEF_ID1[1],self.DEF_ID1[2],self.DEF_ID1[3],self.DEF_ID1[4],nil,nSockCount);
end

function tbNpc:doibangtuyet()
if me.nLevel < 60 then
Dialog:Say( "Ngươi Chưa Đạt Cấp 60, Không Thể Tham Gia Hoạt Động Này");
return 0;
end
local szContent = "Hãy Đưa Hoa Tuyết Vào Đây. Ngươi Cần Phài Có <color=yellow>5 Vớ Giáng Sinh <color> Thì Sẽ Đổi Được<color=yellow> 1 Băng Tuyết <color>.";
Dialog:OpenGift(szContent, nil, {self.bangtuyet, self});
end
function tbNpc:bangtuyet(tbItemObj)
local tbItemCount = {};
local szName = string.format("%s,%s,%s,%s",self.DEF_ID1[1],self.DEF_ID1[2],self.DEF_ID1[3],self.DEF_ID1[4]);
for _,tbItem in pairs(tbItemObj) do
local pItem = tbItem[1];
local szKey = string.format("%s,%s,%s,%s",pItem.nGenre,pItem.nDetail,pItem.nParticular,pIte m.nLevel);
if not tbItemCount[szKey] then
tbItemCount[szKey] = 0;
end
tbItemCount[szKey] = tbItemCount[szKey] + pItem.nCount;
end
local nSockCount = math.floor(tbItemCount[szName]/5);
if nSockCount == 0 then
me.Msg("Không Có Vớ Giáng Sinh");
return 0;
end
if me.CountFreeBagCell() < nSockCount then
me.Msg("Hành Trang Không Đủ Chỗ Trống.");
return 0;
end
-- kiểm tra ba lô
me.ConsumeItemInBags2(nSockCount*5,self.DEF_ID1[1],self.DEF_ID1[2],self.DEF_ID1[3],self.DEF_ID1[4],nil, -1);
me.AddStackItem(self.DEF_ID2[1],self.DEF_ID2[2],self.DEF_ID2[3],self.DEF_ID2[4],nil,nSockCount);
end

function tbNpc:doiruong()
if me.nLevel < 60 then
Dialog:Say( "Ngươi Chưa Đạt Cấp 60, Không Thể Tham Gia Hoạt Động Này");
return 0;
end
local szContent = "Hãy Đưa Băng Tuyết Vào Đây. Ngươi Cần Phài Có <color=yellow>5 Băng Tuyết <color> Thì Sẽ Đổi Được<color=yellow> 1 Rương Noel <color>.";
Dialog:OpenGift(szContent, nil, {self.ruong, self});
end
function tbNpc:ruong(tbItemObj)
local tbItemCount = {};
local szName = string.format("%s,%s,%s,%s",self.DEF_ID2[1],self.DEF_ID2[2],self.DEF_ID2[3],self.DEF_ID2[4]);
for _,tbItem in pairs(tbItemObj) do
local pItem = tbItem[1];
local szKey = string.format("%s,%s,%s,%s",pItem.nGenre,pItem.nDetail,pItem.nParticular,pIte m.nLevel);
if not tbItemCount[szKey] then
tbItemCount[szKey] = 0;
end
tbItemCount[szKey] = tbItemCount[szKey] + pItem.nCount;
end
local nSockCount = math.floor(tbItemCount[szName]/5);
if nSockCount == 0 then
me.Msg("Không Có Băng Tuyết");
return 0;
end
if me.CountFreeBagCell() < nSockCount then
me.Msg("Hành Trang Không Đủ Chỗ Trống.");
return 0;
end
-- kiểm tra ba lô
me.ConsumeItemInBags2(nSockCount*5,self.DEF_ID2[1],self.DEF_ID2[2],self.DEF_ID2[3],self.DEF_ID2[4],nil, -1);
me.AddStackItem(self.DEF_ID3[1],self.DEF_ID3[2],self.DEF_ID3[3],self.DEF_ID3[4],nil,nSockCount);
end

tbNpc.tbAbout =
{
[1] =
"Trong Lúc Hoạt Động Diễn Ra, Khi Đạt Cấp 60 Có Thể Đến <color=yellow> ông Già Nô-en <color> Để Nhận <color=yellow> 1 Vớ Giáng Sinh Miễn Phí <color>, Ngươi Đã Nhận Vớ Giáng Sinh Chua ?",
[2] =
"Trong Lúc Hoạt Động Diễn Ra, Tại Tiêu Dao Cốc, Chiến Trường Tống Kim, Bạch Hổ Đường, Thi Đấu Môn Phái, Ngươi Đều Có Thể Gặp <color=yellow> ông Già Nô-en <color>, Ông Ta Sẽ Cho Ngươi Một <color=yellow> Vớ Giáng Sinh <color>!",
[3] =
"Trong Lúc Hoạt Động Diễn Ra, Tại Tiêu Dao Cốc, Chiến Trường Tống Kim, Bạch Hổ Đường, Thi Đấu Môn Phái, Ngươi Đều Có Thể Gặp <color=yellow> cây thông Nô-en <color>, Ngươi Có Thể Nhận Được <color=yellow> Tiểu Tuyết Đoàn <color> Hoặc <color=yellow> Vớ Giáng Sinh <color>.",
[4] =
"Trong Lúc Hoạt Động Diễn Ra, Ngươi Có Thể Đổi 5 <color=yellow> Hoa Tuyết <color> Lấy <color=yellow> 1 Vớ Giáng Sinh <color>, Hoa Tuyết Ngươi Có Thể Dùng Kỹ Năng Sống Chế Ra. Hoa Tuyết Làm Sao Chế Được ? Ngươi Có Thể Thu Thập Được Nguyên Liệu Trên<color=yellow> Tuyết Đôi <color> Hoặc <color=yellow> Cây Thông Nô-en <color>. Sau Khi Gia Công Sẽ Đượnc <color=yellow> Khối Tuyết Nhỏ <color>, Tiến Tới Chế Tạo Ra <color=yellow> Hoa Tuyết <color>.",
[5] =
"Trong Lúc Hoạt Động Diễn Ra, Ngươi Có Thể Đổi 5 <color=yellow> Vớ Giáng Sinh <color> Lấy <color=yellow> 1 Băng Tuyết <color>, Để Có Vớ Giáng Sinh Ngươi Đổi Từ Hoa Tuyết Hoặc Nhận Được Từ Các Hoạt Động Khác.",
[6] =
"Mở <color=yellow> Vớ Giáng Sinh <color>, Ngươi Có Thể Nhận Được Phần Thưởng, Ngoài ra Còn Có Thể Nhận Được <color=yellow> Vớ Giáng Sinh <color> Khác, Trong Hoạt Động Này Mỗi Người Chỉ Được Sử Dụng <color=yellow>100 Vớ Giáng Sinh<color>.",
[7] =
"Khi Ngươi Nhận Được<color=yellow> Quà Giáng Sinh <color> Thì Ngươi Chỉ Có Thể Tặng Nó Cho Người Khác. Thế Nhưng, Khi Ngươi Tặng Quà Cho Người Khác Ngươi Cũng Sẽ Được Người Khác Tặng Quà, Đôi Bên Cùng Có Lợi. Nhưng Mỗi Ngày Chỉ Được Tặng <color=yellow>10 Quà Giáng Sinh <color>, Xem Trên Kỳ Trân Các Có Bán Đó",
}
function tbNpc:About()
local szMsg = "Ngươi Muốn Tìm Hiểu Hoạt Động Giáng Sinh Nào?";
local tbOpt ={
{ "Nhận Phần Thưởng Hằng Ngày",self.OnAbout,self,1},
{ "Ông Già Noen Xuất Hiện Ở Đâu",self.OnAbout,self,2},
{ "Cây Thông Nô-en Xuất Hiện Ở Đâu", self.OnAbout,self,3},
{ "Hoa Tuyết Đổi Vớ Giáng Sinh", self.OnAbout,self,4},
{ "Vớ Giáng Sinh Đổi Băng Tuyết", self.OnAbout,self,5},
{ "Phần Thưởng Vớ Giáng Sinh", self.OnAbout,self,6},
{ "Quà Tặng Cho Người Khác", self.OnAbout,self,7},
{ "Kết Thúc Đối Thoại"},
}
Dialog:Say(szMsg,tbOpt);
end
function tbNpc:OnAbout(nNo)
local szMsg = self.tbAbout[nNo];
local tbOpt ={
{ "Quay Lại",self.About,self},
{ "Kết Thúc Đối thoại "},
}
Dialog:Say(szMsg,tbOpt);
end
----------oOo----------






Chỉnh chỗ đoạn nào cho nó đổi công thức ghép vật phẩm theo ý mình hã máy Bác :

Ví Dụ : Công thức > 5 mãnh tuyết + 1 Búa = 1 vớ
5 vớ + 1 búa = 5 Băng tuyết
5 băng tuyết + 1 búa = 1 quà noel

Bác nào biết chỉ chỗ giùm em với> Thank các Bác đã đọc bài

Sesshomaru
08-12-12, 03:12 AM
----------------------------------
local nSockCount = math.floor(tbItemCount[szName]/5);--------Thay số 5 ở đây
if nSockCount == 0 then
me.Msg("Không Có Hoa Tuyết");
return 0;
end
-------------------------------------
me.ConsumeItemInBags2(nSockCount*5,self.SNOW_ITEM[1],self.SNOW_ITEM[2],self.SNOW_ITEM[3],self.SNOW_ITEM[4],nil, -1);---Và ở đây nữa

Làm tương tự cho các cái còn lại

ltasa93
08-12-12, 11:18 AM
----------------------------------
local nSockCount = math.floor(tbItemCount[szName]/5);--------Thay số 5 ở đây
if nSockCount == 0 then
me.Msg("Không Có Hoa Tuyết");
return 0;
end
-------------------------------------
me.ConsumeItemInBags2(nSockCount*5,self.SNOW_ITEM[1],self.SNOW_ITEM[2],self.SNOW_ITEM[3],self.SNOW_ITEM[4],nil, -1);---Và ở đây nữa

Làm tương tự cho các cái còn lại

Cảm ơn Bác , nhưng ý em mún hỏi là mình muốn công thức như thế này 5 Hoa tuyết + 1 búa = 1 vớ ( e mún thêm 1 búa vào )
Bác giúp em với

accelan006
08-12-12, 11:56 AM
búa bán trên kỳ trân nè $-)
............................

ltasa93
08-12-12, 02:43 PM
búa bán trên kỳ trân nè $-)
............................
hj , bình thường cái event trân đổi là ko cần búa , em mún nhờ các Bác chỉnh lại là thêm cái búa vào mới đổi vâj phẩm được
VD: lúc đầu : đổi 5 hoa tuyết = 1 băng tuyết
em mún chỉnh lại là : 5 hoa tuyết + 1 búa = 1 băng tuyết