function n6040101_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 time1 = curmon*10000 + curday *100--月日时
if time1 ~=role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_timeX"]) then
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_baomingX"], 0)--报名0没有有报名,1普通组2是专业组
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_timeX"], time1)--
end
local x = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_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 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211123) -- 赛跑项目报名人:\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, 211123) -- 赛跑项目报名人:\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, 211127) -- 赛跑项目报名人:\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, 211127) -- 赛跑项目报名人:\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, 211128) -- 赛跑项目报名人:\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, 211129) -- 赛跑项目报名人:\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, 211145) -- 赛跑项目报名人:\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, 211146) -- 赛跑项目报名人:\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["aoyunpaobu_baomingX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"], 0)
role.DecRoleSilver(MapID, InstanceID,RoleID,200000, 400)
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211130) -- 赛跑项目报名人:\n 赛跑比赛普通组比赛你已经报名成功,21:00正式开赛,快去起跑区等待跑步开启人刷新吧吧。\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, 211129) -- 赛跑项目报名人:\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, 211131) -- 赛跑项目报名人:\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, 211145) -- 赛跑项目报名人:\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, 211146) -- 赛跑项目报名人:\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, 211147) -- 赛跑项目报名人:\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["aoyunpaobu_baomingX"], 2)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_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, 211132) -- 赛跑项目报名人:\n 赛跑比赛专业组比赛你已经报名成功,21:00正式开赛,快去起跑区等待跑步开启人刷新吧吧。\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, 555, 2550, 418)--中间区域
end
end
aux.RegisterCreatureEvent(6040101, 7, "n6040101_OnTalk")
--[[
跑步终点的触发器a7a 2682
游泳终点的触发器a7b 2683
--]]
function paobu1_OnEnterTrigger(MapID, InstanceID, RoleID,objID)--触发器触发事件
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
local baoming = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_baomingX"])
local baoming2 = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_baomingX"])
local jingyan = {} --完成比赛给予的经验值
jingyan[50] = 518400
jingyan[52] = 615730
jingyan[53] = 721250
jingyan[54] = 840140
jingyan[55] = 969210
jingyan[56] = 1184840
jingyan[57] = 1406370
jingyan[58] = 1725650
jingyan[59] = 2107380
jingyan[60] = 2539290
jingyan[61] = 2271290
jingyan[62] = 2023840
jingyan[63] = 1798460
jingyan[64] = 1596680
jingyan[65] = 1769480
jingyan[66] = 1824770
jingyan[67] = 1852420
jingyan[68] = 1880070
jingyan[69] = 1907720
jingyan[70] = 1935360
jingyan[71] = 1963010
jingyan[72] = 1990660
jingyan[73] = 2018310
jingyan[74] = 2045960
jingyan[75] = 2073600
jingyan[76] = 2101250
jingyan[77] = 2128900
jingyan[78] = 2156550
jingyan[79] = 2184200
jingyan[80] = 3686400
jingyan[81] = 3732480
jingyan[82] = 3778560
jingyan[83] = 3824640
jingyan[84] = 3870720
jingyan[85] = 3916800
jingyan[86] = 3962880
jingyan[87] = 4008960
jingyan[88] = 4055040
jingyan[89] = 4101120
jingyan[90] = 4147200
jingyan[91] = 4193280
jingyan[92] = 4239360
jingyan[93] = 4285440
jingyan[94] = 4331520
jingyan[95] = 4377600
jingyan[96] = 4423680
jingyan[97] = 4469760
jingyan[98] = 4515840
jingyan[99] = 4561920
jingyan[100] = 4608000
if objID == 2142 then
end
if objID == 2682 then --终点触发器判断并记录排名信息
local bhave = role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 59473)
if bhave == true then
unit.CancelBuff(MapID, InstanceID, RoleID, 5947301)
end
if baoming == 1 or baoming == 2 then --玩家是否已报名
local shiduan = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"]) --获得玩家参加时段信息
if shiduan == 1 then --排名
local qiansan = {}
for i = 1 ,3 do
qiansan[i] = map.GetMapScriptData(MapID,InstanceID,1,i)
end
local x = 0 --是否前三标记
for q = 1 ,3 do
if qiansan[q] == RoleID then
x = 1
end
end
if x ~= 1 then
if qiansan[1] == nil or qiansan[1] == 0 then
map.SetMapScriptData(MapID,InstanceID,1,1,RoleID)
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 300111) --在本次赛跑项目中勇夺冠军,可喜可贺!
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 211176)--恭喜你获得了冠军!快去颁奖员那里领奖吧。
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
elseif qiansan[2] == nil or qiansan[2] == 0 then
map.SetMapScriptData(MapID,InstanceID,1,2,RoleID)
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 211177)--恭喜你获得了亚军!快去颁奖员那里领奖吧。
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
elseif qiansan[3] == nil or qiansan[3] == 0 then
map.SetMapScriptData(MapID,InstanceID,1,3,RoleID)
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 211178)--恭喜你获得了季军!快去颁奖员那里领奖吧。
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
elseif qiansan[1] > 0 and qiansan[2] > 0 and qiansan[3] > 0 then
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 211179)--恭喜你完成了比赛!快去颁奖员那里领奖吧。
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
end
end
end
end
if objID == 2247 then
end
if objID == 2683 then --终点触发器判断并记录排名信息
local bhave = role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 59473)
if bhave == true then
unit.CancelBuff(MapID, InstanceID, RoleID, 5947301)
end
if baoming2 == 1 or baoming2 == 2 then --玩家是否已报名
local shiduan = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"]) --获得玩家参加时段信息
if shiduan == 1 then --排名
local qiansan = {}
for i = 11 ,13 do
qiansan[i] = map.GetMapScriptData(MapID,InstanceID,1,i)
end
local x = 0 --是否前三标记
for q = 11 ,13 do
if qiansan[q] == RoleID then
x = 1
end
end
if x ~= 1 then
if qiansan[11] == nil or qiansan[11] == 0 then
map.SetMapScriptData(MapID,InstanceID,1,11,RoleID)
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 300112) --在本次游泳项目中勇夺冠军,可喜可贺!
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 211176)--恭喜你获得了冠军!快去颁奖员那里领奖吧。
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
elseif qiansan[12] == nil or qiansan[12] == 0 then
map.SetMapScriptData(MapID,InstanceID,1,12,RoleID)
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 211177)--恭喜你获得了亚军!快去颁奖员那里领奖吧。
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
elseif qiansan[13] == nil or qiansan[13] == 0 then
map.SetMapScriptData(MapID,InstanceID,1,13,RoleID)
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 211178)--恭喜你获得了季军!快去颁奖员那里领奖吧。
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
elseif qiansan[11] > 0 and qiansan[12] > 0 and qiansan[13] > 0 then
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 211179)--恭喜你完成了比赛!快去颁奖员那里领奖吧。
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
end
end
end
end
end
aux.RegisterMapEvent("s65",7, "paobu1_OnEnterTrigger")
function aoyun_OnTimerMin(actID)
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 MapID = 3390517288
local InstanceID = -1
local curtime = curhour*100 + curmin
local qingkongpaobu = 0
if curtime >= 2050 and curtime <= 2053 then --跑步比赛开始前10分钟清空跑步排名
for i = 1 , 3 do
map.SetMapScriptData(3390517288,-1,1,i,0)
end
end
if curtime >= 2110 and curtime <= 2113 then --游泳比赛开始前10分钟清空游泳排名
for i = 11 , 13 do
map.SetMapScriptData(3390517288,-1,1,i,0)
end
end
if curtime >= 2130 and curtime <= 2140 then --游泳比赛开始前10分钟清空游泳排名
for i = 30 , 35 do
map.SetMapScriptData(3390517288,-1,1,i,0)
end
end
if curtime == 2055 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 102, 211189) --赛跑将在5分钟后开始进行,有兴趣的玩家请到奥运岛的 504, 247位置报名
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2057 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 102, 211190) --赛跑将在3分钟后开始进行,有兴趣的玩家请到奥运岛的504, 247位置报名
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2059 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 102, 211191) --赛跑将在1分钟后开始进行,有兴趣的玩家请到奥运岛的504, 247位置报名
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2115 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211192) --游泳将在5分钟后开始进行,有兴趣的玩家请到奥运岛的 512, 253位置报名
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2117 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211193) --游泳将在3分钟后开始进行,有兴趣的玩家请到奥运岛的512, 253位置报名
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2119 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211194) --游泳将在1分钟后开始进行,有兴趣的玩家请到奥运岛的512, 253位置报名
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2135 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211195) --竞技场项目将在5分钟后开始进行,有兴趣的玩家请到奥运岛的 495, 243位置报名
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2137 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211196) --竞技场项目将在3分钟后开始进行,有兴趣的玩家请到奥运岛的 495, 243位置报名
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2139 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211197) --竞技场项目将在1分钟后开始进行,有兴趣的玩家请到奥运岛的 495, 243位置报名
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2140 then
map.MapCreateColCreature(MapID, InstanceID,6040138, 1,1,1, 1)
map.MapCreateColCreature(MapID, InstanceID,6040139, 1,1,1, 1)
map.MapCreateColCreature(MapID, InstanceID,6040140, 1,1,1, 1)
end
if curtime == 2143 or curtime == 2146 or curtime == 2149 or curtime == 2152 or curtime == 2155 or curtime == 2158 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211206) --竞技场项目第一名是<p1>,他的当前积分为<p2>,请大家努力
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapID,InstanceID,1,30))
msg.AddMsgEvent(MsgID, 9, map.GetMapScriptData(MapID,InstanceID,1,33))
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2200 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211211) --竞技场项目已经结束
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
local MsgID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID1, 101, 211212) --竞技场项目第一名是<p1>,他的当前积分为<p2>,请大家努力
msg.AddMsgEvent(MsgID1, 2, map.GetMapScriptData(MapID,InstanceID,1,30))
msg.AddMsgEvent(MsgID1, 9, map.GetMapScriptData(MapID,InstanceID,1,33))
msg.DispatchMapMsgEvent(MsgID1,3390517288,-1,-1)
end
if curtime == 1200 then --清空每日金牌积分排名信息
for i = 11, 13 do
act.SetActScriptData(57, 1, i, 0)
act.SetActScriptData(57, 1, i+4, 0)
end
act.SaveActScriptData(57)
end
if curtime == 2120 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
if curtime == 2030 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211198) --20:50将在奥运岛上刷新奥运宝箱,开启它们有几率获得奥运奖章及其他奥运活动道具。
msg.DispatchMapMsgEvent(MsgID)
end
if curtime == 2045 or curtime == 2110 or curtime == 2130 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211199) --奥运宝箱将在5分钟后在奥运岛上刷新,大家准备抢夺吧!
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2050 or curtime == 2115 or curtime == 2135 then --奥运宝箱刷新
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211200) --奥运宝箱刷新了,大家开始抢夺吧!
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
local a1 = 0
local a2 = 0
local a3 = 0
local aoyunbaoxiang = {}
aoyunbaoxiang[1]={618,2426,369}
aoyunbaoxiang[2]={610,2449,351}
aoyunbaoxiang[3]={589,2574,320}
aoyunbaoxiang[4]={588,2533,302}
aoyunbaoxiang[5]={578,2550,295}
aoyunbaoxiang[6]={555,2575,292}
aoyunbaoxiang[7]={540,2584,279}
aoyunbaoxiang[8]={519,2649,268}
aoyunbaoxiang[9]={493,2746,270}
aoyunbaoxiang[10]={470,2779,281}
aoyunbaoxiang[11]={470,2712,295}
aoyunbaoxiang[12]={462,2650,320}
aoyunbaoxiang[13]={467,2636,344}
aoyunbaoxiang[14]={489,2582,355}
aoyunbaoxiang[15]={515,2567,360}
aoyunbaoxiang[16]={531,2564,345}
aoyunbaoxiang[17]={551,2582,352}
aoyunbaoxiang[18]={571,2589,366}
aoyunbaoxiang[19]={586,2554,378}
aoyunbaoxiang[20]={561,2573,343}
local r1 = math.random(20)
local r2 = r1 - 1
while r1 <= 20 do
if a1 < 2 then
map.MapCreateCreature(MapID, InstanceID, 6040116, aoyunbaoxiang[r1][1], aoyunbaoxiang[r1][2], aoyunbaoxiang[r1][3] )
a1 = a1 + 1
elseif a2 < 6 then
map.MapCreateCreature(MapID, InstanceID, 6040117, aoyunbaoxiang[r1][1], aoyunbaoxiang[r1][2], aoyunbaoxiang[r1][3] )
a2 = a2 + 1
elseif a3 < 12 then
map.MapCreateCreature(MapID, InstanceID, 6040118, aoyunbaoxiang[r1][1], aoyunbaoxiang[r1][2], aoyunbaoxiang[r1][3] )
a3 = a3 + 1
end
r1 = r1 + 1
end
while r2 > 0 do
if a1 < 2 then
map.MapCreateCreature(MapID, InstanceID, 6040116, aoyunbaoxiang[r2][1], aoyunbaoxiang[r2][2], aoyunbaoxiang[r2][3] )
a1 = a1 + 1
elseif a2 < 6 then
map.MapCreateCreature(MapID, InstanceID, 6040117, aoyunbaoxiang[r2][1], aoyunbaoxiang[r2][2], aoyunbaoxiang[r2][3] )
a2 = a2 + 1
elseif a3 < 12 then
map.MapCreateCreature(MapID, InstanceID, 6040118, aoyunbaoxiang[r2][1], aoyunbaoxiang[r2][2], aoyunbaoxiang[r2][3] )
a3 = a3 + 1
end
r2 = r2 - 1
end
end
local ID1 , ID2 = 0 , 0
if curtime == 2100 then
ID1 = map.MapCreateCreature(MapID, InstanceID, 6040142, 555, 2550, 418)
unit.SetFaceTo(MapID, InstanceID, 6040142, 557, 2550, 420)
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211201) --跑步比赛开始!在跑步开启人那里开启比赛就可以向终点冲刺了!
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2130 then --广播通知前三名
local q = {}
for i =1 , 3 do
q[i] = map.GetMapScriptData(MapId, InstanceID,1, i)
end
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211209) --本次赛跑项目已结束,请大家明天继续踊跃参加!
msg.AddMsgEvent(MsgID, 2, q[1])
msg.AddMsgEvent(MsgID, 2, q[2])
msg.AddMsgEvent(MsgID, 2, q[3])
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2120 then
ID2 = map.MapCreateColCreature(MapID, InstanceID, 6040143, 718,2594,393, 1, "")
unit.SetFaceTo(MapID, InstanceID, 6040143, 708, 2467, 401)
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211202) --游泳比赛开始!在游泳开启人那里开启比赛就可以向终点冲刺了!
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2150 then
local q = {}
for i =11 , 13 do
q[i] = map.GetMapScriptData(MapId, InstanceID,1, i)
end
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211210) --本次游泳项目项目已结束,请大家明天继续踊跃参加!
msg.AddMsgEvent(MsgID, 2, q[11])
msg.AddMsgEvent(MsgID, 2, q[12])
msg.AddMsgEvent(MsgID, 2, q[13])
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2107 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 101, 211203) --? 奥运岛即将出现一大批神秘怪物,击杀神秘怪物可获得丰富的奖励!
msg.DispatchMapMsgEvent(MsgID,3390517288,-1,-1)
end
if curtime == 2130 or curtime == 2135 or curtime == 2131 or curtime == 2136 or curtime == 2132 or curtime == 2137 or curtime == 2133 or curtime == 2138 or curtime == 2134 or curtime == 2139 or curtime == 2135 or curtime == 2140 then
--宝箱位置刷怪
local tab = {}
tab[1]={618,2426,369}
tab[2]={610,2449,351}
tab[3]={589,2574,320}
tab[4]={588,2533,302}
tab[5]={578,2550,295}
tab[6]={555,2575,292}
tab[7]={540,2584,279}
tab[8]={519,2649,268}
tab[9]={493,2746,270}
tab[10]={470,2779,281}
tab[11]={470,2712,295}
tab[12]={462,2650,320}
tab[13]={467,2636,344}
tab[14]={489,2582,355}
tab[15]={515,2567,360}
tab[16]={531,2564,345}
tab[17]={551,2582,352}
tab[18]={571,2589,366}
tab[19]={586,2554,378}
tab[20]={561,2573,343}
tab[21]={509,2586,291}
tab[22]={495,2591,303}
tab[23]={459,5660,330}
tab[24]={494,2573,362}
tab[25]={606,2481,373}
tab[26]={605,2449,292}
tab[27]={586,2512,245}
tab[28]={543,2647,245}
tab[29]={532,2638,261}
tab[30]={511,2574,295}
for i = 1,30 do
local R = math.random(10)
if R >= 1 and R <= 4 then
map.MapCreateCreature(MapID, InstanceID, 6040123, tab[i][1], tab[i][2], tab[i][3] )
elseif R >= 5 and R <= 8 then
map.MapCreateCreature(MapID, InstanceID, 6040124, tab[i][1], tab[i][2], tab[i][3] )
elseif R == 9 then
map.MapCreateCreature(MapID, InstanceID, 6040125, tab[i][1], tab[i][2], tab[i][3] )
elseif R == 10 then
map.MapCreateCreature(MapID, InstanceID, 6040126, tab[i][1], tab[i][2], tab[i][3] )
end
end
end
end
aux.RegisterActEvent(57, 4, "aoyun_OnTimerMin")
function n6040115_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) --比赛颁奖人
local jingyan = {} --完成比赛给予的经验值
jingyan[50] = 518400
jingyan[52] = 615730
jingyan[53] = 721250
jingyan[54] = 840140
jingyan[55] = 969210
jingyan[56] = 1184840
jingyan[57] = 1406370
jingyan[58] = 1725650
jingyan[59] = 2107380
jingyan[60] = 2539290
jingyan[61] = 2271290
jingyan[62] = 2023840
jingyan[63] = 1798460
jingyan[64] = 1596680
jingyan[65] = 1769480
jingyan[66] = 1824770
jingyan[67] = 1852420
jingyan[68] = 1880070
jingyan[69] = 1907720
jingyan[70] = 1935360
jingyan[71] = 1963010
jingyan[72] = 1990660
jingyan[73] = 2018310
jingyan[74] = 2045960
jingyan[75] = 2073600
jingyan[76] = 2101250
jingyan[77] = 2128900
jingyan[78] = 2156550
jingyan[79] = 2184200
jingyan[80] = 3686400
jingyan[81] = 3732480
jingyan[82] = 3778560
jingyan[83] = 3824640
jingyan[84] = 3870720
jingyan[85] = 3916800
jingyan[86] = 3962880
jingyan[87] = 4008960
jingyan[88] = 4055040
jingyan[89] = 4101120
jingyan[90] = 4147200
jingyan[91] = 4193280
jingyan[92] = 4239360
jingyan[93] = 4285440
jingyan[94] = 4331520
jingyan[95] = 4377600
jingyan[96] = 4423680
jingyan[97] = 4469760
jingyan[98] = 4515840
jingyan[99] = 4561920
jingyan[100] = 4608000
if TalkIndex == -1 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211134) -- 比赛颁奖人:\n 上一场赛跑比赛的前三名分别是\n 冠军 \n 亚军 \n 季军 \n 其他参赛选手将获得参与奖。\n 上一场游泳比赛的前三名分别是\n 冠军 \n 亚军 \n 季军 \n 其他参赛选手将获得参与奖。\n 上一场竞技场比赛的前三名分别是\n 冠军 \n 亚军 \n 季军 \n 其他参赛选手将获得参与奖。
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapId, InstanceID,1, 1))
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapId, InstanceID,1, 2))
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapId, InstanceID,1, 3))
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapId, InstanceID,1, 11))
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapId, InstanceID,1, 12))
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapId, InstanceID,1, 13))
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapId, InstanceID,1, 30))
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapId, InstanceID,1, 31))
msg.AddMsgEvent(MsgID, 2, map.GetMapScriptData(MapId, InstanceID,1, 32))
msg.AddMsgEvent(MsgID, 21, 4)
msg.AddMsgEvent(MsgID, 1, 211142) -- 领取赛跑奖励
msg.AddMsgEvent(MsgID, 21, 5)
msg.AddMsgEvent(MsgID, 1, 211143) -- 领取游泳奖励
msg.AddMsgEvent(MsgID, 21, 6)
msg.AddMsgEvent(MsgID, 1, 211185) -- 领取竞技场奖励
msg.AddMsgEvent(MsgID, 21, 7)
msg.AddMsgEvent(MsgID, 1, 211186) -- 奖励说明
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif TalkIndex == 4 then
local baoming = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_baomingX"]) --获得玩家报名信息
local got = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"]) --玩家是否已领取过奖励
local shiduan = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"]) --获得玩家参赛时段信息
if baoming == 0 or baoming == nil then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211135) -- 比赛颁奖人:\n 你没有报名参加上一场比赛
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif got == 1 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211136) -- 比赛颁奖人:\n 你已经领取过奖励了
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif shiduan == 0 or shiduan == nil then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211141) -- 比赛颁奖人:\n 你并没有参加上一场比赛
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif role.GetBagFreeSize(RoleID) < 2 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211213) -- "比赛颁奖人:\n 背包空间不足。"
msg.AddMsgEvent(MsgID, 24, TargetID) --npcid
msg.AddMsgEvent(MsgID, 21, -1) -- 确定按钮
msg.AddMsgEvent(MsgID, 1, 100001) -- “确定”
msg.DispatchRoleMsgEvent(RoleID, MsgID) --发送消息
else
local qiansan = {}
for i = 1 ,3 do
qiansan[i] = map.GetMapScriptData(MapID,InstanceID,1,i)
end
if qiansan[1] == RoleID then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211137) -- 比赛颁奖人:\n 恭喜你获得了冠军!这是你的奖励!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,InstanceID,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, InstanceID, RoleID, jingyan[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 100, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 3, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 600, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 18, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"], 0)
end
elseif qiansan[2] == RoleID then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211138) -- 比赛颁奖人:\n 恭喜你获得了亚军!这是你的奖励!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,InstanceID,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, InstanceID, RoleID, jingyan[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 70, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 2, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 420, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 12, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"], 0)
end
elseif qiansan[3] == RoleID then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211139) -- 比赛颁奖人:\n 恭喜你获得了季军!这是你的奖励!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,InstanceID,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, InstanceID, RoleID, jingyan[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 50, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 1, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 300, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 6, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"], 0)
end
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211140) -- 比赛颁奖人:\n 你只获得了参与奖,再接再厉!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,InstanceID,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, InstanceID, RoleID, jingyan[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 20, -1, 8, 420) --奥运奖章
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 120, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunpaobu_shiduanX"], 0)
end
end
end
elseif TalkIndex == 5 then
local baoming = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_baomingX"]) --获得玩家报名信息
local got = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"]) --玩家是否已领取过奖励
local shiduan = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"]) --获得玩家参赛时段信息
if baoming == 0 or baoming == nil then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211135) -- 比赛颁奖人:\n 你没有报名参加上一场比赛
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif got == 1 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211136) -- 比赛颁奖人:\n 你已经领取过奖励了
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif shiduan == 0 or shiduan == nil then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211141) -- 比赛颁奖人:\n 你并没有参加上一场比赛
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif role.GetBagFreeSize(RoleID) < 2 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211213) -- "比赛颁奖人:\n 背包空间不足。"
msg.AddMsgEvent(MsgID, 24, TargetID) --npcid
msg.AddMsgEvent(MsgID, 21, -1) -- 确定按钮
msg.AddMsgEvent(MsgID, 1, 100001) -- “确定”
msg.DispatchRoleMsgEvent(RoleID, MsgID) --发送消息
else
local qiansan = {}
for i = 11 ,13 do
qiansan[i] = map.GetMapScriptData(MapID,InstanceID,1,i)
end
if qiansan[11] == RoleID then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211137) -- 比赛颁奖人:\n 恭喜你获得了冠军!这是你的奖励!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,InstanceID,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, InstanceID, RoleID, jingyan[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 100, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 3, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 600, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 18, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"], 0)
end
elseif qiansan[12] == RoleID then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211138) -- 比赛颁奖人:\n 恭喜你获得了亚军!这是你的奖励!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,InstanceID,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, InstanceID, RoleID, jingyan[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 70, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 2, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 420, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 12, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"], 0)
end
elseif qiansan[13] == RoleID then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211139) -- 比赛颁奖人:\n 恭喜你获得了季军!这是你的奖励!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,InstanceID,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, InstanceID, RoleID, jingyan[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 50, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 1, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 300, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 6, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"], 0)
end
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211140) -- 比赛颁奖人:\n 你只获得了参与奖,再接再厉!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,InstanceID,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, InstanceID, RoleID, jingyan[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 20, -1, 8, 420) --奥运奖章
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 120, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunyouyong_shiduanX"], 0)
end
end
end
elseif TalkIndex == 6 then
local baoming = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_baomingX"]) --获得玩家报名信息
local got = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_gotX"]) --玩家是否已领取过奖励
local shiduan = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_shiduanX"]) --获得玩家参赛时段信息
local jifen = role.GetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_jifenX"])
local t = {}
t[50]=777600
t[51]=923595
t[52]=1081875
t[53]=1260210
t[54]=1453815
t[55]=1777260
t[56]=2109555
t[57]=2588475
t[58]=3161070
t[59]=3808935
t[60]=3406935
t[61]=3035760
t[62]=2697690
t[63]=2395020
t[64]=2654220
t[65]=2695680
t[66]=2737155
t[67]=2778630
t[68]=2820105
t[69]=2861580
t[70]=2903040
t[71]=2944515
t[72]=2985990
t[73]=3027465
t[74]=3068940
t[75]=3110400
t[76]=3151875
t[77]=3193350
t[78]=3234825
t[79]=3276300
t[80]=5529600
t[81]=5598720
t[82]=5667840
t[83]=5736960
t[84]=5806080
t[85]=5875200
t[86]=5944320
t[87]=6013440
t[88]=6082560
t[89]=6151680
t[90]=6220800
t[91]=6289920
t[92]=6359040
t[93]=6428160
t[94]=6497280
t[95]=6566400
t[96]=6635520
t[97]=6704640
t[98]=6773760
t[99]=6842880
t[100]=6912000
if baoming == 0 or baoming == nil then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211135) -- 比赛颁奖人:\n 你没有报名参加上一场比赛
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif got == 1 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211136) -- 比赛颁奖人:\n 你已经领取过奖励了
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif jifen == 0 or jifen == nil then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211141) -- 比赛颁奖人:\n 你并没有参加上一场比赛
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, 99)
msg.AddMsgEvent(MsgID, 1, 100002) -- 取消
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif role.GetBagFreeSize(RoleID) < 2 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211213) -- "比赛颁奖人:\n 背包空间不足。"
msg.AddMsgEvent(MsgID, 24, TargetID) --npcid
msg.AddMsgEvent(MsgID, 21, -1) -- 确定按钮
msg.AddMsgEvent(MsgID, 1, 100001) -- “确定”
msg.DispatchRoleMsgEvent(RoleID, MsgID) --发送消息
else
local qiansan = {}
for i = 30 ,32 do
qiansan[i] = map.GetMapScriptData(MapID,InstanceID,1,i)
end
if qiansan[30] == RoleID then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211137) -- 比赛颁奖人:\n 恭喜你获得了冠军!这是你的奖励!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,-1,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, -1, RoleID, t[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 300, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 10, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 1800, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 60, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_shiduanX"], 0)
end
elseif qiansan[31] == RoleID then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211138) -- 比赛颁奖人:\n 恭喜你获得了亚军!这是你的奖励!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,-1,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, -1, RoleID, t[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 200, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 7, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 1200, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 42, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_shiduanX"], 0)
end
elseif qiansan[32] == RoleID then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211139) -- 比赛颁奖人:\n 恭喜你获得了季军!这是你的奖励!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
local level = role.GetRoleLevel(MapID,-1,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, -1, RoleID, t[level])
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 100, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 4, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 600, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 24, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_shiduanX"], 0)
end
elseif jifen > 0 then
local level = role.GetRoleLevel(MapID,-1,RoleID) --完成比赛给予玩家经验奖励
role.AddRoleExp(MapID, -1, RoleID, t[level])
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211140) -- 比赛颁奖人:\n 你只获得了参与奖,再接再厉!
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
--给予奖励,判定专业组和娱乐组
if baoming == 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 60, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 2, -1, 8, 420) --奖牌
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_shiduanX"], 0)
elseif baoming == 2 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4810036, 360, -1, 8, 420) --奥运奖章
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 12, -1, 8, 420) --奖牌
role.AddRoleItem(MapID, InstanceID, RoleID, 4810037, 20, -1, 8, 420)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_gotX"], 1)
role.SetRoleScriptData(RoleID, 1, RoleDataType["aoyunjinjichang_shiduanX"], 0)
end
end
end
elseif TalkIndex == 7 then --奖励说明
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 211187) -- 比赛颁奖人:\n 冠军将获得10个奥运奖章和3个奥运金牌\n 亚军将获得7个奥运奖章和2个奥运金牌\n 季军将获得5个奥运奖章和1个奥运金牌\n 参与奖将为2个奥运奖章\n
msg.AddMsgEvent(MsgID, 24, TargetID) --
msg.AddMsgEvent(MsgID, 21, -1)
msg.AddMsgEvent(MsgID, 1, 100001) -- 确定
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
end
aux.RegisterCreatureEvent(6040115, 7, "n6040115_OnTalk")