Sesshomaru
28-03-14, 08:24 PM
Bước 1:
Tạo 1 file lua với nội dung như sau
bỏ vào folder Script là được
local szIPPath = "\\script\\IP\\banned.txt";
function IPBan:LoadInfo(nIp)
local tbIPSetting = Lib:LoadTabFile(szIPPath);
local szCurIp = Lib:IntIpToStrIp(nIp);
for nRow, tbRowData in pairs(tbIPSetting) do
local tbTemp = {};
tbTemp.szIPban = tbRowData["IP"];
if (tbTemp.szIPban == szCurIp) then
-- me.KickOut();
Player:Arrest(me.szName);
return 0;
end
end
end
Bước 2:
Tìm file script/item/class/gmcard.lua
Tìm function
function tbGMCard:ViewPlayer(nPlayerId)
Thêm vào như sau:
{"Đưa vào thiên lao", "GM.tbGMRole:ArrestHim", nPlayerId},
{"Thoát khỏi thiên lao", "GM.tbGMRole:FreeHim", nPlayerId},
{"Gửi thư", self.SendMail, self, nPlayerId},
{"<color=red>Khóa IP<color>", self.Band, self, nPlayerId},--Thêm vào
{"Kết thúc đối thoại"},
Cùng file đó thêm vào
function tbGMCard:Band(nPlayerId)
local szIPPath = "\\script\\IP\\banned.txt";
local pPlayer = KPlayer.GetPlayerObjById(nPlayerId);
local nIp = pPlayer.GetTask(2063, 1);
local szCurIp = Lib:IntIpToStrIp(nIp);
pPlayer.KickOut();
KFile.AppendFile(szIPPath, szCurIp.."\n");
end
Bước 3:
Tìm file script/player/player.lua
Tìm Function sau:
function Player:LoginIpHandle(nIp)
Thêm vào đầu hoặc cuối function đó đoạn sau
IPBan:LoadInfo(me.dwIp);
Bước 4:
Tạo 1 file banned.txt theo đường dẫn Chuẩn script/IP
Nội dung file Txt:
IP<enter>
Bước cuối cùng
Mở file setting/scriptable.txt
Thêm vào dòng cuối cùng
IPBan<tab>xxxxxx(chú thích,ghi gì cũng được) <enter>
Cơ chế hoạt động:
Dùng thẻ GM card nhập tên nhân vật sau đó lấy info thông tin
Nếu chọn Band IP thì nó sẽ ghi ip của nhân vật được nhập tên vào file banned.txt và kickout nhân vật đó ngay lập tức.
Mỗi khi người chơi đăng nhập vào nó sẽ load file banned.txt
Nếu IP đăng nhập ko nằm trong file đó thì nó sẽ bỏ qua.Nếu ip đăng nhập xuất hiện trong file đó tự động kick out.Dù có tạo bao nhiêu tài khoản cũng vậy.
Hạn chế: Cái này là hạn chế của server.Một số server cũ thì Khác sub IP cũng vẫn hoạt động.Không hiểu bản mới sao ko hoạt động(ko đưa lên đảo,ko làm gì được);
Khác sub server sẽ không ghi được ip.Tốt nhất là thằng nào bố láo kéo nó về gần mình.Rồi chọn ban IP
@Palloss cái hàm đó chỉ khóa tài khoản,không khóa IP.Tạo tài khoản khác vẫn vào được.Cái này là khóa luôn IP
Mình không share file vì ko ưa ăn sẵn.Ai cần chịu khó tự tạo cho bản thân.
Thân!
Tạo 1 file lua với nội dung như sau
bỏ vào folder Script là được
local szIPPath = "\\script\\IP\\banned.txt";
function IPBan:LoadInfo(nIp)
local tbIPSetting = Lib:LoadTabFile(szIPPath);
local szCurIp = Lib:IntIpToStrIp(nIp);
for nRow, tbRowData in pairs(tbIPSetting) do
local tbTemp = {};
tbTemp.szIPban = tbRowData["IP"];
if (tbTemp.szIPban == szCurIp) then
-- me.KickOut();
Player:Arrest(me.szName);
return 0;
end
end
end
Bước 2:
Tìm file script/item/class/gmcard.lua
Tìm function
function tbGMCard:ViewPlayer(nPlayerId)
Thêm vào như sau:
{"Đưa vào thiên lao", "GM.tbGMRole:ArrestHim", nPlayerId},
{"Thoát khỏi thiên lao", "GM.tbGMRole:FreeHim", nPlayerId},
{"Gửi thư", self.SendMail, self, nPlayerId},
{"<color=red>Khóa IP<color>", self.Band, self, nPlayerId},--Thêm vào
{"Kết thúc đối thoại"},
Cùng file đó thêm vào
function tbGMCard:Band(nPlayerId)
local szIPPath = "\\script\\IP\\banned.txt";
local pPlayer = KPlayer.GetPlayerObjById(nPlayerId);
local nIp = pPlayer.GetTask(2063, 1);
local szCurIp = Lib:IntIpToStrIp(nIp);
pPlayer.KickOut();
KFile.AppendFile(szIPPath, szCurIp.."\n");
end
Bước 3:
Tìm file script/player/player.lua
Tìm Function sau:
function Player:LoginIpHandle(nIp)
Thêm vào đầu hoặc cuối function đó đoạn sau
IPBan:LoadInfo(me.dwIp);
Bước 4:
Tạo 1 file banned.txt theo đường dẫn Chuẩn script/IP
Nội dung file Txt:
IP<enter>
Bước cuối cùng
Mở file setting/scriptable.txt
Thêm vào dòng cuối cùng
IPBan<tab>xxxxxx(chú thích,ghi gì cũng được) <enter>
Cơ chế hoạt động:
Dùng thẻ GM card nhập tên nhân vật sau đó lấy info thông tin
Nếu chọn Band IP thì nó sẽ ghi ip của nhân vật được nhập tên vào file banned.txt và kickout nhân vật đó ngay lập tức.
Mỗi khi người chơi đăng nhập vào nó sẽ load file banned.txt
Nếu IP đăng nhập ko nằm trong file đó thì nó sẽ bỏ qua.Nếu ip đăng nhập xuất hiện trong file đó tự động kick out.Dù có tạo bao nhiêu tài khoản cũng vậy.
Hạn chế: Cái này là hạn chế của server.Một số server cũ thì Khác sub IP cũng vẫn hoạt động.Không hiểu bản mới sao ko hoạt động(ko đưa lên đảo,ko làm gì được);
Khác sub server sẽ không ghi được ip.Tốt nhất là thằng nào bố láo kéo nó về gần mình.Rồi chọn ban IP
@Palloss cái hàm đó chỉ khóa tài khoản,không khóa IP.Tạo tài khoản khác vẫn vào được.Cái này là khóa luôn IP
Mình không share file vì ko ưa ăn sẵn.Ai cần chịu khó tự tạo cho bản thân.
Thân!