[KT] Xin file sứ giả hoạt động - Trang 2
Hello & Welcome to our community. Is this your first visit? Đăng Ký
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 2 của 2 Đầu tiênĐầu tiên 1 2
Kết quả 11 đến 11 của 11
  1. #11
    Thành Viên
    Ngày tham gia
    Nov 2008
    Bài viết
    185
    Thanks
    13
    Thanked 43 Times in 32 Posts

    Ðề: Xin file sứ giả hoạt động

    Trích dẫn Gửi bởi tinhlabui [Only registered and activated users can see links. ]
    :M sung gì mà rụng :@ không biết thì hỏi chưa gì đã ăn gạch :T

    vào \gameserver\setting\item\001\equip\greenequip.txt
    nhìn ID đồ của nó mà thay, cơ chế rất đơn giản, nếu đồ có phân 2 hệ nam nữ thì đầu tiên là nam, đến lần thứ 2 là nữ ( tương đương 10 món ) 5 món thì là cả 2 dùng chung, nên chỉ có 1 vài món nó phân theo hệ, và trong đó có cái đồ nội và ngoại, thì phải test đúng hệ nào thì add vào, quy trình là kim - mộc - thủy - hỏa - thổ

    kim (nam ) thì đằng nhau sẽ là Kim (nữ) rồi đến hệ khác , nhìn vào item khác thấy nó có cái điểm rất dễ nhớ
    nam và nữ thường cách nhau 5 con số, ví dụ áo nam 1000 thì nữ sẽ là 1005 , 1001 thì nữ là 1006,

    đây chỉ là gợi ý, còn tự mò đi cho rành, cũng không khó cho lắm

    sửa trong 2 file changeitem_npc và changeitemhk_npc, mỗi file là 1 bộ đồ

    tớ khuyến mại cho cái code đổi bộ Bích Huyết ( trang bị pet )









    local tbNpc = Npc:GetClass("changeitempet");
    local REQUIRE_ITEM = {
    [1] =
    {
    {
    {
    string.format("%s,%s,%s,%s", 18, 1, 1192, 2),
    },
    50
    },
    },
    [2] =
    {
    {
    {
    string.format("%s,%s,%s,%s", 18, 1, 1192, 3),
    },
    50
    },
    },
    [3] =
    {
    {
    {
    string.format("%s,%s,%s,%s", 18, 1, 1192, 4),
    },
    50
    },
    },
    [4] =
    {
    {
    {
    string.format("%s,%s,%s,%s", 18, 1, 1192, 6),
    },
    50
    },
    },
    [5] =
    {
    {
    {
    string.format("%s,%s,%s,%s", 18, 1, 1192, 10),
    },
    50
    },
    },

    };



    function tbNpc:OnDialog_1()
    local tbOpt = {
    {"<color=yellow>Ta Muốn Tìm hiểu thêm về Hợp Thành.<color>", self.OnDialog_3, self},--
    {"<color=yellow>Ta Muốn Hợp Thành Vật Phẩm Bích Huyết.<color>", self.OnDialog_2, self},--
    {"Kết thúc đối thoại"},
    }
    local szMsg = "Ta sẽ giúp nhà ngươi Ghép lại các mảnh ghép,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?";


    Dialog:Say(szMsg, tbOpt);
    end;
    function tbNpc:OnDialog_3()

    local tbOpt = {};
    tbOpt = Lib:MergeTable( tbOpt,{
    {"Trở về", self.OnDialog_1, self},
    {"Đóng"},
    });

    Dialog:Say(
    " Để hợp thành Vật Phẩm Bích Huyết.Nhà ngươi cần sưu tập <color=red>50<color> <color=yellow>Mảnh Ghép vật phẩm cực phẩm<color> cùng loại.\n"..
    " Sau khi sưu tập đủ <color=red>10<color> <color=yellow>Mảnh Ghép vật phẩm cực phẩm<color>,Nhà ngươi cần chuẩn bị tiền công cho ta là <color=yellow>300 Vạn Lượng<color>\n"..
    " Khi đã chuẩn bị đủ 2 thứ cần thiết.Nhà ngươi hãy đưa vật phẩm và tiền công cho ta.ta giúp nhà ngươi hợp thành.Tuy nhiên khả năng thành công là <color=red>30%<color> nên sẽ rất khó khăn\n"..
    " Nếu thành công ngươi sẽ nhận được vật phẩm.nếu thất bại ta sẽ đền bù một <color=yellow> Rương Mảnh ghép<color> cho nhà ngươi."
    ,tbOpt);

    return 0;
    end;

    function tbNpc:OnDialog_2()
    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 tbOpt = {
    {"Ta Muốn Hợp Thành <color=gold>Vũ Khí Bích Huyết<color>", self.TakeInItem1, self},
    {"Ta Muốn Hợp Thành <color=gold>Y Phục Bích Huyết<color>", self.TakeInItem2, self},
    {"Ta Muốn Hợp Thành <color=gold>Giới Chỉ Bích Huyết<color>", self.TakeInItem3, self},
    {"Ta Muốn Hợp Thành <color=gold>Hộ Phù Bích Huyết<color>", self.TakeInItem4, self},
    {"Ta Muốn Hợp Thành <color=gold>Hộ Uyển Bích Huyết<color>", self.TakeInItem5, self},

    {"Kết thúc đối thoại"},
    }
    local szMsg = "Ta sẽ giúp nhà ngươi Ghép lại các mảnh ghép,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?";
    Dialog:Say(szMsg, tbOpt);
    end;


    function tbNpc:TakeInItem1()
    local nValue = me.nSeries;
    local szMsg = "Ta sẽ giúp nhà ngươi Ghép lại các mảnh ghép,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 vào 50 Mảnh Ghép tương ứng.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:TakeInItem2()
    local nValue = me.nSeries+1;
    local szMsg = "Ta sẽ giúp nhà ngươi Ghép lại các mảnh ghép,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 vào 50 Mảnh Ghép tương ứng.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:TakeInItem3()
    local nValue = me.nSeries+2;
    local szMsg = "Ta sẽ giúp nhà ngươi Ghép lại các mảnh ghép,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 vào 50 Mảnh Ghép tương ứng.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:TakeInItem4()
    local nValue = me.nSeries+3;
    local szMsg = "Ta sẽ giúp nhà ngươi Ghép lại các mảnh ghép,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 vào 50 Mảnh Ghép tương ứng.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:TakeInItem5()
    local nValue = me.nSeries+4;
    local szMsg = "Ta sẽ giúp nhà ngươi Ghép lại các mảnh ghép,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 vào 50 Mảnh Ghép tương ứng.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 < 3000000) then
    Dialog:Say("Không đủ 300 Vạn Lượng, 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(5000000,0);
    local i = 0;
    local nAdd = 0;
    local nRand = 0;
    local nIndex = 0;
    -- random
    nRand = MathRandom(1, 10000);
    -- fill 3 rate
    local tbRate = {7000,3000};
    local tbAward =
    {
    [1] = {18, 1,1190, 2};
    [2] = {5,19,1,1};
    }

    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

    if (nValue == 2) 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 = {7000,3000};
    local tbAward =
    {
    [1] = {18, 1,1190, 2};
    [2] = {5,20,1,1};
    }

    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
    if (nValue == 3) 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 = {7000,3000};
    local tbAward =
    {
    [1] = {18, 1,1190, 2};
    [2] = {5,21,1,1};
    }

    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
    if (nValue == 4) 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 = {7000,3000};
    local tbAward =
    {
    [1] = {18, 1,1190, 2};
    [2] = {5,23,1,1};
    }

    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
    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 = {7000,3000};
    local tbAward =
    {
    [1] = {18, 1,1190, 2};
    [2] = {5,22,1,1};
    }

    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;


    Lần sửa cuối bởi nguyenduccu, ngày 10-09-12 lúc 09:56 PM.
    Khách viếng thăm hãy cùng nguyenduccu xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 2 của 2 Đầu tiênĐầu tiên 1 2

Các Chủ đề tương tự

  1. Cần tool pack file.spr ra file .pak và đọc file .spr
    Bởi [M]r[K]id trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 18
    Bài viết cuối: 23-11-19, 08:48 AM
  2. Hỏi cách bung file settings trong file pak ở client của VNG
    Bởi hanamnet1 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 5
    Bài viết cuối: 01-09-15, 09:01 PM
  3. Share All File .txt Unpack File .pak ( Settings , Skill , Ui )
    Bởi ohishu trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)
    Trả lời: 18
    Bài viết cuối: 06-05-13, 12:54 AM
  4. [MU] Ai có file shop bán đồ full và 1 file chuẩn của MU online cho mình với
    Bởi anhday trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 3
    Bài viết cuối: 17-04-12, 03:24 PM
  5. [Hướng dẫn] Thay đổi Port file ConnectServer.exe và file Main.exe
    Bởi cuonglee trong diễn đàn Guides - Kho Lưu trữ
    Trả lời: 21
    Bài viết cuối: 21-01-10, 05:52 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 10:17 AM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.