sidanlovehan
12-03-14, 09:19 PM
1)Hướng dẫn kích hoạt NPC liên đấu
mình đã chỉnh được NPC liên đấu bằng cách như sau
đầu tiên
Code:
local tbNpc = {};
Wlls.DialogNpc = tbNpc;
function tbNpc:OnDialog(nGameLevel, nFlag)
if Wlls:GetMacthSession() <= 0 then
Dialog:Say("Quan liên đấu: Giải đấu vẫn chưa mở.");
return 1;
end
if nGameLevel == Wlls.MACTH_ADV and Wlls:GetMacthSession() > Wlls.MACTH_ADV_START_MISSION then
Dialog:Say("Quan liên đấu: Giải đấu đã được mở, các anh hùng võ lâm ghi danh tham gi tỉ võ liên đấu.");
return 1;
end
sửa như sau
Code:
local tbNpc = {};
Wlls.DialogNpc = tbNpc;
function tbNpc:OnDialog(nGameLevel, nFlag)
--if Wlls:GetMacthSession() <= 0 then
--Dialog:Say("Quan liên đấu: Giải đấu vẫn chưa mở.");
--return 1;
---end
if nGameLevel == Wlls.MACTH_ADV and Wlls:GetMacthSession() > Wlls.MACTH_ADV_START_MISSION then
Dialog:Say("Quan liên đấu: Giải đấu đã được mở, các anh hùng võ lâm ghi danh tham gi tỉ võ liên đấu.");
return 1;
end
file
...\gameserver\script\mission\wlls\wlls_npc.lua
2)Code giới hạn du long hoàn chỉnh
hấy các bạn tìm kiếm nhiều nên mình share cho các bạn giới hạn du long
Ta thao tác trên 1 số file sau
1.gameserver\script\event\youlongmibao\youlongmiba o_def
lưu ý những dòng màu đỏ
Code:
Youlongmibao.TASK_GROUP_ID = 2106; -- 游龙密窑
Youlongmibao.TASK_YOULONG_HAVEAWARD = 1; -- 有奖未领
Youlongmibao.TASK_YOULONG_INTERVAL = 2; -- 挑战间隔
Youlongmibao.TASK_YOULONG_COUNT = 3; -- 累计次数
Youlongmibao.TASK_YOULONG_HAPPY_EGG = 6; -- 是否已经拿过开心蛋;0为未拿
Youlongmibao.TASK_DEPOSIT_COIN = 7; -- 未领取的古币值
Youlongmibao.TASK_ATTEND_NUM = 8; -- 每天参加的次数
Youlongmibao.TASK_ATTEND_DATE = 9; -- 每天参加的日期记录
Youlongmibao.TASK_ATTEND_NUM_EVENT = 10; -- 游龙周活动参加的次数及领奖情况
Youlongmibao.TASK_BATCH = 11; --游龙周批次
Youlongmibao.TASK_DAILY_NO_INTERVAL_TIMES = 12; --每天参加游龙阁次数
Youlongmibao.TaskId_Day = 13; -- 最多进行4次
Youlongmibao.TaskId_Count = 14; -- 最多进行4次
Youlongmibao.nMaxAttendNum = 20000; --游龙周活动记录的最大参加次数*100
Youlongmibao.MAX_FIGHT_TIME = 100; -- Chỉnh số lần khiêu chiến giới hạn tại đây(số lần hiện tại là 100 lần 1 ngày)
Youlongmibao.MAX_TIMES = 4; -- 最多进行4次
Youlongmibao.MAX_GRID = 25; -- 格子数量
Youlongmibao.MAX_INTERVAL = 15; -- 挑战间隔15秒
Youlongmibao.DEF_GET_HAPPYEGG_COUNT = 5;
Youlongmibao.nBatch = 1; --游龙周批次
Youlongmibao.NO_TIME_MAX_NUM = 200; --每天前两百个不需要等待时间
Youlongmibao.ITEM_YUEYING = {18, 1, 476, 1}; -- 月影之石
Youlongmibao.ITEM_ZHANSHU = {18, 1, 524, 1}; -- 游龙战书
Youlongmibao.ITEM_ZHANSHU_BIND = {18, 1, 524, 4}; -- 游龙战书
Youlongmibao.ITEM_COIN = {18, 1, 553, 1}; -- 游龙古币
Youlongmibao.ITEM_HAPPYEGG = "18,1,525,1" -- 开心蛋
Youlongmibao.MAX_TIMES = 20;
Youlongmibao.NPC_DIALOG = 3690;
Youlongmibao.NPC_FIGHT = 3689;
Youlongmibao.bOpen = EventManager.IVER_bOpenYoulongmibao;
Youlongmibao.TYPE_RATE_PATH = "\\setting\\event\\youlongmibao\\youlongmibao_rate. txt";
Youlongmibao.tbExcludeBind = {8, 16, 18, 28, 29};
Youlongmibao.nMaxAttendDaily = 30;
2.gameserver\script\event\youlongmibao\youlongmiba o_gs
tìm function Youlongmibao:Continue(pPlayer)
thêm vào:
Code:
local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end
Sẽ thành
Code:
function Youlongmibao:Continue(pPlayer)
local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end
............................................(còn đoạn nữa)
Làm tương tự với
function Youlongmibao:StartFight(pPlayer)
ta sẽ có function hoàn chỉnh sau:
Code:
function Youlongmibao:StartFight(pPlayer)
local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end
local nTimes = 1;
if self.tbPlayerList[pPlayer.nId] then
nTimes = self.tbPlayerList[pPlayer.nId].nTimes + 1;
end
Dialog:SendBlackBoardMsg(pPlayer, string.format("Tiến hành khiên chiến lần thứ %s", nTimes));
-- 召唤战斗npc
Youlongmibao.Manager:DelNpc(pPlayer);
Youlongmibao.Manager:AddFightNpc(pPlayer);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_COUNT, pPlayer.GetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_COUNT) + 1);
KGblTask.SCSetDbTaskInt(DBTASK_YOULONGMIBAO_COUNT, KGblTask.SCGetDbTaskInt(DBTASK_YOULONGMIBAO_COUNT) + 1);
-- 记录时间
pPlayer.SetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_INTERVAL, GetTime());
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, nCount + 1);
pPlayer.SetFightState(1);
end
Bước cuối cùng.Vào setting\player\task_def.txt thêm 2 task
Search: 2106(group) ta sẽ có Group sau
Code:
2106 1 3 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 4 5 [Hệ thống Chiến Thần] Du Long Quật-Trứng vui vẻ 1 0
2106 6 6 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 7 7 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 8 9 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 10 11 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 12 12 [Hệ thống Chiến Thần] Du Long Quật 0 0
Thêm vào:
2106 13 14 [Hệ thống Chiến Thần] Du Long Quật 0
Ta sẽ có Task Group 2106 hoàn chỉnh như sau:
Code:
2106 1 3 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 4 5 [Hệ thống Chiến Thần] Du Long Quật-Trứng vui vẻ 1 0
2106 6 6 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 7 7 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 8 9 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 10 11 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 12 12 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 13 14 [Hệ thống Chiến Thần] Du Long Quật 0
Nếu thấy có ích thì nhấn nút thank bằng hành động.đừng bằng lời
Hàm đổi trạng thái chiến đấu cho toàn server
vào script\boss\qinshihuang\map\qinshihuangling_5.lua
tìm
me.SetFightState(0);
0 -- phi chiến đấu
1 -- chiến đấu
<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>
{"<color=yellow>Vào trạng thái chiến đấu", me.SetFightState, 1}; -- 1 là chiến đấu
{"<color=yellow>Hủy trạng thái chiến đấu", me.SetFightState, 0}; -- 0 là phi chiến đấu
Lười mò quá chủ thread ạ cái gì cũng mau mau
Cần thiết thì đặt luôn vào script\player\player.lua luôn login là vào trạng thái luôn
Ðề: Hàm đổi trạng thái chiến đấu cho toàn server ?
Thử thế này xem có được không
Cho vào thẻ admin
tiếp Vào trạng thái chiến đấu
table.insert(tbOpt, 1, {"Vào Trạng Thái Chiến Đấu",self.VaoTrangThai, self});
function tbAdminCard:VaoTrangThai()
local tbPlayerList = KPlayer:GetAllPlayer();
for _,pPlayer in pairs(tbPlayerList) do
pPlayer.SetFightState(1);
end
end
Hủy trạng thái chiến đấu
table.insert(tbOpt, 1, {"Vào Trạng Thái Chiến Đấu",self.HuyTrangThai, self});
function tbAdminCard:HuyTrangThai()
local tbPlayerList = KPlayer:GetAllPlayer();
for _,pPlayer in pairs(tbPlayerList) do
pPlayer.SetFightState(0);
end
end
function tbGmPlayer:ComeHereAll()
local nMapId, nMapX, nMapY = me.GetWorldPos();
me.Msg("全体集合!");
self:RemoteCall_ApplyAll("me.NewWorld", nMapId, nMapX, nMapY);
end
function tbGmPlayer:RemoteCall_ApplyAll(...)
GlobalExcute({"GM.tbPlayer:RemoteCall_DoAll", arg})
end
function tbGmPlayer:RemoteCall_DoAll(tbCallBack)
local tbLocalPlayer = KPlayer.GetAllPlayer();
for _, pPlayer in pairs(tbLocalPlayer) do
pPlayer.Call(unpack(tbCallBack));
end
end
-- 申请为单一玩家执行
function tbGmPlayer:RemoteCall_ApplyOne(nToPlayerId, ...)
GlobalExcute({"GM.tbPlayer:RemoteCall_DoOne", nToPlayerId, arg})
end
-- 为本服务器玩家执行
function tbGmPlayer:RemoteCall_DoOne(nToPlayerId, tbCallBack)
local pPlayer = KPlayer.GetPlayerObjById(nToPlayerId);
if (pPlayer) then
pPlayer.Call(unpack(tbCallBack));
end
end
Mình hiểu ý bạn rồi ý bạn là muốn mng khi sử dụng thành PK dạng đồ sát hết
Thế member muốn thành Bang Phái thì chuyển sao
Search từ khóa lúc chuyển PK sang Đồ Sát là rõ
5)Code max chân nguyên và nhận linh hồn-tu luyện thánh linh
function tbNpc:tuluyenchannguyen()
local pItem = me.GetEquip(Item.EQUIPPOS_ZHENYUAN_MAIN);
if pItem == nil then
me.Msg("Ngươi không trang bị Chân Nguyên. Vui lòng trang bị sau đó mới có thể Tu Luyện");
return 0;
end
Item:UpgradeZhenYuanNoItem(pItem,1000000,1);
Item:UpgradeZhenYuanNoItem(pItem,1000000,2);
Item:UpgradeZhenYuanNoItem(pItem,1000000,3);
Item:UpgradeZhenYuanNoItem(pItem,1000000,4);
me.Msg(string.format("Chúc mừng <color=gold>%s<color> tu luyện Chân Nguyên thành công thuộc tính! Tăng <color=gold> %d điểm<color>.", me.szName, chiphi));
end
tiếp
function tbNpc:nhanlinhhon()
local lhcu = me.GetTask(2123,1);
local lhmoi = lhcu + 10000000000;
me.SetTask(2123,1,lhmoi);
end
mình đã chỉnh được NPC liên đấu bằng cách như sau
đầu tiên
Code:
local tbNpc = {};
Wlls.DialogNpc = tbNpc;
function tbNpc:OnDialog(nGameLevel, nFlag)
if Wlls:GetMacthSession() <= 0 then
Dialog:Say("Quan liên đấu: Giải đấu vẫn chưa mở.");
return 1;
end
if nGameLevel == Wlls.MACTH_ADV and Wlls:GetMacthSession() > Wlls.MACTH_ADV_START_MISSION then
Dialog:Say("Quan liên đấu: Giải đấu đã được mở, các anh hùng võ lâm ghi danh tham gi tỉ võ liên đấu.");
return 1;
end
sửa như sau
Code:
local tbNpc = {};
Wlls.DialogNpc = tbNpc;
function tbNpc:OnDialog(nGameLevel, nFlag)
--if Wlls:GetMacthSession() <= 0 then
--Dialog:Say("Quan liên đấu: Giải đấu vẫn chưa mở.");
--return 1;
---end
if nGameLevel == Wlls.MACTH_ADV and Wlls:GetMacthSession() > Wlls.MACTH_ADV_START_MISSION then
Dialog:Say("Quan liên đấu: Giải đấu đã được mở, các anh hùng võ lâm ghi danh tham gi tỉ võ liên đấu.");
return 1;
end
file
...\gameserver\script\mission\wlls\wlls_npc.lua
2)Code giới hạn du long hoàn chỉnh
hấy các bạn tìm kiếm nhiều nên mình share cho các bạn giới hạn du long
Ta thao tác trên 1 số file sau
1.gameserver\script\event\youlongmibao\youlongmiba o_def
lưu ý những dòng màu đỏ
Code:
Youlongmibao.TASK_GROUP_ID = 2106; -- 游龙密窑
Youlongmibao.TASK_YOULONG_HAVEAWARD = 1; -- 有奖未领
Youlongmibao.TASK_YOULONG_INTERVAL = 2; -- 挑战间隔
Youlongmibao.TASK_YOULONG_COUNT = 3; -- 累计次数
Youlongmibao.TASK_YOULONG_HAPPY_EGG = 6; -- 是否已经拿过开心蛋;0为未拿
Youlongmibao.TASK_DEPOSIT_COIN = 7; -- 未领取的古币值
Youlongmibao.TASK_ATTEND_NUM = 8; -- 每天参加的次数
Youlongmibao.TASK_ATTEND_DATE = 9; -- 每天参加的日期记录
Youlongmibao.TASK_ATTEND_NUM_EVENT = 10; -- 游龙周活动参加的次数及领奖情况
Youlongmibao.TASK_BATCH = 11; --游龙周批次
Youlongmibao.TASK_DAILY_NO_INTERVAL_TIMES = 12; --每天参加游龙阁次数
Youlongmibao.TaskId_Day = 13; -- 最多进行4次
Youlongmibao.TaskId_Count = 14; -- 最多进行4次
Youlongmibao.nMaxAttendNum = 20000; --游龙周活动记录的最大参加次数*100
Youlongmibao.MAX_FIGHT_TIME = 100; -- Chỉnh số lần khiêu chiến giới hạn tại đây(số lần hiện tại là 100 lần 1 ngày)
Youlongmibao.MAX_TIMES = 4; -- 最多进行4次
Youlongmibao.MAX_GRID = 25; -- 格子数量
Youlongmibao.MAX_INTERVAL = 15; -- 挑战间隔15秒
Youlongmibao.DEF_GET_HAPPYEGG_COUNT = 5;
Youlongmibao.nBatch = 1; --游龙周批次
Youlongmibao.NO_TIME_MAX_NUM = 200; --每天前两百个不需要等待时间
Youlongmibao.ITEM_YUEYING = {18, 1, 476, 1}; -- 月影之石
Youlongmibao.ITEM_ZHANSHU = {18, 1, 524, 1}; -- 游龙战书
Youlongmibao.ITEM_ZHANSHU_BIND = {18, 1, 524, 4}; -- 游龙战书
Youlongmibao.ITEM_COIN = {18, 1, 553, 1}; -- 游龙古币
Youlongmibao.ITEM_HAPPYEGG = "18,1,525,1" -- 开心蛋
Youlongmibao.MAX_TIMES = 20;
Youlongmibao.NPC_DIALOG = 3690;
Youlongmibao.NPC_FIGHT = 3689;
Youlongmibao.bOpen = EventManager.IVER_bOpenYoulongmibao;
Youlongmibao.TYPE_RATE_PATH = "\\setting\\event\\youlongmibao\\youlongmibao_rate. txt";
Youlongmibao.tbExcludeBind = {8, 16, 18, 28, 29};
Youlongmibao.nMaxAttendDaily = 30;
2.gameserver\script\event\youlongmibao\youlongmiba o_gs
tìm function Youlongmibao:Continue(pPlayer)
thêm vào:
Code:
local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end
Sẽ thành
Code:
function Youlongmibao:Continue(pPlayer)
local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end
............................................(còn đoạn nữa)
Làm tương tự với
function Youlongmibao:StartFight(pPlayer)
ta sẽ có function hoàn chỉnh sau:
Code:
function Youlongmibao:StartFight(pPlayer)
local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end
local nTimes = 1;
if self.tbPlayerList[pPlayer.nId] then
nTimes = self.tbPlayerList[pPlayer.nId].nTimes + 1;
end
Dialog:SendBlackBoardMsg(pPlayer, string.format("Tiến hành khiên chiến lần thứ %s", nTimes));
-- 召唤战斗npc
Youlongmibao.Manager:DelNpc(pPlayer);
Youlongmibao.Manager:AddFightNpc(pPlayer);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_COUNT, pPlayer.GetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_COUNT) + 1);
KGblTask.SCSetDbTaskInt(DBTASK_YOULONGMIBAO_COUNT, KGblTask.SCGetDbTaskInt(DBTASK_YOULONGMIBAO_COUNT) + 1);
-- 记录时间
pPlayer.SetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_INTERVAL, GetTime());
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, nCount + 1);
pPlayer.SetFightState(1);
end
Bước cuối cùng.Vào setting\player\task_def.txt thêm 2 task
Search: 2106(group) ta sẽ có Group sau
Code:
2106 1 3 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 4 5 [Hệ thống Chiến Thần] Du Long Quật-Trứng vui vẻ 1 0
2106 6 6 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 7 7 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 8 9 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 10 11 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 12 12 [Hệ thống Chiến Thần] Du Long Quật 0 0
Thêm vào:
2106 13 14 [Hệ thống Chiến Thần] Du Long Quật 0
Ta sẽ có Task Group 2106 hoàn chỉnh như sau:
Code:
2106 1 3 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 4 5 [Hệ thống Chiến Thần] Du Long Quật-Trứng vui vẻ 1 0
2106 6 6 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 7 7 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 8 9 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 10 11 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 12 12 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 13 14 [Hệ thống Chiến Thần] Du Long Quật 0
Nếu thấy có ích thì nhấn nút thank bằng hành động.đừng bằng lời
Hàm đổi trạng thái chiến đấu cho toàn server
vào script\boss\qinshihuang\map\qinshihuangling_5.lua
tìm
me.SetFightState(0);
0 -- phi chiến đấu
1 -- chiến đấu
<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>
{"<color=yellow>Vào trạng thái chiến đấu", me.SetFightState, 1}; -- 1 là chiến đấu
{"<color=yellow>Hủy trạng thái chiến đấu", me.SetFightState, 0}; -- 0 là phi chiến đấu
Lười mò quá chủ thread ạ cái gì cũng mau mau
Cần thiết thì đặt luôn vào script\player\player.lua luôn login là vào trạng thái luôn
Ðề: Hàm đổi trạng thái chiến đấu cho toàn server ?
Thử thế này xem có được không
Cho vào thẻ admin
tiếp Vào trạng thái chiến đấu
table.insert(tbOpt, 1, {"Vào Trạng Thái Chiến Đấu",self.VaoTrangThai, self});
function tbAdminCard:VaoTrangThai()
local tbPlayerList = KPlayer:GetAllPlayer();
for _,pPlayer in pairs(tbPlayerList) do
pPlayer.SetFightState(1);
end
end
Hủy trạng thái chiến đấu
table.insert(tbOpt, 1, {"Vào Trạng Thái Chiến Đấu",self.HuyTrangThai, self});
function tbAdminCard:HuyTrangThai()
local tbPlayerList = KPlayer:GetAllPlayer();
for _,pPlayer in pairs(tbPlayerList) do
pPlayer.SetFightState(0);
end
end
function tbGmPlayer:ComeHereAll()
local nMapId, nMapX, nMapY = me.GetWorldPos();
me.Msg("全体集合!");
self:RemoteCall_ApplyAll("me.NewWorld", nMapId, nMapX, nMapY);
end
function tbGmPlayer:RemoteCall_ApplyAll(...)
GlobalExcute({"GM.tbPlayer:RemoteCall_DoAll", arg})
end
function tbGmPlayer:RemoteCall_DoAll(tbCallBack)
local tbLocalPlayer = KPlayer.GetAllPlayer();
for _, pPlayer in pairs(tbLocalPlayer) do
pPlayer.Call(unpack(tbCallBack));
end
end
-- 申请为单一玩家执行
function tbGmPlayer:RemoteCall_ApplyOne(nToPlayerId, ...)
GlobalExcute({"GM.tbPlayer:RemoteCall_DoOne", nToPlayerId, arg})
end
-- 为本服务器玩家执行
function tbGmPlayer:RemoteCall_DoOne(nToPlayerId, tbCallBack)
local pPlayer = KPlayer.GetPlayerObjById(nToPlayerId);
if (pPlayer) then
pPlayer.Call(unpack(tbCallBack));
end
end
Mình hiểu ý bạn rồi ý bạn là muốn mng khi sử dụng thành PK dạng đồ sát hết
Thế member muốn thành Bang Phái thì chuyển sao
Search từ khóa lúc chuyển PK sang Đồ Sát là rõ
5)Code max chân nguyên và nhận linh hồn-tu luyện thánh linh
function tbNpc:tuluyenchannguyen()
local pItem = me.GetEquip(Item.EQUIPPOS_ZHENYUAN_MAIN);
if pItem == nil then
me.Msg("Ngươi không trang bị Chân Nguyên. Vui lòng trang bị sau đó mới có thể Tu Luyện");
return 0;
end
Item:UpgradeZhenYuanNoItem(pItem,1000000,1);
Item:UpgradeZhenYuanNoItem(pItem,1000000,2);
Item:UpgradeZhenYuanNoItem(pItem,1000000,3);
Item:UpgradeZhenYuanNoItem(pItem,1000000,4);
me.Msg(string.format("Chúc mừng <color=gold>%s<color> tu luyện Chân Nguyên thành công thuộc tính! Tăng <color=gold> %d điểm<color>.", me.szName, chiphi));
end
tiếp
function tbNpc:nhanlinhhon()
local lhcu = me.GetTask(2123,1);
local lhmoi = lhcu + 10000000000;
me.SetTask(2123,1,lhmoi);
end