View Full Version : [KT] Xin hàm check danh hiệu
Mình đã thử hàm me.GetAllTitle mà sao vẫn ko check đc nhỉ. Cao thủ nào chỉ giáo dùm cái :(
__Jie__
28-05-13, 04:19 AM
local tbAllTitle = me.GetAllTitle();
-- 如果原来有师徒称号的话,把原有的� �徒称号取消掉
for _, tbTitleInfo in pairs(tbAllTitle) do
if (tbTitleInfo.byTitleGenre == 250) then -- 自定义称号大类的id是250
local szTitle = tbTitleInfo.szTitleName;
local nStart, nEnd = string.find(szTitle, EventManager.IVER_szTeacherTitle);
if (nStart and nEnd and nStart ~= nEnd and nEnd == string.len(szTitle)) then
me.RemoveSpeTitle(szTitle);
end
end
end
thử phát xem 250 là Genre của title đó :x
Bonus thêm cái mới tìm ra đầy đủ 4 thuộc tính tha hồ check :D
function TaskCond:HaveTitle(byTitleGenre, byTitleDetailType, byTitleLevel, dwTitleParam)
local tbTitles = me.GetAllTitle(nCamp, nClass);
for _, tbTitle in ipairs(tbTitles) do
if (tbTitle.byTitleGenre == byTitleGenre and
tbTitle.byTitleDetailType == byTitleDetailType and
tbTitle.byTitleLevel == byTitleLevel and
tbTitle.dwTitleParam == dwTitleParam) then
return 1;
end;
end;
return nil, "称号尚未达到要求";
end;
G9 chúc thành công \:D/
local tbAllTitle = me.GetAllTitle();
-- 如果原来有师徒称号的话,把原有的� �徒称号取消掉
for _, tbTitleInfo in pairs(tbAllTitle) do
if (tbTitleInfo.byTitleGenre == 250) then -- 自定义称号大类的id是250
local szTitle = tbTitleInfo.szTitleName;
local nStart, nEnd = string.find(szTitle, EventManager.IVER_szTeacherTitle);
if (nStart and nEnd and nStart ~= nEnd and nEnd == string.len(szTitle)) then
me.RemoveSpeTitle(szTitle);
end
end
end
thử phát xem 250 là Genre của title đó :x
Bonus thêm cái mới tìm ra đầy đủ 4 thuộc tính tha hồ check :D
function TaskCond:HaveTitle(byTitleGenre, byTitleDetailType, byTitleLevel, dwTitleParam)
local tbTitles = me.GetAllTitle(nCamp, nClass);
for _, tbTitle in ipairs(tbTitles) do
if (tbTitle.byTitleGenre == byTitleGenre and
tbTitle.byTitleDetailType == byTitleDetailType and
tbTitle.byTitleLevel == byTitleLevel and
tbTitle.dwTitleParam == dwTitleParam) then
return 1;
end;
end;
return nil, "称号尚未达到要求";
end;
G9 chúc thành công \:D/
Code này mình cũng đang thử test rùi. Khi chyaj thì GS chả báo gì àm nó cũng chả check nên mới bí vậy :((
Sao vẫn ko chịu check nhỉ. Anh em giúp tí :((
function TaskCond:Checkdanhhieu(byTitleGenre, byTitleDetailType, byTitleLevel, dwTitleParam)
local tbTitles = me.GetAllTitle(nCamp, nClass);
for _, tbTitle in ipairs(tbTitles) do
if (tbTitle.byTitleGenre == 2 and
tbTitle.byTitleDetailType == 2 and
tbTitle.byTitleLevel < 4 and
tbTitle.dwTitleParam < 4) then
return 1;
end;
end;
return nil, "Danh hiệu chưa đạt yêu cầu";
end;
__Jie__
28-05-13, 05:53 PM
function tbLiGuan:CheckDanhHieu()
local nCheck = 0;
local tbTitles = me.GetAllTitle();
if tbTitles then
for _, pTitle in ipairs(tbTitles) do
local szTitleGenre = pTitle.byTitleGenre;
local szTitleDetail = pTitle.byTitleDetailType;
if szTitleGenre == 4 and szTitleDetail == 1 then -- neu dat danh hieu tan nhan vuong thi se thuc hien
nCheck = 1;
break;
end
end
end
if nCheck == 1 then
me.AddItem(18,1,1,1);
else
Dialog:Say(string.format("Nguoi khong co danh hieu."));
return 0;
end
end
XONG ;)
function tbLiGuan:CheckDanhHieu()
local nCheck = 0;
local tbTitles = me.GetAllTitle();
if tbTitles then
for _, pTitle in ipairs(tbTitles) do
local szTitleGenre = pTitle.byTitleGenre;
local szTitleDetail = pTitle.byTitleDetailType;
if szTitleGenre == 4 and szTitleDetail == 1 then -- neu dat danh hieu tan nhan vuong thi se thuc hien
nCheck = 1;
break;
end
end
end
if nCheck == 1 then
me.AddItem(18,1,1,1);
else
Dialog:Say(string.format("Nguoi khong co danh hieu."));
return 0;
end
end
XONG ;)
Hóng mãi mới có hàng. Thanks nhiều nhá =D>
vuachemgio
28-05-13, 07:03 PM
Anh osama ơi cho em hỏi cái đi ạ giúp em cái này với
Anh osama ơi cho em hỏi cái đi ạ giúp em cái này với
Hỏi gì bạn cứ post lên 4rum nhé
__Jie__
28-05-13, 10:57 PM
Hỏi gì bạn cứ post lên 4rum nhé
Xài được không tình yêu ;;) ta viết chưa test nữa 8-x
vuachemgio
28-05-13, 11:07 PM
Hỏi gì bạn cứ post lên 4rum nhé
cái file chuyển map là tên gì ạ em muốn bỏ đoạn code đó vào file chuyển map anh giúp em vs
Xài được không tình yêu ;;) ta viết chưa test nữa 8-x
Xài ngon ấy chứ.
Đây là demo đoạn check danh hiệu Tống Kim cho anh em tham khảo. Ai xài nhớ thanks bạc Jie chứ đừng thanks mình ;))
local nCheck = 0;
local tbTitles = me.GetAllTitle();
if tbTitles then
for _, pTitle in ipairs(tbTitles) do
local szTitleGenre = pTitle.byTitleGenre;
local szTitleDetail = pTitle.byTitleDetailType;
local szTitleLevel = pTitle.byTitleLevel;
if szTitleGenre == 2 and szTitleDetail == 2 and szTitleLevel > 3 then -- Check danh hieu tai day
nCheck = 1;
break;
end
end
end
if nCheck == 1 then
GeneralProcess:StartProcess("Chờ xíu...", DELAY_TIME * Env.GAME_FPS, {self.GetQuest, self, me.nId, him.dwId}, nil, tbEvent);
else
Dialog:Say(string.format("Điểm cá nhân hiện tại chưa đạt 3000 điểm."));
return 0;
end
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.