PDA

View Full Version : [KT] Share banned IP cho game



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!

na.ilusm89
28-03-14, 08:29 PM
Goog Bác Banned wed thì biết chứ game chưa biết :) share học hỏi bác

heroviet2301
28-03-14, 08:46 PM
Bỏ 1 phiếu :) xích mấy thành phần phá hoại vào :D

8gamevn
28-03-14, 09:31 PM
vote hóng xem sài thế nào :D
Mười nhân mười bằng bao nhiêu ? (viết kết quả bằng số)

yasichiaki
28-03-14, 11:41 PM
tất nhiên là có rồi.14/0 rồi kìa bác ơi :x
ngày xưa share ko cần phải nghĩ thế mà giờ share lại phải chờ vote.kiếm thế dạo này im ắng quá.hjx

Sesshomaru
29-03-14, 03:11 AM
Vote cho nó xôm tụ.im ắng quá đâu ai thèm.Để xem những ai online ý mà

sidanlovehan
29-03-14, 07:37 PM
vote up'
úp lá up
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

The Guardian
29-03-14, 08:40 PM
Ủng hộ 1 vote share cho anh em xài :))

Sesshomaru
29-03-14, 08:45 PM
Ủng hộ 1 vote share cho anh em xài :))
Chờ anh hoài em sửa được rồi.
Ko cần up đâu.Chút tổng hợp lại rồi share thôi.Đơn giản lắm.Mà đang nghiên cứu dở cái này

anhkhongdoiqua
29-03-14, 08:47 PM
ủng hộ thêm 1 vote nữa>:D<

-------------chế độ gộp bài------------

zZK3yL0v3Zz
29-03-14, 09:01 PM
vote nào ....................................

pikhjn
29-03-14, 09:20 PM
Đề nghị share riêng cho một mình tớ xài thôi gái Toại =))

Pallost
29-03-14, 11:32 PM
không có demo à bác toại &^^ banned tức là không vào được game hình như em nhớ ở player.lua có function block user chỉ cần dùng hàm đó là không vào game được

Sesshomaru
31-03-14, 01:15 AM
Đã cập nhật nội dung nhé................

dongnguyen0510
31-03-14, 08:20 AM
Vote cho bác nào 30 charrrrrrrrrrrrrrrrrrrrrrrr

8gamevn
31-03-14, 09:35 AM
cứ tưởng là tools hóa ra là dành riêng cho KT ^^

pikhjn
31-03-14, 12:09 PM
cứ tưởng là tools hóa ra là dành riêng cho KT ^^

Tuôi cũng tưởng thế :))
1+ 1 bằng mấy ?

Pallost
01-04-14, 06:57 PM
=)) em thì chã cần khóa IP em cứ lấy IP và cho em nó rớt mạng là xong :))
thanks bác !!!!

Mr.QuangHuy
02-04-14, 05:29 PM
me.dwHardWareId => get ID HDD của máy :-?

Thay vì band ip thì mình band HDD luôn có vẻ hợp lý hơn nếu chơi ở nhà, dùng mạng ADSL thì Restart cái modem sẽ có ip mới mà 8-|

satthupro95
02-04-14, 05:32 PM
me.dwHardWareId => get ID HDD của máy :-?

Thay vì band ip thì mình band HDD luôn có vẻ hợp lý hơn nếu chơi ở nhà, dùng mạng ADSL thì Restart cái modem sẽ có ip mới mà 8-|

quả hàm này bá này :v .................

Mr.QuangHuy
02-04-14, 05:49 PM
quả hàm này bá này :v .................

$-) mình dùng hàm đó để làm chống post mạng tống kim mà trùng ip thì có thể là quán net, nhưng đã trùng hdd giữa killer và death thì 99,99% là post mạng rồi 8->

Sesshomaru
02-04-14, 07:08 PM
$-) mình dùng hàm đó để làm chống post mạng tống kim mà trùng ip thì có thể là quán net, nhưng đã trùng hdd giữa killer và death thì 99,99% là post mạng rồi 8->
Farm Tống kim nè

Chúng tôi không cấm hoàn toàn mà chỉ hạn chế một phần.

Cụ thể cách tính điểm như sau:
Ví dụ 4 nhân vật: A, B ở bên Mông Cổ. Nhân vật C , D ở bên Tây Hạ.

Tính điểm đơn trảm:

-Nhân Vật A lần đầu tiên giết nhân vật D sẽ được tính điểm bình thường.
Nhưng sau đó, trong khoảng thời gian giãn cách là 180 giây, nhân vật A có giết nhân vật D thêm bao nhiêu lần cũng không được tính điểm.
-Nếu trong khoảng thời gian chờ trên, nhân vật A giết nhân vật C vẫn tính điểm bình thường.


Tính điểm Liên Trảm:

-Nếu nhân vật A đã giết nhân vật D và đang trong khoảng thời gian chờ 180 giây. Thì trong khoảng thời gian đó nhân vật A giết nhân vật D bao nhiêu lần cũng ko được tính Liên Trảm.
-Nếu trong Tống Kim chỉ có A và D thì A phải giết D 3 lần trong thời gian tối thiểu 6 phút mới được tính 1 liên trảm.

tiamodzodzo
02-04-14, 11:05 PM
vote cho trantoai 1 cai luon share ve học hỏi thôi tks bác nhiều

thaitunet39
08-04-14, 07:49 AM
Thay vì ghi nội dung vào file.txt ,vậy có hàm nào xóa hết nội dung đã ghi trong file.txt đó không ạ ,nếu có thì bác Toại cho em xin nhé thank nhiều

__Jie__
08-04-14, 08:14 AM
Thay vì ghi nội dung vào file.txt ,vậy có hàm nào xóa hết nội dung đã ghi trong file.txt đó không ạ ,nếu có thì bác Toại cho em xin nhé thank nhiều
Viết = mấy lệnh của windown đó 8-}

kittyngoc_dp_
29-07-14, 05:51 PM
me.dwHardWareId => get ID HDD của máy :-?

Thay vì band ip thì mình band HDD luôn có vẻ hợp lý hơn nếu chơi ở nhà, dùng mạng ADSL thì Restart cái modem sẽ có ip mới mà 8-|

dựa vào hàm me.dwHardWareId e lấy ý tưởng giới hạn 1 acc/1 máy vào chiến tg ntn:

e thêm vào script\mission\battle\npc\mubingxiaowei.lua

local nHardWareId = me.dwHardWareId;
local szContent = string.format("%s\t%s\n",nHardWareId,me.szName)
KFile.AppendFile("..\\Gamecenter\\playerladder\\idhdd.txt", szContent);

Như vậy nv đầu tiên vào chiến tr sẽ ghi ID ổ cứng và tên vào file idhdd.txt. tiếp đó thêm cái này vào đầu function tbNpcBase:OnDialog()

tbNpcBase.HardWareId = Lib:LoadTabFile("..\\Gamecenter\\playerladder\\idhdd.txt");
if tbNpcBase.HardWareId then
for i, tbRow in ipairs(tbNpcBase.HardWareId) do
local nHardWareId = tbRow.ID;
local szName = tbRow.szName;
local meHardWareId = me.dwHardWareId;
if me.szName ~= szName and nHardWareId == meHardWareId then
Dialog:Say("Chỉ 1 nhân vật trên 1 máy trạm được phép tham gia chiến trường");
end
end
end

Thêm cái check tên để nhỡ có bị uot acc ra thì vẫn vào lại đc. Kết quả là ko hoạt động. Các bác giúp e xem code sai chỗ nào? Ko thấy báo lỗi gì mà.[-O<

satthupro95
29-07-14, 06:06 PM
member đã ít còn k cho nó kéo xe, tống kim chắc vắng lắm

kittyngoc_dp_
29-07-14, 06:48 PM
member đã ít còn k cho nó kéo xe, tống kim chắc vắng lắm

nhưng công bằng, và ko bị post mạng chứ sao. ^^

copday
29-07-14, 08:52 PM
me.dwHardWareId => get ID HDD của máy :-?

Thay vì band ip thì mình band HDD luôn có vẻ hợp lý hơn nếu chơi ở nhà, dùng mạng ADSL thì Restart cái modem sẽ có ip mới mà 8-|

hàm này get ID ổ cứng à, sao đâu có đc, get ra mỗi nhân vật 1 ID là sao ta

kittyngoc_dp_
30-07-14, 07:56 PM
hàm này get ID ổ cứng à, sao đâu có đc, get ra mỗi nhân vật 1 ID là sao ta

uhm, chỉ đc 1 lúc là lại đổi số, thế mà cấm bằng cái này sao đc

tinhlabui
21-09-18, 12:23 AM
dựa vào hàm me.dwHardWareId e lấy ý tưởng giới hạn 1 acc/1 máy vào chiến tg ntn:

e thêm vào script\mission\battle\npc\mubingxiaowei.lua

local nHardWareId = me.dwHardWareId;
local szContent = string.format("%s\t%s\n",nHardWareId,me.szName)
KFile.AppendFile("..\\Gamecenter\\playerladder\\idhdd.txt", szContent);

Như vậy nv đầu tiên vào chiến tr sẽ ghi ID ổ cứng và tên vào file idhdd.txt. tiếp đó thêm cái này vào đầu function tbNpcBase:OnDialog()

tbNpcBase.HardWareId = Lib:LoadTabFile("..\\Gamecenter\\playerladder\\idhdd.txt");
if tbNpcBase.HardWareId then
for i, tbRow in ipairs(tbNpcBase.HardWareId) do
local nHardWareId = tbRow.ID;
local szName = tbRow.szName;
local meHardWareId = me.dwHardWareId;
if me.szName ~= szName and nHardWareId == meHardWareId then
Dialog:Say("Chỉ 1 nhân vật trên 1 máy trạm được phép tham gia chiến trường");
end
end
end

Thêm cái check tên để nhỡ có bị uot acc ra thì vẫn vào lại đc. Kết quả là ko hoạt động. Các bác giúp e xem code sai chỗ nào? Ko thấy báo lỗi gì mà.[-O<

cho em hỏi ngu
thế khi out nhân vật khỏi tống kim thì cần hàm gì xóa dữ liệu đã lưu trong idhdd.txt 8-}