--��ҵȼ��ı� function ResolveClassTitle60Trial(cid) if cid == 2 or cid == 6 or cid == 7 then return 6042 end if cid == 3 or cid == 8 or cid == 9 then return 6044 end if cid == 4 or cid == 10 or cid == 11 then return 6045 end if cid == 5 or cid == 12 or cid == 13 then return 6046 end return nil end function x_RoleLevelChange(MapID, InstanceID, RoleID) local classid = role.GetRoleClass(RoleID) local level = role.GetRoleLevel(MapID, InstanceID, RoleID) local devil = role.GetRoleSpecFlag(MapID, InstanceID, RoleID) --�������˺ű�ʶ���ж��Ƿ��Ƕ�ħ��ң� local classTitle60 = ResolveClassTitle60Trial(classid) if level % 10 == 0 and level > 9 then role.NotifyFBBS(RoleID,2,level) end if level >20 and classid == 1 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 71, 402001)--�����ڵ�ְҵΪ���֣�20��֮��ɽ���תְ���뾡��ǰ����ս��ǽ�ȡתְ���� msg.DispatchRoleMsgEvent(RoleID, MsgID) --[[elseif level == 60 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 71, 402002)--60����ɽ���ְҵ��ת����ǰ����ս��ǽ�ȡ��תְҵ���� msg.DispatchRoleMsgEvent(RoleID, MsgID) ]] elseif level >60 and (classid >= 2 and classid <= 5) then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 71, 402002)--60����ɽ���ְҵ��ת����ǰ����ս��ǽ�ȡ��תְҵ���� msg.DispatchRoleMsgEvent(RoleID, MsgID) end if role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 69370) then if level >= 95 then unit.CancelBuff(MapID, InstanceID, RoleID, 6937001) elseif level == 32 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 71, 206430)--�µ���Ȩ������Խ�ȡ��\n�����ڿ����ڶ�ս��ǵ�������Ȩʹ�ߴ���ȡ�µ���Ȩ����ʹ��10������֮ѩ��ȡ25����Լ���ߣ��� msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif level == 42 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 71, 206431)--�µ���Ȩ������Խ�ȡ��\n�����ڿ����ڶ�ս��ǵ�������Ȩʹ�ߴ���ȡ�µ���Ȩ�������һ�ΰٹ������Ȼ����ȡ6������֤֮���� msg.DispatchRoleMsgEvent(RoleID, MsgID) end end --5�����������齱��buff�жϣ�80�������ȥ��buff�� if role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 61050) then if level >= 80 then unit.CancelBuff(MapID, InstanceID, RoleID, 6105001) end end --80��������һ�������ӱ�buff if shengwangjiabei ~= 0 and level >= 80 and not role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 69374) then unit.AddBuff(MapID, InstanceID, RoleID,6937399+shengwangjiabei,RoleID) --80���������ÿ�����߻�������ӱ�buff end if ((devil == 1 or devil == 2) and level >= 70 and level < 80) then --���Զ�ħ����ң�����70����������ף��buff unit.AddBuff(MapID, InstanceID, RoleID,6104501,RoleID) end if (role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 61045)) then --80��ȡ������ף�� if level >= 80 then unit.CancelBuff(MapID, InstanceID, RoleID, 6104501) end end ---------------------------------------�ɾ����---------------------------------------------- role.SetTrialCompleteNum(RoleID, 1001, level) role.SetTrialCompleteNum(RoleID, 1002, level) role.SetTrialCompleteNum(RoleID, 2001, level) role.SetTrialCompleteNum(RoleID, 2002, level) role.SetTrialCompleteNum(RoleID, 3001, level) role.SetTrialCompleteNum(RoleID, 3002, level) role.SetTrialCompleteNum(RoleID, 4001, level) role.SetTrialCompleteNum(RoleID, 4002, level) role.SetTrialCompleteNum(RoleID, 5001, level) role.SetTrialCompleteNum(RoleID, 5002, level) role.SetTrialCompleteNum(RoleID, 6001, level) role.SetTrialCompleteNum(RoleID, 6002, level) role.SetTrialCompleteNum(RoleID, 7001, level) role.SetTrialCompleteNum(RoleID, 7002, level) role.SetTrialCompleteNum(RoleID, 8001, level) role.SetTrialCompleteNum(RoleID, 8002, level) role.SetTrialCompleteNum(RoleID, 8003, level) role.SetTrialCompleteNum(RoleID, 8004, level) role.SetTrialCompleteNum(RoleID, 8005, level) role.SetTrialCompleteNum(RoleID, 9001, level) role.SetTrialCompleteNum(RoleID, 9002, level) role.SetTrialCompleteNum(RoleID, 9003, level) role.SetTrialCompleteNum(RoleID, 9004, level) role.SetTrialCompleteNum(RoleID, 9005, level) role.SetTrialCompleteNum(RoleID, 9006, level) role.SetTrialCompleteNum(RoleID, 9007, level) role.SetTrialCompleteNum(RoleID, 9008, level) role.SetTrialCompleteNum(RoleID, 9009, level) role.SetTrialCompleteNum(RoleID, 9010, level) role.SetTrialCompleteNum(RoleID, 10001, level) role.SetTrialCompleteNum(RoleID, 10002, level) role.SetTrialCompleteNum(RoleID, 10003, level) role.SetTrialCompleteNum(RoleID, 10004, level) role.SetTrialCompleteNum(RoleID, 10005, level) role.SetTrialCompleteNum(RoleID, 10006, level) role.SetTrialCompleteNum(RoleID, 10007, level) role.SetTrialCompleteNum(RoleID, 10008, level) role.SetTrialCompleteNum(RoleID, 10009, level) role.SetTrialCompleteNum(RoleID, 10010, level) role.SetTrialCompleteNum(RoleID, 11001, level) role.SetTrialCompleteNum(RoleID, 11002, level) role.SetTrialCompleteNum(RoleID, 11003, level) role.SetTrialCompleteNum(RoleID, 11004, level) role.SetTrialCompleteNum(RoleID, 11005, level) role.SetTrialCompleteNum(RoleID, 11006, level) role.SetTrialCompleteNum(RoleID, 11007, level) role.SetTrialCompleteNum(RoleID, 11008, level) role.SetTrialCompleteNum(RoleID, 11009, level) role.SetTrialCompleteNum(RoleID, 11010, level) if classTitle60 ~= nil then role.SetTrialCompleteNum(RoleID, classTitle60, level) end if level >= 10 and level <= 59 then if level >= 10 and level <= 19 then if role.GetTrialState(RoleID, 1001) == 0 then --role.OpenNewTrialType(RoleID, 10) for i= 1,11 do if i ~= 7 then role.OpenTrain(RoleID, 1000+i) if role.GetTrialCompleteNum(RoleID,1000+i) >= Trail_maxnum[1000+i] then role.TrialComplete(RoleID,1000+i) end end end -- Открыть достижение 1012 "Цветки Пандоры" role.OpenTrain(RoleID, 1012) if role.GetTrialCompleteNum(RoleID,1012) >= Trail_maxnum[1012] then role.TrialComplete(RoleID,1012) end -- Открыть достижения 1016 "Солнцевик 2 ур." и 1017 "Лунник 2 ур." role.OpenTrain(RoleID, 1016) if role.GetTrialCompleteNum(RoleID,1016) >= Trail_maxnum[1016] then role.TrialComplete(RoleID,1016) end role.OpenTrain(RoleID, 1017) if role.GetTrialCompleteNum(RoleID,1017) >= Trail_maxnum[1017] then role.TrialComplete(RoleID,1017) end -- Открыть достижения 1018 "Ляпис 2 ур.", 1019 "Гранат 2 ур.", 1020 "Рубин 2 ур.", 1021 "Сапфир 2 ур." role.OpenTrain(RoleID, 1018) if role.GetTrialCompleteNum(RoleID,1018) >= Trail_maxnum[1018] then role.TrialComplete(RoleID,1018) end role.OpenTrain(RoleID, 1019) if role.GetTrialCompleteNum(RoleID,1019) >= Trail_maxnum[1019] then role.TrialComplete(RoleID,1019) end role.OpenTrain(RoleID, 1020) if role.GetTrialCompleteNum(RoleID,1020) >= Trail_maxnum[1020] then role.TrialComplete(RoleID,1020) end role.OpenTrain(RoleID, 1021) if role.GetTrialCompleteNum(RoleID,1021) >= Trail_maxnum[1021] then role.TrialComplete(RoleID,1021) end end elseif level >= 20 and level <= 29 then if role.GetTrialState(RoleID, 2001) == 0 then --role.OpenNewTrialType(RoleID, 20) for i= 1,16 do if i ~= 5 then role.OpenTrain(RoleID, 2000+i) if role.GetTrialCompleteNum(RoleID,2000+i) >= Trail_maxnum[2000+i] then role.TrialComplete(RoleID,2000+i) end end end end elseif level >= 30 and level <= 39 then if role.GetTrialState(RoleID, 3001) == 0 then --role.OpenNewTrialType(RoleID, 30) for i= 1,14 do if i ~= 5 then role.OpenTrain(RoleID, 3000+i) if role.GetTrialCompleteNum(RoleID,3000+i) >= Trail_maxnum[3000+i] then role.TrialComplete(RoleID,3000+i) end end end end -- Открыть достижения 3015 "Ледяные жёлуди", 3019-3024 "Камни 3 ур." (всегда при уровне 30+) if role.GetTrialState(RoleID, 3015) == 0 then role.OpenTrain(RoleID, 3015) end if role.GetTrialCompleteNum(RoleID,3015) >= Trail_maxnum[3015] then role.TrialComplete(RoleID,3015) end if role.GetTrialState(RoleID, 3019) == 0 then role.OpenTrain(RoleID, 3019) end if role.GetTrialCompleteNum(RoleID,3019) >= Trail_maxnum[3019] then role.TrialComplete(RoleID,3019) end if role.GetTrialState(RoleID, 3020) == 0 then role.OpenTrain(RoleID, 3020) end if role.GetTrialCompleteNum(RoleID,3020) >= Trail_maxnum[3020] then role.TrialComplete(RoleID,3020) end if role.GetTrialState(RoleID, 3021) == 0 then role.OpenTrain(RoleID, 3021) end if role.GetTrialCompleteNum(RoleID,3021) >= Trail_maxnum[3021] then role.TrialComplete(RoleID,3021) end if role.GetTrialState(RoleID, 3022) == 0 then role.OpenTrain(RoleID, 3022) end if role.GetTrialCompleteNum(RoleID,3022) >= Trail_maxnum[3022] then role.TrialComplete(RoleID,3022) end if role.GetTrialState(RoleID, 3023) == 0 then role.OpenTrain(RoleID, 3023) end if role.GetTrialCompleteNum(RoleID,3023) >= Trail_maxnum[3023] then role.TrialComplete(RoleID,3023) end if role.GetTrialState(RoleID, 3024) == 0 then role.OpenTrain(RoleID, 3024) end if role.GetTrialCompleteNum(RoleID,3024) >= Trail_maxnum[3024] then role.TrialComplete(RoleID,3024) end elseif level >= 40 and level <= 49 then if role.GetTrialState(RoleID, 4001) == 0 then --role.OpenNewTrialType(RoleID, 40) for i= 1,17 do role.OpenTrain(RoleID, 4000+i) if role.GetTrialCompleteNum(RoleID,4000+i) >= Trail_maxnum[4000+i] then role.TrialComplete(RoleID,4000+i) end end end -- Открыть достижения 4022 "Амур" и 4023 "Снежный лотос" (всегда при уровне 40+) if role.GetTrialState(RoleID, 4022) == 0 then role.OpenTrain(RoleID, 4022) end if role.GetTrialCompleteNum(RoleID,4022) >= Trail_maxnum[4022] then role.TrialComplete(RoleID,4022) end if role.GetTrialState(RoleID, 4023) == 0 then role.OpenTrain(RoleID, 4023) end if role.GetTrialCompleteNum(RoleID,4023) >= Trail_maxnum[4023] then role.TrialComplete(RoleID,4023) end elseif level >= 50 and level <= 59 then if role.GetTrialState(RoleID, 5001) == 0 then -- role.OpenNewTrialType(RoleID, 50) for i= 1,13 do role.OpenTrain(RoleID, 5000+i) if role.GetTrialCompleteNum(RoleID,5000+i) >= Trail_maxnum[5000+i] then role.TrialComplete(RoleID,5000+i) end end end -- Открыть достижения 50 уровня (всегда при уровне 50+) if role.GetTrialState(RoleID, 5014) == 0 then role.OpenTrain(RoleID, 5014) end if role.GetTrialCompleteNum(RoleID,5014) >= Trail_maxnum[5014] then role.TrialComplete(RoleID,5014) end if role.GetTrialState(RoleID, 5018) == 0 then role.OpenTrain(RoleID, 5018) end if role.GetTrialCompleteNum(RoleID,5018) >= Trail_maxnum[5018] then role.TrialComplete(RoleID,5018) end if role.GetTrialState(RoleID, 5020) == 0 then role.OpenTrain(RoleID, 5020) end if role.GetTrialCompleteNum(RoleID,5020) >= Trail_maxnum[5020] then role.TrialComplete(RoleID,5020) end if role.GetTrialState(RoleID, 5021) == 0 then role.OpenTrain(RoleID, 5021) end if role.GetTrialCompleteNum(RoleID,5021) >= Trail_maxnum[5021] then role.TrialComplete(RoleID,5021) end if role.GetTrialState(RoleID, 5022) == 0 then role.OpenTrain(RoleID, 5022) end if role.GetTrialCompleteNum(RoleID,5022) >= Trail_maxnum[5022] then role.TrialComplete(RoleID,5022) end if role.GetTrialState(RoleID, 5024) == 0 then role.OpenTrain(RoleID, 5024) end if role.GetTrialCompleteNum(RoleID,5024) >= Trail_maxnum[5024] then role.TrialComplete(RoleID,5024) end if role.GetTrialState(RoleID, 5025) == 0 then role.OpenTrain(RoleID, 5025) end if role.GetTrialCompleteNum(RoleID,5025) >= Trail_maxnum[5025] then role.TrialComplete(RoleID,5025) end if role.GetTrialState(RoleID, 5026) == 0 then role.OpenTrain(RoleID, 5026) end if role.GetTrialCompleteNum(RoleID,5026) >= Trail_maxnum[5026] then role.TrialComplete(RoleID,5026) end if role.GetTrialState(RoleID, 5027) == 0 then role.OpenTrain(RoleID, 5027) end if role.GetTrialCompleteNum(RoleID,5027) >= Trail_maxnum[5027] then role.TrialComplete(RoleID,5027) end if role.GetTrialState(RoleID, 5028) == 0 then role.OpenTrain(RoleID, 5028) end if role.GetTrialCompleteNum(RoleID,5028) >= Trail_maxnum[5028] then role.TrialComplete(RoleID,5028) end if role.GetTrialState(RoleID, 5029) == 0 then role.OpenTrain(RoleID, 5029) end if role.GetTrialCompleteNum(RoleID,5029) >= Trail_maxnum[5029] then role.TrialComplete(RoleID,5029) end if role.GetTrialState(RoleID, 5030) == 0 then role.OpenTrain(RoleID, 5030) end if role.GetTrialState(RoleID, 5031) == 0 then role.OpenTrain(RoleID, 5031) end end elseif level >= 60 then if level >= 60 and level <= 69 then if level == 60 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID,102,100106) msg.AddMsgEvent(MsgID,2,RoleID) if math.random(100) < 81 then msg.DispatchBroadcast(MsgID,MapID, InstanceID,-1) else msg.DispatchBroadcast(MsgID, -1, -1, -1) end end if role.GetTrialState(RoleID, 6001) == 0 then --role.OpenNewTrialType(RoleID, 60) for i= 1,20 do role.OpenTrain(RoleID, 6000+i) if role.GetTrialCompleteNum(RoleID,6000+i) >= Trail_maxnum[6000+i] then role.TrialComplete(RoleID,6000+i) end end end -- Открыть достижения 60 уровня (всегда при уровне 60+) if role.GetTrialState(RoleID, 6026) == 0 then role.OpenTrain(RoleID, 6026) end if role.GetTrialCompleteNum(RoleID,6026) >= Trail_maxnum[6026] then role.TrialComplete(RoleID,6026) end if role.GetTrialState(RoleID, 6028) == 0 then role.OpenTrain(RoleID, 6028) end if role.GetTrialCompleteNum(RoleID,6028) >= Trail_maxnum[6028] then role.TrialComplete(RoleID,6028) end if role.GetTrialState(RoleID, 6029) == 0 then role.OpenTrain(RoleID, 6029) end if role.GetTrialCompleteNum(RoleID,6029) >= Trail_maxnum[6029] then role.TrialComplete(RoleID,6029) end if role.GetTrialState(RoleID, 6030) == 0 then role.OpenTrain(RoleID, 6030) end if role.GetTrialState(RoleID, 6031) == 0 then role.OpenTrain(RoleID, 6031) end if role.GetTrialCompleteNum(RoleID,6031) >= Trail_maxnum[6031] then role.TrialComplete(RoleID,6031) end if role.GetTrialState(RoleID, 6034) == 0 then role.OpenTrain(RoleID, 6034) end if role.GetTrialCompleteNum(RoleID,6034) >= Trail_maxnum[6034] then role.TrialComplete(RoleID,6034) end if role.GetTrialState(RoleID, 6035) == 0 then role.OpenTrain(RoleID, 6035) end if role.GetTrialCompleteNum(RoleID,6035) >= Trail_maxnum[6035] then role.TrialComplete(RoleID,6035) end if role.GetTrialState(RoleID, 6036) == 0 then role.OpenTrain(RoleID, 6036) end if role.GetTrialCompleteNum(RoleID,6036) >= Trail_maxnum[6036] then role.TrialComplete(RoleID,6036) end if role.GetTrialState(RoleID, 6037) == 0 then role.OpenTrain(RoleID, 6037) end if role.GetTrialCompleteNum(RoleID,6037) >= Trail_maxnum[6037] then role.TrialComplete(RoleID,6037) end if role.GetTrialState(RoleID, 6038) == 0 then role.OpenTrain(RoleID, 6038) end if role.GetTrialCompleteNum(RoleID,6038) >= Trail_maxnum[6038] then role.TrialComplete(RoleID,6038) end if role.GetTrialState(RoleID, 6039) == 0 then role.OpenTrain(RoleID, 6039) end if role.GetTrialCompleteNum(RoleID,6039) >= Trail_maxnum[6039] then role.TrialComplete(RoleID,6039) end if role.GetTrialState(RoleID, 6040) == 0 then role.OpenTrain(RoleID, 6040) end if role.GetTrialState(RoleID, 6041) == 0 then role.OpenTrain(RoleID, 6041) end if role.GetTrialState(RoleID, 6043) == 0 then role.OpenTrain(RoleID, 6043) end if role.GetTrialCompleteNum(RoleID, 6043) >= Trail_maxnum[6043] then role.TrialComplete(RoleID, 6043) end if role.GetTrialState(RoleID, 6047) == 0 then role.OpenTrain(RoleID, 6047) end if role.GetTrialCompleteNum(RoleID, 6047) >= Trail_maxnum[6047] then role.TrialComplete(RoleID, 6047) end if role.GetTrialState(RoleID, 6052) == 0 then role.OpenTrain(RoleID, 6052) end if role.GetTrialCompleteNum(RoleID, 6052) >= Trail_maxnum[6052] then role.TrialComplete(RoleID, 6052) end elseif level >= 70 and level <= 79 then if level == 70 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID,102,100107) msg.AddMsgEvent(MsgID,2,RoleID) if math.random(100) < 51 then msg.DispatchBroadcast(MsgID,MapID, InstanceID,-1) else msg.DispatchBroadcast(MsgID, -1, -1, -1) end end if role.GetTrialState(RoleID, 7001) == 0 then --role.OpenNewTrialType(RoleID, 70) for i= 1,15 do role.OpenTrain(RoleID, 7000+i) if role.GetTrialCompleteNum(RoleID,7000+i) >= Trail_maxnum[7000+i] then role.TrialComplete(RoleID,7000+i) end end end -- Открыть достижения 70 уровня (всегда при уровне 70+) if role.GetTrialState(RoleID, 7016) == 0 then role.OpenTrain(RoleID, 7016) end if role.GetTrialCompleteNum(RoleID,7016) >= Trail_maxnum[7016] then role.TrialComplete(RoleID,7016) end if role.GetTrialState(RoleID, 7020) == 0 then role.OpenTrain(RoleID, 7020) end if role.GetTrialState(RoleID, 7022) == 0 then role.OpenTrain(RoleID, 7022) end if role.GetTrialCompleteNum(RoleID,7022) >= Trail_maxnum[7022] then role.TrialComplete(RoleID,7022) end if role.GetTrialState(RoleID, 7023) == 0 then role.OpenTrain(RoleID, 7023) end if role.GetTrialCompleteNum(RoleID,7023) >= Trail_maxnum[7023] then role.TrialComplete(RoleID,7023) end if role.GetTrialState(RoleID, 7024) == 0 then role.OpenTrain(RoleID, 7024) end if role.GetTrialCompleteNum(RoleID,7024) >= Trail_maxnum[7024] then role.TrialComplete(RoleID,7024) end if role.GetTrialState(RoleID, 7025) == 0 then role.OpenTrain(RoleID, 7025) end if role.GetTrialCompleteNum(RoleID,7025) >= Trail_maxnum[7025] then role.TrialComplete(RoleID,7025) end if role.GetTrialState(RoleID, 7026) == 0 then role.OpenTrain(RoleID, 7026) end if role.GetTrialCompleteNum(RoleID,7026) >= Trail_maxnum[7026] then role.TrialComplete(RoleID,7026) end if role.GetTrialState(RoleID, 7027) == 0 then role.OpenTrain(RoleID, 7027) end if role.GetTrialCompleteNum(RoleID,7027) >= Trail_maxnum[7027] then role.TrialComplete(RoleID,7027) end if role.GetTrialState(RoleID, 7028) == 0 then role.OpenTrain(RoleID, 7028) end if role.GetTrialCompleteNum(RoleID,7028) >= Trail_maxnum[7028] then role.TrialComplete(RoleID,7028) end if role.GetTrialState(RoleID, 7029) == 0 then role.OpenTrain(RoleID, 7029) end if role.GetTrialCompleteNum(RoleID,7029) >= Trail_maxnum[7029] then role.TrialComplete(RoleID,7029) end if role.GetTrialState(RoleID, 7032) == 0 then role.OpenTrain(RoleID, 7032) end if role.GetTrialCompleteNum(RoleID,7032) >= Trail_maxnum[7032] then role.TrialComplete(RoleID,7032) end if role.GetTrialState(RoleID, 7033) == 0 then role.OpenTrain(RoleID, 7033) end if role.GetTrialCompleteNum(RoleID,7033) >= Trail_maxnum[7033] then role.TrialComplete(RoleID,7033) end if role.GetTrialState(RoleID, 7034) == 0 then role.OpenTrain(RoleID, 7034) end if role.GetTrialCompleteNum(RoleID,7034) >= Trail_maxnum[7034] then role.TrialComplete(RoleID,7034) end if role.GetTrialState(RoleID, 7035) == 0 then role.OpenTrain(RoleID, 7035) end if role.GetTrialCompleteNum(RoleID,7035) >= Trail_maxnum[7035] then role.TrialComplete(RoleID,7035) end if role.GetTrialState(RoleID, 7036) == 0 then role.OpenTrain(RoleID, 7036) end if role.GetTrialCompleteNum(RoleID,7036) >= Trail_maxnum[7036] then role.TrialComplete(RoleID,7036) end if role.GetTrialState(RoleID, 7037) == 0 then role.OpenTrain(RoleID, 7037) end if role.GetTrialCompleteNum(RoleID,7037) >= Trail_maxnum[7037] then role.TrialComplete(RoleID,7037) end if role.GetTrialState(RoleID, 7038) == 0 then role.OpenTrain(RoleID, 7038) end if role.GetTrialState(RoleID, 7039) == 0 then role.OpenTrain(RoleID, 7039) end if role.GetTrialState(RoleID, 7040) == 0 then role.OpenTrain(RoleID, 7040) end if role.GetTrialCompleteNum(RoleID,7040) >= Trail_maxnum[7040] then role.TrialComplete(RoleID,7040) end elseif level >= 80 and level <= 89 then if level == 80 or level == 85 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID,102,100108) msg.AddMsgEvent(MsgID,2,RoleID) msg.AddMsgEvent(MsgID,9,level) msg.DispatchBroadcast(MsgID, -1, -1, -1) end if role.GetTrialState(RoleID, 8001) == 0 then --role.OpenNewTrialType(RoleID, 80) for i= 1,28 do role.OpenTrain(RoleID, 8000+i) if role.GetTrialCompleteNum(RoleID,8000+i) >= Trail_maxnum[8000+i] then role.TrialComplete(RoleID,8000+i) end end end -- Открыть достижения 80 уровня (всегда при уровне 80+) if role.GetTrialState(RoleID, 8029) == 0 then role.OpenTrain(RoleID, 8029) end if role.GetTrialCompleteNum(RoleID,8029) >= Trail_maxnum[8029] then role.TrialComplete(RoleID,8029) end if role.GetTrialState(RoleID, 8030) == 0 then role.OpenTrain(RoleID, 8030) end if role.GetTrialCompleteNum(RoleID,8030) >= Trail_maxnum[8030] then role.TrialComplete(RoleID,8030) end if role.GetTrialState(RoleID, 8033) == 0 then role.OpenTrain(RoleID, 8033) end if role.GetTrialState(RoleID, 8034) == 0 then role.OpenTrain(RoleID, 8034) end if role.GetTrialState(RoleID, 8035) == 0 then role.OpenTrain(RoleID, 8035) end if role.GetTrialCompleteNum(RoleID,8035) >= Trail_maxnum[8035] then role.TrialComplete(RoleID,8035) end if role.GetTrialState(RoleID, 8038) == 0 then role.OpenTrain(RoleID, 8038) end if role.GetTrialCompleteNum(RoleID,8038) >= Trail_maxnum[8038] then role.TrialComplete(RoleID,8038) end if role.GetTrialState(RoleID, 8039) == 0 then role.OpenTrain(RoleID, 8039) end if role.GetTrialCompleteNum(RoleID,8039) >= Trail_maxnum[8039] then role.TrialComplete(RoleID,8039) end if role.GetTrialState(RoleID, 8040) == 0 then role.OpenTrain(RoleID, 8040) end if role.GetTrialCompleteNum(RoleID,8040) >= Trail_maxnum[8040] then role.TrialComplete(RoleID,8040) end if role.GetTrialState(RoleID, 8043) == 0 then role.OpenTrain(RoleID, 8043) end if role.GetTrialState(RoleID, 8044) == 0 then role.OpenTrain(RoleID, 8044) end if role.GetTrialState(RoleID, 8047) == 0 then role.OpenTrain(RoleID, 8047) end if role.GetTrialState(RoleID, 8048) == 0 then role.OpenTrain(RoleID, 8048) end if role.GetTrialState(RoleID, 8049) == 0 then role.OpenTrain(RoleID, 8049) end if role.GetTrialCompleteNum(RoleID,8049) >= Trail_maxnum[8049] then role.TrialComplete(RoleID,8049) end if role.GetTrialState(RoleID, 8053) == 0 then role.OpenTrain(RoleID, 8053) end if role.GetTrialCompleteNum(RoleID,8053) >= Trail_maxnum[8053] then role.TrialComplete(RoleID,8053) end if role.GetTrialState(RoleID, 8054) == 0 then role.OpenTrain(RoleID, 8054) end if role.GetTrialCompleteNum(RoleID,8054) >= Trail_maxnum[8054] then role.TrialComplete(RoleID,8054) end if role.GetTrialState(RoleID, 8055) == 0 then role.OpenTrain(RoleID, 8055) end if role.GetTrialCompleteNum(RoleID,8055) >= Trail_maxnum[8055] then role.TrialComplete(RoleID,8055) end if role.GetTrialState(RoleID, 8056) == 0 then role.OpenTrain(RoleID, 8056) end if role.GetTrialCompleteNum(RoleID,8056) >= Trail_maxnum[8056] then role.TrialComplete(RoleID,8056) end if role.GetTrialState(RoleID, 8057) == 0 then role.OpenTrain(RoleID, 8057) end if role.GetTrialCompleteNum(RoleID,8057) >= Trail_maxnum[8057] then role.TrialComplete(RoleID,8057) end if role.GetTrialState(RoleID, 8058) == 0 then role.OpenTrain(RoleID, 8058) end if role.GetTrialCompleteNum(RoleID,8058) >= Trail_maxnum[8058] then role.TrialComplete(RoleID,8058) end if role.GetTrialState(RoleID, 8064) == 0 then role.OpenTrain(RoleID, 8064) end if role.GetTrialState(RoleID, 8065) == 0 then role.OpenTrain(RoleID, 8065) end if role.GetTrialState(RoleID, 8066) == 0 then role.OpenTrain(RoleID, 8066) end if role.GetTrialState(RoleID, 8067) == 0 then role.OpenTrain(RoleID, 8067) end if role.GetTrialCompleteNum(RoleID,8067) >= Trail_maxnum[8067] then role.TrialComplete(RoleID,8067) end if role.GetTrialState(RoleID, 8068) == 0 then role.OpenTrain(RoleID, 8068) end if role.GetTrialState(RoleID, 8069) == 0 then role.OpenTrain(RoleID, 8069) end if role.GetTrialState(RoleID, 8070) == 0 then role.OpenTrain(RoleID, 8070) end if role.GetTrialState(RoleID, 8071) == 0 then role.OpenTrain(RoleID, 8071) end if role.GetTrialState(RoleID, 8072) == 0 then role.OpenTrain(RoleID, 8072) end if role.GetTrialState(RoleID, 8073) == 0 then role.OpenTrain(RoleID, 8073) end elseif level >= 90 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID,102,100109) msg.AddMsgEvent(MsgID,2,RoleID) msg.AddMsgEvent(MsgID,9,level) msg.DispatchBroadcast(MsgID, -1, -1, -1) if role.GetTrialState(RoleID, 9001) == 0 then --role.OpenNewTrialType(RoleID, 90) for i= 1,83 do role.OpenTrain(RoleID, 9000+i) local maxNum = Trail_maxnum[9000+i] if maxNum ~= nil and role.GetTrialCompleteNum(RoleID,9000+i) >= maxNum then role.TrialComplete(RoleID,9000+i) end end end end -- Открыть достижения 100 уровня при достижении уровня 100+ (вне блока уровня 90) if level >= 100 then if role.GetTrialState(RoleID, 10001) == 0 then for i= 1,24 do role.OpenTrain(RoleID, 10000+i) local maxNum = Trail_maxnum[10000+i] if maxNum ~= nil and role.GetTrialCompleteNum(RoleID,10000+i) >= maxNum then role.TrialComplete(RoleID,10000+i) end end end -- Открыть достижение 11024 "Гробница Менеса" при достижении уровня 106+ if level >= 106 then if role.GetTrialState(RoleID, 11024) == 0 then role.OpenTrain(RoleID, 11024) end end end -- Открыть достижения 110 уровня при достижении уровня 110+ (вне блока уровня 90) if level >= 110 then if role.GetTrialState(RoleID, 11001) == 0 then for i= 1,23 do role.OpenTrain(RoleID, 11000+i) local maxNum = Trail_maxnum[11000+i] if maxNum ~= nil and role.GetTrialCompleteNum(RoleID,11000+i) >= maxNum then role.TrialComplete(RoleID,11000+i) end end end end end if level >= 15 then if role.GetTrialState(RoleID, 1001) == 1 then role.TrialComplete(RoleID,1001) end end if level >= 20 then if role.GetTrialState(RoleID, 1002) == 1 then role.TrialComplete(RoleID,1002) end end if level >= 25 then if role.GetTrialState(RoleID, 2001) == 1 then role.TrialComplete(RoleID,2001) end end if level >= 30 then if role.GetTrialState(RoleID, 2002) == 1 then role.TrialComplete(RoleID,2002) end end if level >= 35 then if role.GetTrialState(RoleID, 3001) == 1 then role.TrialComplete(RoleID,3001) end end if level >= 40 then if role.GetTrialState(RoleID, 3002) == 1 then role.TrialComplete(RoleID, 3002) end end if level >= 45 then if role.GetTrialState(RoleID, 4001) == 1 then role.TrialComplete(RoleID, 4001) end end if level >= 50 then if role.GetTrialState(RoleID, 4002) == 1 then role.TrialComplete(RoleID, 4002) end end if level >= 55 then if role.GetTrialState(RoleID, 5001) == 1 then role.TrialComplete(RoleID, 5001) end end if level >= 60 then if role.GetTrialState(RoleID, 5002) == 1 then role.TrialComplete(RoleID, 5002) end end if level >= 65 then if role.GetTrialState(RoleID, 6001) == 1 then role.TrialComplete(RoleID, 6001) end end if level >= 70 then if role.GetTrialState(RoleID, 6002) == 1 then role.TrialComplete(RoleID, 6002) end end if level >= 75 then if role.GetTrialState(RoleID, 7001) == 1 then role.TrialComplete(RoleID, 7001) end end if level >= 80 then if role.GetTrialState(RoleID, 7002) == 1 then role.TrialComplete(RoleID, 7002) end end if level >= 82 then if role.GetTrialState(RoleID, 8001) == 1 then role.TrialComplete(RoleID, 8001) end end if level >= 84 then if role.GetTrialState(RoleID, 8002) == 1 then role.TrialComplete(RoleID, 8002) end end if level >= 86 then if role.GetTrialState(RoleID, 8003) == 1 then role.TrialComplete(RoleID, 8003) end end if level >= 88 then if role.GetTrialState(RoleID, 8004) == 1 then role.TrialComplete(RoleID, 8004) end end if level >= 90 then if role.GetTrialState(RoleID, 8005) == 1 then role.TrialComplete(RoleID, 8005) end end if level >= 91 then if role.GetTrialState(RoleID, 9001) == 1 then role.TrialComplete(RoleID, 9001) end end if level >= 92 then if role.GetTrialState(RoleID, 9002) == 1 then role.TrialComplete(RoleID, 9002) end end if level >= 93 then if role.GetTrialState(RoleID, 9003) == 1 then role.TrialComplete(RoleID, 9003) end end if level >= 94 then if role.GetTrialState(RoleID, 9004) == 1 then role.TrialComplete(RoleID, 9004) end end if level >= 95 then if role.GetTrialState(RoleID, 9005) == 1 then role.TrialComplete(RoleID, 9005) end end if level >= 96 then if role.GetTrialState(RoleID, 9006) == 1 then role.TrialComplete(RoleID, 9006) end end if level >= 97 then if role.GetTrialState(RoleID, 9007) == 1 then role.TrialComplete(RoleID, 9007) end end if level >= 98 then if role.GetTrialState(RoleID, 9008) == 1 then role.TrialComplete(RoleID, 9008) end end if level >= 99 then if role.GetTrialState(RoleID, 9009) == 1 then role.TrialComplete(RoleID, 9009) end end if level >= 100 then if role.GetTrialState(RoleID, 9010) == 1 then role.TrialComplete(RoleID, 9010) end end if level >= 101 then if role.GetTrialState(RoleID, 10001) == 1 then role.TrialComplete(RoleID, 10001) end end if level >= 102 then if role.GetTrialState(RoleID, 10002) == 1 then role.TrialComplete(RoleID, 10002) end end if level >= 103 then if role.GetTrialState(RoleID, 10003) == 1 then role.TrialComplete(RoleID, 10003) end end if level >= 104 then if role.GetTrialState(RoleID, 10004) == 1 then role.TrialComplete(RoleID, 10004) end end if level >= 105 then if role.GetTrialState(RoleID, 10005) == 1 then role.TrialComplete(RoleID, 10005) end end if level >= 106 then if role.GetTrialState(RoleID, 10006) == 1 then role.TrialComplete(RoleID, 10006) end end if level >= 107 then if role.GetTrialState(RoleID, 10007) == 1 then role.TrialComplete(RoleID, 10007) end end if level >= 108 then if role.GetTrialState(RoleID, 10008) == 1 then role.TrialComplete(RoleID, 10008) end end if level >= 109 then if role.GetTrialState(RoleID, 10009) == 1 then role.TrialComplete(RoleID, 10009) end end if level >= 110 then if role.GetTrialState(RoleID, 10010) == 1 then role.TrialComplete(RoleID, 10010) end end if level >= 111 then if role.GetTrialState(RoleID, 11001) == 1 then role.TrialComplete(RoleID, 11001) end end if level >= 112 then if role.GetTrialState(RoleID, 11002) == 1 then role.TrialComplete(RoleID, 11002) end end if level >= 113 then if role.GetTrialState(RoleID, 11003) == 1 then role.TrialComplete(RoleID, 11003) end end if level >= 114 then if role.GetTrialState(RoleID, 11004) == 1 then role.TrialComplete(RoleID, 11004) end end if level >= 115 then if role.GetTrialState(RoleID, 11005) == 1 then role.TrialComplete(RoleID, 11005) end end if level >= 116 then if role.GetTrialState(RoleID, 11006) == 1 then role.TrialComplete(RoleID, 11006) end end if level >= 117 then if role.GetTrialState(RoleID, 11007) == 1 then role.TrialComplete(RoleID, 11007) end end if level >= 118 then if role.GetTrialState(RoleID, 11008) == 1 then role.TrialComplete(RoleID, 11008) end end if level >= 119 then if role.GetTrialState(RoleID, 11009) == 1 then role.TrialComplete(RoleID, 11009) end end if level >= 120 then if role.GetTrialState(RoleID, 11010) == 1 then role.TrialComplete(RoleID, 11010) end end if level >= 60 and classTitle60 ~= nil then if role.GetTrialState(RoleID, classTitle60) == 0 then role.OpenTrain(RoleID, classTitle60) end local maxCl60 = Trail_maxnum[classTitle60] if maxCl60 ~= nil and role.GetTrialCompleteNum(RoleID, classTitle60) >= maxCl60 then role.TrialComplete(RoleID, classTitle60) end end ---------------------------------------�ɾ�END----------------------------------------------- end aux.RegisterRoleEvent(6, "x_RoleLevelChange")