PDA

View Full Version : [KT] Xin Hướng Dẫn Lấy Task Thời Gian Online



nhtlquan
02-08-14, 10:02 AM
Như tiêu đề, mình đang muốn làm Hoạt Động, Online 1h sẽ nhận được 1 lần quay may mắn. Nhưng mình không biết lấy task thời gian online ở đâu được, Mong mọi người chỉ giáo.

na.ilusm89
02-08-14, 10:21 AM
3000 1 3 Nhận thưởng hàng ngày (add; 1-ngày 2-đếm số lần 3-tính thời gian) 0 0

tbPhanThuong.TaskGourp = 3000; --task mới phải add vào gameserver\setting\player\task_def.txt
tbPhanThuong.TaskId_Day = 1; --task lưu ngày
tbPhanThuong.TaskId_Count = 2; --task lưu lần nhận
tbPhanThuong.TaskId_Last = 3; --task lưu thời gian nhận
tbPhanThuong.Relay_Time = 30*60; --thời gian giữa 2 lần nhận mình để 30p 1 lần
tbPhanThuong.Use_Max =5; --số lần nhận tối đa

nhtlquan
02-08-14, 10:32 AM
3000 1 3 Nhận thưởng hàng ngày (add; 1-ngày 2-đếm số lần 3-tính thời gian) 0 0

tbPhanThuong.TaskGourp = 3000; --task mới phải add vào gameserver\setting\player\task_def.txt
tbPhanThuong.TaskId_Day = 1; --task lưu ngày
tbPhanThuong.TaskId_Count = 2; --task lưu lần nhận
tbPhanThuong.TaskId_Last = 3; --task lưu thời gian nhận
tbPhanThuong.Relay_Time = 30*60; --thời gian giữa 2 lần nhận mình để 30p 1 lần
tbPhanThuong.Use_Max =5; --số lần nhận tối đa

Cài này không phải bạn ak. Cái này không online nó vẫn tính, ý mình muốn là phải login vào game và online đúng thời gian mới nhận dc kia.

vipbk
02-08-14, 10:54 AM
Của bạn na.ilusm89 chính là code nhận thưởng hàng ngày của xaophayxoan (xem thêm file daygift.lua), không onl làm sao nó tính được task. Code này có nhược điểm là không tích lũy nhận thưởng nhiều lần, chỉ khi đã nhận phần thưởng thứ nhất mới được tính thời gian cho lần nhận thưởng thứ 2 ...

mrkutepro
02-08-14, 09:28 PM
Của bạn na.ilusm89 chính là code nhận thưởng hàng ngày của xaophayxoan (xem thêm file daygift.lua), không onl làm sao nó tính được task. Code này có nhược điểm là không tích lũy nhận thưởng nhiều lần, chỉ khi đã nhận phần thưởng thứ nhất mới được tính thời gian cho lần nhận thưởng thứ 2 ...

Cái code này không phải là code lấy task thời gian online, mà là code lấy task giãn cách 2 lần nhận, ví dụ lần nhận trước là 12h00, bạn nhận xong out game, sau đó 12h30 bạn đăng nhập vào nhận thì lại dc nhận tiếp. Nên nó không phù hợp với câu hỏi của chủ topic

Hướng giải quyết theo mình là làm thêm ở hàm login và logout trong file player.lua để giải quyết. Khi người chơi login vào thì sẽ có một task gọi là Task A, nhận lưu thời gian người chơi đăng nhập vào. Tiếp đó ở logout sẽ có 1 task nữa gọi là Task B ghi thời gian đã tích lũy nếu out game, Task B = Task B + (Thời gian thực khi out - Task A) . Như vậy đến đây, các bạn hiểu là Task B đóng vai trò lưu tổng thời gian online đến khi out game của nhân vật. Tiếp theo:

Tổng thời gian online của nhân vật sẽ được tính bằng giá trị giả định là SumTime, SumTime = Task B + (Thời gian thực - Task A)
Như vậy đã ra cái cần phải tính. Những bài hd của mình mang tính học hỏi cao hơn là ăn sẵn, nên các bạn chịu khó đọc và ngẫm