[KT] Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 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 1 của 2 1 2 CuốiCuối
Kết quả 1 đến 10 của 11
  1. #1
    Thành Viên
    Ngày tham gia
    Mar 2014
    Bài viết
    364
    Thanks
    118
    Thanked 24 Times in 24 Posts

    Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    a cho e hõi lỗi này với ạ

    [Only registered and activated users can see links. ]

    e đi dc 1 trận tống kim gia dụ quan xong ra..

    típ tục đi trận thứ 2 nhưng khi click zô npc nó báo thế này ạ

    mong a giúp e với...

    PHP Code:
    -- ļУξű
    -- zhouchenfei  create  2007-09-17

    local tbNpc    
    Npc:GetClass("mubingxiaowei");

    function 
    tbNpc:Init()
        if (
    self.tbMapNpcthen    -- ֧
            
    return;
        
    end

        local tbMapNpc    
    = {};    -- ͨͼIdѰļУξ
        
    for nLeveltbMId in pairs(Battle.MAPID_LEVEL_CAMP) do
            for 
    nBattleSeqtbMapId in pairs(tbMId) do
                for 
    nCampIdnMapId in pairs(tbMapId) do
                    
    tbMapNpc[nMapId]    = Lib:NewClass(Battle.tbNpcBasenMapIdnLevelnCampIdnBattleSeq);
                
    end
            end
        end
        
        self
    .tbMapNpc            tbMapNpc;
    end

    -- ļУξԻ
    function tbNpc:OnDialog()
        
    local tbNpc    self.tbMapNpc[him.nMapId];
        
        
    tbNpc:OnDialog();
    end

    -- һļУξĻ
    local tbNpcBase    
    Battle.tbNpcBase or {};    -- ֧

    tbNpcBase
    .tbBattleSeq = {" 1"" Nhị"" 3"};

    function 
    tbNpcBase:init(nMapIdnLevelnCampIdnBattleSeq)
        
    self.nMapId        nMapId;
        
    self.nLevel        nLevel;
        
    self.nCampId    nCampId;
        
    self.nBattleSeq nBattleSeq;
        
    self.tbDialog    Battle.tbCampDialog[self.nCampId];
    end

    -- ˢ£ʹӵӦӪ
    function tbNpcBase:Refresh()
        
    local tbMission    Battle:GetMission(self.nLevelself.nBattleSeq);
        if (
    tbMissionthen
            self
    .tbMission    tbMission;
            
    self.tbCamp        tbMission.tbCamps[self.nCampId];
        else
            
    self.tbMission    nil;
            
    self.tbCamp        nil;
        
    end
    end

    function tbNpcBase:OnDialog()
        
    self:Refresh();

        if (
    me.IsFreshPlayer() == 1then
            Dialog
    :Say("Bạn chưa gia nhập môn phái, gia nhập rồi hãy quay lại!");
            return;
        
    end

        
    if not GLOBAL_AGENT then
            
    if (== self:AwardGood()) then
                
    return;
            
    end
        end

        Battle
    :DbgOut("tbNpcBase:OnDialog"selfself.nMapIdself.tbMission);
        if (
    not self.tbMissionthen
            Dialog
    :Say("Đại quân tuần tra chiến trường vẫn chưa xuất phát, hãy tiếp tục thao luyện và đợi thông báo.");
            return;
        
    end

        
    if (== self:CheckMaxNum()) then
            Dialog
    :Say(self.tbDialog[1]);
            return;
        
    end
        local pPlayer 
    me;
        
    local nCheckResult self:CheckPlayer();
        if (
    == nCheckResultthen
            local nPLLevel    
    Battle.LEVEL_LIMIT[self.nLevel];
            
    Dialog:Say(string.format(self.tbDialog[2], nPLLevel),
                {
                    {
    string.format("Ta muốn gia nhập quân <color=red>%s<color>"Battle.NAME_CAMP[self.nCampId]), self.OnSingleJoinselfpPlayer},
                    {
    "Để ta suy nghĩ đã"},
                }
            );
        elseif (
    == nCheckResultthen
            Dialog
    :Say("Ngươi muốn vào chiến trường bây giờ sao? Lúc chiến đấu, ngươi và người khác hợp thành tổ đội giết địch, một công đôi việc.",
                {
                    {
    "Ta muốn vào chiến trường"self.OnSingleJoinselfpPlayer},
                    {
    "Chờ chút hãy nói"},
                }
            );
        
    end
    end

    -- һνսĻֶӦĽ1ʾ0ʾü
    function tbNpcBase:AwardGood()
        -- 
    жǷܸ轱
        local pPlayer 
    me;
        if (
    self.tbMissionthen
            local nCampId        
    pPlayer.GetTask(Battle.TSKGIDBattle.TASKID_BTCAMP);
            
    local nMyBTKey        pPlayer.GetTask(Battle.TSKGIDBattle.TSK_BTPLAYER_KEY);
            
    local nBTKey        self.tbMission.nBattleKey;
            
    local nDiaFlag        0;

            
    local nBattleSeqA    math.fmod(nMyBTKey10);
            
    local nBattleSeqB    math.fmod(nBTKey10);
            
    local nBattleTimeA    nMyBTKey nBattleSeqA;
            
    local nBattleTimeB    nBTKey nBattleSeqB;

            -- 
    idһʾͬһʱβͬΣDzͬһʱ
            
    if (nMyBTKey ~= nBTKeythen
                
    -- ͬһʱεıʾҿܴһγ
                
    if (nBattleTimeA == nBattleTimeBthen
                    nDiaFlag 
    1;
                
    end
            
    else -- ͬid
                
    -- սֿʼ˾ͲˣֱӼԻ
                
    if (self.tbMission.nState == 2then
                    
    return 1;
                
    end
                
    -- ͬһȴͬһӪ
                
    if (~= nCampId and self.nCampId ~= nCampIdthen
                    nDiaFlag 
    2;
                
    end        
            end

            
    if (nDiaFlag == 1then
                Dialog
    :Say(string.format(self.tbDialog[8], Battle.NAME_GAMELEVEL[self.nLevel], self.tbBattleSeq[nBattleSeqA], Battle.NAME_CAMP[nCampId]));
                return 
    0;
            elseif (
    nDiaFlag == 2then
                Dialog
    :Say(self.tbDialog[5]);
                return 
    0;
            
    end
        end

        
    --local nAwardPai pPlayer.GetTask(Battle.TSKGIDBattle.TSK_BTPLAYER_ZHANCHANGLINGPAI);
        --
    local nAwardFu    pPlayer.GetTask(Battle.TSKGIDBattle.TSK_BTPLAYER_FUDAI);
        --
    local nBouns    pPlayer.GetTask(Battle.TSKGIDBattle.TSK_BTPLAYER_TOTALBOUNS);
        
        --if (
    nAwardPai nAwardFu nBouns 0then
            
    --local nPaiCount        0;
            --
    local nFuCount        0;
            --
    local szMsg string.format("Điểm tích lũy chiến trường lần trước của ngươi là %d"nBouns);
            --
    local nFinalBouns    0;
            
            --if (
    nBouns 0then
                
    --nFinalBouns nBouns;
                --
    local nMyUse pPlayer.GetTask(Battle.TSKGIDBattle.TSK_BTPLAYER_USEBOUNS);
                --if (
    nMyUse nBouns Battle.BATTLES_POINT2EXP_MAXEXPthen
                    
    --nFinalBouns Battle.BATTLES_POINT2EXP_MAXEXP nMyUse;
                --
    end
            
    --end
            
    --if (nFinalBouns 0then
                
    --szMsg szMsg .. string.format(", có thể nhận %d điểm phần thưởng kinh nghiệm"nFinalBouns);
            --elseif (
    nFinalBouns == and nBouns 0then
                
    --szMsg szMsg .. string.format(", điểm tích lũy đổi kinh nghiệm tuần này của ngươi đã đạt giới hạn <color=yellow>500.000<color>, trong tuần không thể đổi kinh nghiệm nhưng vẫn nhận được phần thưởng điểm cống hiến gia tộc"nFinalBouns);
            --
    end
            
            
    --if (nAwardPai and nAwardFu 0then
                
    --szMsg szMsg .. string.format(", có thể nhận 1 Lệnh bài chiến trường %s và 2 Túi Phúc Hoàng Kim"Battle.NAME_GAMELEVEL[nAwardPai]);
                --
    nPaiCount    1;
                --
    nFuCount    nAwardFu;
            --elseif (
    nAwardFu 0then
                
    --szMsg szMsg .. ", có thể nhận 1 Túi Phúc";
                --
    nFuCount nAwardFu;
            --
    end
            
    --local tbOpt = { 
                --{
    "Đồng ý"self.OnAwardGoodselfpPlayernAwardPainPaiCountnFuCountnBounsnFinalBouns}, 
                --{
    "Nói tiếp đi"},
            --};
            --
    local __szExtendInfo SpecialEvent.ExtendAward:DoCheck("Battle"pPlayernBounsself.nLevel);
            --
    Dialog:Say(szMsg..szExtendInfo..", muốn nhận bây giờ?"tbOpt);
            --return 
    0;
        --
    end
        
    --return 1;
    end

    --function tbNpcBase:OnAwardGood(pPlayernItemIdnPaiCountnFuCountnBounsnFinalBouns)
        --if (
    == Battle:AwardGood(pPlayernItemIdnPaiCountnFuCountnBounsself.nLevel)) then
            
    -- Ƶĵȼ
            
    --pPlayer.Msg("Hành trang của bạn không đủ chỗ, không thể nhận phần thưởng");
        --else
            --
    local szMsg string.format("Điểm tích lũy chiến trường lần trước của ngươi là %d"nBouns);
            --if (
    nFinalBouns 0then
                
    --szMsg szMsg .. string.format(", đã nhận %d điểm phần thưởng kinh nghiệm"nFinalBouns);
            --elseif (
    nFinalBouns == and nBouns 0then
                
    --szMsg szMsg .. string.format(", điểm tích lũy đổi kinh nghiệm tuần này của ngươi đã đạt giới hạn <color=yellow>500.000<color>, trong tuần không thể đổi kinh nghiệm nhưng vẫn nhận được phần thưởng điểm cống hiến gia tộc"nFinalBouns);
            --
    end
            
    --if (nPaiCount 0then
                
    --szMsg szMsg .. string.format(", nhận được 1 %s <color=green>Lệnh bài chiến trường<color> và 2 <color=yellow>Túi Phúc Hoàng Kim<color>."Battle.NAME_GAMELEVEL[nItemId]);
            --elseif (
    nFuCount 0then
                
    --szMsg szMsg .. ", nhận được 1 <color=yellow>Túi Phúc Hoàng Kim<color>."
            
    --end
            
    --pPlayer.Msg(szMsg);
        --
    end
        
    --return;
    --
    end

    function tbNpcBase:CheckMaxNum()
        
    local nMyCampCount        self.tbCamp:GetPlayerCount();
        if (
    Battle.BTPLNUM_HIGHBOUND <= nMyCampCountthen
            
    return 0;
        
    end
        
    return 1;
    end

    -- ҵĵȼӪ
    -- ֵ0Ҳܽ룻1ұδԲμӣ2ұˣԽ
    function tbNpcBase:CheckPlayer()
        if (
    not self.tbMissionthen
            Dialog
    :Say("Đại quân tuần tra chiến trường vẫn chưa xuất phát, hãy tiếp tục thao luyện và đợi thông báo.");
            return;
        
    end    

        local pPlayer 
    me;
        
        
    local nJoinLevel    Battle:GetJoinLevel(pPlayer);
        
    local nCampId pPlayer.GetTask(Battle.TSKGIDBattle.TASKID_BTCAMP);
        
    local nFlag 1;

        
    local nMyBTKey        pPlayer.GetTask(Battle.TSKGIDBattle.TSK_BTPLAYER_KEY);
        
    local nBTKey        self.tbMission.nBattleKey;
        
    local nDiaFlag        0;


        
    local nBattleSeqA math.fmod(nMyBTKey10);
        
    local nBattleSeqB math.fmod(nBTKey10);
        
    local nBattleTimeA nMyBTKey nBattleSeqA;
        
    local nBattleTimeB nBTKey nBattleSeqB;

        if (
    nMyBTKey ~= nBTKeythen
            
    if (nBattleTimeA == nBattleTimeBthen
                nDiaFlag 
    1;
            
    end
        
    else
            if (
    ~= nCampId and self.nCampId ~= nCampIdthen
                nDiaFlag 
    2;
            elseif (
    ~= nCampId and self.nCampId == nCampIdthen
                nFlag 
    2;
            
    end
        end

        
    if (nFlag == 1then
            
    if (self.nLevel nJoinLevelthen
                local tbOpt 
    =    {
    --                                {
    "˽ս۵Ϣ"self.OnBattleInfoself},
                                    {
    "Được rồi"},
                                };
                
    Dialog:Say("Trình độ của ngươi chưa đạt, hãy về cố gắng luyện tập sau này quay lại góp sức cho nước nhà!"tbOpt);
                return 
    0;
            
    end

            
    if (pPlayer.IsFreshPlayer() == 1then
                Dialog
    :Say("Bạn chưa gia nhập môn phái, gia nhập rồi hãy quay lại!");
                return 
    0;
            
    end
        
            
    if (self.nLevel nJoinLevelthen    -- 
                
    Dialog:Say(string.format("Ngươi đã tinh thông võ nghệ, hãy đi tham gia chiến trường <color=yellow>%s<color>!"Battle.NAME_GAMELEVEL[nJoinLevel]));
                return 
    0;
            
    end
        end
        
        
    if (nDiaFlag == 1then
            Dialog
    :Say(string.format(self.tbDialog[8], Battle.NAME_GAMELEVEL[self.nLevel], self.tbBattleSeq[nBattleSeqA], Battle.NAME_CAMP[nCampId]));
            return 
    0;
        elseif (
    nDiaFlag == 2then
            Dialog
    :Say(self.tbDialog[5]);
            return 
    0;
        
    end

        
    if (== self:CheckNumDif(self.nLevel)) then
            local nSongNum    
    self.tbMission.tbCamps[Battle.CAMPID_SONG].nPlayerCount;
            
    local nJinNum    self.tbMission.tbCamps[Battle.CAMPID_JIN].nPlayerCount;
            
    local szMsg        string.format("Hiện tại quân số hai bên là: <color=orange>Tống: %d<color>, <color=purple>Kim: %d<color>, so với quân địch, ta tạm thời thiếu hụt quân số, ngươi hãy kiên nhẫn chờ đợi tí nữa quay lại."nSongNumnJinNum);
            
    Dialog:Say(szMsg);
            return 
    0;
        
    end

        
    return nFlag;
    end

    function tbNpcBase:CheckNumDif(nJoinLevel)
        
    local nMyCampNum    self.tbCamp:GetPlayerCount();
        
    local nEnemyCampNum    self.tbCamp.tbOppCamp:GetPlayerCount();
        if (
    nMyCampNum Battle.tbBTPLNUM_LOWBOUND[nJoinLevel]) then
            
    return 1;
        
    end
        local nTemp            
    nMyCampNum nEnemyCampNum;
        
    local nDifNumLimit    math.max(Battle.BTPLNUM_NUMDIF, (nMyCampNum nEnemyCampNum) * 0.1);
        if (
    nTemp >= nDifNumLimitthen
            
    return 0;
        
    end
        
    return 1;
    end

    -- ѡ˽ս
    function tbNpcBase:OnSingleJoin(pPlayer)
        
    self:Refresh();
        
        if (
    == self:CheckPlayer()) then
            
    return;
        
    end
        
        self
    :DoSingleJoin(pPlayer);
    end


    function tbNpcBase:OnNewEnter(pPlayernNowTime)
        if (
    == self:CheckPlayer()) then
            
    return;
        
    end
        self
    :DoSingleJoin(pPlayer);
        
    Battle:ResetBonus(pPlayernNowTime);
    end

    -- ִս
    function tbNpcBase:DoSingleJoin(pPlayer)
        
    local pPlayerOld     me;
        if (
    not self.tbMissionthen -- 
            me 
    pPlayer;
            
    Dialog:Say("Ngươi đã đến trễ, lần sau hãy quay lại");
            
    me pPlayerOld;
            return;
        elseif (
    self.tbMission.nState == 2then -- սֿʼ
            pPlayer
    .Msg(self.tbDialog[4]);
        else            -- 
    սֻûʼ
            me 
    pPlayer;    
            
    Dialog:Say(self.tbDialog[3]);
            
    me pPlayerOld;
        
    end
        
    if (self.tbMission.nState == 2then -- սֿʼż¼Ӫսid
            
    --¼ҲμνսĴ
            local nBTKey 
    self.tbMission.nBattleKey;
            
    local bIsDiffBattle Battle:IsDiffBattle(pPlayernBTKey)
            if (
    bIsDiffBattle and == bIsDiffBattlethen
                Stats
    .Activity:AddCount(pPlayerStats.TASK_COUNT_BATTLE1);
            
    end
            
            pPlayer
    .SetTask(Battle.TSKGIDBattle.TSK_BTPLAYER_KEYself.tbMission.nBattleKey);
            
    pPlayer.SetTask(Battle.TSKGIDBattle.TASKID_BTCAMPself.nCampId);

        
    end
        self
    .tbMission:JoinPlayer(pPlayerself.nCampId);
    end

    function tbNpcBase:OnBattleInfo() -- todo
        self
    :Refresh();
    end

    Battle
    .tbNpcBase    tbNpcBase;

    tbNpc:Init(); 
    code của npc.. e để mặc định vẫn bị , e đã thử bỏ 1 số dòng nhưng vẫn zậy
    mong cao nhân chỉ giáo ạ
    Khách viếng thăm hãy cùng hxhhxhz xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên
    Ngày tham gia
    Mar 2014
    Bài viết
    364
    Thanks
    118
    Thanked 24 Times in 24 Posts

    Ðề: Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    Trích dẫn Gửi bởi hxhhxhz [Only registered and activated users can see links. ]
    a cho e hõi lỗi này với ạ

    [Only registered and activated users can see links. ]

    e đi dc 1 trận tống kim gia dụ quan xong ra..

    Típ tục đi trận thứ 2 nhưng khi click zô npc nó báo thế này ạ

    mong a giúp e với...

    PHP Code:
    -- ļуξű
    -- zhouchenfei  create  2007-09-17

    local tbnpc    
    npc:getclass("mubingxiaowei");

    function 
    tbnpc:init()
        if (
    self.tbmapnpcthen    -- ֧
            
    return;
        
    end

        local tbmapnpc    
    = {};    -- ͨͼidѱļуξ
        
    for nleveltbmid in pairs(battle.mapid_level_camp) do
            for 
    nbattleseqtbmapid in pairs(tbmid) do
                for 
    ncampidnmapid in pairs(tbmapid) do
                    
    tbmapnpc[nmapid]    = lib:newclass(battle.tbnpcbasenmapidnlevelncampidnbattleseq);
                
    end
            end
        end
        
        self
    .tbmapnpc            tbmapnpc;
    end

    -- ļуξի
    function tbnpc:ondialog()
        
    local tbnpc    self.tbmapnpc[him.nmapid];
        
        
    tbnpc:ondialog();
    end

    -- һļуξļ
    local tbnpcbase    
    battle.tbnpcbase or {};    -- ֧

    tbnpcbase
    .tbbattleseq = {" 1"" nhị"" 3"};

    function 
    tbnpcbase:init(nmapidnlevelncampidnbattleseq)
        
    self.nmapid        nmapid;
        
    self.nlevel        nlevel;
        
    self.ncampid    ncampid;
        
    self.nbattleseq nbattleseq;
        
    self.tbdialog    battle.tbcampdialog[self.ncampid];
    end

    -- ˢ£ʹӵӧӫ
    function tbnpcbase:refresh()
        
    local tbmission    battle:getmission(self.nlevelself.nbattleseq);
        if (
    tbmissionthen
            self
    .tbmission    tbmission;
            
    self.tbcamp        tbmission.tbcamps[self.ncampid];
        else
            
    self.tbmission    nil;
            
    self.tbcamp        nil;
        
    end
    end

    function tbnpcbase:ondialog()
        
    self:refresh();

        if (
    me.isfreshplayer() == 1then
            dialog
    :say("bạn chưa gia nhập môn phái, gia nhập rồi hãy quay lại!");
            return;
        
    end

        
    if not global_agent then
            
    if (== self:awardgood()) then
                
    return;
            
    end
        end

        battle
    :dbgout("tbnpcbase:ondialog"selfself.nmapidself.tbmission);
        if (
    not self.tbmissionthen
            dialog
    :say("đại quân tuần tra chiến trường vẫn chưa xuất phát, hãy tiếp tục thao luyện và đợi thông báo.");
            return;
        
    end

        
    if (== self:checkmaxnum()) then
            dialog
    :say(self.tbdialog[1]);
            return;
        
    end
        local pplayer 
    me;
        
    local ncheckresult self:checkplayer();
        if (
    == ncheckresultthen
            local npllevel    
    battle.level_limit[self.nlevel];
            
    dialog:say(string.format(self.tbdialog[2], npllevel),
                {
                    {
    string.format("ta muốn gia nhập quân <color=red>%s<color>"battle.name_camp[self.ncampid]), self.onsinglejoinselfpplayer},
                    {
    "để ta suy nghĩ đã"},
                }
            );
        elseif (
    == ncheckresultthen
            dialog
    :say("ngươi muốn vào chiến trường bây giờ sao? Lúc chiến đấu, ngươi và người khác hợp thành tổ đội giết địch, một công đôi việc.",
                {
                    {
    "ta muốn vào chiến trường"self.onsinglejoinselfpplayer},
                    {
    "chờ chút hãy nói"},
                }
            );
        
    end
    end

    -- һνսļֶӧľ1ʾ0ʾü
    function tbnpcbase:awardgood()
        -- 
    жƿܸ轱
        local pplayer 
    me;
        if (
    self.tbmissionthen
            local ncampid        
    pplayer.gettask(battle.tskgidbattle.taskid_btcamp);
            
    local nmybtkey        pplayer.gettask(battle.tskgidbattle.tsk_btplayer_key);
            
    local nbtkey        self.tbmission.nbattlekey;
            
    local ndiaflag        0;

            
    local nbattleseqa    math.fmod(nmybtkey10);
            
    local nbattleseqb    math.fmod(nbtkey10);
            
    local nbattletimea    nmybtkey nbattleseqa;
            
    local nbattletimeb    nbtkey nbattleseqb;

            -- 
    idһʾͬһʱβͬσDzͬһʱ
            
    if (nmybtkey ~= nbtkeythen
                
    -- ͬһʱεıʾҿܴһγ
                
    if (nbattletimea == nbattletimebthen
                    ndiaflag 
    1;
                
    end
            
    else -- ͬid
                
    -- սֿʼ˾ͲˣֱӼի
                
    if (self.tbmission.nstate == 2then
                    
    return 1;
                
    end
                
    -- ͬһȴͬһӫ
                
    if (~= ncampid and self.ncampid ~= ncampidthen
                    ndiaflag 
    2;
                
    end        
            end

            
    if (ndiaflag == 1then
                dialog
    :say(string.format(self.tbdialog[8], battle.name_gamelevel[self.nlevel], self.tbbattleseq[nbattleseqa], battle.name_camp[ncampid]));
                return 
    0;
            elseif (
    ndiaflag == 2then
                dialog
    :say(self.tbdialog[5]);
                return 
    0;
            
    end
        end

        
    --local nawardpai pplayer.gettask(battle.tskgidbattle.tsk_btplayer_zhanchanglingpai);
        --
    local nawardfu    pplayer.gettask(battle.tskgidbattle.tsk_btplayer_fudai);
        --
    local nbouns    pplayer.gettask(battle.tskgidbattle.tsk_btplayer_totalbouns);
        
        --if (
    nawardpai nawardfu nbouns 0then
            
    --local npaicount        0;
            --
    local nfucount        0;
            --
    local szmsg string.format("điểm tích lũy chiến trường lần trước của ngươi là %d"nbouns);
            --
    local nfinalbouns    0;
            
            --if (
    nbouns 0then
                
    --nfinalbouns nbouns;
                --
    local nmyuse pplayer.gettask(battle.tskgidbattle.tsk_btplayer_usebouns);
                --if (
    nmyuse nbouns battle.battles_point2exp_maxexpthen
                    
    --nfinalbouns battle.battles_point2exp_maxexp nmyuse;
                --
    end
            
    --end
            
    --if (nfinalbouns 0then
                
    --szmsg szmsg .. String.format(", có thể nhận %d điểm phần thưởng kinh nghiệm"nfinalbouns);
            --elseif (
    nfinalbouns == and nbouns 0then
                
    --szmsg szmsg .. String.format(", điểm tích lũy đổi kinh nghiệm tuần này của ngươi đã đạt giới hạn <color=yellow>500.000<color>, trong tuần không thể đổi kinh nghiệm nhưng vẫn nhận được phần thưởng điểm cống hiến gia tộc"nfinalbouns);
            --
    end
            
            
    --if (nawardpai and nawardfu 0then
                
    --szmsg szmsg .. String.format(", có thể nhận 1 lệnh bài chiến trường %s và 2 túi phúc hoàng kim"battle.name_gamelevel[nawardpai]);
                --
    npaicount    1;
                --
    nfucount    nawardfu;
            --elseif (
    nawardfu 0then
                
    --szmsg szmsg .. ", có thể nhận 1 túi phúc";
                --
    nfucount nawardfu;
            --
    end
            
    --local tbopt = { 
                --{
    "đồng ý"self.onawardgoodselfpplayernawardpainpaicountnfucountnbounsnfinalbouns}, 
                --{
    "nói tiếp đi"},
            --};
            --
    local __szextendinfo specialevent.extendaward:docheck("battle"pplayernbounsself.nlevel);
            --
    dialog:say(szmsg..szextendinfo..", muốn nhận bây giờ?"tbopt);
            --return 
    0;
        --
    end
        
    --return 1;
    end

    --function tbnpcbase:onawardgood(pplayernitemidnpaicountnfucountnbounsnfinalbouns)
        --if (
    == battle:awardgood(pplayernitemidnpaicountnfucountnbounsself.nlevel)) then
            
    -- ƶĵȼ
            
    --pplayer.msg("hành trang của bạn không đủ chỗ, không thể nhận phần thưởng");
        --else
            --
    local szmsg string.format("điểm tích lũy chiến trường lần trước của ngươi là %d"nbouns);
            --if (
    nfinalbouns 0then
                
    --szmsg szmsg .. String.format(", đã nhận %d điểm phần thưởng kinh nghiệm"nfinalbouns);
            --elseif (
    nfinalbouns == and nbouns 0then
                
    --szmsg szmsg .. String.format(", điểm tích lũy đổi kinh nghiệm tuần này của ngươi đã đạt giới hạn <color=yellow>500.000<color>, trong tuần không thể đổi kinh nghiệm nhưng vẫn nhận được phần thưởng điểm cống hiến gia tộc"nfinalbouns);
            --
    end
            
    --if (npaicount 0then
                
    --szmsg szmsg .. String.format(", nhận được 1 %s <color=green>lệnh bài chiến trường<color> và 2 <color=yellow>túi phúc hoàng kim<color>."battle.name_gamelevel[nitemid]);
            --elseif (
    nfucount 0then
                
    --szmsg szmsg .. ", nhận được 1 <color=yellow>túi phúc hoàng kim<color>."
            
    --end
            
    --pplayer.msg(szmsg);
        --
    end
        
    --return;
    --
    end

    function tbnpcbase:checkmaxnum()
        
    local nmycampcount        self.tbcamp:getplayercount();
        if (
    battle.btplnum_highbound <= nmycampcountthen
            
    return 0;
        
    end
        
    return 1;
    end

    -- ҵĵȼӫ
    -- ֵ0ҳܽ룻1ұδբμӣ2ұˣխ
    function tbnpcbase:checkplayer()
        if (
    not self.tbmissionthen
            dialog
    :say("đại quân tuần tra chiến trường vẫn chưa xuất phát, hãy tiếp tục thao luyện và đợi thông báo.");
            return;
        
    end    

        local pplayer 
    me;
        
        
    local njoinlevel    battle:getjoinlevel(pplayer);
        
    local ncampid pplayer.gettask(battle.tskgidbattle.taskid_btcamp);
        
    local nflag 1;

        
    local nmybtkey        pplayer.gettask(battle.tskgidbattle.tsk_btplayer_key);
        
    local nbtkey        self.tbmission.nbattlekey;
        
    local ndiaflag        0;


        
    local nbattleseqa math.fmod(nmybtkey10);
        
    local nbattleseqb math.fmod(nbtkey10);
        
    local nbattletimea nmybtkey nbattleseqa;
        
    local nbattletimeb nbtkey nbattleseqb;

        if (
    nmybtkey ~= nbtkeythen
            
    if (nbattletimea == nbattletimebthen
                ndiaflag 
    1;
            
    end
        
    else
            if (
    ~= ncampid and self.ncampid ~= ncampidthen
                ndiaflag 
    2;
            elseif (
    ~= ncampid and self.ncampid == ncampidthen
                nflag 
    2;
            
    end
        end

        
    if (nflag == 1then
            
    if (self.nlevel njoinlevelthen
                local tbopt 
    =    {
    --                                {
    "˽ս۵ϣ"self.onbattleinfoself},
                                    {
    "được rồi"},
                                };
                
    dialog:say("trình độ của ngươi chưa đạt, hãy về cố gắng luyện tập sau này quay lại góp sức cho nước nhà!"tbopt);
                return 
    0;
            
    end

            
    if (pplayer.isfreshplayer() == 1then
                dialog
    :say("bạn chưa gia nhập môn phái, gia nhập rồi hãy quay lại!");
                return 
    0;
            
    end
        
            
    if (self.nlevel njoinlevelthen    -- 
                
    dialog:say(string.format("ngươi đã tinh thông võ nghệ, hãy đi tham gia chiến trường <color=yellow>%s<color>!"battle.name_gamelevel[njoinlevel]));
                return 
    0;
            
    end
        end
        
        
    if (ndiaflag == 1then
            dialog
    :say(string.format(self.tbdialog[8], battle.name_gamelevel[self.nlevel], self.tbbattleseq[nbattleseqa], battle.name_camp[ncampid]));
            return 
    0;
        elseif (
    ndiaflag == 2then
            dialog
    :say(self.tbdialog[5]);
            return 
    0;
        
    end

        
    if (== self:checknumdif(self.nlevel)) then
            local nsongnum    
    self.tbmission.tbcamps[battle.campid_song].nplayercount;
            
    local njinnum    self.tbmission.tbcamps[battle.campid_jin].nplayercount;
            
    local szmsg        string.format("hiện tại quân số hai bên là: <color=orange>tống: %d<color>, <color=purple>kim: %d<color>, so với quân địch, ta tạm thời thiếu hụt quân số, ngươi hãy kiên nhẫn chờ đợi tí nữa quay lại."nsongnumnjinnum);
            
    dialog:say(szmsg);
            return 
    0;
        
    end

        
    return nflag;
    end

    function tbnpcbase:checknumdif(njoinlevel)
        
    local nmycampnum    self.tbcamp:getplayercount();
        
    local nenemycampnum    self.tbcamp.tboppcamp:getplayercount();
        if (
    nmycampnum battle.tbbtplnum_lowbound[njoinlevel]) then
            
    return 1;
        
    end
        local ntemp            
    nmycampnum nenemycampnum;
        
    local ndifnumlimit    math.max(battle.btplnum_numdif, (nmycampnum nenemycampnum) * 0.1);
        if (
    ntemp >= ndifnumlimitthen
            
    return 0;
        
    end
        
    return 1;
    end

    -- ѡ˽ս
    function tbnpcbase:onsinglejoin(pplayer)
        
    self:refresh();
        
        if (
    == self:checkplayer()) then
            
    return;
        
    end
        
        self
    :dosinglejoin(pplayer);
    end


    function tbnpcbase:onnewenter(pplayernnowtime)
        if (
    == self:checkplayer()) then
            
    return;
        
    end
        self
    :dosinglejoin(pplayer);
        
    battle:resetbonus(pplayernnowtime);
    end

    -- ִս
    function tbnpcbase:dosinglejoin(pplayer)
        
    local pplayerold     me;
        if (
    not self.tbmissionthen -- 
            me 
    pplayer;
            
    dialog:say("ngươi đã đến trễ, lần sau hãy quay lại");
            
    me pplayerold;
            return;
        elseif (
    self.tbmission.nstate == 2then -- սֿʼ
            pplayer
    .msg(self.tbdialog[4]);
        else            -- 
    սֻûʼ
            me 
    pplayer;    
            
    dialog:say(self.tbdialog[3]);
            
    me pplayerold;
        
    end
        
    if (self.tbmission.nstate == 2then -- սֿʼż¼ӫսid
            
    --¼ҳμνսĵ
            local nbtkey 
    self.tbmission.nbattlekey;
            
    local bisdiffbattle battle:isdiffbattle(pplayernbtkey)
            if (
    bisdiffbattle and == bisdiffbattlethen
                stats
    .activity:addcount(pplayerstats.task_count_battle1);
            
    end
            
            pplayer
    .settask(battle.tskgidbattle.tsk_btplayer_keyself.tbmission.nbattlekey);
            
    pplayer.settask(battle.tskgidbattle.taskid_btcampself.ncampid);

        
    end
        self
    .tbmission:joinplayer(pplayerself.ncampid);
    end

    function tbnpcbase:onbattleinfo() -- todo
        self
    :refresh();
    end

    battle
    .tbnpcbase    tbnpcbase;

    tbnpc:init(); 
    code của npc.. E để mặc định vẫn bị , e đã thử bỏ 1 số dòng nhưng vẫn zậy
    mong cao nhân chỉ giáo ạ
    upssssssssssssssssssssssssssssssssssssssssssssssss sssssssssssssss
    Khách viếng thăm hãy cùng hxhhxhz xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #3
    Thành Viên Tâm Huyết tuidangvui's Avatar
    Ngày tham gia
    Mar 2009
    Bài viết
    715
    Thanks
    114
    Thanked 477 Times in 243 Posts

    Ðề: Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    Nội dung file nhìn thấy sai sai @@, dùng sv nào, thử lấy file của sv khác bỏ qua.
    yh, sky: nhatkiemthe [Only registered and activated users can see links. ]

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

    hxhhxhz (24-10-16)

  5. #4
    Thành Viên
    Ngày tham gia
    Mar 2014
    Bài viết
    364
    Thanks
    118
    Thanked 24 Times in 24 Posts

    Ðề: Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    Trích dẫn Gửi bởi tuidangvui [Only registered and activated users can see links. ]
    Nội dung file nhìn thấy sai sai @@, dùng sv nào, thử lấy file của sv khác bỏ qua.
    e lấy 3 sever, sever nào cũng thay qua và bị ..
    k bjt có khi do time fime k ạ
    Khách viếng thăm hãy cùng hxhhxhz xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #5
    Thành Viên Tâm Huyết tuidangvui's Avatar
    Ngày tham gia
    Mar 2009
    Bài viết
    715
    Thanks
    114
    Thanked 477 Times in 243 Posts

    Ðề: Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    lấy file của sv shinichi bỏ qua thử
    yh, sky: nhatkiemthe [Only registered and activated users can see links. ]

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

    hxhhxhz (24-10-16)

  8. #6
    Thành Viên
    Ngày tham gia
    Mar 2014
    Bài viết
    364
    Thanks
    118
    Thanked 24 Times in 24 Posts

    Ðề: Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    Trích dẫn Gửi bởi tuidangvui [Only registered and activated users can see links. ]
    lấy file của sv shinichi bỏ qua thử
    e là e k bjt này là lỗi do npc hay lỗi do scrip phần thưởng đó a
    Khách viếng thăm hãy cùng hxhhxhz xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #7
    Thành Viên Tâm Huyết tuidangvui's Avatar
    Ngày tham gia
    Mar 2009
    Bài viết
    715
    Thanks
    114
    Thanked 477 Times in 243 Posts

    Ðề: Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    ác, nếu xào nấu phần thưởng thì thua, trước h thường thích ngâm nguyên gốc, nên ko rõ mấy cái chế biến thêm
    yh, sky: nhatkiemthe [Only registered and activated users can see links. ]

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

    hxhhxhz (24-10-16)

  11. #8
    Thành Viên
    Ngày tham gia
    Mar 2014
    Bài viết
    364
    Thanks
    118
    Thanked 24 Times in 24 Posts

    Ðề: Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    Trích dẫn Gửi bởi tuidangvui [Only registered and activated users can see links. ]
    ác, nếu xào nấu phần thưởng thì thua, trước h thường thích ngâm nguyên gốc, nên ko rõ mấy cái chế biến thêm
    e chỉ chỉnh phần thưởng theo hạng thôi a.. còn lại để nguyên
    nhưng sever của e full 89 ..
    nên e k bjt nó bị sao nữa
    Khách viếng thăm hãy cùng hxhhxhz xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  12. #9
    Thành Viên Tâm Huyết tuidangvui's Avatar
    Ngày tham gia
    Mar 2009
    Bài viết
    715
    Thanks
    114
    Thanked 477 Times in 243 Posts

    Ðề: Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    Cũng đang bị lỗi TK, do thử xào nấu sao đó, h ko vào dc TK luôn, ghét bỏ luôn, ko ngâm nữa , chép lại file gốc ban đầu, vào lại TK bình thường, fẻ, ko dám dụng nữa, hại não quá
    yh, sky: nhatkiemthe [Only registered and activated users can see links. ]

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

    hxhhxhz (24-10-16)

  14. #10
    Thành Viên
    Ngày tham gia
    Mar 2014
    Bài viết
    364
    Thanks
    118
    Thanked 24 Times in 24 Posts

    Ðề: Lỗi NPC Tống Kim.. Không vào được tống kim khi di lần 2

    Trích dẫn Gửi bởi tuidangvui [Only registered and activated users can see links. ]
    Cũng đang bị lỗi TK, do thử xào nấu sao đó, h ko vào dc TK luôn, ghét bỏ luôn, ko ngâm nữa , chép lại file gốc ban đầu, vào lại TK bình thường, fẻ, ko dám dụng nữa, hại não quá
    e đã thử bó của sever khác và cái kết vẫn thế @@
    Khách viếng thăm hãy cùng hxhhxhz xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 1 của 2 1 2 CuốiCuối

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à 06:16 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ệ.