Script có 1 phần liên quan đến TRAP !
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
    Super Moderator thaihoa91's Avatar
    Ngày tham gia
    Apr 2008
    Bài viết
    12,110
    Thanks
    662
    Thanked 3,168 Times in 1,602 Posts

    Script có 1 phần liên quan đến TRAP !

    Nếu như ai có nghiên cứu phần TRAP rùi thì cũng đã bít ta chỉ có thể dùng TRAP có sẵn của Vinagame chứ ko hề tạo thêm dc (bằng cách unpack .dat TRAP và đặt tên .lua tương ứng). Tình cờ ngồi unpack bằng cmd có thấy 1 Script tên là head.lua (trong script có ghi File Name) có đoạn định nghĩa 1 hàm tự tạo TRAP bằng Script thấy cũng hay (nhưng chưa test ^__^). Nếu ai có hứng thú thì về nhà ngâm hén ^__^

    Đoạn tô màu xanh chính là đoạn định nghĩa hàm Add thêm Trap đó !

    Còn có cả định nghĩa cho time nữa ! Thằng KingSoft có để 62s=1m2s (dịch chữ viết tắt 62 seconds = 1 minutes 2 seconds)

    Code:
    ----------------------------------------------------------------
    --FileName:    head.lua
    --Creater:    firefox
    --Date:        2005-08-28
    --Comment:    ÖÜÄ©»î¶¯£ºÎÀ¹úƠ½ƠùÖ®·é»đÁ¬³Ç
    --            ¹¦ÄÜ£º»î¶¯Í·Îļ₫×Ô¶¨̉庯Êư
    -----------------------------------------------------------------
    Include("\\script\\missions\\newcitydefence\\headinfo.lua")
    Include([[\script\tong\tong_award_head.lua]]);--°ï»áÖÜÄ¿±ê¹±Ï׶Èby־ɽ
    --Include("\\script\\lib\\tireddegree.lua")
    Include("\\script\\task\\task_addplayerexp.lua")
    
    function cloudopen_defence()
        local weekdate = tonumber(date("%w"))
        if (weekdate ~= FIRE_OPENDAY_SATURDAY and weekdate ~= FIRE_OPENDAY_SUNDAY) then
            return nil
        end
        return 1
    end
    
    ------------------------------------------------------------------------------------------
    function GetIniFileData(mapfile, sect, key)
        if (IniFile_Load(mapfile, mapfile) == 0) then 
            print("Load IniFile Error!"..mapfile)
            return ""
        else
            return IniFile_GetData(mapfile, sect, key)    
        end
    end
    
    function GetTabFileHeight(mapfile)
        if (TabFile_Load(mapfile, mapfile) == 0) then
            print("Load TabFileError!"..mapfile);
            return 0
        end
        return TabFile_GetRowCount(mapfile)
    end;
    
    function GetTabFileData(mapfile, row, col)
        if (TabFile_Load(mapfile, mapfile) == 0) then
            print("Load TabFile Error!"..mapfile)
            return 0
        else
            return tonumber(TabFile_GetCell(mapfile, row, col))
        end
    end
    ------------------------------------------------------------------------------------------------
    -----½«Ăë´«»»³É·ÖÓëĂ룬±ÈÈç62s = 1m2s
    function GetMinAndSec(nSec)
    nRestMin = floor(nSec / 60);
    nRestSec = mod(nSec,60)
    return nRestMin, nRestSec;
    end;
    -----------------------------------------------------------------------------------------------
    
    --"123,234" -> 123 , 234,½«̉»¸ö×Ö·û´®Đ´³ÉµÄ×ø±êÊư¾Ưת»¯³ÉÁ½¸öÊư×Ö±äÁ¿
    function bt_str2xydata(str)
        m = strfind(str,",")
        x = tonumber(strsub(str,0,m-1))
        y = tonumber(strsub(str,m+1))
        return x,y
    end
    ------------------------------------------------------------------------------------------------
    
    --´Ó×ø±êÎļ₫ÖĐËæ»ú»ñµẲ»¸ö×ø±ê
    function bt_getadata(file)
        local totalcount = GetTabFileHeight(file) - 1;
        id = random(totalcount);
        x = GetTabFileData(file, id + 1, 1);
        y = GetTabFileData(file, id + 1, 2);
        return x,y
    end
    
    --¸ù¾ƯtrapfileµÄÎļ₫µÄ×ø±ê¼¯ºÏ±í£¬²úÉúËùÓеÄtrapµă£¬²¢¹ØÁªscriptfileµÄ½Å±¾        
    function bt_addtrap(trapfile, scriptfile)
        local count = GetTabFileHeight(trapfile);
    --    scriptid = FileName2Id(scriptfile);
    --print(scriptfile)    
        ID = SubWorldIdx2ID(SubWorld);
        
        for i = 1, count - 1 do
            x = GetTabFileData(trapfile, i + 1, 1);
            y = GetTabFileData(trapfile, i + 1, 2);
            AddMapTrap(ID, x,y, scriptfile);
        end;
    end;
    
    --¸ù¾ƯnpcfileµÄÎļ₫µÄ×ø±ê¼¯ºÏ±í£¬²úÉúËùÓеÄnpcÄ£°åºÅΪtnpcidµÄ¶Ô»°npc£¬²¢¹ØÁªscriptfileµÄ½Å±¾        
    function bt_adddiagnpc(npcfile, scriptfile, tnpcid, name)
        addcount = 0;
        local count = GetTabFileHeight(npcfile);
        
        for i = 1, count - 1 do
            x = GetTabFileData(npcfile, i + 1, 1);
            y = GetTabFileData(npcfile, i + 1, 2);
            if (name ~= nil or name ~= "") then
                npcidx = AddNpc(tnpcid, 1, SubWorld, x, y, 1, name)            
            else
                npcidx = AddNpc(tnpcid, 1, SubWorld, x, y);
            end
    
            if (npcidx > 0) then
                SetNpcScript(npcidx, scriptfile)
                addcount = addcount + 1
            else
                print("error!can not add dialog npc !tnpcid:"..tnpcid.." ["..SubWorldIdx2ID(SubWorld)..","..x..","..y);
            end
        end;
        return addcount
    end;    
    function bt_add_a_diagnpc(scriptfile, tnpcid, x, y, name)
            if (name ~= nil or name ~= "") then
                npcidx = AddNpc(tnpcid, 1, SubWorld, x, y, 1 , name);
            else
                npcidx = AddNpc(tnpcid, 1, SubWorld, x, y )
            end
            
            if (npcidx > 0) then
                SetNpcScript(npcidx, scriptfile)
            else
                print("error!can not add dialog npc !tnpcid:"..tnpcid.." ["..SubWorldIdx2ID(SubWorld)..","..x..","..y);
            end
            return npcidx
    end
    
    
    function cd_addfightnpc(npcfile, ss, ee, npcid, level, npcname, boss, npccamp, npcscript, boss4)
        local posx = 0
        local posy = 0
        local npcindex = 0
        local s_npcid = npcid
        for i = ss, ee do
            posx = GetTabFileData( npcfile, i + 1, 1 );
            posy = GetTabFileData( npcfile, i + 1, 2 );
            if (boss4 ~= nil) then
                s_npcid = npcid + random(0,1)
            end
            npcindex = AddNpc( s_npcid, level, SubWorld, posx, posy, 1, npcname, boss )
            if( npcindex > 0 ) then
                --SetNpcCurCamp( npcindex, npccamp )
                SetNpcDeathScript( npcindex, npcscript )
            end
        end
    end
    
    
    function cd_buildfightnpc_old()
        --»ñµĂµØͼÏà¶ÔÓ¦µÄÉ趨Îļ₫Ăû
        local mapfile = GetMapInfoFile(mapid)
        local citysection = "MapInfo"
        local npcfile = GetMissionS( MS_S_CMNPCFILE )
        local filehigh = GetTabFileHeight( npcfile ) - 1
    --print(filehigh.."==filehigh")
        if ( filehigh <= 0 or filehigh == nil ) then
    --        print("commonfile error ")
            return
        end
        
            --°Ú·ÅºĂÎÀ±ø
        local weibingfile = GetIniFileData(mapfile, citysection, "weibing");
        
        --°Ú·ÅºĂÊسǽ«¾ü
        local jiangjunxy;
        for i = 1, 3 do
            jiangjunxy = GetIniFileData(mapfile, citysection, "jiangjun"..i);
            x, y = bt_str2xydata(jiangjunxy);
            
        end;
        
        local citycamp = GetMissionV( MS_CITYCAMP )
    --print(citycamp.."==citycamp")
        local npccamp = 1
        local npcname = "Qu©n Tèng"
        if ( citycamp == 1 ) then
            npccamp = 2
            npcname = "Qu©n Kim"
        end
        local npccount_1 = floor( filehigh * 0.82 )        --1886
        local npccount_2 = floor( filehigh * 0.12 )        --276
        local npccount_3 = floor( filehigh * 0.06 )        --138
        
        cd_addfightnpc(npcfile, 1, npccount_1, tbTNPC_SOLDIER[npccamp][1], tbSOLDIER_LEVEL[1], npcname..tbSOLDIER_NAME[1], 0, npccamp, tbFILE_NPCDEATH[1])
        
        cd_addfightnpc(npcfile, npccount_1 + 1, npccount_1 + npccount_2, tbTNPC_SOLDIER[npccamp][2], tbSOLDIER_LEVEL[2], npcname..tbSOLDIER_NAME[2], 2, npccamp, tbFILE_NPCDEATH[2])
    
        cd_addfightnpc(npcfile, npccount_1 + npccount_2 + 1, npccount_1 + npccount_2 + npccount_3, tbTNPC_SOLDIER[npccamp][3], tbSOLDIER_LEVEL[3], npcname..tbSOLDIER_NAME[3], 1, npccamp, tbFILE_NPCDEATH[3])
        
    end
    
    function GameOver()
        local oldPlayerIndex = PlayerIndex
        local citycamp = GetMissionV(MS_CITYCAMP)
        local campname = ""
        if ( citycamp == 1 ) then
            campname = "Qu©n Tèng"
        else
            campname = "Qu©n Kim"
        end
        local isWin = 0;--¼Ç¼ÊÇ·ñʤÀû£­£­by־ɽ
        if ( GetMissionV(MS_CITYDEFENCE) == 1 ) then
            isWin = 1;--by־ɽ
            --ʤÀû
            cd_awardall(campname)
            AddGlobalNews("tr¶i qua chiƠn ®Êu quyƠt liÖt, "..campname.."b¶o vÖ thµnh c«ng thµnh tr×!")
            Msg2MSAll( MISSIONID, "tr¶i qua chiƠn ®Êu quyƠt liÖt, "..campname.."b¶o vÖ thµnh c«ng thµnh tr×!" )
            cd_writelog(date("%m-%d,%H:%M;")..campname.."Thñ thµnh thµnh c«ng, sè ng­êi=="..GetMSPlayerCount(MISSIONID, 0))
        else
            --ʧ°Ü
            AddGlobalNews("Tr¶i qua cuéc chiƠn k̃ch liÖt, dï ®· cè g¾ng nh­ng cuèi cïng b¹n bªn b¹n chèng kh«ng l¹i ®̃ch, thñ thµnh thÊt b¹i……")
            Msg2MSAll( MISSIONID, "Tr¶i qua cuéc chiƠn k̃ch liÖt, dï ®· cè g¾ng nh­ng cuèi cïng b¹n bªn b¹n chèng kh«ng l¹i ®̃ch, thñ thµnh thÊt b¹i……" )
            cd_writelog(date("%m-%d,%H:%M;")..campname.."Thñ thµnh thÊt b¹i, sè ng­êi=="..GetMSPlayerCount(MISSIONID, 0).."; sè l­îng npc cßn l¹i, "..tbSOLDIER_NAME[1]..":"..GetMissionV(MS_MAXCOUNTNPC_1)..";"..tbSOLDIER_NAME[2]..":"..GetMissionV(MS_MAXCOUNTNPC_1+1)..";"..tbSOLDIER_NAME[3]..":"..GetMissionV(MS_MAXCOUNTNPC_1+2)..";"..tbSOLDIER_NAME[4]..":"..GetMissionV(MS_MAXCOUNTNPC_1+3)..";"..tbSOLDIER_NAME[5]..":"..GetMissionV(MS_MAXCOUNTNPC_1+4)..";")
        end
        --cd_WinLadder(isWin) --ÅÅĐĐ
        local tbPlayer = {};
        local idx = 0;
        local pidx = 0;
        for i = 1 , 500 do 
            idx, pidx = GetNextPlayer(MISSIONID,idx, 0);
            if( pidx > 0 ) then
                tbPlayer[ getn(tbPlayer) + 1 ] = pidx
            end
            if (idx <= 0) then 
                 break
             end;
        end     
         
         for i= 1, getn(tbPlayer) do 
             PlayerIndex = tbPlayer[i];
             --citycamp = GetMissionV(MS_CITYCAMP);
             tongaward_citywar(isWin);--°ï»áÖÜÄ¿±êby־ɽ
            camp = GetCamp();
            SetCurCamp(camp);
            DisableTeamChangeCamp(0)
            SetTaskTemp(200,0);
            SetLogoutRV(0);
            SetDeathScript("");
            SetFightState(0)        -- ´̣ÍêỜºó¸ÄΪ·ÇƠ½¶·×´̀¬£¨by Dan_Deng£©
            SetPunish(1)
            ForbidChangePK(0);
            SetPKFlag(0)
            SetRevPos(tbDEFENCE_SIGNMAP[citycamp], random(3))
            NewWorld(bt_getsignpos(citycamp))
        end;
        PlayerIndex = OldPlayerIndex
    end
    
    function cd_join(camp)
        LeaveTeam();
        local mapid, posx, posy = cd_getjoinpos(camp);
        NewWorld( mapid, posx, posy );
        AddMSPlayer(MISSIONID,camp);
        EnterChannel(PlayerIndex, GetMissionS(MS_S_CD_NAME))
        SetRevPos(tbDEFENCE_SIGNMAP[camp], 1)
        SetCurCamp(camp);
        DisableTeamChangeCamp(1)
        SetTaskTemp(200,1);
        SetLogoutRV(1);
        SetPunish(0);
        SetFightState(0);
        SetPKFlag(0);
        ForbidChangePK(1);
        SetTempRevPos(mapid, posx * 32, posy * 32);
        SetDeathScript( FILE_PLAYERDEATH );
        if (GetMissionV(MS_STATE) == 2) then
            Msg2Player("B¹n ®· gia nhËp <color=white>"..GetMissionS(MS_S_CD_NAME).."<color> phe. T­íng lÜnh thñ thµnh hiÖn lµ "..GetMissionV(MS_SHOUCHENGWEIBING).."ng­êi, viÖn binh tæng céng"..GetMSPlayerCount(MISSIONID, 0).."ng­êi.")
        else
            Msg2Player("B¹n ®· gia nhËp"..GetMissionS(MS_S_CD_NAME).."phe.")
        end
    end
    
    function cd_awardall(szCampName)        --Êسdzɹ¦·¢½±
        local tbPlayer = {};
        local idx = 0;
        local pidx = 0;
        for i = 1 , 600 do 
            idx, pidx = GetNextPlayer(MISSIONID,idx, 0);
            if( pidx > 0 ) then
                tbPlayer[ getn(tbPlayer) + 1 ] = pidx
            end
            if (idx <= 0) then 
                 break
             end;
        end     
         
         oldPlayerIndex = PlayerIndex;
         local szMsg = szCampName.."Giµnh ®­îc th¾ng lîi cuèi cïng, nhËn ®­îc %d ®iÓm kinh nghiÖm."
         for i= 1, getn(tbPlayer) do 
             PlayerIndex = tbPlayer[i];
             local nsumExp = cd_calc_sumexp();
             local nAwardExp = 0;
             
             if (nsumExp >= 1000000) then
                nAwardExp = 10000000;
            elseif (nsumExp >= 500000) then
                nAwardExp = floor(nsumExp / 100000) * 1000000;
            end;
            
            if (nAwardExp >= 0 and nAwardExp <= 10000000) then
                AddOwnExp(nAwardExp);
                Msg2Player(format(szMsg, nAwardExp));
            end;
            --nExp = addTiredOwnExp(nExp*10000)
        end
        PlayerIndex = oldPlayerIndex
    end
    
    function bt_getsignpos(camp)
        if ( camp ~= 1 and camp ~= 2 ) then
            camp = 1;
        end;
        local a = random(getn(tbSIGNMAP_POS))
        
        return tbDEFENCE_SIGNMAP[camp], tbSIGNMAP_POS[a][1], tbSIGNMAP_POS[a][2]
    end
    
    function cd_getjoinpos(camp)
        local mapid = tbDEFENCE_MAPID[camp]
        local a = random( getn(tbREVIVAL_POS) )
        return mapid, tbREVIVAL_POS[a][1], tbREVIVAL_POS[a][2]
    end
    
    
    function OnCancel()
    end
    
    function cd_writelog(str)
        local szFileName = "Logs/citydefence_log_"..date("%m%d")..".log"
        local fu = openfile(szFileName, "a")
        write(fu, str.."\r\n")
        flush(fu)
        closefile(fu)
    end
    
    function cd_buildtrapsonroad()    --¼ÓÉÏËùÓĐÍƽø¹ÖÎï×ßỊ̈³ÇÊеÄtrap
        local i;
        local trapfile;
        local scriptfile;
        --¼ÓÉϵÚ̉»̀ơµÀ·ÉϵÄËùÓĐtrap
        for i = 1, 15 do
            trapfile = [[\settings\maps\newcitydefence\trapline]]..(999 + i)..".txt";
            scriptfile = [[\script\missions\newcitydefence\trap\trapline]]..(999 + i)..".lua";
            bt_addtrap(trapfile, scriptfile);
        end;
    
        --¼ÓÉϵڶ₫̀ơµÀ·ÉϵÄËùÓĐtrap
        for i = 1, 13 do
            trapfile = [[\settings\maps\newcitydefence\trapline]]..(1999 + i)..".txt";
            scriptfile = [[\script\missions\newcitydefence\trap\trapline]]..(1999 + i)..".lua";
            bt_addtrap(trapfile, scriptfile);
        end;
        
        --¼ÓÉϵÚÈừơµÀ·ÉϵÄËùÓĐtrap
        for i = 1, 14 do
            trapfile = [[\settings\maps\newcitydefence\trapline]]..(2999 + i)..".txt";
            scriptfile = [[\script\missions\newcitydefence\trap\trapline]]..(2999 + i)..".lua";
            bt_addtrap(trapfile, scriptfile);
        end;
    end;
    
    function cd_awardItem_cc()
            local itemid = 0
            local sum = 0
            ran = ( random(1000) - 1 ) * 10000 + random(10000)
            for j = 1, getn(TB_CD_AWARDITEM) do
                sum = TB_CD_AWARDITEM[j][2] * CD_BASE_VALUE + sum
                if (sum >= ran) then
                    itemid = j
                    break
                end
            end
            itemlist = TB_CD_AWARDITEM[ itemid ][ 3 ]
            if ( getn( itemlist ) == 1) then
                AddEventItem( itenlist[1] )
            elseif ( getn( itemlist ) == 7 ) then
                AddItem( itemlist[1], itemlist[2], itemlist[3], itemlist[4], itemlist[5], itemlist[6], itemlist[7] )
            elseif ( getn( itemlist ) == 2 ) then
                AddGoldItem( itemlist[1], itemlist[2] )
            else
                print("itemparam error!!!! itemid = "..itemid)
            end
            Msg2Player("B¹n nhËn ®­îc<color=yellow>"..TB_CD_AWARDITEM[itemid][1])
    end
    
    -- Çå³ưÉϴηé»đʱ¼ÆËăµÄÀۼƾ­Ñé
    function cd_clear_lastsumexp()
        if (GetTask(TSKID_FIRE_SUMEXP) ~= 0) then
            SetTask(TSKID_FIRE_SUMEXP, 0);
        end;
    end;
    
    -- ±¨Ăûʱ¼Ç¼µÈ¼¶¾­Ñé
    function cd_setsign_levelexp()
        SetTask(TSKID_FIRE_SIGNLVL, GetLevel());
        SetTask(TSKID_FIRE_SIGNEXP, GetExp());
    end;
    
    --ÔÚÀ뿪missionʱ¼ÆËăÀۼƻñµĂ¾­Ñé
    function cd_calc_sumexp()
        local nOldLevel = GetTask(TSKID_FIRE_SIGNLVL);
        local nOldExp = GetTask(TSKID_FIRE_SIGNEXP);
        local nCurSum = tl_countuplevelexp(nOldLevel,nOldExp);
        local nLastSum = GetTask(TSKID_FIRE_SUMEXP);
        
        SetTask(TSKID_FIRE_SUMEXP, nLastSum + nCurSum);
        return nLastSum + nCurSum;
    end;
    Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    [S]-[A]-[N]-[G] sangpronhat's Avatar
    Ngày tham gia
    Apr 2008
    Đang ở
    HCM
    Bài viết
    546
    Thanks
    9
    Thanked 82 Times in 27 Posts

    Ðề: Script có 1 phần liên quan đến TRAP !

    Hy` sao mình hông làm giống Kiếm thế ở các trap mình dặt npc để move qua bên kia
    cái nỳ rất đơn giản dễ làm mừ thuận tiện nữa!!
    Soure game mobile full Unity3d mới nhất cập nhật liên tục
    Có share 1 số source free cho anh em học tập
    Click ngay
    [Only registered and activated users can see links. ]

  3. #3
    Super Moderator thaihoa91's Avatar
    Ngày tham gia
    Apr 2008
    Bài viết
    12,110
    Thanks
    662
    Thanked 3,168 Times in 1,602 Posts

    Ðề: Script có 1 phần liên quan đến TRAP !

    Trích dẫn Gửi bởi sangpronhat [Only registered and activated users can see links. ]
    Hy` sao mình hông làm giống Kiếm thế ở các trap mình dặt npc để move qua bên kia
    cái nỳ rất đơn giản dễ làm mừ thuận tiện nữa!!
    Cái của Kiếm Thế đó đâu phải NPC đâu T_T Nó y chang loại TRAP ở bên JX thui àh ! Các thứ NPC + OBJ + TRAP đều dc quy định ở .dat cả ! Khi đã đặt sẵn .dat trong đường dẫn Script thì khi đến đúng ngay tọa độ .dat đó thì nó thực hiện lệnh Script ngay lập tức ! Đó chính là cách làm việc của TRAP ! Dựa vào cách làm này, thằng KingSoft làm JX 2 (Võ Lâm 2) Nếu ai để ý khi chơi võ lâm 2 thì khi ở khúc gần con suối sẽ nghe tiếng suối, hoặc gần đó có chim bay thì sẽ nghe tiếng chim hót, hoặc ở thành thị nào đó có cái chùa nhỏ thì khi đứng gần ngôi chùa nghe tiếng chuông gõ trong chùa y như thiệt ! Thật ra là nó quy định các tọa độ gần đó sẽ thực hiện Play file âm thanh đó nên mới nghe dc như vậy !
    Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #4
    [S]-[A]-[N]-[G] sangpronhat's Avatar
    Ngày tham gia
    Apr 2008
    Đang ở
    HCM
    Bài viết
    546
    Thanks
    9
    Thanked 82 Times in 27 Posts

    Ðề: Script có 1 phần liên quan đến TRAP !

    Mình chỉ làm cho nó giống thoi
    Vì nó khá đơn giản và dể SD
    ^^!
    Soure game mobile full Unity3d mới nhất cập nhật liên tục
    Có share 1 số source free cho anh em học tập
    Click ngay
    [Only registered and activated users can see links. ]

  5. #5
    Super Moderator thaihoa91's Avatar
    Ngày tham gia
    Apr 2008
    Bài viết
    12,110
    Thanks
    662
    Thanked 3,168 Times in 1,602 Posts

    Ðề: Script có 1 phần liên quan đến TRAP !

    Trích dẫn Gửi bởi sangpronhat [Only registered and activated users can see links. ]
    Mình chỉ làm cho nó giống thoi
    Vì nó khá đơn giản và dể SD
    ^^!
    Nhưng KT và JX 1 khác nhau về đồ họa (KT 2.5D còn JX 1 thì 2D nguyên thủy) mà T_T
    Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #6
    Lão Làng Chém Gió
    Ngày tham gia
    Sep 2009
    Đang ở
    Chém
    Bài viết
    1,445
    Thanks
    1
    Thanked 45 Times in 14 Posts

    Ðề: Script có 1 phần liên quan đến TRAP !

    JX cần gì phải có trap như hòa nói cũng chỉ cần như Sangpronhat là đủ tiêu chuẩn rồi. đừng quá quan tâm đến những cái đó mà hãy nghĩ đến những vấn đề đau đầu nhất kìa ^^
    Khách viếng thăm hãy cùng kinkina2009 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #7
    [S]-[A]-[N]-[G] sangpronhat's Avatar
    Ngày tham gia
    Apr 2008
    Đang ở
    HCM
    Bài viết
    546
    Thanks
    9
    Thanked 82 Times in 27 Posts

    Ðề: Script có 1 phần liên quan đến TRAP !

    Vấn đề 2D hay 2.5D không wan trọng mình có thể lấy cpr skill buz làm 1 npc để move
    Sau đó tạo 1 đoạn script để quy định chỗ move nhưng cái nỳ phải viết khéo thì chỉ xài 1 file còn viết lằng nhằm 100 map là 100 file script rất khó kiểm tra
    Mình dùng 1 table có full tọa độ xong thì cứ Get nếu đúng thì move qua
    to kikina
    Vấn đề trap cũng rất quan trọng đó vì nó thay thế cho việc sữ dụng nhiều xaphu
    lại đảm bảo ít kẹt acc nữa
    Thái hòa pmm mình mình cần trap thật chuẩn của các map để làm việc này nhá
    ^__^!
    Soure game mobile full Unity3d mới nhất cập nhật liên tục
    Có share 1 số source free cho anh em học tập
    Click ngay
    [Only registered and activated users can see links. ]

  8. #8
    Super Moderator thaihoa91's Avatar
    Ngày tham gia
    Apr 2008
    Bài viết
    12,110
    Thanks
    662
    Thanked 3,168 Times in 1,602 Posts

    Ðề: Script có 1 phần liên quan đến TRAP !

    Trích dẫn Gửi bởi kinkina2009 [Only registered and activated users can see links. ]
    JX cần gì phải có trap như hòa nói cũng chỉ cần như Sangpronhat là đủ tiêu chuẩn rồi. đừng quá quan tâm đến những cái đó mà hãy nghĩ đến những vấn đề đau đầu nhất kìa ^^
    Trap rất quan trọng cho JX mà nhất là khi Server đưa lên online ! Có nhìu người chơi cứ nghĩ nếu ko có TĐP ở maps luyện công thì di chuyển sang các maps lân cận đi về nhưng thực chất ko dc, mà lỡ nếu server vừa mới chạy xong nhưng nhân vật đang ở maps luyện công (chưa khởi tạo Server, các NPC chưa xuất hiện), vậy người chơi sẽ bị mắc kẹt ở đó (nếu ko có TĐP) và chỉ còn biết chờ NPC xuất hiện mà thôi ! Với lại ko lẽ muốn di chuyển sang maps gần kế bên thì phải tạo 1 con NPC đứng chần dần ngay đó rồi nhấp vào để di chuyển sao ? Cái đó thực sự là mất đi tính tự nhiên của JX và cả phiền toái nữa !

    Và 1 điều nữa ! Nếu ai muốn dev theo hướng Vinagame thì thực sự rất cần TRAP ! Vì khi làm tại maps Thiếu Lâm Phái chẳng hạn nếu viết nhiệm vụ theo Vinagame và các NPC cũng theo Vinagame vậy liệu có di chuyển sang các maps khu vực nhỏ như Tàng Kinh Các, Phương trượng thiền phòng,.... dc hay ko ?

    Nếu ai đã từng chơi Server Sóng gió trung nguyên Online chắc hẳn sẽ thấy các con NPC xa phu đứng trước cửa các hang động luyện công mục đích là để Move sang maps kế bên hoặc maps khác ! Mà khi add npc vào maps thì càng nhìu thì càng lag maps ! Tại sao chúng ta ko sử dụng cái Trap có sẵn ???
    Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #9
    [S]-[A]-[N]-[G] sangpronhat's Avatar
    Ngày tham gia
    Apr 2008
    Đang ở
    HCM
    Bài viết
    546
    Thanks
    9
    Thanked 82 Times in 27 Posts

    Ðề: Script có 1 phần liên quan đến TRAP !

    Nếu vậy thì tạo 1 skill nói chuyện để di chuyển qua lại
    Vừa tiện lợi vừa rất đơn giản
    Chủ yếu là player thoi !!!
    Còn níu dev thì phải tận ngọn Unpack trap ra mò
    Soure game mobile full Unity3d mới nhất cập nhật liên tục
    Có share 1 số source free cho anh em học tập
    Click ngay
    [Only registered and activated users can see links. ]

  10. #10
    Thành Viên
    Ngày tham gia
    Jan 2009
    Bài viết
    137
    Thanks
    16
    Thanked 7 Times in 6 Posts

    Ðề: Script có 1 phần liên quan đến TRAP !

    Alvin thấy trap luôn luôn cần thiết
    làm thêm cái vô hạn truyền tống phù giống kiếm thế nữa là ok ^^
    Khách viếng thăm hãy cùng Alvin xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

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

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

  1. Vấn đề về đường dẫn Trap !
    Bởi thaihoa91 trong diễn đàn Guides - Kho Lưu trữ
    Trả lời: 8
    Bài viết cuối: 03-02-12, 09:10 AM
  2. Giúp em về Trap với
    Bởi banphaixanh trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 1
    Bài viết cuối: 19-06-11, 08:53 PM
  3. Trap ..........
    Bởi banphaixanh trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 1
    Bài viết cuối: 19-06-11, 07:47 PM
  4. X Trap lỗi điên người
    Bởi svzodiac trong diễn đàn Các Server Không Nằm Trong Box
    Trả lời: 6
    Bài viết cuối: 13-01-09, 08:59 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:49 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ệ.