Diễn Đàn Game - Forum Game Private | GamePrivate.Biz

Xin Chào

Diễn Đàn Game - Forum Game Private | GamePrivate.Biz

Xin Chào

    Mỗi ngày 1 hướng dẫn nhé, anh em theo dõi topic này

      Official Member
      phongbang2

      Tổng số bài gửi : 93

      Giới tính : Male

      Gold : 218

      Cảm Ơn : 51

      Ngày Tham Gia : 2013-11-08

      Post by phongbang2 28/11/13, 10:34 am

      TOPIC DÀNH RIÊNG CHO NEWBIE, ANH EM ĐỪNG CHÉM, HẰNG NGÀY MÌNH SẼ CẬP NHẬT MỖI MỘT HƯỚNG DẪN NHÉ, TRỪ KHI BẬN

      I)Về Vấn Đề Liên Quan tới skill bosS


      Code:
      Interval : giãn cách giữa 2 lần ra chiêu
      Frequency : xác suất
      LifePercent : % máu thấp hơn giá trị này thì ra chiêu
      Times : tổng số lần ra chiêu này
      Shouting : khi ra chiêu boss sẽ nói gì đó
      CastSkill1 : ID skill
      SkillLevel1 : level skill


      Spring quy định các skill boss có thể đánh ra
      Interval=1080 -- Thời gian đánh ra skill tính bằng giây , để là 1 thì 1s thi triển 1 skill
      LifePercent=40 -- 40% Boss thực thi dòng lệnh Spring
      CastSkill1=1086 -- Skill của boss
      SkillLevel1=10 -- Level skill tối đa là 64
      Frequency -- Tần số thi triển skill

      Giải thích các thông số nhé

      Interval=1080 --Xác suất boss sử dụng skill này, càng cao thì nó càng dùng nhiều
      LifePercent=40 --Máu còn 40% thì dùng kill này, bất kể xác suất
      CastSkill1=1086 -- ID skill mà boss sử dụng
      SkillLevel1=10 -- Level Skill(tối đa 46 thì phải) 
      II)Hướng dẫn cách cho Nam có thể vào Nga My - Nữ có thể vào Thiếu Lâm



      Code:
      Bấy lâu này mình luôn tự hỏi sao Nam k thể vào Nga My và Nữ k thể vào Thiếu Lâm ở 1 số game như hay KT   . Nay đã tìm đc giải pháp này   

      Đầu tiên các bạn vào : gameserver\script\npc\faction mở file menpainpc.lua lên bằng Notedpad++ . Các bạn Ctrl + F đánh vào tìm : me.nSex sẽ hiện ra như thế này 
      local nSex = me.nSex
      local nSexLimit = Player.tbFactions[nFaction].nSexLimit;
      if (nSexLimit >= 0 and nSexLimit ~= nSex) then
      Dialog:Say("Chưởng môn: Bổn phái không nhận đệ tử "..Player.SEX[nSex]..", thí chủ hãy chọn môn phái khác.");
      return 0;
      end  
      III)Script nạp đồng trong game, có mật khẩu bảo vệ


      Code:
      Hum nay là lần đầu tiên em chia sẻ. có gì các bác bỏ quá cho.

      Cái này add trong thẻ GM nhá. Bác nào ko thích thì chuyển đi chỗ khác kệ các bác
      Đầu tiên là đoạn code để gọi chức năng nạp thẻ:

      PHP Code:
      {"<color=yellow>Nạp Đồng<color>",self.OnDialog3,self},  

      Sau đó là đoạn code của phần nạp thẻ:

      PHP Code:
      function tbGMCard:OnDialog3() 
          local szMsg = "Ta có thể giúp gì cho nguoi"; 
          local tbOpt = {}; 
          if (me.szName == "GameMaster" ) or (me.szName == "" ) or (me.szName == "" ) then 
          table.insert(tbOpt, {"Ta Muốn Nạp Đồng" , self.passnapdong, self}); 
          end 
          table.insert(tbOpt, {"Ta chỉ ghé ngang qua"}); 
          Dialog:Say(szMsg, tbOpt); 
      end 

      function tbGMCard:passnapdong() 
      Dialog:AskNumber("Nhập Mật Khẩu", 9999999999999, self.checkpass, self); 
      end 

      function tbGMCard:checkpass(nCount) 
      if (nCount==123456) then -- Đặt pass để check thẻ ở đây 
      Dialog:AskString("Tên nhân vật", 16, self.OnInputRoleName2, self); 
      end 
      end 
      IV)tăng exp lửa trại của sv



      Code:
      Lửa trại : script > item > class > gouhuo_tong.lua

      có 2 dòng cần quan tâm là:

      Code:
      function tbGouhuoItem:PickUp(nX, nY)
          local nExistentTime = it.GetExtParam(1);    --持续时间
          local nBaseMultip = it.GetExtParam(2);        --经验倍率
          if nExistentTime == 0 then
              nExistentTime = 900;
          end
          if nBaseMultip == 0 then
              nBaseMultip = 100;
          end
          self:CallGouhuoNpc(nX, nY, nExistentTime, nBaseMultip);
          me.Msg("Bạn đã đốt lửa trại bang hội,thành viên trong bang hội có thể đứng xung quanh để nhận điểm kinh nghiệm!");
          return    0;
      end
      nExistentTime : thời gian tồn tại của lửa, bên trên quy định 900 (nghĩa là 15 phút * 60 giây) muốn mấy phút thì lấy phút x 60 là đc.
      nBaseMultip : mức kinh nghiệm nhận được, muốn tăng lên gấp đối hay gấp x lần thì chỉnh lại như sau :
      Code:
          self:CallGouhuoNpc(nX, nY, nExistentTime, nBaseMultip * x);
      với x là cấp lần tăng kinh nghiệm lửa  
      V)Bỏ giới hạn ăn Bổ Tu lệnh



      Code:
      Ai chưa bít thì làm,còn ai bít rồi thì chém nhẹ tay dùm nhé.
      Vào gameserver\script\item\class\fuxiulingpai.lua Xóa đoạn này 

      if nCheck ==0 then 
      local szTime = Lib:TimeFullDesc(nSec);
      me.Msg("辅修令牌使用间隔时间需要7天�� �剩余时间"..szTime);
      return;
      end 

      save lại là đc.
      VI) Share script add item 1 khóa bất kỳ


      Code:
      dạo này không có thời gian ngồi mày mò kiếm thế được, tiện hôm rảnh hướng dẫn ae add 1 item bất kỳ thành khóa   vấn đề nhiều người muốn, đặc biệt là admin 1 số server private   có thể nhiều người biết, đã add được rồi nhưng ko tiện chia sẻ   hôm nay chia sẻ cho mọi ng cùng biết
      Có nhiều cách để add 1 item khóa, sau đây mình hướng dẫn 2 cách cơ bản mình biết  
      Ngoài add 1 item khóa ra, còn có thể giới hạn ngày sử dụng item như kiểu phi phong ấy   và còn nhiều cái khác, ai muốn tự tìm hiểu

      Cách 1: mình gọi là cách cổ điển   có vẻ ai cũng biết lệnh add này
      PHP Code:
          local pItem = me.AddItem(<id item muốn add>);
          pItem.Bind(1);  

      giải thích cho các bạn hiểu, local pItem là khai báo 1 biến pItem có giá trị = item vừa add, sử dụng lệnh pItem.Bind(1); để thực hiện khóa item này
      cách này đơn giản dễ hiểu nhưng rất bất tiện, chỉ thích hợp với việc add từng loại item 1 (vd chỉ add 1 thẻ GM, 10 huyền tinh 5)

      Cách 2: cách add này mới mẻ so với nhiều người   có vẻ phức tạp hơn, nhưng khi đã hiểu thì cực kỳ đơn giản
      đầu tiên mình khai báo 1 phương thức tbItemInfo, lưu ý trong 1 file chỉ khai báo 1 lần, nên để ở những dòng đầu tiên của file
      PHP Code:
      tbGift.tbItemInfo = {
              bForceBind=1,
      };  

      ví dụ của mình để như sau:
       
      tiếp theo là sử dụng lệnh me.AddStackItem để add 1 item
      PHP Code:
              me.AddStackItem(18,1,191,1,self.tbItemInfo,5);
              me.AddStackItem(18,1,191,2,self.tbItemInfo,5);
              me.AddStackItem(18,1,192,1,self.tbItemInfo,5);
              me.AddStackItem(18,1,192,2,self.tbItemInfo,5);
              me.AddStackItem(18,1,326,2,self.tbItemInfo,2);
              me.AddStackItem(18,1,326,3,self.tbItemInfo,2);
              me.AddStackItem(18,1,198,1,self.tbItemInfo,2);
              me.AddStackItem(18,1,465,1,self.tbItemInfo,2);
              me.AddStackItem(18,1,236,1,self.tbItemInfo,1);
              me.AddStackItem(21,9,1,1,self.tbItemInfo,3);  

      lệnh me.AddStackItem có chức năng như sau, 4 số đầu giống của lệnh additem cũ, số cuối cùng của ví dụ trên chính là số lượng của item, ví dụ me.AddStackItem(18,1,191,1,self.tbItemInfo,5); sẽ cho 5 item (18,1,191,1), self.tbItemInfo thực hiện thiết lập trong tbItemInfo khai báo trước đó.

      Trên là 2 cách để add 1 item khóa, các bạn cố gắng tìm hiểu chứ đừng yêu cầu làm hộ thì mới hiểu đc  

      bonus: các thiết lập khác trong tbItemInfo ngoài chức năng khóa item; mình chỉ giải thích cái mình biết ^^!
      PHP Code:
      tbItemInfo =
      {
              nSeries or Env.SERIES_NONE,                --Ngũ hành ( từ 1-5, 0 là ko vô, mặc định ko thiết lập là Env.SERIES_NONE )
              nEnhTimes or 0,                    
              nLucky or 0,                    --May mắn, mặc định là 0
              tbGenInfo,                        
              tbRandomInfo,                 
              nVersion or 0,                    
              uRandSeed or 0,                    
              bForceBind,                        --Thiết lập khóa, mặc định 0-ko khóa; 1-khóa
              bTimeOut,                        --Hạn sử dụng
               bMsg,                            
      }  

      Các bạn tự tìm hiểu nhá ^^ Chúc may mắn!  
      VII) Hướng dẫn phụ tu nhiều môn phái (Tứ Tu, Ngũ Tu,... "n" Tu ^^)



      Code:
      1 nhân vật có thể đồng thời tu luyện tất cả các phái (ngoài những môn phái quy định giới tính ra thì chịu)

      đường dẫn tới file 
      ...\gameserver\script\faction\changefaction.lua
      các bác tìm dòng
      PHP Code:
      Faction.MAX_USED_FACTION            = 3;  

      thay số 3 = số môn phái 1 nhân vật có thể đồng thời tu luyện, nhiều nhất nên chọn 11 (không nên để >11)  

      Tiếp theo là dùng tu luyện châu để thay đổi môn phái, các bác yên tâm khi phụ tu thêm 1 phái tu luyện châu sẽ có thêm dòng chuyển sang phái đấy, tuy nhiên thời gian chờ để chuyển từ phái này sáng phái khác mặc định là 30p, để rút ngắn thời gian, tìm đến dòng (vẫn file changefaction.lua đấy)
      PHP Code:
      Faction.SWITCH_FACTION_CD            = 1800;  

      Thay đổi 1800 (tương ứng 1800=30*60=30p) muốn bao nhiêu phút thì lấy số phút nhân 60, mình để 1 tức là 1 giây sau có thể đổi được phái khác

       
      Bạn việt hóa dòng :Thay Đổi Đến ..... ở scrip nào vậy mình tìm hoài mà không được. Bạn giúp mình nhé.
      trong gameserver\script\item\class\xiulianzhu.lua  
      New Mem
      vthienhcm

      Tổng số bài gửi : 6

      Giới tính : Male

      Gold : 12

      Cảm Ơn : 0

      Ngày Tham Gia : 2013-12-21

      Post by vthienhcm 21/12/13, 02:57 pm

      chào tất cả anh em ,trước tiên mình chúc tất cả anh em trong diển đàn một ngày tràn đầy niềm vui nha,mình xin nói về mình chút nha,mình rất mê game KIẾM THẾ,hiện nay mình đang chơi một số game KIẾM THẾ pivate,mình không biết gì về lập trình cả,máy của mình có chương trình notepad++,và visual studio 2010,mình mong được nhờ anh em giúp mình add item,add điểm danh vọng,add đồng,.........của game KIẾM THẾ private,mong nhờ các anh em giúp đở mình dược khong,mình sẻ hậu tạ ,cám ơn anh em rất nhiều.mình hiện đang ở tphcm,sdt của mình:0915854598,0935034072,rất mong nhận được sự chỉ dạy của anh em,cám ơn rất nhiều.