[JX] Thêm chức năng dịch chuyển đến nơi boss sát thủ cho Nhiếp Thí Trần
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 5 của 5
  1. #1
    Thành Viên
    Ngày tham gia
    Jun 2006
    Đang ở
    Funabashi, Chiba, Japan
    Bài viết
    544
    Thanks
    410
    Thanked 300 Times in 82 Posts

    Thêm chức năng dịch chuyển đến nơi boss sát thủ cho Nhiếp Thí Trần

    Bước 1: Thêm 2 hàm mở rộng mới. SayEx và FindNpc
    • SayEx
      Tự sắp xếp số lựa chọn trong hội thoại khi số lựa chọn quá nhiều. Ví dụ 20 con boss, 20 dòng lựa chọn, nó tự điều chỉnh 10 lựa chọn rồi đến trang sau 10 lựa chọn
    • FindNpc
      Tìm NPC nào đó thuộc MAP rồi trả về 3 giá trị bao gồm Tọa Độ X, Tọa Độ Y, IDMap. Phục vụ việc tìm NPC rồi phù đến vị trí đó
    • Cách thực hiện
      • Cách 1:
        Thêm trực tiếp vào file cần sử dụng 2 hàm mở rộng. Cách này đơn giản bởi vì chỉ việc chép code của 2 cái hàm đó vào cuối file LUA cần sử dụng 2 hàm này là xong
      • Cách 2
        Tạo 1 file LUA mới. Với tên funclibex.lua (Bạn đặt tên gì thì tùy). Nằm trong thư mục script (Hoặc đâu đó miễn trong script). Chép code 2 hàm mở rộng vào đó. Rồi muốn sử dụng 2 hàm này thì dùng Include("\\scri[t\\......\\funclibex.lua"). Khuyến khích dùng cách này, bởi các hàm mở rộng còn có thể được sử dụng bởi các file LUA khác nữa (Chỉ cần Include đến file funclibex)
        Cụ thể trong bài viết này, tôi tạo funclibex.lua nằm trong script/00ff. Và trong file LUA của Nhiếp Thí Trần tôi Include("\\script\\00ff\\funclibex.lua"). Để sử dụng 2 hàm mở rộng
    • Code 2 hàm mở rộng
      PHP Code:
      G_PlayerDailogData = {}
      function 
      SayEx(nDesc,tbOpt,nSelectPerPage,nPage)
      --
      C¸ch dïng
      --local LoiThoai ""
      --local tb = {}
      --
      tinsert(tb,{"Dßng lùa chän",Func,{Value1,Value2}})
      --
      SayEx(LoiThoai,tb) --KhuyÕn c¸o lµ 10 lùa chän cho 1 Page lµ tèi ®anhiÒu qu¸ sau khi thªm 2 dßng "Trang tr­íc" vµ "Trang KÕ" sÏ kh«ng hiÓn thÞ hÕt
      --Kh«ng cÇn thªm dßng "KÕt thóc ®èi tho¹i" v× nã sÏ tù thªm
          
      if nDesc == "" or nDesc == nil then nDesc " " end
          local nTotalSelect 
      getn(tbOpt)
          if 
      nPage == nil then nPage 1 end
          
      if nSelectPerPage == nil then nSelectPerPage 10 end
          local nStart 
      = (nPage 1) * nSelectPerPage 1
          local nEnd 
      nStart nSelectPerPage 1
          
      if nStart nTotalSelect then
              
      return
          
      end
          
      if nEnd nTotalSelect then
              nEnd 
      nTotalSelect
          end
          local tbSayOpt 
      = {}
          for 
      i=nStartnEnd do
              
      tinsert(tbSayOpt,{tbOpt[i][1],tbOpt[i][2],tbOpt[i][3]})
          
      end
          
      if nStart 1 then
              tinsert
      (tbSayOpt, {"Trang Tr­íc"SayEx, {nDesc,tbOpt,nSelectPerPagenPage 1}})
          
      end
          
      if nEnd nTotalSelect then
              tinsert
      (tbSayOpt, {"Trang Sau "SayEx, {nDesc,tbOpt,nSelectPerPagenPage 1}})
          
      end
          tinsert
      (tbSayOpt, {"KÕt thóc ®èi tho¹i"})
          
      G_PlayerDailogData[PlayerIndex] = tbSayOpt
          local tb 
      = {}
          for 
      i1getn(tbSayOpt) do
              
      tinsert(tbtbSayOpt[i][1].. format("/#g_DailogBack(%d)"i))
          
      end
          
      if type(nDesc) == "number" then
              Describe
      (nDescgetn(tb), tb)
          else
              
      TaskSay("<dec>"..nDesctb)
          
      end
      end
      function g_DailogBack(nSelectIdnCount) --Hâ trî hµm SayEx
          local tbSayOpt 
      G_PlayerDailogData[PlayerIndex]
          
      G_PlayerDailogData[PlayerIndex] = nil
          
          
      if tbSayOpt and tbSayOpt[nSelectIdthen
              local nParamCount 
      getn(tbSayOpt[nSelectId])
              if 
      nParamCount == 1 then
                  
      return
              elseif 
      nParamCount == 2 then
                  local pFun 
      tbSayOpt[nSelectId][2]
                  
      pFun()
              elseif 
      nParamCount == 3 then
                  local pFun 
      tbSayOpt[nSelectId][2]
                  
      local tbParam tbSayOpt[nSelectId][3]
                  
                  
      call(pFuntbParam)    
              
      end
          end
      end
      function FindNpc(nName,nIDMap,nType)
      --
      Hµm nµy sÏ t×m kiÕm 1 NPC nµo ®ã dùa theo tªn vµ ID map
      --Sau khi t×m xong hµm sÏ tr¶ vÒ 3 gi¸ trÞ bao gåm 2 gi¸ trÞ to¹ ®é vµ 1 gi¸ trÞ ID cña Map2 gi¸ trÞ to¹ ®é vµ ID map nµy cã thÓ dïng ®Ó teleport ®Õn n¬i
      --NÕu kh«ng t×m ®­îc th× sÏ tr¶ vÒ 3 gi¸ trÞ lµ 0,0,0
      --nType1-HiÖn th«ng b¸o kh«ng t×m thÊy npc qua kªnh Msg2Player 0:Kh«ng hiÖn c¸i th«ng b¸o nµo c¶MÆc ®Þnh lµ 0
          
      if nType == nil then nType 0 end
          NpcIndex 
      GetMapNpcWithName(nIDMap,nName)
          if 
      NpcIndex == nil or NpcIndex == nName then
              
      if nType == 1 then
                  Msg2Player
      ("<color=green>Kh«ng t×m thÊy NPC cã tªn <color=yellow>"..nName.."<color> t¹i b¶n ®å <color=yellow>"..SubWorldName(SubWorldID2Idx(nIDMap)).."<color>.<color>")
              
      end
              
      return 0,0,0
          end
          x
      y,subworld GetNpcPos(NpcIndex[1])
          
      m,n,floor(x/32),floor(y/32),SubWorldIdx2ID(subworld)
          return 
      m,n,k
      end 

    Bước 2: Edit file Nhiếp Thí Trần
    • \script\task\tollgate\killer\nieshichen.lua
    • Thêm đoạn sau vào trên cùng file
      PHP Code:
      Include("\\script\\00ff\\funclibex.lua"); 
    • Tìm dòng
      PHP Code:
      function havetask() 
      Thêm vào ngay trước đoạn đó 1 đoạn code
      PHP Code:
      tab_ToaDoBossST = {
      --    
      Tªn boss ph¶i lÊy trong \script\task\tollgate\killbosshead.lua nã míi chuÈnVµ FindNpc nã míi cã thÓ t×m thÊy
      --    IDMap,ID(Sè dßng)trong killer.txttªn bosstªn mapcÊp ®é boss s¸t thñ
          
      {73,1,"Tr¸c L·nh CÇm","Phôc L­u ®éng",20},
          {
      73,2,"Tiªu Thiªn Ng¹o","Phôc L­u ®éng",20},
          {
      73,3,"Môc Minh KiÖt","Phôc L­u ®éng",20},
          {
      73,4,"TÊt V­u Phãng","Phôc L­u ®éng",20},
          {
      43,5,"Lôc Cöu U","KiÕm C¸c Trung Nguyªn",20},
          {
      43,6,"Bé Hiªu TrÇn","KiÕm C¸c Trung Nguyªn",20},
          {
      43,7,"Cèc KiÕm Thu","KiÕm C¸c Trung Nguyªn",20},
          {
      43,8,"ThiÖu Hoa Dung","KiÕm C¸c Trung Nguyªn",20},
          {
      71,9,"Quan Tö M¹c","B¹ch Thñy ®éng",20},
          {
      71,10,"Bµnh ThÝch H¶i","B¹ch Thñy ®éng",20},
          {
      71,11,"BÝch Phï B×nh","B¹ch Thñy ®éng",20},
          {
      71,12,"Tr­îng L·nh s¬n ","B¹ch Thñy ®éng",20},
          {
      83,13,"Tiªu KiÕm TuyÕt","Háa Lang ®éng",20},
          {
      83,14,"Kha ThiÕu Gia","Háa Lang ®éng",20},
          {
      83,15,"Ch­ëng B¸t Ph­¬ng","Háa Lang ®éng",20},
          {
      83,16,"Méng Êt  Phi","Háa Lang ®éng",20},
          {
      14,17,"T­ §å TuyÖt Chñy","M·nh Hæ ®éng",20},
          {
      14,18,"Th­îng Quan L·ng","M·nh Hæ ®éng",20},
          {
      14,19,"D­¬ng Thanh Èn","M·nh Hæ ®éng",20},
          {
      14,20,"Ngôy Chiªm Th©n","M·nh Hæ ®éng",20},
          {
      4,21,"§µo §o¹t Thu","Kim Quang ®éng",30},
          {
      4,22,"Xµ B¸ §«ng","Kim Quang ®éng",30},
          {
      4,23,"L­¬ng T­ Nam ","Kim Quang ®éng",30},
          {
      4,24,"Tr¸c ThÊt Lang","Kim Quang ®éng",30},
          {
      22,25,"KiÒu §Ønh Thiªn","B¹ch V©n ®éng",30},
          {
      22,26,"Träng V« CÊp","B¹ch V©n ®éng",30},
          {
      22,27,"KhÝ CÇm SÜ","B¹ch V©n ®éng",30},
          {
      22,28,"§inh V¨n Dôc","B¹ch V©n ®éng",30},
          {
      77,29,"Phong Ngò Ên","YÕn Tö ®éng",30},
          {
      77,30,"Khang  BÊt Hèi","YÕn Tö ®éng",30},
          {
      77,31,"Ph­¬ng Dùc Viªm","YÕn Tö ®éng",30},
          {
      77,32,"Ninh T©m Cuång","YÕn Tö ®éng",30},
          {
      141,33,"H×nh Phô Sinh","D­îc V­¬ng §éng TÇng 1",30},
          {
      141,34,"Ho¾c TrÊn Phi","D­îc V­¬ng §éng TÇng 1",30},
          {
      141,35,"Qu¶n V« YÕm","D­îc V­¬ng §éng TÇng 1",30},
          {
      141,36,"DiÖp VÜnh ¢n","D­îc V­¬ng §éng TÇng 1",30},
          {
      193,37,"¢u chÝ Phong","Vò Di s¬n",30},
          {
      193,38,"§éc C« HiÖp","Vò Di s¬n",30},
          {
      193,39,"H¹ng Phï Nhai","Vò Di s¬n",30},
          {
      193,40,"Nghª §¹i Chu","Vò Di s¬n",30},
          {
      5,41,"Du Th¸n Giang","Kinh Hoµng ®éng",40},
          {
      5,42,"H¹ Hïng Phi","Kinh Hoµng ®éng",40},
          {
      5,43,"Tèng Vò Phong","Kinh Hoµng ®éng",40},
          {
      5,44,"Lé Th­îng Nh©n","Kinh Hoµng ®éng",40},
          {
      168,45,"NhËm T«ng Hoµnh","Phông Nh·n ®éng",40},
          {
      168,46,"Hµn Khanh Long","Phông Nh·n ®éng",40},
          {
      168,47,"Tr× PhÈm Chi","Phông Nh·n ®éng",40},
          {
      168,48,"Chung ThiÕt Thèi","Phông Nh·n ®éng",40},
          {
      23,49,"§iªu DÞch §ao","ThÇn Tiªn ®éng",40},
          {
      23,50,"§å Tµn Sinh","ThÇn Tiªn ®éng",40},
          {
      23,51,"Bµng V« TÜnh","ThÇn Tiªn ®éng",40},
          {
      23,52,"Lý Hoa §é","ThÇn Tiªn ®éng",40},
          {
      91,53,"ThÝch ¶nh Sa","Mª Cung Kª Qu¸n ®éng",40},
          {
      91,54,"Nguy Nh©n Tö ","Mª Cung Kª Qu¸n ®éng",40},
          {
      91,55,"Cè ViÔn Khª","Mª Cung Kª Qu¸n ®éng",40},
          {
      91,56,"Tang Ninh Cèc","Mª Cung Kª Qu¸n ®éng",40},
          {
      135,57,"Diªm Tù H÷u","KiÕn TÝnh Phong s¬n ®éng",40},
          {
      135,58,"§µm Thiªn Béc","KiÕn TÝnh Phong s¬n ®éng",40},
          {
      135,59,"Th¹ch Cè KiÒu","KiÕn TÝnh Phong s¬n ®éng",40},
          {
      135,60,"øng Th¸i HiÖp","KiÕn TÝnh Phong s¬n ®éng",40},
          {
      12,61,"M¹nh §¹p Hång","§Þa §¹o HËu ViÖn TÝn T­íng Tù",50},
          {
      12,62,"¢n  Tøc HËn","§Þa §¹o HËu ViÖn TÝn T­íng Tù",50},
          {
      12,63,"Ho¾c Thanh S­¬ng","§Þa §¹o HËu ViÖn TÝn T­íng Tù",50},
          {
      12,64,"Miªn T­ §¹o","§Þa §¹o HËu ViÖn TÝn T­íng Tù",50},
          {
      24,65,"TiÕu Väng Du","H­ëng Thñy ®éng",50},
          {
      24,66,"Cao N·i Kho¸t","H­ëng Thñy ®éng",50},
          {
      24,67,"M¹nh Tö  Vò ","H­ëng Thñy ®éng",50},
          {
      24,68,"§­êng NghÜa Chi","H­ëng Thñy ®éng",50},
          {
      42,69,"L©u Vi ThiÖn","Thiªn T©m ®éng",50},
          {
      42,70,"Lç Tranh Tranh","Thiªn T©m ®éng",50},
          {
      42,71,"Sö Tiªu s¬n","Thiªn T©m ®éng",50},
          {
      42,72,"T©y M«n V« Giíi","Thiªn T©m ®éng",50},
          {
      66,73,"Giíi T×nh ChØ","§¸y §éng §×nh Hå TÇng 1",50},
          {
      66,74,"L«i HuyÔn Kh¸ch","§¸y §éng §×nh Hå TÇng 1",50},
          {
      66,75,"DiÖp Ngò Long","§¸y §éng §×nh Hå TÇng 1",50},
          {
      66,76,"TiÕt TiÓu B¸ch","§¸y §éng §×nh Hå TÇng 1",50},
          {
      194,77,"MËu TuÊt Nhung","Ngäc Hoa ®éng",50},
          {
      194,78,"D­¬ng DiÔm Qu©n","Ngäc Hoa ®éng",50},
          {
      194,79,"Du Tiªu C­êng","Ngäc Hoa ®éng",50},
          {
      194,80,"C« Dù  TÈu","Ngäc Hoa ®éng",50},
          {
      164,81,"U«ng  ThÖ Thñy","Thiªn TÇm Th¸p TÇng 1",60},
          {
      164,82,"YÕn L­u  Sanh","Thiªn TÇm Th¸p TÇng 1",60},
          {
      164,83,"Tang Th­¬ng H¶i","Thiªn TÇm Th¸p TÇng 1",60},
          {
      164,84,"Bå ThËp Tam","Thiªn TÇm Th¸p TÇng 1",60},
          {
      117,85,"HËu  KhÊt KiÕm","T­êng V©n §éng TÇng 2",60},
          {
      117,86,"HËu YÕn T©n","T­êng V©n §éng TÇng 2",60},
          {
      117,87,"ThiÖu ThÊt S¸t","T­êng V©n §éng TÇng 2",60},
          {
      117,88,"Du V¹n Lý","T­êng V©n §éng TÇng 2",60},
          {
      56,89,"Cõu DuÉn Sam","Hoµnh s¬n ph¸i",60},
          {
      56,90,"Th­îng Quan ChÊt","Hoµnh s¬n ph¸i",60},
          {
      56,91,"T¸i ViÔn B¹c","Hoµnh s¬n ph¸i",60},
          {
      56,92,"T­ëng HuyÒn ViÔn","Hoµnh s¬n ph¸i",60},
          {
      148,93,"KhuÊt Léc Vinh","TuyÕt b¸o ®éng tÇng 4",60},
          {
      148,94,"L« Qu¸n B¾c","TuyÕt b¸o ®éng tÇng 4",60},
          {
      148,95,"Gi¶i Qui Nam","TuyÕt b¸o ®éng tÇng 4",60},
          {
      148,96,"Tïng V« ¶nh","TuyÕt b¸o ®éng tÇng 4",60},
          {
      196,97,"TiÔn Thª Thanh","D­¬ng Gi¸c ®éng",60},
          {
      196,98,"B¹ch Th­¬ng Nham","D­¬ng Gi¸c ®éng",60},
          {
      196,99,"BiÖn L­u ThiÖn","D­¬ng Gi¸c ®éng",60},
          {
      196,100,"Th¸i Tinh ThÇn","D­¬ng Gi¸c ®éng",60},
          {
      123,101,"H¹ng LÖnh Ti","L·o Hæ ®éng",70},
          {
      123,102,"Tµo Nh©n  Phñ","L·o Hæ ®éng",70},
          {
      123,103,"Tr×nh Phóc Tam","L·o Hæ ®éng",70},
          {
      123,104,"§Æng An Khuª","L·o Hæ ®éng",70},
          {
      94,105,"øng  Tiªu Phong","Linh Cèc ®éng",70},
          {
      94,106,"Th­¬ng TriÒu S­¬ng","Linh Cèc ®éng",70},
          {
      94,107,"Phïng Song Dùc","Linh Cèc ®éng",70},
          {
      94,108,"Phã Kh©u Tu","Linh Cèc ®éng",70},
          {
      319,109,"L¹c Long HiÒn","L©m du quan",70},
          {
      319,110,"Cæ Thanh D­¬ng","L©m du quan",70},
          {
      319,111,"Quan Thiªn VÊn","L©m du quan",70},
          {
      319,112,"H¹ ThiÕu Hïng","L©m du quan",70},
          {
      72,113,"T« Cæ Ng©m","§¹i Tï ®éng",70},
          {
      72,114,"Hå NhÊt Lang","§¹i Tï ®éng",70},
          {
      72,115,"Hoµng V¹n KiÕp","§¹i Tï ®éng",70},
          {
      72,116,"Giang TrÇm Nh¹n","§¹i Tï ®éng",70},
          {
      76,117,"C¶nh Dung Phôc","S¬n B¶o ®éng",70},
          {
      76,118,"Kh­¬ng Tù Dao","S¬n B¶o ®éng",70},
          {
      76,119,"Khæng Dong Nh©n","S¬n B¶o ®éng",70},
          {
      76,120,"L¨ng TËn Trung","S¬n B¶o ®éng",70},
          {
      201,121,"DiÖp øc Anh","B¨ng Hµ ®éng",80},
          {
      201,122,"L¹c NhÜ Kim","B¨ng Hµ ®éng",80},
          {
      201,123,"M¹c Nam Tróc","B¨ng Hµ ®éng",80},
          {
      201,124,"TÇn Tö Du","B¨ng Hµ ®éng",80},
          {
      10,125,"C« V« Th­êng","Nh¹n Th¹ch ®éng",80},
          {
      10,126,"LiÔu Tø Gia","Nh¹n Th¹ch ®éng",80},
          {
      10,127,"Thi §¹i ThiÕu","Nh¹n Th¹ch ®éng",80},
          {
      10,128,"T«n V¨n B­u","Nh¹n Th¹ch ®éng",80},
          {
      202,129,"§ång BÊt Phôc","Phï Dung ®éng",80},
          {
      202,130,"§­êng B¸c V¨n","Phï Dung ®éng",80},
          {
      202,131,"§µo §¶o Chñ ","Phï Dung ®éng",80},
          {
      202,132,"§iÒn V« §¹o","Phï Dung ®éng",80},
          {
      181,133,"Viªn NiÖm TÞch","L­ìng Thñy ®éng",80},
          {
      181,134,"TrÞnh Tr¸c QuÇn","L­ìng Thñy ®éng",80},
          {
      181,135,"Ch­¬ng Nguyªn Sïng","L­ìng Thñy ®éng",80},
          {
      181,136,"T¹ Träng HËu","L­ìng Thñy ®éng",80},
          {
      143,137,"Vu Cöu  §å","d­îc v­¬ng ®éng tÇng 3",80},
          {
      143,138,"Viªn Thiªn Thä","d­îc v­¬ng ®éng tÇng 3",80},
          {
      143,139,"Nh¹c Th­îng C«n","d­îc v­¬ng ®éng tÇng 3",80},
          {
      143,140,"Chiªm Phóc V©n","d­îc v­¬ng ®éng tÇng 3",80},
          {
      93,141,"Cæ Giíi Nh©n","TiÕn Cóc ®éng",90},
          {
      93,142,"TrÞnh Cöu NhËt","TiÕn Cóc ®éng",90},
          {
      93,143,"Chu Së B¸","TiÕn Cóc ®éng",90},
          {
      93,144,"Trang Minh Trung","TiÕn Cóc ®éng",90},
          {
      225,145,"Cam ChÝnh C«","Sa M¹c 1",90},
          {
      225,146,"Vò NhÊt ThÕ","Sa M¹c 1",90},
          {
      225,147,"D­¬ng Phong DËt","Sa M¹c 1",90},
          {
      225,148,"Hµ Sinh Vong","Sa M¹c 1",90},
          {
      75,149,"T»ng ChØ O¸n","Kho¶ Lang ®éng",90},
          {
      75,150,"VÖ Biªn Thµnh","Kho¶ Lang ®éng",90},
          {
      75,151,"Cè Thñ §»ng","Kho¶ Lang ®éng",90},
          {
      75,152,"Ch­ C¸t Kinh Hång","Kho¶ Lang ®éng",90},
          {
      321,153,"Phan Ng¹t Nhan","Tr­êng B¹ch S¬n Nam",90},
          {
      321,154,"Liªn Kinh Th¸i","Tr­êng B¹ch S¬n Nam",90},
          {
      321,155,"B¶o TriÖt S¬n","Tr­êng B¹ch S¬n Nam",90},
          {
      321,156,"V¹n Hå Tinh","Tr­êng B¹ch S¬n Nam",90},
          {
      340,157,"Trö Thiªn MÉn","M¹c Cao QuËt",90},
          {
      340,158,"§o¹n L¨ng NguyÖt","M¹c Cao QuËt",90},
          {
      340,159,"T¶ DËt Danh","M¹c Cao QuËt",90},
          {
      340,160,"Nh©m Th­¬ng Khung","M¹c Cao QuËt",90},


      Chú thích đoạn code
      Số đầu tiên là ID cái map boss xuất hiện (Phục vụ cho FindNpc tìm trong map)
      Số thứ 2 là ID trong settings\task\tollgate\killer\killer.txt
      Cái thứ 3 là tên CHUẨN của boss được add vào map thông qua file \script\task\tollgate\killbosshead.lua
      Cái thứ 4 là tên map (Ko dùng đến nhưng lúc mình làm code để tiện theo dõi mình add cả vào
      Cái thứ 5 là level của boss. Cho các nhiệm vụ từ 20 tới 90
    • Tìm đoạn code
      PHP Code:
      function havetask()
          if ( 
      UWorld1082 ~= then --§· nhËn nhiÖm vô nh­ng ch­a kill boss
          
      --UWorld1082 chÝnh lµ nt_getTask(1082)
              
      Describe(DescLink_NieShiChen..ContentList[13], 1,ContentList[15]);
              return 
      0
          end
          
      return 1
      end 
      Thay thế hoàn toàn bằng đoạn code sau
      PHP Code:
      function havetask()
          if ( 
      UWorld1082 ~= then --®· nhËn nhiÖm vô nh­ng ch­a kill boss
          
      --UWorld1082 chÝnh lµ nt_getTask(1082)
              
      local tb = {}
              
      nX,nY,nMap FindNpc(tab_ToaDoBossST[UWorld1082][3],tab_ToaDoBossST[UWorld1082][1])
              if  
      nX ~= and nY~=and nMap~=0 then --con boss cã mÆt ë trªn map
                  nDesc 
      DescLink_NieShiChen.." S¸t thñ "..tab_ToaDoBossST[UWorld1082][3].." vÉn cßn sèng, ng­¬i cßn ch­a tiªu diÖt ®­îc h¾n."
                  
      tinsert(tb,{"H·y ®­a ta ®Õn ®ã",gotobossst,{nX,nY,nMap}})
              else
                  
      nDesc "HiÖn t¹i s¸t thñ "..tab_ToaDoBossST[UWorld1082][3].." ®· lÈn trèn, ng­¬i ph¶i kiªn nhÉn chê tin tøc."
                  
      tinsert(tb,{"Ta sÏ trë l¹i sau",Quit})
              
      end
              SayEx
      (nDesc,tb)
              return 
      0
          end
          
      return 1
      end 
      Tìm đoạn code tiếp theo
      PHP Code:
      function showboss(row)
          
      Describe(DescLink_NieShiChen..ContentList[16], 12killertabfile:getCell("BossName",row+1).."/#givetask("..(row+1)..")"killertabfile:getCell("BossName",row+2).."/#givetask("..(row+2)..")"killertabfile:getCell("BossName",row+3).."/#givetask("..(row+3)..")"killertabfile:getCell("BossName",row+4).."/#givetask("..(row+4)..")"killertabfile:getCell("BossName",row+5).."/#givetask("..(row+5)..")"killertabfile:getCell("BossName",row+6).."/#givetask("..(row+6)..")"killertabfile:getCell("BossName",row+7).."/#givetask("..(row+7)..")"killertabfile:getCell("BossName",row+8).."/#givetask("..(row+8)..")"killertabfile:getCell("BossName",row+9).."/#givetask("..(row+9)..")"killertabfile:getCell("BossName",row+10).."/#givetask("..(row+10)..")""Trang kÕ /#showbossnext("..row..")"ContentList[15]);
      end
      function showbossnext(row)
          
      Describe(DescLink_NieShiChen..ContentList[16], 12killertabfile:getCell("BossName",row+11).."/#givetask("..(row+11)..")"killertabfile:getCell("BossName",row+12).."/#givetask("..(row+12)..")"killertabfile:getCell("BossName",row+13).."/#givetask("..(row+13)..")"killertabfile:getCell("BossName",row+14).."/#givetask("..(row+14)..")"killertabfile:getCell("BossName",row+15).."/#givetask("..(row+15)..")"killertabfile:getCell("BossName",row+16).."/#givetask("..(row+16)..")"killertabfile:getCell("BossName",row+17).."/#givetask("..(row+17)..")"killertabfile:getCell("BossName",row+18).."/#givetask("..(row+18)..")"killertabfile:getCell("BossName",row+19).."/#givetask("..(row+19)..")"killertabfile:getCell("BossName",row+20).."/#givetask("..(row+20)..")""Trang tr­íc/#showboss("..row..")"ContentList[15]);
      end
      function givetask(taskid)
          
      nt_setTask(1082,taskid);
          
      Describe(DescLink_NieShiChen..killertabfile:getCell("BossName",taskid)..killertabfile:getCell("BossInfo",taskid), 1ContentList[15]);
      end 
      Thay thế hoàn toàn bằng đoạn code dưới
      PHP Code:
      function givetask(taskid,nX,nY,nMap)
          
      nt_setTask(1082,taskid);
          
      local nDesc DescLink_NieShiChen..killertabfile:getCell("BossName",taskid)..killertabfile:getCell("BossInfo",taskid)
          
      local tb = {}
          
      tinsert(tb,{"H·y ®­a ta ®Õn ®ã",gotobossst,{nX,nY,nMap}})
          
      SayEx(nDesc,tb)
      end
      function gotobossst(nX,nY,nMap)
          
      NewWorld(nMap,nX,nY)
          
      SetFightState(1);
      end 

    Bước 3: Vào game test
    • Đến Nhiếp Thí Trần nhận nhiệm vụ sát thủ. Ngay sau khi nhận xong nó hiện tiếp menu đưa đến nơi con boss
    • Nếu ko click vào menu ngay sau khi nhận quest. Nói chuyện lại với Nhiếp Thí Trần. Click vào nhiệm vụ cấp bao nhiêu cũng đc. Nó sẽ thông báo là con boss XXX chưa chết, nó sẽ đưa đến nơi nếu cần.
    • Nếu con boss đã bị giết (Hoặc lý do nào đó nó ko xuất hiện trên cái map chỉ định) thì nó sẽ ko hiện lên trên danh sách boss để nhận nhiệm vụ.
    • Lưu ý: Nó phù nhân vật tới đúng vị trí boss. Thế nên cẩn thận chết

    Kết
    Script hoạt động chủ yếu dựa vào hàm FindNpc. Nó tìm 1 Npc dựa vào tên CHUẨN của npc được add vào map. Từ NpcName và MapId thì hàm FindNpc tìm ra tọa độ npc đó. Chúng ta chỉ việc phù tới nơi mà thôi.
    Thực ra nó cũng là hàm kiếm NPC mình đã từng viết trong bài tìm đến vị trí của boss hoàng kim share lâu rồi.
    Lần sửa cuối bởi f-fantasy, ngày 02-07-22 lúc 01:39 AM.
    Khách viếng thăm hãy cùng f-fantasy xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. The Following 8 Users Say Thank You to f-fantasy For This Useful Post:

    12312312 (20-10-23), hopvuong (02-07-22), leonhang (02-07-22), minhnghia0507 (01-07-22), ngulongvina (02-07-22), trilap2004 (28-11-22), tului (02-07-22), vuduymanh (02-07-22)

  3. #2
    Thành Viên
    Ngày tham gia
    Jul 2014
    Bài viết
    534
    Thanks
    253
    Thanked 55 Times in 36 Posts

    Ðề: Thêm chức năng dịch chuyển đến nơi boss sát thủ cho Nhiếp Thí Trần

    bữa dính lỗi map 20 ko có sát thủ luôn. file add bos st đó nằm đâu mấy bro?
    Khách viếng thăm hãy cùng trungjx xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #3
    Thành Viên
    Ngày tham gia
    Jun 2006
    Đang ở
    Funabashi, Chiba, Japan
    Bài viết
    544
    Thanks
    410
    Thanked 300 Times in 82 Posts

    Ðề: Thêm chức năng dịch chuyển đến nơi boss sát thủ cho Nhiếp Thí Trần

    Trích dẫn Gửi bởi trungjx [Only registered and activated users can see links. ]
    bữa dính lỗi map 20 ko có sát thủ luôn. file add bos st đó nằm đâu mấy bro?
    Hình như file này này \script\task\tollgate\killbosshead.lua
    Khách viếng thăm hãy cùng f-fantasy xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

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

    trungjx (05-07-22)

  6. #4
    Thành Viên
    Ngày tham gia
    Jul 2014
    Bài viết
    534
    Thanks
    253
    Thanked 55 Times in 36 Posts

    Ðề: Thêm chức năng dịch chuyển đến nơi boss sát thủ cho Nhiếp Thí Trần

    Trích dẫn Gửi bởi f-fantasy [Only registered and activated users can see links. ]
    Hình như file này này \script\task\tollgate\killbosshead.lua
    tks bro. đã tìm ra giờ cấp 30 săn boss rồi đm boom bét
    Khách viếng thăm hãy cùng trungjx xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #5
    Thành Viên caoboivip's Avatar
    Ngày tham gia
    Jul 2015
    Bài viết
    286
    Thanks
    26
    Thanked 260 Times in 49 Posts

    Ðề: Thêm chức năng dịch chuyển đến nơi boss sát thủ cho Nhiếp Thí Trần

    Trích dẫn Gửi bởi f-fantasy [Only registered and activated users can see links. ]
    Bước 1: Thêm 2 hàm mở rộng mới. SayEx và FindNpc
    • SayEx
      Tự sắp xếp số lựa chọn trong hội thoại khi số lựa chọn quá nhiều. Ví dụ 20 con boss, 20 dòng lựa chọn, nó tự điều chỉnh 10 lựa chọn rồi đến trang sau 10 lựa chọn
    • FindNpc
      Tìm NPC nào đó thuộc MAP rồi trả về 3 giá trị bao gồm Tọa Độ X, Tọa Độ Y, IDMap. Phục vụ việc tìm NPC rồi phù đến vị trí đó
    • Cách thực hiện
      • Cách 1:
        Thêm trực tiếp vào file cần sử dụng 2 hàm mở rộng. Cách này đơn giản bởi vì chỉ việc chép code của 2 cái hàm đó vào cuối file LUA cần sử dụng 2 hàm này là xong
      • Cách 2
        Tạo 1 file LUA mới. Với tên funclibex.lua (Bạn đặt tên gì thì tùy). Nằm trong thư mục script (Hoặc đâu đó miễn trong script). Chép code 2 hàm mở rộng vào đó. Rồi muốn sử dụng 2 hàm này thì dùng Include("\\scri[t\\......\\funclibex.lua"). Khuyến khích dùng cách này, bởi các hàm mở rộng còn có thể được sử dụng bởi các file LUA khác nữa (Chỉ cần Include đến file funclibex)
        Cụ thể trong bài viết này, tôi tạo funclibex.lua nằm trong script/00ff. Và trong file LUA của Nhiếp Thí Trần tôi Include("\\script\\00ff\\funclibex.lua"). Để sử dụng 2 hàm mở rộng
    • Code 2 hàm mở rộng
      PHP Code:
      G_PlayerDailogData = {}
      function 
      SayEx(nDesc,tbOpt,nSelectPerPage,nPage)
      --
      C¸ch dïng
      --local LoiThoai ""
      --local tb = {}
      --
      tinsert(tb,{"Dßng lùa chän",Func,{Value1,Value2}})
      --
      SayEx(LoiThoai,tb) --KhuyÕn c¸o lµ 10 lùa chän cho 1 Page lµ tèi ®anhiÒu qu¸ sau khi thªm 2 dßng "Trang tr­íc" vµ "Trang KÕ" sÏ kh«ng hiÓn thÞ hÕt
      --Kh«ng cÇn thªm dßng "KÕt thóc ®èi tho¹i" v× nã sÏ tù thªm
          
      if nDesc == "" or nDesc == nil then nDesc " " end
          local nTotalSelect 
      getn(tbOpt)
          if 
      nPage == nil then nPage 1 end
          
      if nSelectPerPage == nil then nSelectPerPage 10 end
          local nStart 
      = (nPage 1) * nSelectPerPage 1
          local nEnd 
      nStart nSelectPerPage 1
          
      if nStart nTotalSelect then
              
      return
          
      end
          
      if nEnd nTotalSelect then
              nEnd 
      nTotalSelect
          end
          local tbSayOpt 
      = {}
          for 
      i=nStartnEnd do
              
      tinsert(tbSayOpt,{tbOpt[i][1],tbOpt[i][2],tbOpt[i][3]})
          
      end
          
      if nStart 1 then
              tinsert
      (tbSayOpt, {"Trang Tr­íc"SayEx, {nDesc,tbOpt,nSelectPerPagenPage 1}})
          
      end
          
      if nEnd nTotalSelect then
              tinsert
      (tbSayOpt, {"Trang Sau "SayEx, {nDesc,tbOpt,nSelectPerPagenPage 1}})
          
      end
          tinsert
      (tbSayOpt, {"KÕt thóc ®èi tho¹i"})
          
      G_PlayerDailogData[PlayerIndex] = tbSayOpt
          local tb 
      = {}
          for 
      i1getn(tbSayOpt) do
              
      tinsert(tbtbSayOpt[i][1].. format("/#g_DailogBack(%d)"i))
          
      end
          
      if type(nDesc) == "number" then
              Describe
      (nDescgetn(tb), tb)
          else
              
      TaskSay("<dec>"..nDesctb)
          
      end
      end
      function g_DailogBack(nSelectIdnCount) --Hâ trî hµm SayEx
          local tbSayOpt 
      G_PlayerDailogData[PlayerIndex]
          
      G_PlayerDailogData[PlayerIndex] = nil
          
          
      if tbSayOpt and tbSayOpt[nSelectIdthen
              local nParamCount 
      getn(tbSayOpt[nSelectId])
              if 
      nParamCount == 1 then
                  
      return
              elseif 
      nParamCount == 2 then
                  local pFun 
      tbSayOpt[nSelectId][2]
                  
      pFun()
              elseif 
      nParamCount == 3 then
                  local pFun 
      tbSayOpt[nSelectId][2]
                  
      local tbParam tbSayOpt[nSelectId][3]
                  
                  
      call(pFuntbParam)    
              
      end
          end
      end
      function FindNpc(nName,nIDMap,nType)
      --
      Hµm nµy sÏ t×m kiÕm 1 NPC nµo ®ã dùa theo tªn vµ ID map
      --Sau khi t×m xong hµm sÏ tr¶ vÒ 3 gi¸ trÞ bao gåm 2 gi¸ trÞ to¹ ®é vµ 1 gi¸ trÞ ID cña Map2 gi¸ trÞ to¹ ®é vµ ID map nµy cã thÓ dïng ®Ó teleport ®Õn n¬i
      --NÕu kh«ng t×m ®­îc th× sÏ tr¶ vÒ 3 gi¸ trÞ lµ 0,0,0
      --nType1-HiÖn th«ng b¸o kh«ng t×m thÊy npc qua kªnh Msg2Player 0:Kh«ng hiÖn c¸i th«ng b¸o nµo c¶MÆc ®Þnh lµ 0
          
      if nType == nil then nType 0 end
          NpcIndex 
      GetMapNpcWithName(nIDMap,nName)
          if 
      NpcIndex == nil or NpcIndex == nName then
              
      if nType == 1 then
                  Msg2Player
      ("<color=green>Kh«ng t×m thÊy NPC cã tªn <color=yellow>"..nName.."<color> t¹i b¶n ®å <color=yellow>"..SubWorldName(SubWorldID2Idx(nIDMap)).."<color>.<color>")
              
      end
              
      return 0,0,0
          end
          x
      y,subworld GetNpcPos(NpcIndex[1])
          
      m,n,floor(x/32),floor(y/32),SubWorldIdx2ID(subworld)
          return 
      m,n,k
      end 

    Bước 2: Edit file Nhiếp Thí Trần
    • \script\task\tollgate\killer\nieshichen.lua
    • Thêm đoạn sau vào trên cùng file
      PHP Code:
      Include("\\script\\00ff\\funclibex.lua"); 
    • Tìm dòng
      PHP Code:
      function havetask() 
      Thêm vào ngay trước đoạn đó 1 đoạn code
      PHP Code:
      tab_ToaDoBossST = {
      --    
      Tªn boss ph¶i lÊy trong \script\task\tollgate\killbosshead.lua nã míi chuÈnVµ FindNpc nã míi cã thÓ t×m thÊy
      --    IDMap,ID(Sè dßng)trong killer.txttªn bosstªn mapcÊp ®é boss s¸t thñ
          
      {73,1,"Tr¸c L·nh CÇm","Phôc L­u ®éng",20},
          {
      73,2,"Tiªu Thiªn Ng¹o","Phôc L­u ®éng",20},
          {
      73,3,"Môc Minh KiÖt","Phôc L­u ®éng",20},
          {
      73,4,"TÊt V­u Phãng","Phôc L­u ®éng",20},
          {
      43,5,"Lôc Cöu U","KiÕm C¸c Trung Nguyªn",20},
          {
      43,6,"Bé Hiªu TrÇn","KiÕm C¸c Trung Nguyªn",20},
          {
      43,7,"Cèc KiÕm Thu","KiÕm C¸c Trung Nguyªn",20},
          {
      43,8,"ThiÖu Hoa Dung","KiÕm C¸c Trung Nguyªn",20},
          {
      71,9,"Quan Tö M¹c","B¹ch Thñy ®éng",20},
          {
      71,10,"Bµnh ThÝch H¶i","B¹ch Thñy ®éng",20},
          {
      71,11,"BÝch Phï B×nh","B¹ch Thñy ®éng",20},
          {
      71,12,"Tr­îng L·nh s¬n ","B¹ch Thñy ®éng",20},
          {
      83,13,"Tiªu KiÕm TuyÕt","Háa Lang ®éng",20},
          {
      83,14,"Kha ThiÕu Gia","Háa Lang ®éng",20},
          {
      83,15,"Ch­ëng B¸t Ph­¬ng","Háa Lang ®éng",20},
          {
      83,16,"Méng Êt  Phi","Háa Lang ®éng",20},
          {
      14,17,"T­ §å TuyÖt Chñy","M·nh Hæ ®éng",20},
          {
      14,18,"Th­îng Quan L·ng","M·nh Hæ ®éng",20},
          {
      14,19,"D­¬ng Thanh Èn","M·nh Hæ ®éng",20},
          {
      14,20,"Ngôy Chiªm Th©n","M·nh Hæ ®éng",20},
          {
      4,21,"§µo §o¹t Thu","Kim Quang ®éng",30},
          {
      4,22,"Xµ B¸ §«ng","Kim Quang ®éng",30},
          {
      4,23,"L­¬ng T­ Nam ","Kim Quang ®éng",30},
          {
      4,24,"Tr¸c ThÊt Lang","Kim Quang ®éng",30},
          {
      22,25,"KiÒu §Ønh Thiªn","B¹ch V©n ®éng",30},
          {
      22,26,"Träng V« CÊp","B¹ch V©n ®éng",30},
          {
      22,27,"KhÝ CÇm SÜ","B¹ch V©n ®éng",30},
          {
      22,28,"§inh V¨n Dôc","B¹ch V©n ®éng",30},
          {
      77,29,"Phong Ngò Ên","YÕn Tö ®éng",30},
          {
      77,30,"Khang  BÊt Hèi","YÕn Tö ®éng",30},
          {
      77,31,"Ph­¬ng Dùc Viªm","YÕn Tö ®éng",30},
          {
      77,32,"Ninh T©m Cuång","YÕn Tö ®éng",30},
          {
      141,33,"H×nh Phô Sinh","D­îc V­¬ng §éng TÇng 1",30},
          {
      141,34,"Ho¾c TrÊn Phi","D­îc V­¬ng §éng TÇng 1",30},
          {
      141,35,"Qu¶n V« YÕm","D­îc V­¬ng §éng TÇng 1",30},
          {
      141,36,"DiÖp VÜnh ¢n","D­îc V­¬ng §éng TÇng 1",30},
          {
      193,37,"¢u chÝ Phong","Vò Di s¬n",30},
          {
      193,38,"§éc C« HiÖp","Vò Di s¬n",30},
          {
      193,39,"H¹ng Phï Nhai","Vò Di s¬n",30},
          {
      193,40,"Nghª §¹i Chu","Vò Di s¬n",30},
          {
      5,41,"Du Th¸n Giang","Kinh Hoµng ®éng",40},
          {
      5,42,"H¹ Hïng Phi","Kinh Hoµng ®éng",40},
          {
      5,43,"Tèng Vò Phong","Kinh Hoµng ®éng",40},
          {
      5,44,"Lé Th­îng Nh©n","Kinh Hoµng ®éng",40},
          {
      168,45,"NhËm T«ng Hoµnh","Phông Nh·n ®éng",40},
          {
      168,46,"Hµn Khanh Long","Phông Nh·n ®éng",40},
          {
      168,47,"Tr× PhÈm Chi","Phông Nh·n ®éng",40},
          {
      168,48,"Chung ThiÕt Thèi","Phông Nh·n ®éng",40},
          {
      23,49,"§iªu DÞch §ao","ThÇn Tiªn ®éng",40},
          {
      23,50,"§å Tµn Sinh","ThÇn Tiªn ®éng",40},
          {
      23,51,"Bµng V« TÜnh","ThÇn Tiªn ®éng",40},
          {
      23,52,"Lý Hoa §é","ThÇn Tiªn ®éng",40},
          {
      91,53,"ThÝch ¶nh Sa","Mª Cung Kª Qu¸n ®éng",40},
          {
      91,54,"Nguy Nh©n Tö ","Mª Cung Kª Qu¸n ®éng",40},
          {
      91,55,"Cè ViÔn Khª","Mª Cung Kª Qu¸n ®éng",40},
          {
      91,56,"Tang Ninh Cèc","Mª Cung Kª Qu¸n ®éng",40},
          {
      135,57,"Diªm Tù H÷u","KiÕn TÝnh Phong s¬n ®éng",40},
          {
      135,58,"§µm Thiªn Béc","KiÕn TÝnh Phong s¬n ®éng",40},
          {
      135,59,"Th¹ch Cè KiÒu","KiÕn TÝnh Phong s¬n ®éng",40},
          {
      135,60,"øng Th¸i HiÖp","KiÕn TÝnh Phong s¬n ®éng",40},
          {
      12,61,"M¹nh §¹p Hång","§Þa §¹o HËu ViÖn TÝn T­íng Tù",50},
          {
      12,62,"¢n  Tøc HËn","§Þa §¹o HËu ViÖn TÝn T­íng Tù",50},
          {
      12,63,"Ho¾c Thanh S­¬ng","§Þa §¹o HËu ViÖn TÝn T­íng Tù",50},
          {
      12,64,"Miªn T­ §¹o","§Þa §¹o HËu ViÖn TÝn T­íng Tù",50},
          {
      24,65,"TiÕu Väng Du","H­ëng Thñy ®éng",50},
          {
      24,66,"Cao N·i Kho¸t","H­ëng Thñy ®éng",50},
          {
      24,67,"M¹nh Tö  Vò ","H­ëng Thñy ®éng",50},
          {
      24,68,"§­êng NghÜa Chi","H­ëng Thñy ®éng",50},
          {
      42,69,"L©u Vi ThiÖn","Thiªn T©m ®éng",50},
          {
      42,70,"Lç Tranh Tranh","Thiªn T©m ®éng",50},
          {
      42,71,"Sö Tiªu s¬n","Thiªn T©m ®éng",50},
          {
      42,72,"T©y M«n V« Giíi","Thiªn T©m ®éng",50},
          {
      66,73,"Giíi T×nh ChØ","§¸y §éng §×nh Hå TÇng 1",50},
          {
      66,74,"L«i HuyÔn Kh¸ch","§¸y §éng §×nh Hå TÇng 1",50},
          {
      66,75,"DiÖp Ngò Long","§¸y §éng §×nh Hå TÇng 1",50},
          {
      66,76,"TiÕt TiÓu B¸ch","§¸y §éng §×nh Hå TÇng 1",50},
          {
      194,77,"MËu TuÊt Nhung","Ngäc Hoa ®éng",50},
          {
      194,78,"D­¬ng DiÔm Qu©n","Ngäc Hoa ®éng",50},
          {
      194,79,"Du Tiªu C­êng","Ngäc Hoa ®éng",50},
          {
      194,80,"C« Dù  TÈu","Ngäc Hoa ®éng",50},
          {
      164,81,"U«ng  ThÖ Thñy","Thiªn TÇm Th¸p TÇng 1",60},
          {
      164,82,"YÕn L­u  Sanh","Thiªn TÇm Th¸p TÇng 1",60},
          {
      164,83,"Tang Th­¬ng H¶i","Thiªn TÇm Th¸p TÇng 1",60},
          {
      164,84,"Bå ThËp Tam","Thiªn TÇm Th¸p TÇng 1",60},
          {
      117,85,"HËu  KhÊt KiÕm","T­êng V©n §éng TÇng 2",60},
          {
      117,86,"HËu YÕn T©n","T­êng V©n §éng TÇng 2",60},
          {
      117,87,"ThiÖu ThÊt S¸t","T­êng V©n §éng TÇng 2",60},
          {
      117,88,"Du V¹n Lý","T­êng V©n §éng TÇng 2",60},
          {
      56,89,"Cõu DuÉn Sam","Hoµnh s¬n ph¸i",60},
          {
      56,90,"Th­îng Quan ChÊt","Hoµnh s¬n ph¸i",60},
          {
      56,91,"T¸i ViÔn B¹c","Hoµnh s¬n ph¸i",60},
          {
      56,92,"T­ëng HuyÒn ViÔn","Hoµnh s¬n ph¸i",60},
          {
      148,93,"KhuÊt Léc Vinh","TuyÕt b¸o ®éng tÇng 4",60},
          {
      148,94,"L« Qu¸n B¾c","TuyÕt b¸o ®éng tÇng 4",60},
          {
      148,95,"Gi¶i Qui Nam","TuyÕt b¸o ®éng tÇng 4",60},
          {
      148,96,"Tïng V« ¶nh","TuyÕt b¸o ®éng tÇng 4",60},
          {
      196,97,"TiÔn Thª Thanh","D­¬ng Gi¸c ®éng",60},
          {
      196,98,"B¹ch Th­¬ng Nham","D­¬ng Gi¸c ®éng",60},
          {
      196,99,"BiÖn L­u ThiÖn","D­¬ng Gi¸c ®éng",60},
          {
      196,100,"Th¸i Tinh ThÇn","D­¬ng Gi¸c ®éng",60},
          {
      123,101,"H¹ng LÖnh Ti","L·o Hæ ®éng",70},
          {
      123,102,"Tµo Nh©n  Phñ","L·o Hæ ®éng",70},
          {
      123,103,"Tr×nh Phóc Tam","L·o Hæ ®éng",70},
          {
      123,104,"§Æng An Khuª","L·o Hæ ®éng",70},
          {
      94,105,"øng  Tiªu Phong","Linh Cèc ®éng",70},
          {
      94,106,"Th­¬ng TriÒu S­¬ng","Linh Cèc ®éng",70},
          {
      94,107,"Phïng Song Dùc","Linh Cèc ®éng",70},
          {
      94,108,"Phã Kh©u Tu","Linh Cèc ®éng",70},
          {
      319,109,"L¹c Long HiÒn","L©m du quan",70},
          {
      319,110,"Cæ Thanh D­¬ng","L©m du quan",70},
          {
      319,111,"Quan Thiªn VÊn","L©m du quan",70},
          {
      319,112,"H¹ ThiÕu Hïng","L©m du quan",70},
          {
      72,113,"T« Cæ Ng©m","§¹i Tï ®éng",70},
          {
      72,114,"Hå NhÊt Lang","§¹i Tï ®éng",70},
          {
      72,115,"Hoµng V¹n KiÕp","§¹i Tï ®éng",70},
          {
      72,116,"Giang TrÇm Nh¹n","§¹i Tï ®éng",70},
          {
      76,117,"C¶nh Dung Phôc","S¬n B¶o ®éng",70},
          {
      76,118,"Kh­¬ng Tù Dao","S¬n B¶o ®éng",70},
          {
      76,119,"Khæng Dong Nh©n","S¬n B¶o ®éng",70},
          {
      76,120,"L¨ng TËn Trung","S¬n B¶o ®éng",70},
          {
      201,121,"DiÖp øc Anh","B¨ng Hµ ®éng",80},
          {
      201,122,"L¹c NhÜ Kim","B¨ng Hµ ®éng",80},
          {
      201,123,"M¹c Nam Tróc","B¨ng Hµ ®éng",80},
          {
      201,124,"TÇn Tö Du","B¨ng Hµ ®éng",80},
          {
      10,125,"C« V« Th­êng","Nh¹n Th¹ch ®éng",80},
          {
      10,126,"LiÔu Tø Gia","Nh¹n Th¹ch ®éng",80},
          {
      10,127,"Thi §¹i ThiÕu","Nh¹n Th¹ch ®éng",80},
          {
      10,128,"T«n V¨n B­u","Nh¹n Th¹ch ®éng",80},
          {
      202,129,"§ång BÊt Phôc","Phï Dung ®éng",80},
          {
      202,130,"§­êng B¸c V¨n","Phï Dung ®éng",80},
          {
      202,131,"§µo §¶o Chñ ","Phï Dung ®éng",80},
          {
      202,132,"§iÒn V« §¹o","Phï Dung ®éng",80},
          {
      181,133,"Viªn NiÖm TÞch","L­ìng Thñy ®éng",80},
          {
      181,134,"TrÞnh Tr¸c QuÇn","L­ìng Thñy ®éng",80},
          {
      181,135,"Ch­¬ng Nguyªn Sïng","L­ìng Thñy ®éng",80},
          {
      181,136,"T¹ Träng HËu","L­ìng Thñy ®éng",80},
          {
      143,137,"Vu Cöu  §å","d­îc v­¬ng ®éng tÇng 3",80},
          {
      143,138,"Viªn Thiªn Thä","d­îc v­¬ng ®éng tÇng 3",80},
          {
      143,139,"Nh¹c Th­îng C«n","d­îc v­¬ng ®éng tÇng 3",80},
          {
      143,140,"Chiªm Phóc V©n","d­îc v­¬ng ®éng tÇng 3",80},
          {
      93,141,"Cæ Giíi Nh©n","TiÕn Cóc ®éng",90},
          {
      93,142,"TrÞnh Cöu NhËt","TiÕn Cóc ®éng",90},
          {
      93,143,"Chu Së B¸","TiÕn Cóc ®éng",90},
          {
      93,144,"Trang Minh Trung","TiÕn Cóc ®éng",90},
          {
      225,145,"Cam ChÝnh C«","Sa M¹c 1",90},
          {
      225,146,"Vò NhÊt ThÕ","Sa M¹c 1",90},
          {
      225,147,"D­¬ng Phong DËt","Sa M¹c 1",90},
          {
      225,148,"Hµ Sinh Vong","Sa M¹c 1",90},
          {
      75,149,"T»ng ChØ O¸n","Kho¶ Lang ®éng",90},
          {
      75,150,"VÖ Biªn Thµnh","Kho¶ Lang ®éng",90},
          {
      75,151,"Cè Thñ §»ng","Kho¶ Lang ®éng",90},
          {
      75,152,"Ch­ C¸t Kinh Hång","Kho¶ Lang ®éng",90},
          {
      321,153,"Phan Ng¹t Nhan","Tr­êng B¹ch S¬n Nam",90},
          {
      321,154,"Liªn Kinh Th¸i","Tr­êng B¹ch S¬n Nam",90},
          {
      321,155,"B¶o TriÖt S¬n","Tr­êng B¹ch S¬n Nam",90},
          {
      321,156,"V¹n Hå Tinh","Tr­êng B¹ch S¬n Nam",90},
          {
      340,157,"Trö Thiªn MÉn","M¹c Cao QuËt",90},
          {
      340,158,"§o¹n L¨ng NguyÖt","M¹c Cao QuËt",90},
          {
      340,159,"T¶ DËt Danh","M¹c Cao QuËt",90},
          {
      340,160,"Nh©m Th­¬ng Khung","M¹c Cao QuËt",90},


      Chú thích đoạn code
      Số đầu tiên là ID cái map boss xuất hiện (Phục vụ cho FindNpc tìm trong map)
      Số thứ 2 là ID trong settings\task\tollgate\killer\killer.txt
      Cái thứ 3 là tên CHUẨN của boss được add vào map thông qua file \script\task\tollgate\killbosshead.lua
      Cái thứ 4 là tên map (Ko dùng đến nhưng lúc mình làm code để tiện theo dõi mình add cả vào
      Cái thứ 5 là level của boss. Cho các nhiệm vụ từ 20 tới 90
    • Tìm đoạn code
      PHP Code:
      function havetask()
          if ( 
      UWorld1082 ~= then --§· nhËn nhiÖm vô nh­ng ch­a kill boss
          
      --UWorld1082 chÝnh lµ nt_getTask(1082)
              
      Describe(DescLink_NieShiChen..ContentList[13], 1,ContentList[15]);
              return 
      0
          end
          
      return 1
      end 
      Thay thế hoàn toàn bằng đoạn code sau
      PHP Code:
      function havetask()
          if ( 
      UWorld1082 ~= then --®· nhËn nhiÖm vô nh­ng ch­a kill boss
          
      --UWorld1082 chÝnh lµ nt_getTask(1082)
              
      local tb = {}
              
      nX,nY,nMap FindNpc(tab_ToaDoBossST[UWorld1082][3],tab_ToaDoBossST[UWorld1082][1])
              if  
      nX ~= and nY~=and nMap~=0 then --con boss cã mÆt ë trªn map
                  nDesc 
      DescLink_NieShiChen.." S¸t thñ "..tab_ToaDoBossST[UWorld1082][3].." vÉn cßn sèng, ng­¬i cßn ch­a tiªu diÖt ®­îc h¾n."
                  
      tinsert(tb,{"H·y ®­a ta ®Õn ®ã",gotobossst,{nX,nY,nMap}})
              else
                  
      nDesc "HiÖn t¹i s¸t thñ "..tab_ToaDoBossST[UWorld1082][3].." ®· lÈn trèn, ng­¬i ph¶i kiªn nhÉn chê tin tøc."
                  
      tinsert(tb,{"Ta sÏ trë l¹i sau",Quit})
              
      end
              SayEx
      (nDesc,tb)
              return 
      0
          end
          
      return 1
      end 
      Tìm đoạn code tiếp theo
      PHP Code:
      function showboss(row)
          
      Describe(DescLink_NieShiChen..ContentList[16], 12killertabfile:getCell("BossName",row+1).."/#givetask("..(row+1)..")"killertabfile:getCell("BossName",row+2).."/#givetask("..(row+2)..")"killertabfile:getCell("BossName",row+3).."/#givetask("..(row+3)..")"killertabfile:getCell("BossName",row+4).."/#givetask("..(row+4)..")"killertabfile:getCell("BossName",row+5).."/#givetask("..(row+5)..")"killertabfile:getCell("BossName",row+6).."/#givetask("..(row+6)..")"killertabfile:getCell("BossName",row+7).."/#givetask("..(row+7)..")"killertabfile:getCell("BossName",row+8).."/#givetask("..(row+8)..")"killertabfile:getCell("BossName",row+9).."/#givetask("..(row+9)..")"killertabfile:getCell("BossName",row+10).."/#givetask("..(row+10)..")""Trang kÕ /#showbossnext("..row..")"ContentList[15]);
      end
      function showbossnext(row)
          
      Describe(DescLink_NieShiChen..ContentList[16], 12killertabfile:getCell("BossName",row+11).."/#givetask("..(row+11)..")"killertabfile:getCell("BossName",row+12).."/#givetask("..(row+12)..")"killertabfile:getCell("BossName",row+13).."/#givetask("..(row+13)..")"killertabfile:getCell("BossName",row+14).."/#givetask("..(row+14)..")"killertabfile:getCell("BossName",row+15).."/#givetask("..(row+15)..")"killertabfile:getCell("BossName",row+16).."/#givetask("..(row+16)..")"killertabfile:getCell("BossName",row+17).."/#givetask("..(row+17)..")"killertabfile:getCell("BossName",row+18).."/#givetask("..(row+18)..")"killertabfile:getCell("BossName",row+19).."/#givetask("..(row+19)..")"killertabfile:getCell("BossName",row+20).."/#givetask("..(row+20)..")""Trang tr­íc/#showboss("..row..")"ContentList[15]);
      end
      function givetask(taskid)
          
      nt_setTask(1082,taskid);
          
      Describe(DescLink_NieShiChen..killertabfile:getCell("BossName",taskid)..killertabfile:getCell("BossInfo",taskid), 1ContentList[15]);
      end 
      Thay thế hoàn toàn bằng đoạn code dưới
      PHP Code:
      function givetask(taskid,nX,nY,nMap)
          
      nt_setTask(1082,taskid);
          
      local nDesc DescLink_NieShiChen..killertabfile:getCell("BossName",taskid)..killertabfile:getCell("BossInfo",taskid)
          
      local tb = {}
          
      tinsert(tb,{"H·y ®­a ta ®Õn ®ã",gotobossst,{nX,nY,nMap}})
          
      SayEx(nDesc,tb)
      end
      function gotobossst(nX,nY,nMap)
          
      NewWorld(nMap,nX,nY)
          
      SetFightState(1);
      end 

    Bước 3: Vào game test
    • Đến Nhiếp Thí Trần nhận nhiệm vụ sát thủ. Ngay sau khi nhận xong nó hiện tiếp menu đưa đến nơi con boss
    • Nếu ko click vào menu ngay sau khi nhận quest. Nói chuyện lại với Nhiếp Thí Trần. Click vào nhiệm vụ cấp bao nhiêu cũng đc. Nó sẽ thông báo là con boss XXX chưa chết, nó sẽ đưa đến nơi nếu cần.
    • Nếu con boss đã bị giết (Hoặc lý do nào đó nó ko xuất hiện trên cái map chỉ định) thì nó sẽ ko hiện lên trên danh sách boss để nhận nhiệm vụ.
    • Lưu ý: Nó phù nhân vật tới đúng vị trí boss. Thế nên cẩn thận chết

    Kết
    Script hoạt động chủ yếu dựa vào hàm FindNpc. Nó tìm 1 Npc dựa vào tên CHUẨN của npc được add vào map. Từ NpcName và MapId thì hàm FindNpc tìm ra tọa độ npc đó. Chúng ta chỉ việc phù tới nơi mà thôi.
    Thực ra nó cũng là hàm kiếm NPC mình đã từng viết trong bài tìm đến vị trí của boss hoàng kim share lâu rồi.
    Mình đã làm thử cho bản 6.0 , đến lúc vô npc bấm vào dòng nhận nv boss st nó kg ra tên boss là bị gì vậy bạn ơi !
    Khách viếng thăm hãy cùng caoboivip xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 

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

  1. [JX] Cho Mình Hỏi Về Cách add thêm vật phẩm cho Boss và Nhận Xu khi Boss Die !
    Bởi hocdevgame trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 4
    Bài viết cuối: 19-06-17, 08:58 AM
  2. [JX] Xin giúp đỡ cách chỉnh dame boss hoàng kim và chỉnh boss hoàng kim đánh skill 15
    Bởi hoilamgi45 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 3
    Bài viết cuối: 26-11-16, 05:47 PM
  3. [JX] Hỏi cách Tăng điểm kỹ năng, tiềm năng giữ lại sau mỗi lần chuyển sinh
    Bởi Slayer trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 1
    Bài viết cuối: 13-07-15, 06:29 PM
  4. [JX] Giúp Em Add Chức năng gọi boss tiểu, đại vào trong chức năng GM với !!
    Bởi tongtulenh trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 2
    Bài viết cuối: 22-05-12, 06:52 AM
  5. Tập 3: Nhiệm Vụ Boss Vĩnh Cửu Và NV Boss Truyền Thuyết
    Bởi ThanhVipLn trong diễn đàn Scripts
    Trả lời: 6
    Bài viết cuối: 04-07-11, 12:36 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à 07:27 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ệ.