PDA

View Full Version : [KT] Xin giúp đỡ về vấn đề gia tộc, bang hội



luvu4ever
24-04-14, 08:46 AM
Mình đang muốn chỉnh lại thời gian thành viên muốn rời khỏi tộc, mày mò trong forum thì thấy được có bạn nào hướng dẫn mò mấy file trong thư mục Kin, và kindef.lua, mình đã chỉnh thời gian như thế này trong file kindef.lua nhưng ko hiểu sao lại ko được, mày mò trong file kinlogic_gs đã 2 ngày rồi nhưng đọc vẫn ko hiểu, các bạn/anh nào hướng dẫn giúp với:


MEMBER_LEAVE_TIME = 1

__Jie__
24-04-14, 12:33 PM
Mình đang muốn chỉnh lại thời gian thành viên muốn rời khỏi tộc, mày mò trong forum thì thấy được có bạn nào hướng dẫn mò mấy file trong thư mục Kin, và kindef.lua, mình đã chỉnh thời gian như thế này trong file kindef.lua nhưng ko hiểu sao lại ko được, mày mò trong file kinlogic_gs đã 2 ngày rồi nhưng đọc vẫn ko hiểu, các bạn/anh nào hướng dẫn giúp với:


MEMBER_LEAVE_TIME = 1

Thử điều chỉnh CHANGE_REGULAR_TIME xem thế nào nhé :))
Không biết đúng ko nhìn code thì nó có vẽ đúng :))

vipbk
24-04-14, 01:43 PM
nói chung nằm trong file kinlogic_gs, còn 1 cách ko cần chỉnh time là bỏ hàm kiểm tra (if end):
ví dụ:
- nó báo là thời gian rời gia tộc chưa đủ -> bỏ hàm kiểm tra thời gian rời tộc đi là xong
- tương tự, rời tộc chưa đủ 24h nên ko dc gia nhập tộc khác, bỏ luôn hàm kiểm tra đó đi

bạn tự tìm mấy hàm check này nhé, lâu mình ko vào kt nên ko nhớ nó ở đoạn nào :D

luvu4ever
24-04-14, 03:49 PM
nói chung nằm trong file kinlogic_gs, còn 1 cách ko cần chỉnh time là bỏ hàm kiểm tra (if end):
ví dụ:
- nó báo là thời gian rời gia tộc chưa đủ -> bỏ hàm kiểm tra thời gian rời tộc đi là xong
- tương tự, rời tộc chưa đủ 24h nên ko dc gia nhập tộc khác, bỏ luôn hàm kiểm tra đó đi

bạn tự tìm mấy hàm check này nhé, lâu mình ko vào kt nên ko nhớ nó ở đoạn nào :D

Bạn ơi có phải nó nằm trong đoạn hàm này không? Hướng dẫn mình với vì mình trước giờ chỉ học sơ sơ qua lập trình thôi à, nhìn không hiểu gì hết :-s cám ơn bạn

function Kin:MemberLeave_GS1()
local nKinId, nExcutorId = me.GetKinMember()
if nKinId == 0 or nExcutorId == 0 then
return 0
end
local cKin = KKin.GetKin(nKinId)
if not cKin then
return 0
end
local cMember = cKin.GetMember(nExcutorId)
if not cMember then
return 0
end
local nFigure = cMember.GetFigure()
if nFigure == self.FIGURE_CAPTAIN then
me.Msg("Tộc trưởng có thể không được trực tiếp tham gia khỏi gia tộc")
return 0
end
if nFigure ~= self.FIGURE_SIGNED and nFigure > 0 then
local nTime = cMember.GetLeaveInitTime()
local bCanLeaveKinImmediately = me.CanLeaveKinImmediately();
if nTime == 0 then
if (bCanLeaveKinImmediately == 0) then
Dialog:Say("Bạn muốn rời gia tộc phải 3 ngày mới có thể ra, bạn đồng ý rút khỏi gia tộc.", {" Đối với chiêu mộ tộc", self.LeaveApply_GS1, self, 1}, {"?óng"})
elseif (bCanLeaveKinImmediately == 1) then
Dialog:Say("Bạn muốn chiêu mộ các thành viên cũ, khai trừ gia tộc bạn, bạn đồng ý rời bang", {"Đối với chiêu mộ tộc", self.LeaveApply_GS1, self, 1, 1}, {"?óng"})
end
else
Dialog:Say("Bạn đồng ý rút khỏi bang hội, ngày thứ 3 sau ngày nộp đơn của 18 điểm sẽ được chính thức rút khỏi bang hội, bạn có thể hủy.", {"Hủy bỏ để thoát ra", self.LeaveApply_GS1, self, 0}, {"?óng"})
end
return 1
end
return self:MemberDel_GS1(nKinId, nExcutorId, 0)
end
RegC2SFun("MemberLeave", Kin.MemberLeave_GS1)


function Kin:LeaveApply_GS1(bLeave, bCanLeaveKinImmediately)
local nKinId, nExcutorId = me.GetKinMember()
if nKinId == 0 or nExcutorId == 0 then
return 0
end
if bLeave == 1 then
if (not bCanLeaveKinImmediately or bCanLeaveKinImmediately == 0) then
me.Msg("Bạn đã đồng ý rút khỏi gia tộc, sau 3 ngày bạn có rời tộc, bạn có thể hủy rời tộc")
elseif (bCanLeaveKinImmediately and bCanLeaveKinImmediately == 1) then
GCExcute{"Kin:MemberDel_GC", nKinId, nExcutorId, 0}
me.Msg("Bạn đã rời khỏi gia tộc");
end
else
me.Msg("Bạn đã thành công trong việc trong việc chiêu mộ của gia tộc")
end
return GCExcute{"Kin:LeaveApply_GC", nKinId, nExcutorId, bLeave}
end

function Kin:LeaveApply_GS2(nKinId, nExcutorId, nTime)
local cKin = KKin.GetKin(nKinId)
if not cKin then
return 0
end
local cMember = cKin.GetMember(nExcutorId)
if not cMember then
return 0
end
cMember.SetLeaveInitTime(nTime)
return 1
end

__Jie__
24-04-14, 04:04 PM
if nFigure ~= self.FIGURE_SIGNED and nFigure > 0 then
local nTime = cMember.GetLeaveInitTime()
local bCanLeaveKinImmediately = me.CanLeaveKinImmediately();
if nTime == 0 then
if (bCanLeaveKinImmediately == 0) then
Dialog:Say("Bạn muốn rời gia tộc phải 3 ngày mới có thể ra, bạn đồng ý rút khỏi gia tộc.", {" Đối với chiêu mộ tộc", self.LeaveApply_GS1, self, 1}, {"?óng"})
elseif (bCanLeaveKinImmediately == 1) then
Dialog:Say("Bạn muốn chiêu mộ các thành viên cũ, khai trừ gia tộc bạn, bạn đồng ý rời bang", {"Đối với chiêu mộ tộc", self.LeaveApply_GS1, self, 1, 1}, {"?óng"})
end
else
Dialog:Say("Bạn đồng ý rút khỏi bang hội, ngày thứ 3 sau ngày nộp đơn của 18 điểm sẽ được chính thức rút khỏi bang hội, bạn có thể hủy.", {"Hủy bỏ để thoát ra", self.LeaveApply_GS1, self, 0}, {"?óng"})
end
return 1
end
Bỏ đi

luvu4ever
24-04-14, 04:40 PM
Bỏ đi

Bạn ơi sao mình bỏ cái dòng code này


if nFigure == self.FIGURE_CAPTAIN then
me.Msg("Tộc trưởng có thể không được trực tiếp tham gia khỏi gia tộc")
return 0
end






if nFigure <= self.FIGURE_ASSISTANT then
me.Msg("Tộc trưởng, tộc phó không thể trực tiếp thoát khỏi tộc")
return 0
end


luôn rồi sao vẫn ko rời tộc được vậy :-?? mình làm giống bạn vip chỉ xóa hàm if đi rồi mà vẫn ko cho tộc trưởng tự out đc =.=

với lại mình đã bỏ dòng code này



if GetTime() - KGCPlayer.OptGetTask(nPlayerId, KGCPlayer.TSK_LEAVE_KIN_TIME) < 24 * 3600 then
me.Msg("Các bạn rời khỏi gia tộc ít hơn 24h")
return 0
end


và code này



if GetTime() - KGCPlayer.OptGetTask(nPlayerId, KGCPlayer.TSK_LEAVE_KIN_TIME) < 24 * 3600 then
me.Msg("Bạn vừa rời gia tộc ít hơn 24h")
return 0
end


nhưng vẫn bị thông báo là "Người chơi vừa rời khỏi gia tộc khác chưa đầy 24h" trong khi mình search trong file kinlogic_gs.lua ko thấy phần đó ở đâu... :-s

linhmoi11
24-04-14, 04:50 PM
if nFigure ~= self.FIGURE_SIGNED and nFigure > 0 then
local nTime = cMember.GetLeaveInitTime()
local bCanLeaveKinImmediately = me.CanLeaveKinImmediately();
if nTime == 0 then
if (bCanLeaveKinImmediately == 0) then
Dialog:Say("Bạn muốn rời gia tộc phải 3 ngày mới có thể ra, bạn đồng ý rút khỏi gia tộc.", {" Đối với chiêu mộ tộc", self.LeaveApply_GS1, self, 1}, {"?óng"})
elseif (bCanLeaveKinImmediately == 1) then
Dialog:Say("Bạn muốn chiêu mộ các thành viên cũ, khai trừ gia tộc bạn, bạn đồng ý rời bang", {"Đối với chiêu mộ tộc", self.LeaveApply_GS1, self, 1, 1}, {"?óng"})
end
else
Dialog:Say("Bạn đồng ý rút khỏi bang hội, ngày thứ 3 sau ngày nộp đơn của 18 điểm sẽ được chính thức rút khỏi bang hội, bạn có thể hủy.", {"Hủy bỏ để thoát ra", self.LeaveApply_GS1, self, 0}, {"?óng"})
end
return 1
end
Bỏ đi

cho hỏi ké phát.
Còn mình muốn cho thành viên ký danh mới vào ko cần 3 ngày + thân mật cấp 2 kích phát lên thành viên chính thức thì ntn hả pro :)

tuidangvui
24-04-14, 05:22 PM
Mình đang muốn chỉnh lại thời gian thành viên muốn rời khỏi tộc, mày mò trong forum thì thấy được có bạn nào hướng dẫn mò mấy file trong thư mục Kin, và kindef.lua, mình đã chỉnh thời gian như thế này trong file kindef.lua nhưng ko hiểu sao lại ko được, mày mò trong file kinlogic_gs đã 2 ngày rồi nhưng đọc vẫn ko hiểu, các bạn/anh nào hướng dẫn giúp với:


MEMBER_LEAVE_TIME = 1

Để server chạy qua 18:00 xem sao

__Jie__
24-04-14, 06:50 PM
cho hỏi ké phát.
Còn mình muốn cho thành viên ký danh mới vào ko cần 3 ngày + thân mật cấp 2 kích phát lên thành viên chính thức thì ntn hả pro :)
script\kin\kinlogic_gs.lua
Tìm function Kin:Member2Regular_GS1(nKinId, nMemberId)Bỏ các đoạn :


if cMember.GetCan2Regular() ~= 1 then
me.Msg("Thành viên chưa đủ thời gian thử thách.");
return 0;
end
local szName =KGCPlayer.GetPlayerName(cMember.GetPlayerId())
if me.GetFriendFavor(szName) < self.INVITE_FAVOR then
me.Msg("Thân mật của bạn chưa đạt đến cấp 2");
return 0;
end

linhmoi11
24-04-14, 07:16 PM
tks a nhá. e xóa xót dòng này hèn gì làm hoài ko đc :)

local szName =KGCPlayer.GetPlayerName(cMember.GetPlayerId())