ltasa93
30-12-12, 07:14 PM
TÌnh hình là cái event đập trứng của em không hiểu lỗi chỗ nào mà khi đập, búa thì mất , mà trứng thì còn nguyên ko mất cái nào cả :(
bác nào bik chỉ em với. Thank ạ !
local tbItem = Item:GetClass("trungevent")
function tbItem:OnUse()
local tbItemId2 = {18,1,25108,1,0,0};
local nCount2 = me.GetItemCountInBags(18,1,25108,1); -- Búa
if nCount2 < 1 then
Dialog:Say("<color=yellow>Trong hà nh trang của bạn không có <color=cyan>Búa<color> . Không thể Ä‘áºp trứng<color>");
return 0;
end
local tbEvent =
{
Player.ProcessBreakEvent.emEVENT_MOVE,
Player.ProcessBreakEvent.emEVENT_ATTACK,
Player.ProcessBreakEvent.emEVENT_SITE,
Player.ProcessBreakEvent.emEVENT_USEITEM,
Player.ProcessBreakEvent.emEVENT_ARRANGEITEM,
Player.ProcessBreakEvent.emEVENT_DROPITEM,
Player.ProcessBreakEvent.emEVENT_SENDMAIL,
Player.ProcessBreakEvent.emEVENT_TRADE,
Player.ProcessBreakEvent.emEVENT_CHANGEFIGHTSTATE,
Player.ProcessBreakEvent.emEVENT_CLIENTCOMMAND,
Player.ProcessBreakEvent.emEVENT_LOGOUT,
Player.ProcessBreakEvent.emEVENT_DEATH,
Player.ProcessBreakEvent.emEVENT_ATTACKED,
}
local tbOpt = {
GeneralProcess:StartProcess("<color=pink>Äang Äáºp Trứng<color>", 5 * Env.GAME_FPS, {self.OnDialog4, self}, nil, tbEvent);
};
--Dialog:Say("",tbOpt);
end
function tbItem:OnDialog4()
local tbItemId2 = {18,1,25108,1,0,0};
local nCount2 = me.GetItemCountInBags(18,1,25108,1); -- Búa
local i = 0;
local nAdd = 0;
local nRand = 0;
local nIndex = 0;
-- random
nRand = MathRandom(1, 10000);
-- fill 3 rate
local tbRate = {5000,2000,1000,100,50,50,50,50,50,50,500,500};
local tbAward =
{
[1] = {18,1,1,8};
[2] = {18,1,1,9};
[3] = {18,1,1,10};
[4] = {18,1,1,11};
[5] = {18,1,1,12};
[6] = {18,1,529,1};
[7] = {18,1,529,2};
[8] = {18,1,529,3};
[9] = {18,1,529,4};
[10] = {18,1,529,5};
[11] = {18,1,377,1};
[12] = {1,13,63,1};
}
if me.CountFreeBagCell() < 10 then
Dialog:Say("Phải Có 10 Ô Trống Trong Túi Hà nh Trang Má»›i Äáºp Trứng Äược !");
return 0;
end
if nCount2 < 1 then
Dialog:Say("<color=yellow>Trong hà nh trang của bạn không có <color=cyan>Búa<color> . Không thể Ä‘áºp trứng<color>");
return 0;
end
-- 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);
-- local szMsg = string.format("Chúc mừng ngÆ°á»i chÆ¡i <color=cyan>%s<color> DÆ°Æ¡ng Cung Bắn Trung <color=cyan>%s<color> Nháºn 50tr EXP.", 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>] Dương Cung Bắn Trúng <color=cyan>"
-- .. pItem.szName .."<color> Nháºn 50tr EXP.");
-- me.Msg("Bắn Trúng <color=cyan>"..pItem.szName.."<color> Nháºn 50tr EXP - Xin Chúc Mừng");
-- me.AddExp(50000000);
for i = 1, 12 do
nAdd = nAdd + tbRate[i];
if nAdd >= nRand then
nIndex = i;
break;
end
end
local pItem = me.AddItem(unpack(tbAward[nIndex]));
pItem.Bind(0);
if (nIndex == 4) or (nIndex == 5) or (nIndex == 3) or (nIndex == 6) or (nIndex == 7) or (nIndex == 8) or (nIndex == 9) or (nIndex == 10) or (nIndex == 12) then
local szMsg = string.format("<color=cyan>%s<color> Äáºp Trứng Nháºn Äược <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=cyan>" .. me.szName
.. "<color>] Äáºp Trứng Nháºn Äược <color=cyan>"
.. pItem.szName .."");
me.Msg("Äáºp Trứng Nháºn Äược <color=cyan>"..pItem.szName.."<color>");
Task:DelItem(me, tbItemId2, 1);
elseif (nIndex == 1) or (nIndex == 2) or (nIndex == 11) then
me.Msg("<color=cyan>"..me.szName.."<color> Äáºp Trứng Nháºn Äược <color=cyan>"..pItem.szName.."<color>");
Task:DelItem(me, tbItemId2, 1);
end
end
bác nào bik chỉ em với. Thank ạ !
local tbItem = Item:GetClass("trungevent")
function tbItem:OnUse()
local tbItemId2 = {18,1,25108,1,0,0};
local nCount2 = me.GetItemCountInBags(18,1,25108,1); -- Búa
if nCount2 < 1 then
Dialog:Say("<color=yellow>Trong hà nh trang của bạn không có <color=cyan>Búa<color> . Không thể Ä‘áºp trứng<color>");
return 0;
end
local tbEvent =
{
Player.ProcessBreakEvent.emEVENT_MOVE,
Player.ProcessBreakEvent.emEVENT_ATTACK,
Player.ProcessBreakEvent.emEVENT_SITE,
Player.ProcessBreakEvent.emEVENT_USEITEM,
Player.ProcessBreakEvent.emEVENT_ARRANGEITEM,
Player.ProcessBreakEvent.emEVENT_DROPITEM,
Player.ProcessBreakEvent.emEVENT_SENDMAIL,
Player.ProcessBreakEvent.emEVENT_TRADE,
Player.ProcessBreakEvent.emEVENT_CHANGEFIGHTSTATE,
Player.ProcessBreakEvent.emEVENT_CLIENTCOMMAND,
Player.ProcessBreakEvent.emEVENT_LOGOUT,
Player.ProcessBreakEvent.emEVENT_DEATH,
Player.ProcessBreakEvent.emEVENT_ATTACKED,
}
local tbOpt = {
GeneralProcess:StartProcess("<color=pink>Äang Äáºp Trứng<color>", 5 * Env.GAME_FPS, {self.OnDialog4, self}, nil, tbEvent);
};
--Dialog:Say("",tbOpt);
end
function tbItem:OnDialog4()
local tbItemId2 = {18,1,25108,1,0,0};
local nCount2 = me.GetItemCountInBags(18,1,25108,1); -- Búa
local i = 0;
local nAdd = 0;
local nRand = 0;
local nIndex = 0;
-- random
nRand = MathRandom(1, 10000);
-- fill 3 rate
local tbRate = {5000,2000,1000,100,50,50,50,50,50,50,500,500};
local tbAward =
{
[1] = {18,1,1,8};
[2] = {18,1,1,9};
[3] = {18,1,1,10};
[4] = {18,1,1,11};
[5] = {18,1,1,12};
[6] = {18,1,529,1};
[7] = {18,1,529,2};
[8] = {18,1,529,3};
[9] = {18,1,529,4};
[10] = {18,1,529,5};
[11] = {18,1,377,1};
[12] = {1,13,63,1};
}
if me.CountFreeBagCell() < 10 then
Dialog:Say("Phải Có 10 Ô Trống Trong Túi Hà nh Trang Má»›i Äáºp Trứng Äược !");
return 0;
end
if nCount2 < 1 then
Dialog:Say("<color=yellow>Trong hà nh trang của bạn không có <color=cyan>Búa<color> . Không thể Ä‘áºp trứng<color>");
return 0;
end
-- 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);
-- local szMsg = string.format("Chúc mừng ngÆ°á»i chÆ¡i <color=cyan>%s<color> DÆ°Æ¡ng Cung Bắn Trung <color=cyan>%s<color> Nháºn 50tr EXP.", 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>] Dương Cung Bắn Trúng <color=cyan>"
-- .. pItem.szName .."<color> Nháºn 50tr EXP.");
-- me.Msg("Bắn Trúng <color=cyan>"..pItem.szName.."<color> Nháºn 50tr EXP - Xin Chúc Mừng");
-- me.AddExp(50000000);
for i = 1, 12 do
nAdd = nAdd + tbRate[i];
if nAdd >= nRand then
nIndex = i;
break;
end
end
local pItem = me.AddItem(unpack(tbAward[nIndex]));
pItem.Bind(0);
if (nIndex == 4) or (nIndex == 5) or (nIndex == 3) or (nIndex == 6) or (nIndex == 7) or (nIndex == 8) or (nIndex == 9) or (nIndex == 10) or (nIndex == 12) then
local szMsg = string.format("<color=cyan>%s<color> Äáºp Trứng Nháºn Äược <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=cyan>" .. me.szName
.. "<color>] Äáºp Trứng Nháºn Äược <color=cyan>"
.. pItem.szName .."");
me.Msg("Äáºp Trứng Nháºn Äược <color=cyan>"..pItem.szName.."<color>");
Task:DelItem(me, tbItemId2, 1);
elseif (nIndex == 1) or (nIndex == 2) or (nIndex == 11) then
me.Msg("<color=cyan>"..me.szName.."<color> Äáºp Trứng Nháºn Äược <color=cyan>"..pItem.szName.."<color>");
Task:DelItem(me, tbItemId2, 1);
end
end