PDA

View Full Version : [JX] [LINUX] Bác nào giải thích dùm em đoạn code này với :(



caudaolang2
09-09-14, 05:27 PM
IncludeLib("RELAYLADDER");
IncludeLib("TONG")
function main()
Ladder_NewLadder(13111, "Nguyen Van A", 100,0);
Ladder_NewLadder(13111, "Nguyen Van B", 200,0);
Ladder_NewLadder(13111, "Nguyen Van C", 300,0);
Ladder_NewLadder(13111, "Nguyen Van D", 400,0);
Ladder_NewLadder(13111, "Nguyen Van E", 700,0);
Ladder_NewLadder(13111, "Nguyen Van F", 900,0);
Ladder_NewLadder(13111, "Nguyen Van G", 1000,0);
Ladder_NewLadder(13111, "Nguyen Van H", 5000,0);
Ladder_NewLadder(13111, "Nguyen Van K", 7000,0);
Ladder_NewLadder(13111, "Nguyen Van L", 9000,0);
local szName, nValue= Ladder_GetLadderInfo(13111,1);
Say("Ten "..szName.." TOP 1",1, "Khong/no")
end
function no()
end
Hàm Ladder_NewLadder(13111, "Nguyen Van A", 100,0); < lưu 1 thằng nào đó là bảng xếp hạng cùng giá trị để nó xét và xếp lại bản xếp hạng 13111
Sau khi mày mò thì mình tìm được hàm local bien_1, bien_2= Ladder_GetLadderInfo(idbangxephang,top); lấy ra được 2 biến là tên + giá trị của thằng đứng ở vị trí top trong bang xep hang nào đấy :I
Mình viết thằng NPC như thế này mà nó không hiện ra được tên thằng đứng 1 :( đúng ra nó phải hiển thị ra thằng Nguyen Van L chứ nhỉ :(
Bác nào rành test thử xem dùm mình được không :( chân thành cảm ơn trước :(




Lần sau nhớ post bài đúng box

hoivegame
09-09-14, 08:51 PM
Bạn nên dùng id từ 10001, 10300 thôi ngoài range đó là nó sẽ ko nhận bạn nhé. Thử thay id bạn đang xài với 10300 nó sẽ load người có số điểm cao nhất và tên.

caudaolang2
09-09-14, 10:46 PM
Bạn nên dùng id từ 10001, 10300 thôi ngoài range đó là nó sẽ ko nhận bạn nhé. Thử thay id bạn đang xài với 10300 nó sẽ load người có số điểm cao nhất và tên.


IncludeLib("RELAYLADDER");
IncludeLib("TONG");
function main()
Ladder_NewLadder(10004, "Nguyen Van A", 100,0);
Ladder_NewLadder(10004, "Nguyen Van B", 200,0);
Ladder_NewLadder(10004, "Nguyen Van C", 300,0);
Ladder_NewLadder(10004, "Nguyen Van D", 400,0);
Ladder_NewLadder(10004, "Nguyen Van E", 700,0);
Ladder_NewLadder(10004, "Nguyen Van F", 900,0);
Ladder_NewLadder(10001, "Nguyen Van G", 1000,0);
Ladder_NewLadder(10004, "Nguyen Van H", 5000,0);
Ladder_NewLadder(10004, "Nguyen Van K", 7000,0);
Ladder_NewLadder(10004, "Nguyen Van L", 9000,0);
local szName, nValue= Ladder_GetLadderInfo(10004,1);
Say("Ten "..szName.." xep hang 1",2,"Cap Nhat/no", "Kh«ng/no")
end
function no()
end

Vẫn không được bạn à :(
ngoài hai thư viện
IncludeLib("RELAYLADDER");
IncludeLib("TONG");
mình có dùng thiếu thư viện nào không bạn ? :(...

caudaolang2
10-09-14, 03:16 PM
Đã tìm ra được các bác nhé !!! =)) Do mình tắt hết hầu hết task ở

\gateway\s3relay\relaysetting\task
Nên bị tắt mất 1 file quan trọng

\gateway\s3relay\relaysetting\task\ladderload.lua
Tác dụng ; đại khái là phải gọi file này trong task mới dùng được hàm để SET 1 bảng xếp hạng nào đấy:

Ladder_NewLadder(idLd)
với idLd được quy định cố định từ 1 số nào đó đến số nào đó ở file \ladderload.lua này :


for i=10001, 10300 do
LoadLadder(i)
end

Bổ xung cho bạn nào chưa biết :

local szName, nValue= Ladder_GetLadderInfo(10004,7);
Hàm này để lấy tên và giá trị của 1 thằng bất kỳ ở top nào đấy ra (ở trên là mình lấy top 7 của bảng 10004 )
Với các hàm này các bạn có thể tạo 1 NPC để biết được mình đang ở thứ hạng bao nhiêu bằng cách tạo vòng for


local ten_ban = GetName();
local top_ban = 0;
for i=1, 1000 do
szName, nValue= Ladder_GetLadderInfo(10004,i);
if(ten_ban==szName) then
top_ban = nValue;
end
end
Say( "Hang Cua Ban Trong Game Hien Tai La : "..top_ban,1,"Cam On/no")


Bạn nào biết cách SET cho cái dấu hỏi thành số bất kỳ thì có thể kết hợp với đoạn code trên để hiển thị hạng ra dấu hỏi nhé :D (Mình đoán vậy thôi !!!)

lengoctuandng
08-06-15, 03:41 PM
Đã tìm ra được các bác nhé !!! =)) Do mình tắt hết hầu hết task ở

\gateway\s3relay\relaysetting\task
Nên bị tắt mất 1 file quan trọng

\gateway\s3relay\relaysetting\task\ladderload.lua
Tác dụng ; đại khái là phải gọi file này trong task mới dùng được hàm để SET 1 bảng xếp hạng nào đấy:

Ladder_NewLadder(idLd)
với idLd được quy định cố định từ 1 số nào đó đến số nào đó ở file \ladderload.lua này :


for i=10001, 10300 do
LoadLadder(i)
end

Bổ xung cho bạn nào chưa biết :

local szName, nValue= Ladder_GetLadderInfo(10004,7);
Hàm này để lấy tên và giá trị của 1 thằng bất kỳ ở top nào đấy ra (ở trên là mình lấy top 7 của bảng 10004 )
Với các hàm này các bạn có thể tạo 1 NPC để biết được mình đang ở thứ hạng bao nhiêu bằng cách tạo vòng for


local ten_ban = GetName();
local top_ban = 0;
for i=1, 1000 do
szName, nValue= Ladder_GetLadderInfo(10004,i);
if(ten_ban==szName) then
top_ban = nValue;
end
end
Say( "Hang Cua Ban Trong Game Hien Tai La : "..top_ban,1,"Cam On/no")


Bạn nào biết cách SET cho cái dấu hỏi thành số bất kỳ thì có thể kết hợp với đoạn code trên để hiển thị hạng ra dấu hỏi nhé :D (Mình đoán vậy thôi !!!)

Bổ sung chút nha đoạn này bạn viết theo cấu trúc trên thì chỉ ra level thôi, để ra hạng thì phải thay đổi chút như zậy nè



local ten_ban = GetName();
local top_ban = 0;
for i=1, 1000 do
szName, nValue= Ladder_GetLadderInfo(10004,i);
if(ten_ban==szName) then
top_ban = i;--sửa cái nValue => i nhé
end
end
Say( "Hang Cua Ban Trong Game Hien Tai La : "..top_ban,1,"Cam On/no")

bthhhz
08-06-15, 05:22 PM
Theo mình nghĩ nên tao 1 Item update xếp hạng thủ công cho người chơi vì nó có lợi hơn .
Tự động update liên tục . và chủ động . có thể xem xếp hạng của mình trên bảng tống sắp sau mỗi lần update . như vậy chủ động mà lại chính xác đảm bảo hoạt động của script hơn