PDA

View Full Version : [KT] [Tổng Hợp] Hàm hay dùng trong Kiếm Thế



satthupro95
06-01-13, 12:56 AM
Tình hình là thấy bên topic <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> của bác DarkFoxIT k còn hoạt động nữa nên hôm nay mình muốn lập topic này để tổng hợp và update các hàm dùng trong Kiếm Thế . Mọi người cùng đóng góp nhé

Hàm add EXP
me.AddExp(số exp muốn add);

Hiện lên bảng
Dialog:Say("Viết câu cần hiện lên ở đây");

Hiện chữ ở khung chat
me.Msg("Viết câu cần hiện lên ở đây");

Hiện lên kênh thế giới . Chữ vàng giống lúc thông báo hoạt động của hệ thống
local szMsg = string.format("Viết câu cần hiện lên ở đây");
KDialog.NewsMsg(1, Env.NEWSMSG_COUNT, szMsg);


Hàm AddItem
me.AddItem(Genre,DetailType,ParticularType,Level);
hoặc
me.AddItem(Genre,DetailType,ParticularType,Level,S eries);
Đối với đồ có thể cường hóa : me.AddItem(Genre,DetailType,ParticularType,Level,S eries,Cấp Cường Hóa);
Thông số vật phẩm các bạn xem trong : setting\item\001\other
Thông số trang bị các bạn xem trong :
setting\item\001\equip
setting\item\001\extern\change

Hàm đếm item trong túi
local nCount1 = me.GetItemCountInBags(18,1,1,9); <-- Khai thông số item tại đây
me.Msg("Trong túi của bạn có "..nCount1.." cái vật phẩm nCount1");

Hàm kiểm tra ô trống trong túi
if me.CountFreeBagCell() < 10 then
me.Msg("Túi của bạn đã đầy, cần ít nhất 10 ô trống.");
return 0;
end

Hàm xóa item trong túi

local tbItemId2 = {18,1,1,10,0,1}; -- Khai báo thông số item tại đây
Task:DelItem(me, tbItemId2, 1); -- Xóa 1 item tbItemId2
hoặc

me.ConsumeItemInBags(nCount, 18, 1, 1, 10); -- xóa nCount viên Huyền Tinh 10


Hàm add nhiều item
local i = 1
while i<=500 do -- Số lượng item cần add ở đây là 500
me.AddItem(18,1,25151,1); -- Khai thông số item tại đây
i=i+1
end

Hàm reload scipt
DoScript("\\script\\npc\\tuiguangyuan.lua"); -- Ở đây load file tuiguangyuan.lua nằm trong scipt\npc các bạn có thể chỉnh lại tùy ý

Hàm gọi NPC
local nMapId, nPosX, nPosY = me.GetWorldPos();
KNpc.Add2(ID NPC, Cấp, Hệ, nMapId, nPosX, nPosY)
me.Msg(string.format("Đã gọi Boss tại map số %d tọa độ %d/%d",nMapId,nPosX/8,nPosY/16));

Hàm Lấy tọa độ đang đứng
local nMapId, nPosX, nPosY = me.GetWorldPos();
local sms = string.format(" Tọa độ đang đứng là:<color=yellow> %d <color>-<color=green> %d <color>",nPosX*32, nPosY*32);
Dialog:Say(sms);

Hàm đổi tên NPC khi gọi ra
local nMapId, nPosX, nPosY = me.GetWorldPos();
KNpc.Add2(ID NPC, Cấp, Hệ, nMapId, nPosX, nPosY).szName= "Thích tên gì đặt vào đây"

Hàm add Danh Hiệu
me.AddTitle(genre id,detailtype id,level id,rank); -- Xem trong setting\player\title.xml

Hàm add max Kỹ Năng Sống , add xong thoát ra vào lại mới được
function tbGift:kynangsong()
for i=1,10 do me.SaveLifeSkillLevel(i,120) end
me.Msg(string.format("Đã max toàn bộ kỹ năng sống"));
end

Hàm add level
me.AddLevel(X - me.nLevel); -- X là level cần add

Hàm nếu đủ điều kiện if nó mới hiện không đủ điều kiện sẽ không hiện
if me.nLevel >90 then
table.insert(tbOpt, 1,{"Nhận quà level 90",self.NhanQuaLevel90, self}); -- Tức là nếu đẳng cấp > 90 thì nó mới hiện lên dòng nhận quà level 90
end

Hàm add Bạc , Bạc Khóa , Đồng , Đồng Khóa
me.Earn(X,0); -- X là số Bạc cần add
me.AddBindMoney(Y,0); -- Y là số Bạc Khóa cần add
me.AddBindCoin(Z); -- Z là số đồng khóa cần add
me.AddJbCoin(W); -- W là số đồng thường cần add

Hàm add 1 vật phẩm có thời hạn
me.SetItemTimeout(me.AddItem(Genre,Detail,Particul ar,Level), os.date("%Y/%m/%d/%H/%M/00", GetTime() + 3600 * 24 * 30)); -- Thông số item khai ở trong ngoặc AddItem , vật phẩm này có hạn sử dụng 30 ngày các bạn có thể tùy ý chỉnh lại

Hàm chuyển trạng thái chiến đấu áp dụng cho ai thích đánh nhau trong thành =))
{"Vào trạng thái chiến đấu", me.SetFightState, 1} -- Trong thành như ngoài thành có thể gọi boss đánh ngay trong thành hoặc đánh ng cùng trạng thái
{"Hủy trạng thái chiến đấu", me.SetFightState, 0}

Hàm gửi thông báo đến hảo hữu
me.SendMsgToFriend("Thích gì ghi vào đây");

Check level
me.nLevel

Check giới tính
me.nSex == 0 ( Nam)
me.nSex == 1 ( Nữ )

Check Môn Phái và Hệ Phái
me.nFaction == 1 and me.nRouteId == 1 -- Thiếu Lâm Đao
me.nFaction == 1 and me.nRouteId == 2 -- Thiếu Lâm Bổng

me.nFaction == 2 and me.nRouteId == 1 -- Thiên Vương Thương
me.nFaction == 2 and me.nRouteId == 2 -- Thiên Vương Chùy

me.nFaction == 3 and me.nRouteId == 1 -- Đường Môn Bẫy
me.nFaction == 3 and me.nRouteId == 2 -- Đường Môn Tụ Tiễn

me.nFaction == 4 and me.nRouteId == 1 -- Ngũ Độc Đao
me.nFaction == 4 and me.nRouteId == 2 -- Ngũ Độc Chưởng

me.nFaction == 5 and me.nRouteId == 1 -- Nga Mi Chưởng
me.nFaction == 5 and me.nRouteId == 2 -- Nga Mi Kiếm

me.nFaction == 6 and me.nRouteId == 1 -- Thúy Yên Kiếm
me.nFaction == 6 and me.nRouteId == 2 -- Thúy Yên Đao

me.nFaction == 7 and me.nRouteId == 1 -- Cái Bang Chưởng
me.nFaction == 7 and me.nRouteId == 2 -- Cái Bang Bổng

me.nFaction == 8 and me.nRouteId == 1 -- Thiên Nhẫn Kích
me.nFaction == 8 and me.nRouteId == 2 -- Thiên Nhẫn Đao

me.nFaction == 9 and me.nRouteId == 1 -- Võ Đang Khí
me.nFaction == 9 and me.nRouteId == 2 -- Võ Đang Kiếm

me.nFaction == 10 and me.nRouteId == 1 -- Côn Lôn Đao
me.nFaction == 10 and me.nRouteId == 2 -- Côn Lôn Kiếm

me.nFaction == 11 and me.nRouteId == 1 -- Minh Giáo Chủy
me.nFaction == 11 and me.nRouteId == 2 -- Minh Giáo Kiếm

me.nFaction == 12 and me.nRouteId == 1 -- Đoàn Thị Kiếm
me.nFaction == 12 and me.nRouteId == 2 -- Đoàn Thị Chỉ

Hàm add kỹ năng
me.AddFightSkill(ID trong skill.txt,cấp của kỹ năng)

Hàm xử lý tiến trình giống như khi mở rương thuốc by tuidangvui (<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>)
local tbBreakEvent =
{
Player.ProcessBreakEvent.emEVENT_MOVE,
Player.ProcessBreakEvent.emEVENT_ATTACK,
Player.ProcessBreakEvent.emEVENT_SIT,
Player.ProcessBreakEvent.emEVENT_RIDE,
Player.ProcessBreakEvent.emEVENT_USEITEM,
Player.ProcessBreakEvent.emEVENT_ARRANGEITEM,
Player.ProcessBreakEvent.emEVENT_DROPITEM,
Player.ProcessBreakEvent.emEVENT_CHANGEEQUIP,
Player.ProcessBreakEvent.emEVENT_SENDMAIL,
Player.ProcessBreakEvent.emEVENT_TRADE,
Player.ProcessBreakEvent.emEVENT_CHANGEFIGHTSTATE,
Player.ProcessBreakEvent.emEVENT_ATTACKED,
Player.ProcessBreakEvent.emEVENT_DEATH,
Player.ProcessBreakEvent.emEVENT_LOGOUT,
Player.ProcessBreakEvent.emEVENT_REVIVE,
Player.ProcessBreakEvent.emEVENT_CLIENTCOMMAND,
}
GeneralProcess:StartProcess("Đang mở", 10 * Env.GAME_FPS, {self.XuLyMo, self}, nil, tbBreakEvent);

Hàm add danh vọng : xem trong setting\player\repute.xml
AddRepute("số Camp","số Class","số Điểm cần ADD")

Hàm add nhiều vật phẩm cùng loại ví dụ như là add tất cả mũ
for i = a,z do -- a và z là ParticularType của item cùng loại
me.AddItem(Genre,DetailType,i,Level)
end

Hàm add thêm điểm tiềm năng và kỹ năng
me.AddPotential(X); ===> X là số điểm tiềm năng cần add
me.AddFightSkillPoint(Y); =>>> Y là số điểm kỹ năng cần add

Hàm add Tinh Lực - Hoạt Lực
me.ChangeCurMakePoint(X);--X là số tinh lực cần add
me.ChangeCurGatherPoint(Y);-- Y là số hoạt lực cần add

Check Tiền Tệ
Check bạc thường : me.nCashMoney;
Check bạc khóa : me.GetBindMoney();
Check đồng khóa : me.nBindCoin;
Check đồng thường : me.nCoin;

Thực thi script đến web
me.CallClientScript({"OpenWebSite", "Đường dẫn web"});

Check tinh lực hoạt lực

me.dwCurGTP;
me.dwCurMKP;


-------- Còn update ----------

cuga95
06-01-13, 02:34 AM
<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>

tuidangvui
06-01-13, 04:49 AM
<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>
ủng hộ 1 vé :))
xử lý tiến trình thêm code sau


local tbBreakEvent =
{
Player.ProcessBreakEvent.emEVENT_MOVE,
Player.ProcessBreakEvent.emEVENT_ATTACK,
Player.ProcessBreakEvent.emEVENT_SIT,
Player.ProcessBreakEvent.emEVENT_RIDE,
Player.ProcessBreakEvent.emEVENT_USEITEM,
Player.ProcessBreakEvent.emEVENT_ARRANGEITEM,
Player.ProcessBreakEvent.emEVENT_DROPITEM,
Player.ProcessBreakEvent.emEVENT_CHANGEEQUIP,
Player.ProcessBreakEvent.emEVENT_SENDMAIL,
Player.ProcessBreakEvent.emEVENT_TRADE,
Player.ProcessBreakEvent.emEVENT_CHANGEFIGHTSTATE,
Player.ProcessBreakEvent.emEVENT_ATTACKED,
Player.ProcessBreakEvent.emEVENT_DEATH,
Player.ProcessBreakEvent.emEVENT_LOGOUT,
Player.ProcessBreakEvent.emEVENT_REVIVE,
Player.ProcessBreakEvent.emEVENT_CLIENTCOMMAND,
}
GeneralProcess:StartProcess("Đang mở", 10 * Env.GAME_FPS, {self.XuLyMo, self}, nil, tbBreakEvent);

traiquay1310
10-01-13, 10:11 PM
Cho mình xin hàm mua đồ trên kỳ trân các, có sét số lượng được không satthu :)

- Hàm bỏ đồ vào ô nhiệm vụ, có sét số lượng càng tốt

bluesky089
24-02-13, 01:36 PM
ủng hộ 1 vé :))
xử lý tiến trình thêm code sau
bạn ơi chỉ mình làm 1 server kiếm thế off zới:">

vipbk
24-02-13, 02:16 PM
bạn ơi chỉ mình làm 1 server kiếm thế off zới:">

trong box Release đã có hướng dẫn rất chi tiết rồi, bạn làm theo, có lỗi gì thì post bài vào box Hỏi đáp

anhnhianh
14-02-14, 07:12 PM
up thêm hàm đi chủ thread ơiiiiiiiiiiiiiiiiiiiiiiiiiiiii :)

bludragon2012
04-08-14, 11:33 PM
Cho em hỏi, với hàm như trên muốn thêm cho một nhân vật nào đó chứ không phải mình thì làm thế nào ạ

truonghung
28-11-14, 03:38 PM
Cho mình xin cái hàm nộp vật phẩm cho npc. thank

burynny1
15-04-15, 02:24 AM
e muon add exp lv len 200 thi vao đâu a , cho e đường dẫn

quynhlong94
13-06-15, 11:35 PM
Thớt ơi. Cho xin cái chỉ số Item Long Văn Ngân Tệ với (cái dùng để mua trang bị Long Hồn trong Khắc Di Môn ấy. tìm trong item full mấy bac kia share mà ko thấy..:x:x:x

mrquang32
15-06-15, 08:58 PM
các bạn chỉ cho mình cách add hàm chi tiết dc ko
có gì pmmmm fb mì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>

Palestin
26-01-19, 12:51 PM
ai biết cái hàm mà ra khỏi môn phái không ạ, có mấy cái túi tân thủ có mà h ko nhớ là cái nào , mình xin cảm ơn ạ

na.ilusm89
26-01-19, 12:56 PM
ai biết cái hàm mà ra khỏi môn phái không ạ, có mấy cái túi tân thủ có mà h ko nhớ là cái nào , mình xin cảm ơn ạ



me.ResetFightSkillPoint();
me.JoinFaction(0);
me.SetTask(2,1,1);
me.UnAssignPotential();
me.Msg("Đã ra khỏi môn phái!");

Palestin
26-01-19, 01:34 PM
me.ResetFightSkillPoint();
me.JoinFaction(0);
me.SetTask(2,1,1);
me.UnAssignPotential();
me.Msg("Đã ra khỏi môn phái!");


cho mình hỏi là có cần đặt cái function tbGift:ra khỏi môn phái() hay chỉ add vào thôi ạ, mình ko rãnh vụ này lắm, mà thiếu có cái này nó hơi bí

na.ilusm89
26-01-19, 01:45 PM
cho mình hỏi là có cần đặt cái function tbGift:ra khỏi môn phái() hay chỉ add vào thôi ạ, mình ko rãnh vụ này lắm, mà thiếu có cái này nó hơi bí

Tất nhiên là phải tạo function mới gọi tới hàm này rồi
Vạn sự tùy duyên =))

Palestin
26-01-19, 02:07 PM
Tất nhiên là phải tạo function mới gọi tới hàm này rồi
Vạn sự tùy duyên =))

hic , làm hoài ko được ạ, bác chỉ cho mình nguyên cái đoạn code đó hoàn chỉnh với , xin cảm ơn nhiều :D

ZhouJieLun
26-01-19, 02:27 PM
hic , làm hoài ko được ạ, bác chỉ cho mình nguyên cái đoạn code đó hoàn chỉnh với , xin cảm ơn nhiều :D

nếu nó giống jx thì chắc sẽ là thế này

function roimonphai()
me.ResetFightSkillPoint();
me.JoinFaction(0);
me.SetTask(2,1,1);
me.UnAssignPotential();
me.Msg("Đã ra khỏi môn phái!");
end
rồi vào túi tân thủ thêm 1 dòng gọi function trên ra thôi8-}

na.ilusm89
26-01-19, 02:51 PM
hic , làm hoài ko được ạ, bác chỉ cho mình nguyên cái đoạn code đó hoàn chỉnh với , xin cảm ơn nhiều :D



function tbGift:OnUse()
local tbOpt = {
{"Ra khỏi môn phái", self.CanFaction, self};
{"Kết thúc đối thoại"},
};
Dialog:Say("Hỗ trợ tân thủ", tbOpt);
return 0;
end

function tbGift:CanFaction()
me.ResetFightSkillPoint();
me.JoinFaction(0);
me.SetTask(2,1,1);
me.UnAssignPotential();
me.Msg("Đã ra khỏi môn phái!");
end