PDA

View Full Version : [JX] Share Script Tự Động Thông Báo Bảo Trì



family2806
26-02-16, 01:58 PM
Hôm nay ngồi rảnh tự viết code tự động thông báo bảo trì (không biết đã có ai share chưa).
Cách làm của mình chưa chắc đã là tối ưu. Ai có cách tốt hơn thì góp ý nhé.

Cách làm như sau:
Bước 1: Tạo file lua chưa task thông báo.


IncludeLib("SETTING")
Include("\\script\\global\\volamht\\config.lua")
CONST_LEFT_TIME = 10
leftTime = 10
offTime = 5
function OnTimer()
if(GetTask(TASK_BAOTRI) ~= 1) then
StopTimer()
end
local strThongBao = "Server sÏ ®ãng ®Ó b¶o tr× trong vßng %d phót n÷a. Dù kiÕn thêi gian b¶o tr× lµ %d phót. §¹i hiÖp h·y bè trÝ thêi gian nghØ ng¬i hîp lý. Tr©n träng!"
local strBaoTri = "Server ®ãng ®Ó b¶o tr×. Dù kiÕn thêi gian b¶o tr× lµ %d phót. §¹i hiÖp h·y bè trÝ thêi gian nghØ ng¬i hîp lý. Tr©n träng!"
if leftTime > 0 then
Msg2SubWorld(format(strThongBao,leftTime,offTime))
leftTime = leftTime - 1
else
Msg2SubWorld(format(strBaoTri,offTime))
leftTime = CONST_LEFT_TIME
SetTask(TASK_BAOTRI,0)
-- Ở đây thực hiện kick nhân vật và đóng server.
StopTimer()
end
end

Bước 2: Khai báo task ở settings -> timertask.txt
VD:


61 \script\global\baotri.lua

Ở đây 61 là ID, còn \script\global\baotri.lua là đường dẫn file tạo ra ở bước 1.

Bước 3:
Thêm đoạn code sau vào chỗ nào bạn muốn thông báo bảo trì:


SetTask(TASK_BAOTRI,1)

SetTimer( 18 * 2, 61)



Vậy là xong. Có thể vào game test.

hoangcungclub
26-02-16, 05:19 PM
cảm ơn bạn đã đóng góp cho CLBGAMESVN.

muốn xử lý kick hết all nhân vật cần thêm.

và lưu lại nhân vật chống roll server mình nên thêm đoạn script nầy vào nhé.


if leftTime > 0 then
Msg2SubWorld(format(strThongBao,leftTime,offTime))
leftTime = leftTime - 1
else
Msg2SubWorld(format(strBaoTri,offTime))
leftTime = CONST_LEFT_TIME
SetTask(TASK_BAOTRI,0)
StopTimer()
SaveNow()
OrgPlayerIdx = PlayerIndex
for i=1, 1200 do
PlayerIndex = i
KickOutSelf()
end
PlayerIndex = OrgPlayerIdx
end
end

thay thế vào sẽ chạy.

và các bạn sửa lại nhé vì code bạn đó đang chạy bằng ( giây )

cabato
29-02-16, 04:11 PM
Mình thấy hàm SetTimer() chỉ gắn vào nhân vật kích hoạt nó. Nếu nv này out thì time ko chạy nữa.
Có ai biết hàm nào chạy time theo từng phút cho toàn sv ko vậy.chỉ mình với

wermanhme1990
29-02-16, 04:16 PM
Mình thấy hàm SetTimer() chỉ gắn vào nhân vật kích hoạt nó. Nếu nv này out thì time ko chạy nữa.
Có ai biết hàm nào chạy time theo từng phút cho toàn sv ko vậy.chỉ mình với

Bạn xem scrip thời gian báo danh tống kim và thời gian bắt đầu tống kim xem thử.

cabato
29-02-16, 04:58 PM
Bạn xem scrip thời gian báo danh tống kim và thời gian bắt đầu tống kim xem thử.

Ko dc bạn à. Mình thử đặt 1 câu thông báo vào trong OnTimer() rồi và chờ 15-20' mà chẳng thấy động tĩnh j cả

bthhhz
29-02-16, 09:17 PM
Hỏi ké chủ thớt về cái Timer trên ver 4 phát nhé.
Mình thấy các bản share trước cái hàng timer này hầu như là ko có sao ver4 này nhiều quá bạn ơi
Theo mình tính thì Timer này mỗi giây 1 lần. nhưng ko hiểu nó nằm chỗ nào .
Mong bác giải đáp hộ với nhé !
<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>

Ducthinh682
30-10-16, 11:13 AM
Cái này mấy phút nó mới chạy thông báo vậy mọi người mình đợi tầm 15 - 20p nhưng vẫn ko thấy nó thông báo....