Quest_Guild = {} Quest_Guild[1]={TargetType=QuestTargetType["Kill"],TargetID1=1040021,Num1=40,RewMoney=0,RewXP=25200,MsgID=15001,}--魔狼【北洲天雪】 Quest_Guild[2]={TargetType=QuestTargetType["Kill"],TargetID1=1040023,Num1=40,RewMoney=0,RewXP=30100,MsgID=15002,}--魅影刺客【北洲天雪】 Quest_Guild[3]={TargetType=QuestTargetType["Kill"],TargetID1=1050001,Num1=40,RewMoney=0,RewXP=44100,MsgID=15003,}--幻林野猪【西洲幻林】 Quest_Guild[4]={TargetType=QuestTargetType["Kill"],TargetID1=1050007,Num1=40,RewMoney=0,RewXP=51450,MsgID=15004,}--巨熊【西洲幻林】 Quest_Guild[5]={TargetType=QuestTargetType["Kill"],TargetID1=1050017,Num1=60,RewMoney=0,RewXP=59850,MsgID=15005,}--三鬼教徒【西洲幻林】 Quest_Guild[6]={TargetType=QuestTargetType["Kill"],TargetID1=1060005,Num1=60,RewMoney=0,RewXP=77700,MsgID=15006,}--丛林袭击者【南洲迷沼】 Quest_Guild[7]={TargetType=QuestTargetType["Kill"],TargetID1=1060011,Num1=75,RewMoney=0,RewXP=107100,MsgID=15007,}--丛林暗杀者【南洲迷沼】 Quest_Guild[8]={TargetType=QuestTargetType["Kill"],TargetID1=1060023,Num1=75,RewMoney=0,RewXP=140700,MsgID=15008,}--嗜血蛇妖【南洲迷沼】 Quest_Guild[9]={TargetType=QuestTargetType["Kill"],TargetID1=1060032,Num1=90,RewMoney=0,RewXP=182000,MsgID=15009,}--原神教卫兵【东洲冥山】 Quest_Guild[10]={TargetType=QuestTargetType["Kill"],TargetID1=1070011,Num1=90,RewMoney=0,RewXP=225750,MsgID=15010,}--原神教教徒【东洲冥山】的【山隐秘窟】 Quest_Guild[11]={TargetType=QuestTargetType["Kill"],TargetID1=1070023,Num1=90,RewMoney=0,RewXP=275450,MsgID=15011,}--冥山龙【东洲冥山】 Quest_Guild[12]={TargetType=QuestTargetType["Kill"],TargetID1=1070048,Num1=90,RewMoney=0,RewXP=331100,MsgID=15012,}--地狱巨岩【东洲冥山】 Quest_Guild[13]={TargetType=QuestTargetType["Kill"],TargetID1=1040048,Num1=1,RewMoney=0,RewXP=25200,MsgID=15013,}--蛇妖杜莎拉【北洲天雪】的【冷心洞】 Quest_Guild[14]={TargetType=QuestTargetType["Kill"],TargetID1=1040049,Num1=1,RewMoney=0,RewXP=30100,MsgID=15014,}--北洲人王【北洲天雪】 Quest_Guild[15]={TargetType=QuestTargetType["Kill"],TargetID1=1050037,Num1=1,RewMoney=0,RewXP=44100,MsgID=15015,}--幻林蝶王【西洲幻林】 Quest_Guild[16]={TargetType=QuestTargetType["Kill"],TargetID1=1050041,Num1=1,RewMoney=0,RewXP=51450,MsgID=15016,}--痛苦之王【西洲幻林】 Quest_Guild[17]={TargetType=QuestTargetType["Kill"],TargetID1=1050042,Num1=1,RewMoney=0,RewXP=59850,MsgID=15017,}--魔蝶紫罗兰【西洲幻林】 Quest_Guild[18]={TargetType=QuestTargetType["Kill"],TargetID1=1060048,Num1=1,RewMoney=0,RewXP=77700,MsgID=15018,}--妖迷王【南洲迷沼】 Quest_Guild[19]={TargetType=QuestTargetType["Kill"],TargetID1=1060052,Num1=1,RewMoney=0,RewXP=107100,MsgID=15019,}--九天石魔【南洲迷沼】的【石狼洞】 Quest_Guild[20]={TargetType=QuestTargetType["Kill"],TargetID1=1060054,Num1=1,RewMoney=0,RewXP=140700,MsgID=15020,}--摄魂女皇【南洲迷沼】 Quest_Guild[21]={TargetType=QuestTargetType["Kill"],TargetID1=1070073,Num1=1,RewMoney=0,RewXP=182000,MsgID=15021,}--魔舞之花【东洲冥山】 Quest_Guild[22]={TargetType=QuestTargetType["Kill"],TargetID1=1070077,Num1=1,RewMoney=0,RewXP=225750,MsgID=15022,}--万年走尸【东洲冥山】 Quest_Guild[23]={TargetType=QuestTargetType["Kill"],TargetID1=1070080,Num1=1,RewMoney=0,RewXP=275450,MsgID=15023,}--鬼箭【东洲冥山】 Quest_Guild[24]={TargetType=QuestTargetType["Kill"],TargetID1=1070085,Num1=1,RewMoney=0,RewXP=331100,MsgID=15024,}--毒血【东洲冥山】 --接取任务 function q30002_OnQuestInit(MapID, InstanceID, QuestID, RoleID, NPCID) local Index = 0 local rolelevel = role.GetRoleLevel(MapID, InstanceID, RoleID) if rolelevel >= 40 and rolelevel<= 120 then local temp = math.floor((rolelevel-40)/13) Index = temp + 1 elseif rolelevel >= 120 then Index = 12 end --初始化任务的动态数据 role.QuestInit(RoleID, QuestID, GetRandQuestTable(Quest_Guild, Index)) --同步客户端总任务环数和任务说明 local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 11, QuestID) msg.AddMsgEvent(MsgID, 1, Quest_Guild[Index].MsgID) msg.DispatchRoleMsgEvent(RoleID, MsgID) end --接取任务 function q30003_OnQuestInit(MapID, InstanceID, QuestID, RoleID, NPCID) local Index = 0 local rolelevel = role.GetRoleLevel(MapID, InstanceID, RoleID) if rolelevel >= 40 and rolelevel<= 120 then local temp = math.floor((rolelevel-40)/13) Index = temp + 13 elseif rolelevel >= 120 then Index = 24 end --初始化任务的动态数据 role.QuestInit(RoleID, QuestID, GetRandQuestTable(Quest_Guild, Index)) --同步客户端总任务环数和任务说明 local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 11, QuestID) msg.AddMsgEvent(MsgID, 1, Quest_Guild[Index].MsgID) msg.DispatchRoleMsgEvent(RoleID, MsgID) end aux.RegisterQuestEvent(30001, 7, "q30001_OnQuestInit") aux.RegisterQuestEvent(30002, 7, "q30002_OnQuestInit") aux.RegisterQuestEvent(30003, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30004, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30005, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30006, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30007, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30008, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30009, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30010, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30011, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30012, 7, "q30003_OnQuestInit") aux.RegisterQuestEvent(30013, 7, "q30003_OnQuestInit") --完成任务 function qGuild_OnComplete(MapID, InstanceID, QuestID, RoleID, NPCID) local Guild_Reward = {} --此表中奖励为3次之和 Guild_Reward[1] = {Money=10929,Resource=10} Guild_Reward[2] = {Money=14995,Resource=15} Guild_Reward[3] = {Money=19063,Resource=15} Guild_Reward[4] = {Money=23202,Resource=15} Guild_Reward[5] = {Money=127769,Resource=20} Guild_Reward[6] = {Money=227769,Resource=25} Guild_Reward[7] = {Money=327769,Resource=30} Guild_Reward[8] = {Money=477699,Resource=30} Guild_Reward[9] = {Money=577699,Resource=30} Guild_Reward[10] = {Money=677699,Resource=30} Guild_Reward[11] = {Money=777699,Resource=30} Guild_Reward[12] = {Money=877699,Resource=30} Guild_Reward[13] = {Money=977699,Resource=100} --奖励玩家公会贡献 local GuildID = guild.GetRoleGuildID(RoleID) local GuildLevel = guild.GetGuildAtt(GuildID) local rolelevel = role.GetRoleLevel(MapID, InstanceID, RoleID) if rolelevel > 120 then rolelevel = 120 end local a = 80--个人贡献,公会资金,公会资源 local b = 15000 local c = 250000 if QuestID == 30001 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 50, 102) a = 10 elseif QuestID == 30002 then role.AddRoleItem(MapID, InstanceID, RoleID, 3010043, 2, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3010046, 2, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3010047, 2, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 100, 102) a = 15 elseif QuestID == 30003 then role.AddRoleItem(MapID, InstanceID, RoleID, 3040023, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3040048, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3040053, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 150, 102) a = 15 elseif QuestID == 30004 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 200, 102) a = 15 elseif QuestID == 30005 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 250, 102) a = 20 elseif QuestID == 30006 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 300, 102) a = 25 elseif QuestID == 30007 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 350, 102) a = 30 elseif QuestID == 30008 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 400, 102) a = 30 elseif QuestID == 30009 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 450, 102) a = 30 elseif QuestID == 30010 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 500, 102) a = 30 elseif QuestID == 30011 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 550, 102) a = 30 elseif QuestID == 30012 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 25, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 600, 102) a = 30 elseif QuestID == 30013 then role.AddRoleItem(MapID, InstanceID, RoleID, 4800041, 2, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 50, -1, 8, 420) guild.ModifyGuildMaterial(GuildID, RoleID, 1000, 102) a = 100 end b = (Guild_Reward[GuildLevel].Money/4)*(1+rolelevel/400) c = Guild_Reward[GuildLevel].Resource/4 guild.ModifyRoleContribute(GuildID, RoleID, a, 102) guild.ModifyGuildFund(GuildID, RoleID, b,102) guild.ModifyGuildMaterial(GuildID, RoleID, c, 102) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 13, 0) msg.AddMsgEvent(MsgID, 1, 403001) msg.AddMsgEvent(MsgID, 9, a) msg.AddMsgEvent(MsgID, 9, b) msg.AddMsgEvent(MsgID, 9, c) msg.DispatchRoleMsgEvent(RoleID, MsgID) end aux.RegisterQuestEvent(30001, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30002, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30003, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30004, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30005, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30006, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30007, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30008, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30009, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30010, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30011, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30012, 1, "qGuild_OnComplete") aux.RegisterQuestEvent(30013, 1, "qGuild_OnComplete") function qGuild_OnCheckAccept(MapID, InstanceID, QuestID, RoleID, NPCID) --判断玩家是否已加入帮派 local GuildID = guild.GetRoleGuildID(RoleID) if GuildID==4294967295 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 26, 403002) msg.DispatchRoleMsgEvent(RoleID, MsgID) return 0 end return 1 end aux.RegisterQuestEvent(30001, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30002, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30003, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30004, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30005, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30006, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30007, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30008, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30009, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30010, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30011, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30012, 4, "qGuild_OnCheckAccept") aux.RegisterQuestEvent(30013, 4, "qGuild_OnCheckAccept") function qGuild_OnCheckComplete(MapID, InstanceID, QuestID, RoleID, NPCID) local GuildID = guild.GetRoleGuildID(RoleID) if GuildID==4294967295 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 26, 403002) msg.DispatchRoleMsgEvent(RoleID, MsgID) return 0 end return 1 end aux.RegisterQuestEvent(30001, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30002, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30003, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30004, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30005, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30006, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30007, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30008, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30009, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30010, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30011, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30012, 5, "qGuild_OnCheckComplete") aux.RegisterQuestEvent(30013, 5, "qGuild_OnCheckComplete")