Sau 1 thời gian đi hỏi khắp nơi và không thấy có ai share, mình tìm kiếm ở các sẻver được share free thì phát hiện ra tính năng này.
Cái này không phải do mình tự viết, mình cũng chỉ đi copy thôi, nên ae đừng gạch đá nhé. Xin lỗi vì đá đổ chén cơm của ai đó
Thêm vào room_base.lua
Code:
function BaseRoom:RoomLevelUp()
if self.nTimerId then
local fnExcute = function (pPlayer)
Dialog:SetBattleTimer(pPlayer, "<color=green>Thời gian qua ải còn: %s<color>", XoyoGame.DELAY_ENDTIME * Env.GAME_FPS);
end
local nLevel = XoyoGame.RoomSetting.tbRoom[self.nRoomId].nRoomLevel;
local tbGame = self.tbGame;
self:GroupPlayerExcute(fnExcute, -1);
--self:GiveStone();
Timer:Close(self.nTimerId);
self.nTimerId = nil;
if tbGame then
Timer:Register(XoyoGame.DELAY_ENDTIME * Env.GAME_FPS, tbGame.EndRoomTime, tbGame, {self.nRoomId}, nLevel);
else
print("[Error]not XoyoMission"..self.nRoomId..","..self.nMapId);
end
end
end
Thêm tiếp vào tbEventLock:OnUnLock chú ý dòng màu đỏ
Code:
function tbEventLock:OnUnLock()
if self.tbRoom and self.tbUnLockEvent then
for i = 1, #self.tbUnLockEvent do
self.tbRoom:OnEvent(unpack(self.tbUnLockEvent[i]));
end
end
local tbRoom = self.tbRoom;
if tbRoom and tbRoom.tbTeam[1].bIsWiner == 1 then
tbRoom:RoomLevelUp();
end
end
Tiếp tục thêm vào:
xoyogame_def.lua
DELAY_ENDTIME = 5 ---- số giây qua ải
Có 1 số ải không tự qua, tiếp tục thêm vào các file sau:
thief.lua
Code:
function RoomThief:CheckWin()
if self:IsWin() == 1 and not self.nHasGouHuo then
self:AddGouHuo(10, 150,"gouhuo", {2023,3289});
self.nHasGouHuo = 1;
end
if self:IsWin() == 1 and self.nHasGouHuo == 1 then
self:RoomLevelUp();
end
end
invade.lua
Code:
function RoomInvade:OnWin()
self:MovieDialog(1,"ở chư vị đại hiệp đích toàn lực tương trợ dưới ,Kim quân đã quân lính tan rã ,chạy trối chết liễu !");
self:AddGouHuo(10, 150,"gouhuo", {1940,3385});
self:SetTagetInfo(-1,"<color=green>nhiệm vụ hoàn thành <color>");
self:RoomLevelUp();
end