function n6040102_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) local curmon = tonumber(os.date("%m")) local curday = tonumber(os.date("%d")) local curhour = tonumber(os.date("%H")) local curmin = tonumber(os.date("%M")) local time1 = curmon*10000 + curday *100--月日时 if time1 ~=role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_timeX"]) then role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_baomingX"], 0)--报名0没有有报名,1普通组2是专业组 role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_timeX"], time1)-- end local x = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_baomingX"]) local money = role.GetRoleSilver(MapID, InstanceID,RoleID) local lev = role.GetRoleLevel(MapID, InstanceID,RoleID) local juan = role.GetRoleItemNum(RoleID, 4810035) if TalkIndex == -1 then if curhour == 20 or (curhour == 21 and curmin < 20)then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211150) -- 游泳项目报名人:\n 选择你所报名的组别,普通组报名需要20金,专业组报名需要50金和一个专业参赛卷,你仅仅只能参加一个组别。每日20:00开启游泳报名。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 211124) -- 参加普通组比赛 msg.AddMsgEvent(MsgID, 21, 5) msg.AddMsgEvent(MsgID, 1, 211125) -- 参加专业组比赛 msg.AddMsgEvent(MsgID, 21, 8) msg.AddMsgEvent(MsgID, 1, 211126) --传送起跑准备区 msg.DispatchRoleMsgEvent(RoleID, MsgID) else local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211151) -- 游泳项目报名人:\n 选择你所报名的组别,普通组报名需要20金,专业组报名需要50金和一个专业参赛卷,你仅仅只能参加一个组别。每日20:00开启游泳报名。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.DispatchRoleMsgEvent(RoleID, MsgID) end elseif TalkIndex == 4 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211152) -- 游泳项目报名人:\n 你确定要报名普通组比赛吗?参加普通组之后就不能参加专业组比赛了。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 6) msg.AddMsgEvent(MsgID, 1, 100001) -- 确定 msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100002) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif TalkIndex == 5 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211153) -- 游泳项目报名人:\n 你确定要报名专业组比赛吗?参加普通组之后就不能参加普通组比赛了。 msg.AddMsgEvent(MsgID, 24, TargetID) -- msg.AddMsgEvent(MsgID, 21, 7) msg.AddMsgEvent(MsgID, 1, 100001) -- 确定 msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100002) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif TalkIndex == 6 then if x == 1 then--业余组 local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211154) -- 游泳项目报名人:\n 你已经报名普通组比赛,不能再报名了。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif x == 2 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211155) -- 游泳项目报名人:\n 专业组和普通组比赛你只能参加一项 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif lev < 50 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211156) -- 游泳项目报名人:\n 你的等级不足50级,不能报名参赛。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif money < 200000 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211157) -- 游泳项目报名人:\n 报名比赛要缴纳报名费,你身上好像没那么多钱。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) else role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_baomingX"], 1) role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 0) role.DecRoleSilver(MapID, InstanceID,RoleID,200000, 400) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211158) -- 游泳项目报名人:\n 游泳比赛普通组比赛你已经报名成功,21:20正式开赛.快去准备区等待游泳开启人吧。\n 游泳赛道中会随机出现不同方向的海流,还有很多鲨鱼,要小心他们影响你的速度。 msg.AddMsgEvent(MsgID, 24, TargetID) -- msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) end elseif TalkIndex == 7 then if x == 1 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211155) -- 游泳项目报名人:\n 专业组和普通组比赛你只能参见一项 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif x == 2 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211159) -- 游泳项目报名人:\n 你已经报名专业组比赛,不能再报名了。 msg.AddMsgEvent(MsgID, 24, TargetID) -- msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif lev < 50 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211156) -- 游泳项目报名人:\n 你的等级不足50级,不能报名参赛。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif money < 500000 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211157) -- 游泳项目报名人:\n 报名比赛要缴纳报名费,你身上好像没那么多钱。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif juan < 1 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211160) -- 游泳项目报名人:\n 报名专业组比赛要缴纳专业参赛卷。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) else role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_baomingX"], 2) role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 0) role.RemoveFromRole(MapID, InstanceID,RoleID,4810035, 1, 400) --删除一个参赛卷 role.DecRoleSilver(MapID, InstanceID,RoleID,500000, 420) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 211161) -- 游泳项目报名人:\n 游泳比赛专业组比赛你已经报名成功,21:20正式开赛.快去准备区等待游泳开启人吧。\n 游泳赛道中会随机出现不同方向的海流,还有很多鲨鱼,要小心他们影响你的速度。 msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100001) -- 取消 msg.DispatchRoleMsgEvent(RoleID, MsgID) end elseif TalkIndex == 8 then role.RoleGotoNewMap(MapID, InstanceID, RoleID, MapID, 716, 2594, 389)-- end end aux.RegisterCreatureEvent(6040102, 7, "n6040102_OnTalk") function n6040133_On_Disappear(MapID, InstanceID, TypeID, AI) map.MapCreateCreature(MapID, InstanceID, 6040146, 733,2400,530 ) end aux.RegisterCreatureEvent(6040133,13,"n6040133_On_Disappear") function n6040146_On_Disappear(MapID, InstanceID, TypeID, AI) local curmon = tonumber(os.date("%m")) local curday = tonumber(os.date("%d")) local curhour = tonumber(os.date("%H")) local curmin = tonumber(os.date("%M")) local curtime = curhour*100 + curmin if curtime >= 2120 and curtime <= 2140 then local tab = {} --三种洋流 local po = {} --各点坐标 local a = {} --各点顺流方向 local b = {} --各点逆流方向 po[1] = {741,2400,514} po[2] = {711,2400,562} po[3] = {749,2400,618} po[4] = {764,2400,681} po[5] = {835,2400,695} po[6] = {840,2400,775} a[1] = {736,525} a[2] = {712,574} a[3] = {746,632} a[4] = {780,676} a[5] = {838,709} a[6] = {826,785} b[1] = {743,501} b[2] = {716,550} b[3] = {746,605} b[4] = {750,672} b[5] = {826,683} b[6] = {848,762} tab[2] = 6040133 tab[3] = 6040134 tab[4] = 6040135 tab[5] = 6040133 tab[6] = 6040134 tab[7] = 6040135 tab[8] = 6040133 tab[9] = 6040134 local r = math.random(3) for i =1 ,6 do local ID local x = r+i ID = map.MapCreateCreature(MapID, InstanceID, tab[x], po[i][1], po[i][2], po[i][3] ) if x == 3 or x == 6 or x == 9 then unit.SetFaceTo(MapID, InstanceID, ID, b[i][1], b[i][2]) else unit.SetFaceTo(MapID, InstanceID, ID, a[i][1], a[i][2]) end end end end aux.RegisterCreatureEvent(6040146,13,"n6040146_On_Disappear")