Kết quả 1 đến 6 của 6
Chủ đề: Share code mà mới sưu tầm
-
12-03-14, 09:19 PM #1
- Ngày tham gia
- Apr 2013
- Bài viết
- 273
- Thanks
- 96
- Thanked 283 Times in 40 Posts
Share code mà mới sưu tầm
1)Hướng dẫn kích hoạt NPC liên đấu
PHP Code: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
PHP Code: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
PHP Code:vào script\boss\qinshihuang\map\qinshihuangling_5.lua
tìm
me.SetFightState(0);
0 -- phi chiến đấu
1 -- chiến đấu
cái này cũng dễ suy ra từ những hàm đã có + của jie chỉ thôi mà @@
{"<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
PHP Code: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õ
PHP Code: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
PHP Code:function tbNpc:nhanlinhhon()
local lhcu = me.GetTask(2123,1);
local lhmoi = lhcu + 10000000000;
me.SetTask(2123,1,lhmoi);
end
Lần sửa cuối bởi sidanlovehan, ngày 12-03-14 lúc 09:22 PM.
Khách viếng thăm hãy cùng sidanlovehan xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 5 Users Say Thank You to sidanlovehan For This Useful Post:
3z0k2 (12-03-14), laemdo0705 (17-04-15), laptrinhvienf4 (18-03-14), nghiadht (12-03-14)
-
12-03-14, 10:01 PM #2
Ðề: Share code mà mới sưu tầm
Khách viếng thăm hãy cùng Sesshomaru xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
12-03-14, 10:08 PM #3
- Ngày tham gia
- Apr 2013
- Bài viết
- 273
- Thanks
- 96
- Thanked 283 Times in 40 Posts
Ðề: Share code mà mới sưu tầm
Khách viếng thăm hãy cùng sidanlovehan xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
12-03-14, 10:11 PM #4
Ðề: Share code mà mới sưu tầm
Khách viếng thăm hãy cùng Sesshomaru xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
12-03-14, 10:16 PM #5
- Ngày tham gia
- May 2012
- Đang ở
- đây
- Bài viết
- 5,112
- Thanks
- 248
- Thanked 3,008 Times in 1,889 Posts
Ðề: Share code mà mới sưu tầm
ghi rõ là "sưu tầm" rồi còn gì
Khách viếng thăm hãy cùng vipbk xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
12-03-14, 10:17 PM #6
- Ngày tham gia
- Apr 2013
- Bài viết
- 273
- Thanks
- 96
- Thanked 283 Times in 40 Posts
Ðề: Share code mà mới sưu tầm
Khách viếng thăm hãy cùng sidanlovehan xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Các Chủ đề tương tự
-
[JX] Share code WEB Võ Lâm Đà Nẵng
Bởi manhdendaica trong diễn đàn ReleasesTrả lời: 2Bài viết cuối: 28-04-13, 05:05 PM -
[Gunny] Share code fix cường hóa cho ai muốn tìm hiểu
Bởi trungqbbn trong diễn đàn Guides - Kho Lưu trữTrả lời: 4Bài viết cuối: 21-12-12, 08:59 PM -
Share code đổi điểm pvp tự động .
Bởi nhactre8x trong diễn đàn Thục Sơn Kỳ HiệpTrả lời: 8Bài viết cuối: 16-05-12, 08:46 AM -
[MU] SHARE code tích hợp thẻ cào của Bảo Kim
Bởi voicoi trong diễn đàn SQL Server & WebsiteTrả lời: 2Bài viết cuối: 26-04-12, 11:39 PM -
[MU] Xin mọi người share code đồ thần RF
Bởi vuhaihoang trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 0Bài viết cuối: 15-04-12, 08:10 AM