[KT] Script nâng cấp ngựa
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 3 của 3
  1. #1
    Thành Viên sindhand's Avatar
    Ngày tham gia
    Mar 2020
    Bài viết
    59
    Thanks
    136
    Thanked 12 Times in 10 Posts

    Script nâng cấp ngựa

    local tbNpc = Npc:GetClass("nangcapthucuoi");

    local IdVatPham = {
    [1] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,1338,3), --Kim Nguyên Bảo Đại
    [2]="Kim Nguyên Bảo Đại",

    },
    [2] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,1636,1), --Mảnh Ngựa
    [2]="Mảnh Ngựa",
    },
    [3] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,3028,1), --Thuần Dưỡng Đơn
    [2]="Thuần Dưỡng Đơn",
    },
    [4] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,3028,2), --Căn Cốt Đan
    [2]="Căn Cốt Đan",
    },

    [5] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,3028,3), --Linh Tê Ngọc
    [2]="Linh Tê Ngọc",
    },
    };


    local VatPhamCanThiet = {
    [1]= {
    [1]=1,
    [2]=100,
    [3]=100,
    [4]=100,
    [5]=1,
    [6]={
    [1]=string.format("%s,%s,%s,%s", 1,12,31,4), --[Tân Thủ] Mã bài (Phiên Vũ)
    },
    },
    [2]= {
    [1]=1,
    [2]=200,
    [3]=200,
    [4]=200,
    [5]=1,
    [6]={
    [1]=string.format("%s,%s,%s,%s", 1,12,791,4), --Hành Giả Huyết Minh - Cấp 1
    [2]=string.format("%s,%s,%s,%s", 1,12,801,4), --Lạc Đà Xanh Nước Biển - Cấp 1
    [3]=string.format("%s,%s,%s,%s", 1,12,811,4), --Lạc Đà Trắng - Cấp 1
    [4]=string.format("%s,%s,%s,%s", 1,12,821,4), --Hành Giả Bóng Đêm - Cấp 1
    [5]=string.format("%s,%s,%s,%s", 1,12,831,4), --Lạc Đà Xanh Dương - Cấp 1
    [6]=string.format("%s,%s,%s,%s", 1,12,841,4), --Tuyết Hồn - Cấp 1
    [7]=string.format("%s,%s,%s,%s", 1,12,851,4), --Trường Lâm - Cấp 1
    [8]=string.format("%s,%s,%s,%s", 1,12,861,4), --Lăng Thiên - Cấp 1
    [9]=string.format("%s,%s,%s,%s", 1,12,871,4), --Trục Nhật - Cấp 1
    [10]=string.format("%s,%s,%s,%s", 1,12,881,4), --Ức Vân - Cấp 1
    [11]=string.format("%s,%s,%s,%s", 1,12,891,4), --Hãn Huyết Thần Mã - Cấp 1
    [12]=string.format("%s,%s,%s,%s", 1,12,901,4), --Hắc Mã Cuồng Chiến - Cấp 1
    [13]=string.format("%s,%s,%s,%s", 1,12,911,4), --Bạch Mã Cuồng Chiến - Cấp 1
    [14]=string.format("%s,%s,%s,%s", 1,12,921,4), --Hắc Mã Huyết Giác - Cấp 1
    [15]=string.format("%s,%s,%s,%s", 1,12,931,4), --Tuyệt Thế Tuyết Vũ - Cấp 1
    },
    },
    [3]= {
    [1]=1,
    [2]=200,
    [3]=200,
    [4]=200,
    [5]=1,
    [6]={
    [1] =string.format("%s,%s,%s,%s", 1,12,792,4), --Hành Giả Huyết Minh - Cấp 1
    [2] =string.format("%s,%s,%s,%s", 1,12,802,4), --Lạc Đà Xanh Nước Biển - Cấp 1
    [3] =string.format("%s,%s,%s,%s", 1,12,812,4), --Lạc Đà Trắng - Cấp 1
    [4] =string.format("%s,%s,%s,%s", 1,12,822,4), --Hành Giả Bóng Đêm - Cấp 1
    [5] =string.format("%s,%s,%s,%s", 1,12,832,4), --Lạc Đà Xanh Dương - Cấp 1
    [6] =string.format("%s,%s,%s,%s", 1,12,842,4), --Tuyết Hồn - Cấp 1
    [7] =string.format("%s,%s,%s,%s", 1,12,852,4), --Trường Lâm - Cấp 1
    [8] =string.format("%s,%s,%s,%s", 1,12,862,4), --Lăng Thiên - Cấp 1
    [9] =string.format("%s,%s,%s,%s", 1,12,872,4), --Trục Nhật - Cấp 1
    [10]=string.format("%s,%s,%s,%s", 1,12,882,4), --Ức Vân - Cấp 1
    [11]=string.format("%s,%s,%s,%s", 1,12,892,4), --Hãn Huyết Thần Mã - Cấp 1
    [12]=string.format("%s,%s,%s,%s", 1,12,902,4), --Hắc Mã Cuồng Chiến - Cấp 1
    [13]=string.format("%s,%s,%s,%s", 1,12,912,4), --Bạch Mã Cuồng Chiến - Cấp 1
    [14]=string.format("%s,%s,%s,%s", 1,12,922,4), --Hắc Mã Huyết Giác - Cấp 1
    [15]=string.format("%s,%s,%s,%s", 1,12,932,4), --Tuyệt Thế Tuyết Vũ - Cấp 1
    },
    },
    [4]= {
    [1]=1,
    [2]=200,
    [3]=200,
    [4]=200,
    [5]=1,
    [6]={
    [1]=string.format("%s,%s,%s,%s", 1,12,793,4), --Hành Giả Huyết Minh - Cấp 1
    [2]=string.format("%s,%s,%s,%s", 1,12,803,4), --Lạc Đà Xanh Nước Biển - Cấp 1
    [3]=string.format("%s,%s,%s,%s", 1,12,813,4), --Lạc Đà Trắng - Cấp 1
    [4]=string.format("%s,%s,%s,%s", 1,12,823,4), --Hành Giả Bóng Đêm - Cấp 1
    [5]=string.format("%s,%s,%s,%s", 1,12,833,4), --Lạc Đà Xanh Dương - Cấp 1
    [6]=string.format("%s,%s,%s,%s", 1,12,843,4), --Tuyết Hồn - Cấp 1
    [7]=string.format("%s,%s,%s,%s", 1,12,853,4), --Trường Lâm - Cấp 1
    [8]=string.format("%s,%s,%s,%s", 1,12,863,4), --Lăng Thiên - Cấp 1
    [9]=string.format("%s,%s,%s,%s", 1,12,873,4), --Trục Nhật - Cấp 1
    [10]=string.format("%s,%s,%s,%s", 1,12,883,4), --Ức Vân - Cấp 1
    [11]=string.format("%s,%s,%s,%s", 1,12,893,4), --Hãn Huyết Thần Mã - Cấp 1
    [12]=string.format("%s,%s,%s,%s", 1,12,903,4), --Hắc Mã Cuồng Chiến - Cấp 1
    [13]=string.format("%s,%s,%s,%s", 1,12,913,4), --Bạch Mã Cuồng Chiến - Cấp 1
    [14]=string.format("%s,%s,%s,%s", 1,12,923,4), --Hắc Mã Huyết Giác - Cấp 1
    [15]=string.format("%s,%s,%s,%s", 1,12,933,4), --Tuyệt Thế Tuyết Vũ - Cấp 1
    },
    },
    [5]= {
    [1]=1,
    [2]=200,
    [3]=200,
    [4]=200,
    [5]=1,
    [6]={
    [1]=string.format("%s,%s,%s,%s", 1,12,794,4), --Hành Giả Huyết Minh - Cấp 1
    [2]=string.format("%s,%s,%s,%s", 1,12,804,4), --Lạc Đà Xanh Nước Biển - Cấp 1
    [3]=string.format("%s,%s,%s,%s", 1,12,814,4), --Lạc Đà Trắng - Cấp 1
    [4]=string.format("%s,%s,%s,%s", 1,12,824,4), --Hành Giả Bóng Đêm - Cấp 1
    [5]=string.format("%s,%s,%s,%s", 1,12,834,4), --Lạc Đà Xanh Dương - Cấp 1
    [6]=string.format("%s,%s,%s,%s", 1,12,844,4), --Tuyết Hồn - Cấp 1
    [7]=string.format("%s,%s,%s,%s", 1,12,854,4), --Trường Lâm - Cấp 1
    [8]=string.format("%s,%s,%s,%s", 1,12,864,4), --Lăng Thiên - Cấp 1
    [9]=string.format("%s,%s,%s,%s", 1,12,874,4), --Trục Nhật - Cấp 1
    [10]=string.format("%s,%s,%s,%s", 1,12,884,4), --Ức Vân - Cấp 1
    [11]=string.format("%s,%s,%s,%s", 1,12,894,4), --Hãn Huyết Thần Mã - Cấp 1
    [12]=string.format("%s,%s,%s,%s", 1,12,904,4), --Hắc Mã Cuồng Chiến - Cấp 1
    [13]=string.format("%s,%s,%s,%s", 1,12,914,4), --Bạch Mã Cuồng Chiến - Cấp 1
    [14]=string.format("%s,%s,%s,%s", 1,12,924,4), --Hắc Mã Huyết Giác - Cấp 1
    [15]=string.format("%s,%s,%s,%s", 1,12,934,4), --Tuyệt Thế Tuyết Vũ - Cấp 1
    },
    },
    };


    function tbNpc:OnDialog_1()
    local szMsg = "Ta sẽ giúp nhà ngươi ghép Ngựa.";
    szMsg = "Vui lòng cho tất cả Vật phẩm cường hóa vào vào.";
    Dialog:OpenGift(szMsg, nil, {self.CheckItem, self});
    end

    function tbNpc:CheckItem(tbItemObj)
    local DayDu = 0;
    local szMsg = 'Bạn còn thiếu: \n\n';
    local isVatPhamNgua_all = self:CheckItemNgua(tbItemObj, VatPhamCanThiet);
    local isVatPhamNgua = tonumber(isVatPhamNgua_all[1]);
    local isVatPhamNgua_y = tonumber(isVatPhamNgua_all[2]);
    -- kiểm tra có vật phẩm cường hóa ngựa không
    if (isVatPhamNgua == 0) then
    me.Msg("Không có vật phẩm cường hóa Ngựa.");
    Dialog:Say("Vui lòng cho vật phẩm cường hóa Ngựa vào để cường hóa.");
    return 0;
    elseif isVatPhamNgua == 41 then
    me.Msg("Ngựa chưa mở cấp tiếp theo.");
    Dialog:Say("Ngựa chưa mở cấp tiếp theo.");
    return 0;
    else
    -- check is Rương
    local nCount1 = me.GetItemCountInBags(self:GetItem(VatPhamCanThiet[isVatPhamNgua][6][isVatPhamNgua_y]));
    if nCount1 == 0 then
    Dialog:Say("Bạn phải đặt vật phẩm cường hóa trong rương");
    return 0;
    end

    local HoanThanh = 0;
    for i=1,5 do--từ 1 - 5 là số nguyen liệu cần nâng cấp
    local isItem = self:CheckItemCH(tbItemObj, IdVatPham, VatPhamCanThiet, isVatPhamNgua, i);
    if isItem >= 1 then
    szMsg = szMsg.." \t "..tostring(isItem).." "..IdVatPham[i][2]..".\n"; --2 là tên nguyên liệu
    else
    HoanThanh = HoanThanh +1;
    end
    end

    if HoanThanh < 5 then --nhỏ hơn 5 là k đủ nguyên liệu up cấp mới
    Dialog:Say(szMsg);
    me.Msg("Cường hóa Ngựa thất bại do thiếu Vật Phẩm.");
    else -- đầy đủ cường hóa
    --- thêm vật phẩm mới vào
    selfialog_showItem(VatPhamCanThiet[isVatPhamNgua +1][6], tbItemObj, isVatPhamNgua_all);
    end
    end
    -- kiểm tra các vật phẩm khác
    end;

    function tbNpc:GetItem(szText)
    local rows = {};

    local itsat = 0;
    local tmp = szText;
    while itsat ~= nil do
    itsat = string.find(tmp,",",1);
    if itsat ~= nil then
    rows[#rows+1] = string.sub(tmp,1,itsat-1);
    tmp = string.sub(tmp,itsat+1);
    else
    rows[#rows+1] = tmp;
    end
    end
    local returnItem = {tonumber(rows[1]), tonumber(rows[2]), tonumber(rows[3]), tonumber(rows[4])};
    return unpack(returnItem);
    end


    function tbNpcialog_showItem(iItem, tbItemObj, isVatPhamNgua)
    -- local tbOpt = {
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[1]))..".<color>", self.AddNgua, self, iItem[1], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[2]))..".<color>", self.AddNgua, self, iItem[2], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[3]))..".<color>", self.AddNgua, self, iItem[3], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[4]))..".<color>", self.AddNgua, self, iItem[4], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[5]))..".<color>", self.AddNgua, self, iItem[5], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[6]))..".<color>", self.AddNgua, self, iItem[6], tbItemObj, isVatPhamNgua},--
    -- {"Kết thúc đối thoại"},
    -- }
    -- local szMsg = "Chọn Ngựa mà bạn muốn lấy.";
    -- Dialog:Say(szMsg, tbOpt);
    local tbOpt = {};
    for i=1, #iItem do
    local name = KItem.GetNameById(self:GetItem(iItem[i]));
    table.insert(tbOpt , {"<pic=135> <color=green>"..name..".<color>", self.AddNgua, self, iItem[i], tbItemObj, isVatPhamNgua});
    end
    table.insert(tbOpt , {"Kết thúc đối thoại"});
    local szMsg = "Chọn Ngựa mà bạn muốn lấy.";
    Dialog:Say(szMsg, tbOpt);

    end


    function tbNpc:AddNgua(index, tbItemObj, isVatPhamNgua)
    me.AddItem(self:GetItem(index));
    local szMsg = "Người chơi <color=yellow>"..me.szName.."<color> đã nâng cấp thành công <color=green>"..KItem.GetNameById(self:GetItem(ind ex))..".<color>";
    KDialog.NewsMsg(0, Env.NEWSMSG_COUNT, szMsg);
    KDialog.MsgToGlobal(szMsg);
    selfeleteItem(isVatPhamNgua);
    end

    function tbNpceleteItem(isVatPhamNgua)
    -- xóa vật phẩm
    local x = tonumber(isVatPhamNgua[1]);
    local y = tonumber(isVatPhamNgua[2]);
    for i=1,5 do
    me.ConsumeItemInBags(VatPhamCanThiet[x][i], self:GetItem(IdVatPham[i][1]));
    end
    -- xóa ngựa
    me.ConsumeItemInBags(1, self:GetItem(VatPhamCanThiet[x][6][y]));
    end

    function tbNpc:CheckItemCH(tbItemObj, tbItemCH, tbItemList, isNgua, isCH)
    local numItem = 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 (szItem == tbItemCH[isCH][1]) then
    numItem = pItem[1].nCount + numItem;
    end
    end
    if (numItem >= tbItemList[isNgua][isCH]) then
    return 0;
    else
    return (tbItemList[isNgua][isCH] - numItem);
    end
    end

    -- kiem tra item manh ghep ngua
    function tbNpc:CheckItemNgua(tbItemObj, tbItemList)
    local ThuTu = {};
    if (not pItem) then
    ThuTu[1] = 0;
    end
    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);
    for i = 1, #tbItemList do
    local tbI = tbItemList[i][6];
    for j = 1, #tbI do
    local szItemTmp = tbItemList[i][6][j];
    if szItem == szItemTmp then
    ThuTu[1] = i;
    ThuTu[2] = j;
    end
    end;
    end;
    end;
    return ThuTu;
    end;



    cùng script này sao thay vào bản này được mà bản kia báo lỗi này vây.
    anh chỉ giúp với
    cảm ơn ae


    ...eServer\script\changeitem\thucuoi\nangcapthucuo i.lua:223: attempt to concatenate local 'name' (a nil value)
    stack traceback:
    ...eServer\script\changeitem\thucuoi\nangcapthucuo i.lua:223: in function 'Dialog_showItem'
    ...eServer\script\changeitem\thucuoi\nangcapthucuo i.lua:183: in function <...eServer\script\changeitem\thucuoi\nangcapthucu oi.lua:145>
    (tail call): ?
    [C]: in function 'xpcall'
    ...\KIEMTHESIEUNHANBANDEP\GameServer\script\lib\li b.lua:406: in function 'CallBack'
    ...SIEUNHANBANDEP\GameServer\script\lib\dialog_gif t.lua:95: in function <...SIEUNHANBANDEP\GameServer\script\lib\dialog_gi ft.lua:85>
    (tail call): ?
    [C]: in function 'xpcall'
    ...\KIEMTHESIEUNHANBANDEP\GameServer\script\lib\li b.lua:406: in function 'CallBack'
    ...EMTHESIEUNHANBANDEP\GameServer\script\lib\dialo g.lua:254: in function <...EMTHESIEUNHANBANDEP\GameServer\script\lib\dial og.lua:239>
    Lần sửa cuối bởi sindhand, ngày 10-05-24 lúc 08:16 PM.
    Khách viếng thăm hãy cùng sindhand xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên anubisng's Avatar
    Ngày tham gia
    Sep 2021
    Đang ở
    Hà Nội
    Bài viết
    88
    Thanks
    3
    Thanked 107 Times in 29 Posts

    Ðề: Script nâng cấp ngựa

    Trích dẫn Gửi bởi sindhand [Only registered and activated users can see links. ]
    local tbNpc = Npc:GetClass("nangcapthucuoi");

    local IdVatPham = {
    [1] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,1338,3), --Kim Nguyên Bảo Đại
    [2]="Kim Nguyên Bảo Đại",

    },
    [2] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,1636,1), --Mảnh Ngựa
    [2]="Mảnh Ngựa",
    },
    [3] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,3028,1), --Thuần Dưỡng Đơn
    [2]="Thuần Dưỡng Đơn",
    },
    [4] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,3028,2), --Căn Cốt Đan
    [2]="Căn Cốt Đan",
    },

    [5] = {
    [1]=string.format("%s,%s,%s,%s", 18,1,3028,3), --Linh Tê Ngọc
    [2]="Linh Tê Ngọc",
    },
    };


    local VatPhamCanThiet = {
    [1]= {
    [1]=1,
    [2]=100,
    [3]=100,
    [4]=100,
    [5]=1,
    [6]={
    [1]=string.format("%s,%s,%s,%s", 1,12,31,4), --[Tân Thủ] Mã bài (Phiên Vũ)
    },
    },
    [2]= {
    [1]=1,
    [2]=200,
    [3]=200,
    [4]=200,
    [5]=1,
    [6]={
    [1]=string.format("%s,%s,%s,%s", 1,12,791,4), --Hành Giả Huyết Minh - Cấp 1
    [2]=string.format("%s,%s,%s,%s", 1,12,801,4), --Lạc Đà Xanh Nước Biển - Cấp 1
    [3]=string.format("%s,%s,%s,%s", 1,12,811,4), --Lạc Đà Trắng - Cấp 1
    [4]=string.format("%s,%s,%s,%s", 1,12,821,4), --Hành Giả Bóng Đêm - Cấp 1
    [5]=string.format("%s,%s,%s,%s", 1,12,831,4), --Lạc Đà Xanh Dương - Cấp 1
    [6]=string.format("%s,%s,%s,%s", 1,12,841,4), --Tuyết Hồn - Cấp 1
    [7]=string.format("%s,%s,%s,%s", 1,12,851,4), --Trường Lâm - Cấp 1
    [8]=string.format("%s,%s,%s,%s", 1,12,861,4), --Lăng Thiên - Cấp 1
    [9]=string.format("%s,%s,%s,%s", 1,12,871,4), --Trục Nhật - Cấp 1
    [10]=string.format("%s,%s,%s,%s", 1,12,881,4), --Ức Vân - Cấp 1
    [11]=string.format("%s,%s,%s,%s", 1,12,891,4), --Hãn Huyết Thần Mã - Cấp 1
    [12]=string.format("%s,%s,%s,%s", 1,12,901,4), --Hắc Mã Cuồng Chiến - Cấp 1
    [13]=string.format("%s,%s,%s,%s", 1,12,911,4), --Bạch Mã Cuồng Chiến - Cấp 1
    [14]=string.format("%s,%s,%s,%s", 1,12,921,4), --Hắc Mã Huyết Giác - Cấp 1
    [15]=string.format("%s,%s,%s,%s", 1,12,931,4), --Tuyệt Thế Tuyết Vũ - Cấp 1
    },
    },
    [3]= {
    [1]=1,
    [2]=200,
    [3]=200,
    [4]=200,
    [5]=1,
    [6]={
    [1] =string.format("%s,%s,%s,%s", 1,12,792,4), --Hành Giả Huyết Minh - Cấp 1
    [2] =string.format("%s,%s,%s,%s", 1,12,802,4), --Lạc Đà Xanh Nước Biển - Cấp 1
    [3] =string.format("%s,%s,%s,%s", 1,12,812,4), --Lạc Đà Trắng - Cấp 1
    [4] =string.format("%s,%s,%s,%s", 1,12,822,4), --Hành Giả Bóng Đêm - Cấp 1
    [5] =string.format("%s,%s,%s,%s", 1,12,832,4), --Lạc Đà Xanh Dương - Cấp 1
    [6] =string.format("%s,%s,%s,%s", 1,12,842,4), --Tuyết Hồn - Cấp 1
    [7] =string.format("%s,%s,%s,%s", 1,12,852,4), --Trường Lâm - Cấp 1
    [8] =string.format("%s,%s,%s,%s", 1,12,862,4), --Lăng Thiên - Cấp 1
    [9] =string.format("%s,%s,%s,%s", 1,12,872,4), --Trục Nhật - Cấp 1
    [10]=string.format("%s,%s,%s,%s", 1,12,882,4), --Ức Vân - Cấp 1
    [11]=string.format("%s,%s,%s,%s", 1,12,892,4), --Hãn Huyết Thần Mã - Cấp 1
    [12]=string.format("%s,%s,%s,%s", 1,12,902,4), --Hắc Mã Cuồng Chiến - Cấp 1
    [13]=string.format("%s,%s,%s,%s", 1,12,912,4), --Bạch Mã Cuồng Chiến - Cấp 1
    [14]=string.format("%s,%s,%s,%s", 1,12,922,4), --Hắc Mã Huyết Giác - Cấp 1
    [15]=string.format("%s,%s,%s,%s", 1,12,932,4), --Tuyệt Thế Tuyết Vũ - Cấp 1
    },
    },
    [4]= {
    [1]=1,
    [2]=200,
    [3]=200,
    [4]=200,
    [5]=1,
    [6]={
    [1]=string.format("%s,%s,%s,%s", 1,12,793,4), --Hành Giả Huyết Minh - Cấp 1
    [2]=string.format("%s,%s,%s,%s", 1,12,803,4), --Lạc Đà Xanh Nước Biển - Cấp 1
    [3]=string.format("%s,%s,%s,%s", 1,12,813,4), --Lạc Đà Trắng - Cấp 1
    [4]=string.format("%s,%s,%s,%s", 1,12,823,4), --Hành Giả Bóng Đêm - Cấp 1
    [5]=string.format("%s,%s,%s,%s", 1,12,833,4), --Lạc Đà Xanh Dương - Cấp 1
    [6]=string.format("%s,%s,%s,%s", 1,12,843,4), --Tuyết Hồn - Cấp 1
    [7]=string.format("%s,%s,%s,%s", 1,12,853,4), --Trường Lâm - Cấp 1
    [8]=string.format("%s,%s,%s,%s", 1,12,863,4), --Lăng Thiên - Cấp 1
    [9]=string.format("%s,%s,%s,%s", 1,12,873,4), --Trục Nhật - Cấp 1
    [10]=string.format("%s,%s,%s,%s", 1,12,883,4), --Ức Vân - Cấp 1
    [11]=string.format("%s,%s,%s,%s", 1,12,893,4), --Hãn Huyết Thần Mã - Cấp 1
    [12]=string.format("%s,%s,%s,%s", 1,12,903,4), --Hắc Mã Cuồng Chiến - Cấp 1
    [13]=string.format("%s,%s,%s,%s", 1,12,913,4), --Bạch Mã Cuồng Chiến - Cấp 1
    [14]=string.format("%s,%s,%s,%s", 1,12,923,4), --Hắc Mã Huyết Giác - Cấp 1
    [15]=string.format("%s,%s,%s,%s", 1,12,933,4), --Tuyệt Thế Tuyết Vũ - Cấp 1
    },
    },
    [5]= {
    [1]=1,
    [2]=200,
    [3]=200,
    [4]=200,
    [5]=1,
    [6]={
    [1]=string.format("%s,%s,%s,%s", 1,12,794,4), --Hành Giả Huyết Minh - Cấp 1
    [2]=string.format("%s,%s,%s,%s", 1,12,804,4), --Lạc Đà Xanh Nước Biển - Cấp 1
    [3]=string.format("%s,%s,%s,%s", 1,12,814,4), --Lạc Đà Trắng - Cấp 1
    [4]=string.format("%s,%s,%s,%s", 1,12,824,4), --Hành Giả Bóng Đêm - Cấp 1
    [5]=string.format("%s,%s,%s,%s", 1,12,834,4), --Lạc Đà Xanh Dương - Cấp 1
    [6]=string.format("%s,%s,%s,%s", 1,12,844,4), --Tuyết Hồn - Cấp 1
    [7]=string.format("%s,%s,%s,%s", 1,12,854,4), --Trường Lâm - Cấp 1
    [8]=string.format("%s,%s,%s,%s", 1,12,864,4), --Lăng Thiên - Cấp 1
    [9]=string.format("%s,%s,%s,%s", 1,12,874,4), --Trục Nhật - Cấp 1
    [10]=string.format("%s,%s,%s,%s", 1,12,884,4), --Ức Vân - Cấp 1
    [11]=string.format("%s,%s,%s,%s", 1,12,894,4), --Hãn Huyết Thần Mã - Cấp 1
    [12]=string.format("%s,%s,%s,%s", 1,12,904,4), --Hắc Mã Cuồng Chiến - Cấp 1
    [13]=string.format("%s,%s,%s,%s", 1,12,914,4), --Bạch Mã Cuồng Chiến - Cấp 1
    [14]=string.format("%s,%s,%s,%s", 1,12,924,4), --Hắc Mã Huyết Giác - Cấp 1
    [15]=string.format("%s,%s,%s,%s", 1,12,934,4), --Tuyệt Thế Tuyết Vũ - Cấp 1
    },
    },
    };


    function tbNpc:OnDialog_1()
    local szMsg = "Ta sẽ giúp nhà ngươi ghép Ngựa.";
    szMsg = "Vui lòng cho tất cả Vật phẩm cường hóa vào vào.";
    Dialog:OpenGift(szMsg, nil, {self.CheckItem, self});
    end

    function tbNpc:CheckItem(tbItemObj)
    local DayDu = 0;
    local szMsg = 'Bạn còn thiếu: \n\n';
    local isVatPhamNgua_all = self:CheckItemNgua(tbItemObj, VatPhamCanThiet);
    local isVatPhamNgua = tonumber(isVatPhamNgua_all[1]);
    local isVatPhamNgua_y = tonumber(isVatPhamNgua_all[2]);
    -- kiểm tra có vật phẩm cường hóa ngựa không
    if (isVatPhamNgua == 0) then
    me.Msg("Không có vật phẩm cường hóa Ngựa.");
    Dialog:Say("Vui lòng cho vật phẩm cường hóa Ngựa vào để cường hóa.");
    return 0;
    elseif isVatPhamNgua == 41 then
    me.Msg("Ngựa chưa mở cấp tiếp theo.");
    Dialog:Say("Ngựa chưa mở cấp tiếp theo.");
    return 0;
    else
    -- check is Rương
    local nCount1 = me.GetItemCountInBags(self:GetItem(VatPhamCanThiet[isVatPhamNgua][6][isVatPhamNgua_y]));
    if nCount1 == 0 then
    Dialog:Say("Bạn phải đặt vật phẩm cường hóa trong rương");
    return 0;
    end

    local HoanThanh = 0;
    for i=1,5 do--từ 1 - 5 là số nguyen liệu cần nâng cấp
    local isItem = self:CheckItemCH(tbItemObj, IdVatPham, VatPhamCanThiet, isVatPhamNgua, i);
    if isItem >= 1 then
    szMsg = szMsg.." \t "..tostring(isItem).." "..IdVatPham[i][2]..".\n"; --2 là tên nguyên liệu
    else
    HoanThanh = HoanThanh +1;
    end
    end

    if HoanThanh < 5 then --nhỏ hơn 5 là k đủ nguyên liệu up cấp mới
    Dialog:Say(szMsg);
    me.Msg("Cường hóa Ngựa thất bại do thiếu Vật Phẩm.");
    else -- đầy đủ cường hóa
    --- thêm vật phẩm mới vào
    selfialog_showItem(VatPhamCanThiet[isVatPhamNgua +1][6], tbItemObj, isVatPhamNgua_all);
    end
    end
    -- kiểm tra các vật phẩm khác
    end;

    function tbNpc:GetItem(szText)
    local rows = {};

    local itsat = 0;
    local tmp = szText;
    while itsat ~= nil do
    itsat = string.find(tmp,",",1);
    if itsat ~= nil then
    rows[#rows+1] = string.sub(tmp,1,itsat-1);
    tmp = string.sub(tmp,itsat+1);
    else
    rows[#rows+1] = tmp;
    end
    end
    local returnItem = {tonumber(rows[1]), tonumber(rows[2]), tonumber(rows[3]), tonumber(rows[4])};
    return unpack(returnItem);
    end


    function tbNpcialog_showItem(iItem, tbItemObj, isVatPhamNgua)
    -- local tbOpt = {
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[1]))..".<color>", self.AddNgua, self, iItem[1], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[2]))..".<color>", self.AddNgua, self, iItem[2], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[3]))..".<color>", self.AddNgua, self, iItem[3], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[4]))..".<color>", self.AddNgua, self, iItem[4], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[5]))..".<color>", self.AddNgua, self, iItem[5], tbItemObj, isVatPhamNgua},--
    -- {"<pic=135> <color=green>"..KItem.GetNameById(self:GetItem(iIt em[6]))..".<color>", self.AddNgua, self, iItem[6], tbItemObj, isVatPhamNgua},--
    -- {"Kết thúc đối thoại"},
    -- }
    -- local szMsg = "Chọn Ngựa mà bạn muốn lấy.";
    -- Dialog:Say(szMsg, tbOpt);
    local tbOpt = {};
    for i=1, #iItem do
    local name = KItem.GetNameById(self:GetItem(iItem[i]));
    table.insert(tbOpt , {"<pic=135> <color=green>"..name..".<color>", self.AddNgua, self, iItem[i], tbItemObj, isVatPhamNgua});
    end
    table.insert(tbOpt , {"Kết thúc đối thoại"});
    local szMsg = "Chọn Ngựa mà bạn muốn lấy.";
    Dialog:Say(szMsg, tbOpt);

    end


    function tbNpc:AddNgua(index, tbItemObj, isVatPhamNgua)
    me.AddItem(self:GetItem(index));
    local szMsg = "Người chơi <color=yellow>"..me.szName.."<color> đã nâng cấp thành công <color=green>"..KItem.GetNameById(self:GetItem(ind ex))..".<color>";
    KDialog.NewsMsg(0, Env.NEWSMSG_COUNT, szMsg);
    KDialog.MsgToGlobal(szMsg);
    selfeleteItem(isVatPhamNgua);
    end

    function tbNpceleteItem(isVatPhamNgua)
    -- xóa vật phẩm
    local x = tonumber(isVatPhamNgua[1]);
    local y = tonumber(isVatPhamNgua[2]);
    for i=1,5 do
    me.ConsumeItemInBags(VatPhamCanThiet[x][i], self:GetItem(IdVatPham[i][1]));
    end
    -- xóa ngựa
    me.ConsumeItemInBags(1, self:GetItem(VatPhamCanThiet[x][6][y]));
    end

    function tbNpc:CheckItemCH(tbItemObj, tbItemCH, tbItemList, isNgua, isCH)
    local numItem = 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 (szItem == tbItemCH[isCH][1]) then
    numItem = pItem[1].nCount + numItem;
    end
    end
    if (numItem >= tbItemList[isNgua][isCH]) then
    return 0;
    else
    return (tbItemList[isNgua][isCH] - numItem);
    end
    end

    -- kiem tra item manh ghep ngua
    function tbNpc:CheckItemNgua(tbItemObj, tbItemList)
    local ThuTu = {};
    if (not pItem) then
    ThuTu[1] = 0;
    end
    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);
    for i = 1, #tbItemList do
    local tbI = tbItemList[i][6];
    for j = 1, #tbI do
    local szItemTmp = tbItemList[i][6][j];
    if szItem == szItemTmp then
    ThuTu[1] = i;
    ThuTu[2] = j;
    end
    end;
    end;
    end;
    return ThuTu;
    end;



    cùng script này sao thay vào bản này được mà bản kia báo lỗi này vây.
    anh chỉ giúp với
    cảm ơn ae


    ...eServer\script\changeitem\thucuoi\nangcapthucuo i.lua:223: attempt to concatenate local 'name' (a nil value)
    stack traceback:
    ...eServer\script\changeitem\thucuoi\nangcapthucuo i.lua:223: in function 'Dialog_showItem'
    ...eServer\script\changeitem\thucuoi\nangcapthucuo i.lua:183: in function <...eServer\script\changeitem\thucuoi\nangcapthucu oi.lua:145>
    (tail call): ?
    [C]: in function 'xpcall'
    ...\KIEMTHESIEUNHANBANDEP\GameServer\script\lib\li b.lua:406: in function 'CallBack'
    ...SIEUNHANBANDEP\GameServer\script\lib\dialog_gif t.lua:95: in function <...SIEUNHANBANDEP\GameServer\script\lib\dialog_gi ft.lua:85>
    (tail call): ?
    [C]: in function 'xpcall'
    ...\KIEMTHESIEUNHANBANDEP\GameServer\script\lib\li b.lua:406: in function 'CallBack'
    ...EMTHESIEUNHANBANDEP\GameServer\script\lib\dialo g.lua:254: in function <...EMTHESIEUNHANBANDEP\GameServer\script\lib\dial og.lua:239>
    Chưa hiểu sâu thì làm mấy code đơn giản thôi cho dễ hiểu. Ham hố gì mấy code kiểu này. Với chụp hình lỗi thì phải chụp hình 145 trong file .lua thì mọi người mới hiểu dc chứ up kiểu này ai giúp dc
    Khách viếng thăm hãy cùng anubisng xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. Các thành viên gởi lời cảm ơn đến anubisng vì bài viết này !

    sindhand (11-05-24)

  4. #3
    Thành Viên sindhand's Avatar
    Ngày tham gia
    Mar 2020
    Bài viết
    59
    Thanks
    136
    Thanked 12 Times in 10 Posts

    Ðề: Script nâng cấp ngựa

    Trích dẫn Gửi bởi anubisng [Only registered and activated users can see links. ]
    Chưa hiểu sâu thì làm mấy code đơn giản thôi cho dễ hiểu. Ham hố gì mấy code kiểu này. Với chụp hình lỗi thì phải chụp hình 145 trong file .lua thì mọi người mới hiểu dc chứ up kiểu này ai giúp dc
    dạ cảm ơn b nha. tớ sửa đc r
    Khách viếng thăm hãy cùng sindhand xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 

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

  1. [JX] JX Vo Lam ngôn ngữ Trung Quốc sang ngôn ngữ Việt
    Bởi manhdendaica trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 6
    Bài viết cuối: 23-08-12, 11:13 AM
  2. Một số script trong thư mục script Vina (unpack)
    Bởi sangpronhat trong diễn đàn Scripts
    Trả lời: 19
    Bài viết cuối: 26-11-11, 08:12 AM
  3. Hỏi Cách Đưa Main Từ nhiều Ngôn Ngữ Về 1 Ngôn Ngữ Duy Nhất
    Bởi wan0124 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 1
    Bài viết cuối: 19-05-11, 05:28 AM
  4. Tìm hiểu ngôn ngữ lập trình script trong JX.
    Bởi giangleloi trong diễn đàn Scripts
    Trả lời: 11
    Bài viết cuối: 28-12-09, 04:00 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à 11:50 PM.
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ệ.