-- ������������ ���������� ��� ������� ������ Trail_maxnum = {} -- ������������ ���������� Trail_maxnum[1001] = 15 Trail_maxnum[1002] = 20 Trail_maxnum[1003] = 1 Trail_maxnum[1004] = 5 Trail_maxnum[1005] = 5 Trail_maxnum[1006] = 1 Trail_maxnum[1007] = 1 Trail_maxnum[1008] = 1 Trail_maxnum[1009] = 1 Trail_maxnum[1010] = 1 Trail_maxnum[1011] = 10 Trail_maxnum[1012] = 300 Trail_maxnum[1016] = 1 Trail_maxnum[1017] = 1 Trail_maxnum[1018] = 1 Trail_maxnum[1019] = 1 Trail_maxnum[1020] = 1 Trail_maxnum[1021] = 1 Trail_maxnum[3015] = 5000 Trail_maxnum[3019] = 1 Trail_maxnum[3020] = 1 Trail_maxnum[3021] = 1 Trail_maxnum[3022] = 1 Trail_maxnum[3023] = 1 Trail_maxnum[3024] = 1 Trail_maxnum[2001] = 25 Trail_maxnum[2002] = 30 Trail_maxnum[2003] = 1 Trail_maxnum[2004] = 20 Trail_maxnum[2006] = 10 Trail_maxnum[2007] = 1 Trail_maxnum[2008] = 1 Trail_maxnum[2009] = 1 Trail_maxnum[2010] = 1 Trail_maxnum[2011] = 50 Trail_maxnum[2012] = 20 Trail_maxnum[2013] = 2 Trail_maxnum[2014] = 1 Trail_maxnum[2015] = 1 Trail_maxnum[2016] = 1 Trail_maxnum[3001] = 35 Trail_maxnum[3002] = 40 Trail_maxnum[3003] = 1 Trail_maxnum[3004] = 30 Trail_maxnum[3006] = 3 Trail_maxnum[3007] = 20 Trail_maxnum[3008] = 1 Trail_maxnum[3009] = 1 Trail_maxnum[3010] = 1 Trail_maxnum[3011] = 1 Trail_maxnum[3012] = 1 Trail_maxnum[3013] = 1 Trail_maxnum[3014] = 1 Trail_maxnum[4001] = 45 Trail_maxnum[4002] = 50 Trail_maxnum[4003] = 40 Trail_maxnum[4004] = 5 Trail_maxnum[4005] = 2 Trail_maxnum[4006] = 30 Trail_maxnum[4007] = 1 Trail_maxnum[4008] = 1 Trail_maxnum[4009] = 1 Trail_maxnum[4010] = 1 Trail_maxnum[4011] = 1 Trail_maxnum[4012] = 1 Trail_maxnum[4013] = 1 Trail_maxnum[4014] = 3 Trail_maxnum[4015] = 1 Trail_maxnum[4016] = 5 Trail_maxnum[4017] = 20 Trail_maxnum[4022] = 300 Trail_maxnum[4023] = 99 Trail_maxnum[5001] = 55 Trail_maxnum[5002] = 60 Trail_maxnum[5003] = 60 Trail_maxnum[5004] = 8 Trail_maxnum[5005] = 3 Trail_maxnum[5006] = 1 Trail_maxnum[5007] = 40 Trail_maxnum[5008] = 1 Trail_maxnum[5009] = 1 Trail_maxnum[5010] = 1 Trail_maxnum[5011] = 1 Trail_maxnum[5012] = 100 Trail_maxnum[5013] = 1 Trail_maxnum[5014] = 7000 Trail_maxnum[5018] = 100 Trail_maxnum[5020] = 50 Trail_maxnum[5021] = 25 Trail_maxnum[5022] = 99 Trail_maxnum[5024] = 1 Trail_maxnum[5025] = 1 Trail_maxnum[5026] = 1 Trail_maxnum[5027] = 1 Trail_maxnum[5028] = 1 Trail_maxnum[5029] = 1 Trail_maxnum[5030] = 50 Trail_maxnum[5031] = 50 Trail_maxnum[6026] = 500 Trail_maxnum[6028] = 50 Trail_maxnum[6029] = 50 Trail_maxnum[6030] = 1 Trail_maxnum[6031] = 99 Trail_maxnum[6034] = 1 Trail_maxnum[6035] = 1 Trail_maxnum[6036] = 1 Trail_maxnum[6037] = 1 Trail_maxnum[6038] = 1 Trail_maxnum[6039] = 1 Trail_maxnum[6040] = 100 Trail_maxnum[6041] = 100 Trail_maxnum[6043] = 1 Trail_maxnum[6047] = 25 Trail_maxnum[6052] = 10000 -- trial_proto maxnum для классовых титулов 60 (6043 — отдельно, босс Тёмной башни) Trail_maxnum[6042] = 60 Trail_maxnum[6044] = 60 Trail_maxnum[6045] = 60 Trail_maxnum[6046] = 60 Trail_maxnum[7016] = 9000 Trail_maxnum[7020] = 100 Trail_maxnum[7022] = 100 Trail_maxnum[7023] = 100 Trail_maxnum[7024] = 1000 Trail_maxnum[7025] = 500 Trail_maxnum[7026] = 100 Trail_maxnum[7027] = 50 Trail_maxnum[7028] = 50 Trail_maxnum[7029] = 99 Trail_maxnum[7032] = 1 Trail_maxnum[7033] = 1 Trail_maxnum[7034] = 1 Trail_maxnum[7035] = 1 Trail_maxnum[7036] = 1 Trail_maxnum[7037] = 1 Trail_maxnum[7038] = 200 Trail_maxnum[7039] = 200 Trail_maxnum[7040] = 50 Trail_maxnum[8029] = 10000 Trail_maxnum[8030] = 1000 Trail_maxnum[8033] = 200 Trail_maxnum[8034] = 6 Trail_maxnum[8035] = 999 Trail_maxnum[8038] = 150 Trail_maxnum[8039] = 200 Trail_maxnum[8040] = 150 Trail_maxnum[8043] = 500 Trail_maxnum[8044] = 500 Trail_maxnum[8047] = 50 Trail_maxnum[8048] = 50 Trail_maxnum[8049] = 99 Trail_maxnum[8053] = 1 Trail_maxnum[8054] = 1 Trail_maxnum[8055] = 1 Trail_maxnum[8056] = 1 Trail_maxnum[8057] = 1 Trail_maxnum[8058] = 1 Trail_maxnum[8064] = 600 Trail_maxnum[8065] = 600 Trail_maxnum[8066] = 1 Trail_maxnum[8067] = 75 Trail_maxnum[8068] = 1 Trail_maxnum[8069] = 1 Trail_maxnum[8070] = 1 Trail_maxnum[8071] = 100 Trail_maxnum[8072] = 1 Trail_maxnum[8073] = 5 Trail_maxnum[10001] = 101 Trail_maxnum[10002] = 102 Trail_maxnum[10003] = 103 Trail_maxnum[10004] = 104 Trail_maxnum[10005] = 105 Trail_maxnum[10006] = 106 Trail_maxnum[10007] = 107 Trail_maxnum[10008] = 108 Trail_maxnum[10009] = 109 Trail_maxnum[10010] = 110 Trail_maxnum[10011] = 1 Trail_maxnum[10012] = 1 Trail_maxnum[10013] = 1 Trail_maxnum[10014] = 11 Trail_maxnum[10015] = 110 Trail_maxnum[10016] = 9999 Trail_maxnum[10017] = 999 Trail_maxnum[10018] = 400 Trail_maxnum[10019] = 500 Trail_maxnum[10020] = 125 Trail_maxnum[10021] = 150 Trail_maxnum[10022] = 175 Trail_maxnum[10023] = 1 Trail_maxnum[10024] = 1 Trail_maxnum[11024] = 50 Trail_maxnum[11001] = 111 Trail_maxnum[11002] = 112 Trail_maxnum[11003] = 113 Trail_maxnum[11004] = 114 Trail_maxnum[11005] = 115 Trail_maxnum[11006] = 116 Trail_maxnum[11007] = 117 Trail_maxnum[11008] = 118 Trail_maxnum[11009] = 119 Trail_maxnum[11010] = 120 Trail_maxnum[11011] = 1 Trail_maxnum[11012] = 2 Trail_maxnum[11013] = 1 Trail_maxnum[11014] = 2 Trail_maxnum[11015] = 1 Trail_maxnum[11016] = 1 Trail_maxnum[11017] = 4 Trail_maxnum[11018] = 10 Trail_maxnum[11019] = 600 Trail_maxnum[11020] = 700 Trail_maxnum[11021] = 200 Trail_maxnum[11022] = 225 Trail_maxnum[11023] = 1 Trail_maxnum[9039] = 9999 Trail_maxnum[9040] = 999 Trail_maxnum[9041] = 500 Trail_maxnum[9042] = 7 Trail_maxnum[9046] = 300 Trail_maxnum[9047] = 200 Trail_maxnum[9052] = 999 Trail_maxnum[9053] = 999 Trail_maxnum[9061] = 1 Trail_maxnum[9062] = 1 Trail_maxnum[9071] = 1 Trail_maxnum[9072] = 1 Trail_maxnum[9073] = 1 Trail_maxnum[9074] = 1 Trail_maxnum[9075] = 1 Trail_maxnum[9076] = 1 Trail_maxnum[9077] = 999 Trail_maxnum[9078] = 999 Trail_maxnum[9079] = 1 Trail_maxnum[9080] = 1 Trail_maxnum[9081] = 2 Trail_maxnum[9082] = 4 Trail_maxnum[9083] = 100 Trail_maxnum[6001] = 65 Trail_maxnum[6002] = 70 Trail_maxnum[6003] = 1 Trail_maxnum[6004] = 70 Trail_maxnum[6005] = 12 Trail_maxnum[6006] = 4 Trail_maxnum[6007] = 1 Trail_maxnum[6008] = 1 Trail_maxnum[6009] = 50 Trail_maxnum[6010] = 1 Trail_maxnum[6011] = 1 Trail_maxnum[6012] = 1 Trail_maxnum[6013] = 1 Trail_maxnum[6014] = 4 Trail_maxnum[6015] = 100 Trail_maxnum[6016] = 1 Trail_maxnum[6017] = 1 Trail_maxnum[6018] = 1 Trail_maxnum[6019] = 6 Trail_maxnum[6020] = 3 Trail_maxnum[7001] = 75 Trail_maxnum[7002] = 80 Trail_maxnum[7003] = 80 Trail_maxnum[7004] = 14 Trail_maxnum[7005] = 5 Trail_maxnum[7006] = 5 Trail_maxnum[7007] = 1 Trail_maxnum[7008] = 1 Trail_maxnum[7009] = 1 Trail_maxnum[7010] = 1 Trail_maxnum[7011] = 1 Trail_maxnum[7012] = 1 Trail_maxnum[7013] = 1 Trail_maxnum[7014] = 200 Trail_maxnum[7015] = 1 Trail_maxnum[8001] = 82 Trail_maxnum[8002] = 84 Trail_maxnum[8003] = 86 Trail_maxnum[8004] = 88 Trail_maxnum[8005] = 90 Trail_maxnum[8006] = 90 Trail_maxnum[8007] = 1 Trail_maxnum[8008] = 20 Trail_maxnum[8009] = 1 Trail_maxnum[8010] = 8 Trail_maxnum[8011] = 1 Trail_maxnum[8012] = 1 Trail_maxnum[8013] = 1 Trail_maxnum[8014] = 6 Trail_maxnum[8015] = 3 Trail_maxnum[8016] = 1 Trail_maxnum[8017] = 1 Trail_maxnum[8018] = 1 Trail_maxnum[8019] = 1 Trail_maxnum[8020] = 1 Trail_maxnum[8021] = 1 Trail_maxnum[8022] = 1 Trail_maxnum[8023] = 1 Trail_maxnum[8024] = 5 Trail_maxnum[8025] = 1 Trail_maxnum[8026] = 1 Trail_maxnum[8027] = 1 Trail_maxnum[8028] = 1 Trail_maxnum[9001] = 91 Trail_maxnum[9002] = 92 Trail_maxnum[9003] = 93 Trail_maxnum[9004] = 94 Trail_maxnum[9005] = 95 Trail_maxnum[9006] = 96 Trail_maxnum[9007] = 97 Trail_maxnum[9008] = 98 Trail_maxnum[9009] = 99 Trail_maxnum[9010] = 100 Trail_maxnum[9011] = 100 Trail_maxnum[9012] = 25 Trail_maxnum[9013] = 30 Trail_maxnum[9014] = 1 Trail_maxnum[9015] = 1 Trail_maxnum[9016] = 1 Trail_maxnum[9017] = 1 Trail_maxnum[9018] = 6 Trail_maxnum[9019] = 3 Trail_maxnum[9020] = 1 Trail_maxnum[9021] = 1 Trail_maxnum[9022] = 1 Trail_maxnum[9023] = 6 Trail_maxnum[9024] = 3 Trail_maxnum[9025] = 6 Trail_maxnum[9026] = 4 Trail_maxnum[9027] = 10 Trail_maxnum[9028] = 1 Trail_maxnum[9029] = 1 Trail_maxnum[9030] = 1 Trail_maxnum[9031] = 1 Trail_maxnum[9032] = 1 Trail_maxnum[9033] = 1 Trail_maxnum[9034] = 1 -- Дубликат ResolveClassTitle60Trial (см. Role_LevelChange.lua): порядок загрузки скриптов не гарантирован. local function ResolveClassTitle60Trial_OnLine(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_RoleFirstOnline(roleid) role.AddQuest(roleid, 20001) -- �������� ����� end -- ������ ��������� � ��� function x_RoleFirstIntoWorld(mapid, instanceid, roleid, TierSel) -- 1 �������� local FirstOnline_equip = { [1] = {[1]=8060001,[2]=8070001,[3]=8090001}, [2] = {[1]=8061001,[2]=8071001,[3]=8091001} } for i=1,3 do serial_high, serial_low, equip_pos = role.AddRoleItem(mapid, instanceid, roleid, FirstOnline_equip[TierSel+1][i], 1, 0, -1, 380) if serial_high and serial_low and equip_pos then role.RoleEquip(mapid, instanceid, roleid, serial_high, serial_low, equip_pos) end end -- �������� �������� ��� ������ ������ local n64ID9, n64ID10 = role.AddRoleItem(mapid, instanceid, roleid, 3090003, 1, -1, 0, 380) local n64ID9, n64ID10 = role.AddRoleItem(mapid, instanceid, roleid, 4400604, 55, -1, 0, 380) local n64ID9, n64ID10 = role.AddRoleItem(mapid, instanceid, roleid, 3070014, 1, -1, 0, 380) local n64ID9, n64ID10 = role.AddRoleItem(mapid, instanceid, roleid, 4300008, 1, -1, 0, 380) role.VirginOnlineSendClient(roleid, n64ID1, n64ID2, n64ID3, n64ID4) if aux.IsOldSerNewPlayer(roleid) then unit.AddBuff(mapid, instanceid, roleid, 6937001, roleid) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 71,206428) -- ������ ���������� � ���! �� �������� 60 ���� �������-��������. ����������, ����������� �������-������� ��� ��������� �������������� �������!� msg.DispatchRoleMsgEvent(roleid, MsgID) end end -- ���� � ��� function x_RoleIntoWorld(MapID, InstanceID, RoleID) -- ������� BOSS if SQ_bossREF == 1 then if SQ_boss1 == 1 then local cid1 = map.MapCreateColCreature(3424071720, -1, 3040378, 2550, 14346, 3287, 1, "") unit.AddBuff(3424071720, -1, cid1, 6105801, cid1) SQ_boss1 = 0 end if SQ_boss2 == 1 then local cid2 = map.MapCreateColCreature(3424072488, -1, 3040376, 593, 7050, 445, 1, "") unit.AddBuff(3424072488, -1, cid2, 6105801, cid2) SQ_boss2 = 0 end if SQ_boss3 == 1 then local cid3 = map.MapCreateColCreature(3424072232, -1, 3040377, 2256, 4919, 1897, 1, "") unit.AddBuff(3424072232, -1, cid3, 6105801, cid3) SQ_boss3 = 0 end if SQ_boss4 == 1 then local cid4 = map.MapCreateColCreature(3424075048, -1, 3040379, 904, 10460, 2603, 1, "") unit.AddBuff(3424075048, -1, cid4, 6105801, cid4) SQ_boss4 = 0 end SQ_bossREF = 0 end -- ����������� � ������� if role.IsRoleHaveQuest(MapID, InstanceID, RoleID, 20300) then role.SetRoleScriptData(RoleID, 1, RoleDataType["BeiZhouTianXue"], 1) role.ModSpecialTargetValue(MapID, InstanceID, RoleID, 20300, 2) end -- ����������� � ������� role.NotifyFBBS(RoleID,1,0) local level = role.GetRoleLevel(MapID, InstanceID, RoleID) -- Привилегия новичка (6937001): снимаем с 95 ур if level >= 95 and role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 69370) then unit.CancelBuff(MapID, InstanceID, RoleID, 6937001) end if aux.IsOldSerNewPlayer(RoleID) and TeQuanShiZhe == nil then -- ������� NPC TeQuanShiZhe = map.MapCreateColCreature(3424073512, -1, 5810101, 630, 23094, 672, 1, "") end -- �������� � �������� ������� local Skill_level = role.IsLearnedSkill(RoleID, 90006) if Skill_level ~= nil and role.GetRoleLoverID(MapID, InstanceID,RoleID) == nil then role.RemoveSkill(RoleID, 90006) end local Skill_level = role.IsLearnedSkill(RoleID, 90007) if Skill_level ~= nil and role.GetRoleLoverID(MapID, InstanceID,RoleID) == nil then role.RemoveSkill(RoleID, 90007) end -- �������� � ���������� ������� local huancaiSkill1 = role.IsLearnedSkill(RoleID, 10006) local huancaiSkill2 = role.IsLearnedSkill(RoleID, 10007) local huancaiSkill3 = role.IsLearnedSkill(RoleID, 10008) local huancaiSkill4 = role.IsLearnedSkill(RoleID, 10009) if huancaiSkill1 == nil and huancaiSkill2 == nil and huancaiSkill3 == nil and huancaiSkill4 == nil then role.AddSkill(RoleID, 1000601) role.AddSkill(RoleID, 1000701) role.AddSkill(RoleID, 1000801) role.AddSkill(RoleID, 1000901) role.AddSkill(ownerID, 9000501) role.AddSkill(ownerID, 2300001) role.AddSkill(ownerID, 9000301) end -- �������� � ���������� ������� local yuansuxuemai = role.IsLearnedSkill(RoleID, 30509) local yuansuxuemai1 = role.IsLearnedSkill(RoleID, 30511) if yuansuxuemai ~= nil then if yuansuxuemai >= 7 then if yuansuxuemai1 == nil then role.AddSkill(RoleID, 3051101) end end end -- �������� � ���������� ������ if JBZDY_Open == 1 then local jinbizongdongyuan = role.GetRoleScriptData(RoleID, 1, RoleDataType["Time_JBZDY"]) local benrijiangli_CurTime = act.GetActScriptData(29, 1, benrijiangli_Index) if benrijiangli_CurTime == 0 then act.SetActScriptData(29, 1, benrijiangli_Index, 1) act.SetActScriptData(29, 1, jiangchi_JBZDY,math.floor(JBZDY_SystemGold*0.3)) act.SetActScriptData(29, 1, benrijiangli_JBZDY,math.floor(JBZDY_SystemGold*0.7)) act.SaveActScriptData(29) benrijiangli_CurTime = 1 end if level >= 20 then if jinbizongdongyuan ~= benrijiangli_CurTime then msg.SendRoleSwitchMsg(5, MapID, InstanceID, RoleID, 1, 29) else for k,v in pairs(tbl_JBZDY_Offline)do if v == RoleID then table.remove(tbl_JBZDY_Offline,k) end end for k,v in pairs(tbl_JBZDY_Online)do if v == RoleID then table.remove(tbl_JBZDY_Online,k) end end table.insert(tbl_JBZDY_Online,RoleID) end end end -- ���������� ������ ���� local CurTime = tonumber(os.date("%j")) local LastTime = role.GetRoleScriptData(RoleID, 1, RoleDataType["canAddFaith"]) if CurTime ~= LastTime then role.SetRoleScriptData(RoleID, 1, RoleDataType["canAddFaith"], CurTime) role.SetRoleScriptData(RoleID, 1, RoleDataType["FaithToday"], 0) else role.ModRoleAttValue(MapID, InstanceID, RoleID, 124, role.GetRoleScriptData(RoleID, 1, RoleDataType["FaithToday"])) end -- ����������� � ������� ��� ������ 20-40 if level >= 20 and level < 40 and not role.IsRoleCompleteQuest(MapID, InstanceID, RoleID, 40057) then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 71, 442049) -- ������ ���������� 20 ������ �� ������ ������� ������� ���� � NPC.� msg.DispatchRoleMsgEvent(RoleID, MsgID) end -- ���������� ����� ��� ������ 40-79 if xuanshangrenwu5 == 1 and level >= 40 and level < 80 and not role.IsRoleCompleteQuest(MapID, InstanceID, RoleID, 61050) then unit.AddBuff(MapID, InstanceID, RoleID,6105001,RoleID) -- ���� ��� ������ 40-79 end -- ���������� ����� ��� ������ 80 if shengwangjiabei ~= 0 and level >= 80 and not role.IsRoleCompleteQuest(MapID, InstanceID, RoleID, 69374) then unit.AddBuff(MapID, InstanceID, RoleID,6937399+shengwangjiabei,RoleID) -- ���� ��� ������ 80 end -- ����� ������ unit.SetCamp(MapID, InstanceID, RoleID,0) -- �������� ��������� if (role.GetTrialState(RoleID, 1001) == 0 or role.GetTrialState(RoleID, 1011) == 0) and level >= 10 then for i= 1,11 do if i ~= 7 then role.OpenTrain(RoleID, 1000+i) if Trail_maxnum[1000+i] ~= nil and role.GetTrialCompleteNum(RoleID,1000+i) >= Trail_maxnum[1000+i] then role.TrialComplete(RoleID,1000+i) end end end -- Открыть достижение 1012 "Цветки Пандоры" if role.GetTrialState(RoleID, 1012) == 0 then role.OpenTrain(RoleID, 1012) end -- Открыть достижения 1016 "Солнцевик 2 ур." и 1017 "Лунник 2 ур." if role.GetTrialState(RoleID, 1016) == 0 then role.OpenTrain(RoleID, 1016) end if role.GetTrialState(RoleID, 1017) == 0 then role.OpenTrain(RoleID, 1017) end elseif level >= 10 and role.GetTrialState(RoleID, 1012) == 0 then -- Открыть достижение 1012 "Цветки Пандоры" для игроков уровня 10+, если оно еще не открыто role.OpenTrain(RoleID, 1012) end -- Открыть достижения 1016 и 1017 для игроков уровня 10+, если они еще не открыты if level >= 10 and role.GetTrialState(RoleID, 1016) == 0 then role.OpenTrain(RoleID, 1016) end if level >= 10 and role.GetTrialState(RoleID, 1017) == 0 then role.OpenTrain(RoleID, 1017) end if (role.GetTrialState(RoleID, 2001) == 0 or role.GetTrialState(RoleID, 2016) == 0) and level >= 20 then for i= 1,16 do if i ~= 5 then role.OpenTrain(RoleID, 2000+i) if Trail_maxnum[2000+i] ~= nil and role.GetTrialCompleteNum(RoleID,2000+i) >= Trail_maxnum[2000+i] then role.TrialComplete(RoleID,2000+i) end end end end if (role.GetTrialState(RoleID, 3001) == 0 or role.GetTrialState(RoleID, 3014) == 0) and level >= 30 then for i= 1,14 do if i ~= 5 then role.OpenTrain(RoleID, 3000+i) if Trail_maxnum[3000+i] ~= nil and role.GetTrialCompleteNum(RoleID,3000+i) >= Trail_maxnum[3000+i] then role.TrialComplete(RoleID,3000+i) end end end end if (role.GetTrialState(RoleID, 4001) == 0 or role.GetTrialState(RoleID, 4017) == 0) and level >= 40 then for i= 1,17 do role.OpenTrain(RoleID, 4000+i) if Trail_maxnum[4000+i] ~= nil and role.GetTrialCompleteNum(RoleID,4000+i) >= Trail_maxnum[4000+i] then role.TrialComplete(RoleID,4000+i) end end end if (role.GetTrialState(RoleID, 5001) == 0 or role.GetTrialState(RoleID, 5013) == 0) and level >= 50 then for i= 1,13 do role.OpenTrain(RoleID, 5000+i) if Trail_maxnum[5000+i] ~= nil and role.GetTrialCompleteNum(RoleID,5000+i) >= Trail_maxnum[5000+i] then role.TrialComplete(RoleID,5000+i) end end end if (role.GetTrialState(RoleID, 6001) == 0 or role.GetTrialState(RoleID, 6020) == 0) and level >= 60 then for i= 1,20 do role.OpenTrain(RoleID, 6000+i) if Trail_maxnum[6000+i] ~= nil and role.GetTrialCompleteNum(RoleID,6000+i) >= Trail_maxnum[6000+i] then role.TrialComplete(RoleID,6000+i) end end end -- Титул 60 уровня по классу (6042/6044/6045/6046); синхронизация при входе local cid60ol = role.GetRoleClass(RoleID) local classTitle60ol = ResolveClassTitle60Trial_OnLine(cid60ol) if level >= 60 and classTitle60ol ~= nil then role.SetTrialCompleteNum(RoleID, classTitle60ol, level) if role.GetTrialState(RoleID, classTitle60ol) == 0 then role.OpenTrain(RoleID, classTitle60ol) end local mx60 = Trail_maxnum[classTitle60ol] if mx60 ~= nil and role.GetTrialCompleteNum(RoleID, classTitle60ol) >= mx60 then role.TrialComplete(RoleID, classTitle60ol) end end if (role.GetTrialState(RoleID, 7001) == 0 or role.GetTrialState(RoleID, 7015) == 0) and level >= 70 then for i= 1,15 do role.OpenTrain(RoleID, 7000+i) if Trail_maxnum[7000+i] ~= nil and role.GetTrialCompleteNum(RoleID,7000+i) >= Trail_maxnum[7000+i] then role.TrialComplete(RoleID,7000+i) end end end if (role.GetTrialState(RoleID, 8001) == 0 or role.GetTrialState(RoleID, 8028) == 0) and level >= 80 then for i= 1,28 do role.OpenTrain(RoleID, 8000+i) if Trail_maxnum[8000+i] ~= nil and role.GetTrialCompleteNum(RoleID,8000+i) >= Trail_maxnum[8000+i] then role.TrialComplete(RoleID,8000+i) end end end if (role.GetTrialState(RoleID, 9001) == 0 or role.GetTrialState(RoleID, 9083) == 0) and level >= 90 then for i= 1,83 do role.OpenTrain(RoleID, 9000+i) if Trail_maxnum[9000+i] ~= nil and role.GetTrialCompleteNum(RoleID,9000+i) >= Trail_maxnum[9000+i] then role.TrialComplete(RoleID,9000+i) end end end if (role.GetTrialState(RoleID, 10001) == 0 or role.GetTrialState(RoleID, 10024) == 0) and level >= 100 then for i= 1,24 do role.OpenTrain(RoleID, 10000+i) if Trail_maxnum[10000+i] ~= nil and role.GetTrialCompleteNum(RoleID,10000+i) >= Trail_maxnum[10000+i] then role.TrialComplete(RoleID,10000+i) end end end if level >= 106 and role.GetTrialState(RoleID, 11024) == 0 then role.OpenTrain(RoleID, 11024) end if (role.GetTrialState(RoleID, 11001) == 0 or role.GetTrialState(RoleID, 11023) == 0) and level >= 110 then for i= 1,23 do role.OpenTrain(RoleID, 11000+i) if Trail_maxnum[11000+i] ~= nil and role.GetTrialCompleteNum(RoleID,11000+i) >= Trail_maxnum[11000+i] then role.TrialComplete(RoleID,11000+i) end end end -- ���������� ��������� local k = {} local skill_lv = 0 local Trail = {2013,4014,6014,8024} k[1] = role.IsLearnedSkill(RoleID, 91001) k[2] = role.IsLearnedSkill(RoleID, 91002) k[3] = role.IsLearnedSkill(RoleID, 91003) for i=1,3 do if k[i] ~= nil then if k[i] > skill_lv then skill_lv = k[i] end end end for i = 1,4 do if role.GetTrialCompleteNum(RoleID,Trail[i]) < skill_lv then role.SetTrialCompleteNum(RoleID, Trail[i], skill_lv) end if role.GetTrialState(RoleID, Trail[i]) == 1 and role.GetTrialCompleteNum(RoleID,Trail[i]) >= Trail_maxnum[Trail[i]] then role.TrialComplete(RoleID,Trail[i]) end end local kk = role.IsLearnedSkill(RoleID, 90003) if kk ~= nil and kk >0 then if role.GetTrialCompleteNum(RoleID,3003) < kk then role.SetTrialCompleteNum(RoleID, 3003, kk) end if role.GetTrialState(RoleID, 3003) == 1 and role.GetTrialCompleteNum(RoleID,3003) >= Trail_maxnum[3003] then role.TrialComplete(RoleID,3003) end end -- Обновить прогресс достижения 1012 "Цветки Пандоры" при входе if level >= 10 then local trial1012_state = role.GetTrialState(RoleID, 1012) -- Открыть достижение, если оно закрыто (state = 0) if trial1012_state == 0 then role.OpenTrain(RoleID, 1012) -- После открытия обновляем состояние trial1012_state = role.GetTrialState(RoleID, 1012) end -- Обновить прогресс только если достижение открыто (state = 1) if trial1012_state == 1 then local i = role.GetRoleItemNum(RoleID, 6600914) if i > 0 and role.GetTrialCompleteNum(RoleID,1012) < i then role.SetTrialCompleteNum(RoleID, 1012, i) end if role.GetTrialCompleteNum(RoleID,1012) >= Trail_maxnum[1012] then role.TrialComplete(RoleID,1012) end end end -- Проверить достижения 1016 "Солнцевик 2 ур." и 1017 "Лунник 2 ур." при входе if level >= 10 then -- Проверить наличие Солнцевика 2 ур. (3030002) в инвентаре или на экипировке local trial1016_state = role.GetTrialState(RoleID, 1016) if trial1016_state == 0 then role.OpenTrain(RoleID, 1016) trial1016_state = role.GetTrialState(RoleID, 1016) end if trial1016_state == 1 then local has_sunstone = role.GetRoleItemNum(RoleID, 3030002) if has_sunstone > 0 and role.GetTrialCompleteNum(RoleID, 1016) < 1 then role.SetTrialCompleteNum(RoleID, 1016, 1) end if role.GetTrialCompleteNum(RoleID, 1016) >= Trail_maxnum[1016] then role.TrialComplete(RoleID, 1016) end end -- Проверить наличие Лунника 2 ур. (3030010) в инвентаре или на экипировке local trial1017_state = role.GetTrialState(RoleID, 1017) if trial1017_state == 0 then role.OpenTrain(RoleID, 1017) trial1017_state = role.GetTrialState(RoleID, 1017) end if trial1017_state == 1 then local has_moonstone = role.GetRoleItemNum(RoleID, 3030010) if has_moonstone > 0 and role.GetTrialCompleteNum(RoleID, 1017) < 1 then role.SetTrialCompleteNum(RoleID, 1017, 1) end if role.GetTrialCompleteNum(RoleID, 1017) >= Trail_maxnum[1017] then role.TrialComplete(RoleID, 1017) end end -- Проверить наличие Ляписа 2 ур. (3030030) в инвентаре или на экипировке local trial1018_state = role.GetTrialState(RoleID, 1018) if trial1018_state == 0 then role.OpenTrain(RoleID, 1018) trial1018_state = role.GetTrialState(RoleID, 1018) end if trial1018_state == 1 then local has_lapis = role.GetRoleItemNum(RoleID, 3030030) if has_lapis > 0 and role.GetTrialCompleteNum(RoleID, 1018) < 1 then role.SetTrialCompleteNum(RoleID, 1018, 1) end if role.GetTrialCompleteNum(RoleID, 1018) >= Trail_maxnum[1018] then role.TrialComplete(RoleID, 1018) end end -- Проверить наличие Граната 2 ур. (3030038) в инвентаре или на экипировке local trial1019_state = role.GetTrialState(RoleID, 1019) if trial1019_state == 0 then role.OpenTrain(RoleID, 1019) trial1019_state = role.GetTrialState(RoleID, 1019) end if trial1019_state == 1 then local has_garnet = role.GetRoleItemNum(RoleID, 3030038) if has_garnet > 0 and role.GetTrialCompleteNum(RoleID, 1019) < 1 then role.SetTrialCompleteNum(RoleID, 1019, 1) end if role.GetTrialCompleteNum(RoleID, 1019) >= Trail_maxnum[1019] then role.TrialComplete(RoleID, 1019) end end -- Проверить наличие Рубина 2 ур. (3030073) в инвентаре или на экипировке local trial1020_state = role.GetTrialState(RoleID, 1020) if trial1020_state == 0 then role.OpenTrain(RoleID, 1020) trial1020_state = role.GetTrialState(RoleID, 1020) end if trial1020_state == 1 then local has_ruby = role.GetRoleItemNum(RoleID, 3030073) if has_ruby > 0 and role.GetTrialCompleteNum(RoleID, 1020) < 1 then role.SetTrialCompleteNum(RoleID, 1020, 1) end if role.GetTrialCompleteNum(RoleID, 1020) >= Trail_maxnum[1020] then role.TrialComplete(RoleID, 1020) end end -- Проверить наличие Сапфира 2 ур. (3030081) в инвентаре или на экипировке local trial1021_state = role.GetTrialState(RoleID, 1021) if trial1021_state == 0 then role.OpenTrain(RoleID, 1021) trial1021_state = role.GetTrialState(RoleID, 1021) end if trial1021_state == 1 then local has_sapphire = role.GetRoleItemNum(RoleID, 3030081) if has_sapphire > 0 and role.GetTrialCompleteNum(RoleID, 1021) < 1 then role.SetTrialCompleteNum(RoleID, 1021, 1) end if role.GetTrialCompleteNum(RoleID, 1021) >= Trail_maxnum[1021] then role.TrialComplete(RoleID, 1021) end end end -- Проверить достижения 30 уровня: ледяные жёлуди и камни 3 ур. при входе if level >= 30 then -- Обновить прогресс достижения 3015 "Ледяные жёлуди" при входе local trial3015_state = role.GetTrialState(RoleID, 3015) if trial3015_state == 0 then role.OpenTrain(RoleID, 3015) trial3015_state = role.GetTrialState(RoleID, 3015) end if trial3015_state == 1 then local i = role.GetRoleItemNum(RoleID, 6600915) if i > 0 and role.GetTrialCompleteNum(RoleID,3015) < i then role.SetTrialCompleteNum(RoleID, 3015, i) end if role.GetTrialCompleteNum(RoleID,3015) >= Trail_maxnum[3015] then role.TrialComplete(RoleID,3015) end end -- Проверить наличие камней 3 ур. в инвентаре или на экипировке -- Солнцевик 3 ур. (3030003) local trial3019_state = role.GetTrialState(RoleID, 3019) if trial3019_state == 0 then role.OpenTrain(RoleID, 3019) trial3019_state = role.GetTrialState(RoleID, 3019) end if trial3019_state == 1 then local has_sunstone3 = role.GetRoleItemNum(RoleID, 3030003) if has_sunstone3 > 0 and role.GetTrialCompleteNum(RoleID, 3019) < 1 then role.SetTrialCompleteNum(RoleID, 3019, 1) end if role.GetTrialCompleteNum(RoleID, 3019) >= Trail_maxnum[3019] then role.TrialComplete(RoleID, 3019) end end -- Лунник 3 ур. (3030011) local trial3020_state = role.GetTrialState(RoleID, 3020) if trial3020_state == 0 then role.OpenTrain(RoleID, 3020) trial3020_state = role.GetTrialState(RoleID, 3020) end if trial3020_state == 1 then local has_moonstone3 = role.GetRoleItemNum(RoleID, 3030011) if has_moonstone3 > 0 and role.GetTrialCompleteNum(RoleID, 3020) < 1 then role.SetTrialCompleteNum(RoleID, 3020, 1) end if role.GetTrialCompleteNum(RoleID, 3020) >= Trail_maxnum[3020] then role.TrialComplete(RoleID, 3020) end end -- Ляпис 3 ур. (3030031) local trial3021_state = role.GetTrialState(RoleID, 3021) if trial3021_state == 0 then role.OpenTrain(RoleID, 3021) trial3021_state = role.GetTrialState(RoleID, 3021) end if trial3021_state == 1 then local has_lapis3 = role.GetRoleItemNum(RoleID, 3030031) if has_lapis3 > 0 and role.GetTrialCompleteNum(RoleID, 3021) < 1 then role.SetTrialCompleteNum(RoleID, 3021, 1) end if role.GetTrialCompleteNum(RoleID, 3021) >= Trail_maxnum[3021] then role.TrialComplete(RoleID, 3021) end end -- Гранат 3 ур. (3030039) local trial3022_state = role.GetTrialState(RoleID, 3022) if trial3022_state == 0 then role.OpenTrain(RoleID, 3022) trial3022_state = role.GetTrialState(RoleID, 3022) end if trial3022_state == 1 then local has_garnet3 = role.GetRoleItemNum(RoleID, 3030039) if has_garnet3 > 0 and role.GetTrialCompleteNum(RoleID, 3022) < 1 then role.SetTrialCompleteNum(RoleID, 3022, 1) end if role.GetTrialCompleteNum(RoleID, 3022) >= Trail_maxnum[3022] then role.TrialComplete(RoleID, 3022) end end -- Рубин 3 ур. (3030074) local trial3023_state = role.GetTrialState(RoleID, 3023) if trial3023_state == 0 then role.OpenTrain(RoleID, 3023) trial3023_state = role.GetTrialState(RoleID, 3023) end if trial3023_state == 1 then local has_ruby3 = role.GetRoleItemNum(RoleID, 3030074) if has_ruby3 > 0 and role.GetTrialCompleteNum(RoleID, 3023) < 1 then role.SetTrialCompleteNum(RoleID, 3023, 1) end if role.GetTrialCompleteNum(RoleID, 3023) >= Trail_maxnum[3023] then role.TrialComplete(RoleID, 3023) end end -- Сапфир 3 ур. (3030082) local trial3024_state = role.GetTrialState(RoleID, 3024) if trial3024_state == 0 then role.OpenTrain(RoleID, 3024) trial3024_state = role.GetTrialState(RoleID, 3024) end if trial3024_state == 1 then local has_sapphire3 = role.GetRoleItemNum(RoleID, 3030082) if has_sapphire3 > 0 and role.GetTrialCompleteNum(RoleID, 3024) < 1 then role.SetTrialCompleteNum(RoleID, 3024, 1) end if role.GetTrialCompleteNum(RoleID, 3024) >= Trail_maxnum[3024] then role.TrialComplete(RoleID, 3024) end end end -- Проверить достижения 40 уровня: Амур и Снежный лотос при входе if level >= 40 then -- Обновить прогресс достижения 4022 "Амур" при входе local trial4022_state = role.GetTrialState(RoleID, 4022) if trial4022_state == 0 then role.OpenTrain(RoleID, 4022) trial4022_state = role.GetTrialState(RoleID, 4022) end if trial4022_state == 1 then local i = role.GetRoleItemNum(RoleID, 4040026) if i > 0 and role.GetTrialCompleteNum(RoleID,4022) < i then role.SetTrialCompleteNum(RoleID, 4022, i) end if role.GetTrialCompleteNum(RoleID,4022) >= Trail_maxnum[4022] then role.TrialComplete(RoleID,4022) end end -- Обновить прогресс достижения 4023 "Снежный лотос" при входе local trial4023_state = role.GetTrialState(RoleID, 4023) if trial4023_state == 0 then role.OpenTrain(RoleID, 4023) trial4023_state = role.GetTrialState(RoleID, 4023) end if trial4023_state == 1 then local i = role.GetRoleItemNum(RoleID, 4810014) if i > 0 and role.GetTrialCompleteNum(RoleID,4023) < i then role.SetTrialCompleteNum(RoleID, 4023, i) end if role.GetTrialCompleteNum(RoleID,4023) >= Trail_maxnum[4023] then role.TrialComplete(RoleID,4023) end end end -- Проверить достижения 50 уровня при входе if level >= 50 then -- Обновить прогресс достижения 5014 "Лесная трава" при входе local trial5014_state = role.GetTrialState(RoleID, 5014) if trial5014_state == 0 then role.OpenTrain(RoleID, 5014) trial5014_state = role.GetTrialState(RoleID, 5014) end if trial5014_state == 1 then local i = role.GetRoleItemNum(RoleID, 6600916) if i > 0 and role.GetTrialCompleteNum(RoleID,5014) < i then role.SetTrialCompleteNum(RoleID, 5014, i) end if role.GetTrialCompleteNum(RoleID,5014) >= Trail_maxnum[5014] then role.TrialComplete(RoleID,5014) end end -- Обновить прогресс достижения 5018 "Очищенные камни" при входе local trial5018_state = role.GetTrialState(RoleID, 5018) if trial5018_state == 0 then role.OpenTrain(RoleID, 5018) trial5018_state = role.GetTrialState(RoleID, 5018) end if trial5018_state == 1 then local i = role.GetRoleItemNum(RoleID, 4810012) if i > 0 and role.GetTrialCompleteNum(RoleID,5018) < i then role.SetTrialCompleteNum(RoleID, 5018, i) end if role.GetTrialCompleteNum(RoleID,5018) >= Trail_maxnum[5018] then role.TrialComplete(RoleID,5018) end end -- Обновить прогресс достижения 5020 "Медоносы" при входе local trial5020_state = role.GetTrialState(RoleID, 5020) if trial5020_state == 0 then role.OpenTrain(RoleID, 5020) trial5020_state = role.GetTrialState(RoleID, 5020) end if trial5020_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100201) if i > 0 and role.GetTrialCompleteNum(RoleID,5020) < i then role.SetTrialCompleteNum(RoleID, 5020, i) end if role.GetTrialCompleteNum(RoleID,5020) >= Trail_maxnum[5020] then role.TrialComplete(RoleID,5020) end end -- Обновить прогресс достижения 5021 "Булочки с джемом" при входе local trial5021_state = role.GetTrialState(RoleID, 5021) if trial5021_state == 0 then role.OpenTrain(RoleID, 5021) trial5021_state = role.GetTrialState(RoleID, 5021) end if trial5021_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100601) if i > 0 and role.GetTrialCompleteNum(RoleID,5021) < i then role.SetTrialCompleteNum(RoleID, 5021, i) end if role.GetTrialCompleteNum(RoleID,5021) >= Trail_maxnum[5021] then role.TrialComplete(RoleID,5021) end end -- Обновить прогресс достижения 5022 "Сердца лотосов" при входе local trial5022_state = role.GetTrialState(RoleID, 5022) if trial5022_state == 0 then role.OpenTrain(RoleID, 5022) trial5022_state = role.GetTrialState(RoleID, 5022) end if trial5022_state == 1 then local i = role.GetRoleItemNum(RoleID, 4810015) if i > 0 and role.GetTrialCompleteNum(RoleID,5022) < i then role.SetTrialCompleteNum(RoleID, 5022, i) end if role.GetTrialCompleteNum(RoleID,5022) >= Trail_maxnum[5022] then role.TrialComplete(RoleID,5022) end end -- Проверить наличие камней 4 ур. в инвентаре или на экипировке -- Солнцевик 4 ур. (3030004) local trial5024_state = role.GetTrialState(RoleID, 5024) if trial5024_state == 0 then role.OpenTrain(RoleID, 5024) trial5024_state = role.GetTrialState(RoleID, 5024) end if trial5024_state == 1 then local has_sunstone4 = role.GetRoleItemNum(RoleID, 3030004) if has_sunstone4 > 0 and role.GetTrialCompleteNum(RoleID, 5024) < 1 then role.SetTrialCompleteNum(RoleID, 5024, 1) end if role.GetTrialCompleteNum(RoleID, 5024) >= Trail_maxnum[5024] then role.TrialComplete(RoleID, 5024) end end -- Лунник 4 ур. (3030012) local trial5025_state = role.GetTrialState(RoleID, 5025) if trial5025_state == 0 then role.OpenTrain(RoleID, 5025) trial5025_state = role.GetTrialState(RoleID, 5025) end if trial5025_state == 1 then local has_moonstone4 = role.GetRoleItemNum(RoleID, 3030012) if has_moonstone4 > 0 and role.GetTrialCompleteNum(RoleID, 5025) < 1 then role.SetTrialCompleteNum(RoleID, 5025, 1) end if role.GetTrialCompleteNum(RoleID, 5025) >= Trail_maxnum[5025] then role.TrialComplete(RoleID, 5025) end end -- Ляпис 4 ур. (3030032) local trial5026_state = role.GetTrialState(RoleID, 5026) if trial5026_state == 0 then role.OpenTrain(RoleID, 5026) trial5026_state = role.GetTrialState(RoleID, 5026) end if trial5026_state == 1 then local has_lapis4 = role.GetRoleItemNum(RoleID, 3030032) if has_lapis4 > 0 and role.GetTrialCompleteNum(RoleID, 5026) < 1 then role.SetTrialCompleteNum(RoleID, 5026, 1) end if role.GetTrialCompleteNum(RoleID, 5026) >= Trail_maxnum[5026] then role.TrialComplete(RoleID, 5026) end end -- Гранат 4 ур. (3030040) local trial5027_state = role.GetTrialState(RoleID, 5027) if trial5027_state == 0 then role.OpenTrain(RoleID, 5027) trial5027_state = role.GetTrialState(RoleID, 5027) end if trial5027_state == 1 then local has_garnet4 = role.GetRoleItemNum(RoleID, 3030040) if has_garnet4 > 0 and role.GetTrialCompleteNum(RoleID, 5027) < 1 then role.SetTrialCompleteNum(RoleID, 5027, 1) end if role.GetTrialCompleteNum(RoleID, 5027) >= Trail_maxnum[5027] then role.TrialComplete(RoleID, 5027) end end -- Рубин 4 ур. (3030075) local trial5028_state = role.GetTrialState(RoleID, 5028) if trial5028_state == 0 then role.OpenTrain(RoleID, 5028) trial5028_state = role.GetTrialState(RoleID, 5028) end if trial5028_state == 1 then local has_ruby4 = role.GetRoleItemNum(RoleID, 3030075) if has_ruby4 > 0 and role.GetTrialCompleteNum(RoleID, 5028) < 1 then role.SetTrialCompleteNum(RoleID, 5028, 1) end if role.GetTrialCompleteNum(RoleID, 5028) >= Trail_maxnum[5028] then role.TrialComplete(RoleID, 5028) end end -- Сапфир 4 ур. (3030083) local trial5029_state = role.GetTrialState(RoleID, 5029) if trial5029_state == 0 then role.OpenTrain(RoleID, 5029) trial5029_state = role.GetTrialState(RoleID, 5029) end if trial5029_state == 1 then local has_sapphire4 = role.GetRoleItemNum(RoleID, 3030083) if has_sapphire4 > 0 and role.GetTrialCompleteNum(RoleID, 5029) < 1 then role.SetTrialCompleteNum(RoleID, 5029, 1) end if role.GetTrialCompleteNum(RoleID, 5029) >= Trail_maxnum[5029] then role.TrialComplete(RoleID, 5029) end end end -- Проверить достижения 60 уровня при входе if level >= 60 then -- Обновить прогресс достижения 6026 "Очищенные камни II" при входе local trial6026_state = role.GetTrialState(RoleID, 6026) if trial6026_state == 0 then role.OpenTrain(RoleID, 6026) trial6026_state = role.GetTrialState(RoleID, 6026) end if trial6026_state == 1 then local i = role.GetRoleItemNum(RoleID, 4810012) if i > 0 and role.GetTrialCompleteNum(RoleID,6026) < i then role.SetTrialCompleteNum(RoleID, 6026, i) end if role.GetTrialCompleteNum(RoleID,6026) >= Trail_maxnum[6026] then role.TrialComplete(RoleID,6026) end end -- Обновить прогресс достижения 6028 "Огненные персики" при входе local trial6028_state = role.GetTrialState(RoleID, 6028) if trial6028_state == 0 then role.OpenTrain(RoleID, 6028) trial6028_state = role.GetTrialState(RoleID, 6028) end if trial6028_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100202) if i > 0 and role.GetTrialCompleteNum(RoleID,6028) < i then role.SetTrialCompleteNum(RoleID, 6028, i) end if role.GetTrialCompleteNum(RoleID,6028) >= Trail_maxnum[6028] then role.TrialComplete(RoleID,6028) end end -- Обновить прогресс достижения 6029 "Жженый сахар" при входе local trial6029_state = role.GetTrialState(RoleID, 6029) if trial6029_state == 0 then role.OpenTrain(RoleID, 6029) trial6029_state = role.GetTrialState(RoleID, 6029) end if trial6029_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100604) if i > 0 and role.GetTrialCompleteNum(RoleID,6029) < i then role.SetTrialCompleteNum(RoleID, 6029, i) end if role.GetTrialCompleteNum(RoleID,6029) >= Trail_maxnum[6029] then role.TrialComplete(RoleID,6029) end end -- Обновить прогресс достижения 6031 "Плоды Азалеа" при входе local trial6031_state = role.GetTrialState(RoleID, 6031) if trial6031_state == 0 then role.OpenTrain(RoleID, 6031) trial6031_state = role.GetTrialState(RoleID, 6031) end if trial6031_state == 1 then local i = role.GetRoleItemNum(RoleID, 4810016) if i > 0 and role.GetTrialCompleteNum(RoleID,6031) < i then role.SetTrialCompleteNum(RoleID, 6031, i) end if role.GetTrialCompleteNum(RoleID,6031) >= Trail_maxnum[6031] then role.TrialComplete(RoleID,6031) end end -- Проверить наличие камней 5 ур. в инвентаре или на экипировке -- Солнцевик 5 ур. (3030005) local trial6034_state = role.GetTrialState(RoleID, 6034) if trial6034_state == 0 then role.OpenTrain(RoleID, 6034) trial6034_state = role.GetTrialState(RoleID, 6034) end if trial6034_state == 1 then local has_sunstone5 = role.GetRoleItemNum(RoleID, 3030005) if has_sunstone5 > 0 and role.GetTrialCompleteNum(RoleID, 6034) < 1 then role.SetTrialCompleteNum(RoleID, 6034, 1) end if role.GetTrialCompleteNum(RoleID, 6034) >= Trail_maxnum[6034] then role.TrialComplete(RoleID, 6034) end end -- Лунник 5 ур. (3030013) local trial6035_state = role.GetTrialState(RoleID, 6035) if trial6035_state == 0 then role.OpenTrain(RoleID, 6035) trial6035_state = role.GetTrialState(RoleID, 6035) end if trial6035_state == 1 then local has_moonstone5 = role.GetRoleItemNum(RoleID, 3030013) if has_moonstone5 > 0 and role.GetTrialCompleteNum(RoleID, 6035) < 1 then role.SetTrialCompleteNum(RoleID, 6035, 1) end if role.GetTrialCompleteNum(RoleID, 6035) >= Trail_maxnum[6035] then role.TrialComplete(RoleID, 6035) end end -- Ляпис 5 ур. (3030033) local trial6036_state = role.GetTrialState(RoleID, 6036) if trial6036_state == 0 then role.OpenTrain(RoleID, 6036) trial6036_state = role.GetTrialState(RoleID, 6036) end if trial6036_state == 1 then local has_lapis5 = role.GetRoleItemNum(RoleID, 3030033) if has_lapis5 > 0 and role.GetTrialCompleteNum(RoleID, 6036) < 1 then role.SetTrialCompleteNum(RoleID, 6036, 1) end if role.GetTrialCompleteNum(RoleID, 6036) >= Trail_maxnum[6036] then role.TrialComplete(RoleID, 6036) end end -- Гранат 5 ур. (3030041) local trial6037_state = role.GetTrialState(RoleID, 6037) if trial6037_state == 0 then role.OpenTrain(RoleID, 6037) trial6037_state = role.GetTrialState(RoleID, 6037) end if trial6037_state == 1 then local has_garnet5 = role.GetRoleItemNum(RoleID, 3030041) if has_garnet5 > 0 and role.GetTrialCompleteNum(RoleID, 6037) < 1 then role.SetTrialCompleteNum(RoleID, 6037, 1) end if role.GetTrialCompleteNum(RoleID, 6037) >= Trail_maxnum[6037] then role.TrialComplete(RoleID, 6037) end end -- Рубин 5 ур. (3030076) local trial6038_state = role.GetTrialState(RoleID, 6038) if trial6038_state == 0 then role.OpenTrain(RoleID, 6038) trial6038_state = role.GetTrialState(RoleID, 6038) end if trial6038_state == 1 then local has_ruby5 = role.GetRoleItemNum(RoleID, 3030076) if has_ruby5 > 0 and role.GetTrialCompleteNum(RoleID, 6038) < 1 then role.SetTrialCompleteNum(RoleID, 6038, 1) end if role.GetTrialCompleteNum(RoleID, 6038) >= Trail_maxnum[6038] then role.TrialComplete(RoleID, 6038) end end -- Сапфир 5 ур. (3030084) local trial6039_state = role.GetTrialState(RoleID, 6039) if trial6039_state == 0 then role.OpenTrain(RoleID, 6039) trial6039_state = role.GetTrialState(RoleID, 6039) end if trial6039_state == 1 then local has_sapphire5 = role.GetRoleItemNum(RoleID, 3030084) if has_sapphire5 > 0 and role.GetTrialCompleteNum(RoleID, 6039) < 1 then role.SetTrialCompleteNum(RoleID, 6039, 1) end if role.GetTrialCompleteNum(RoleID, 6039) >= Trail_maxnum[6039] then role.TrialComplete(RoleID, 6039) end end -- Достижения 60+: босс Тёмной башни (6043), синеглазка (6047), Храм прозрения (6052) local trial_extra_60 = {6043, 6047, 6052} for xi = 1, #trial_extra_60 do local xt = trial_extra_60[xi] if role.GetTrialState(RoleID, xt) == 0 then role.OpenTrain(RoleID, xt) end if role.GetTrialState(RoleID, xt) == 1 then if role.GetTrialCompleteNum(RoleID, xt) >= Trail_maxnum[xt] then role.TrialComplete(RoleID, xt) end end end end -- Проверить достижения 70 уровня при входе if level >= 70 then -- Обновить прогресс достижения 7016 "Болотное растение" при входе local trial7016_state = role.GetTrialState(RoleID, 7016) if trial7016_state == 0 then role.OpenTrain(RoleID, 7016) trial7016_state = role.GetTrialState(RoleID, 7016) end if trial7016_state == 1 then local i = role.GetRoleItemNum(RoleID, 6600917) if i > 0 and role.GetTrialCompleteNum(RoleID,7016) < i then role.SetTrialCompleteNum(RoleID, 7016, i) end if role.GetTrialCompleteNum(RoleID,7016) >= Trail_maxnum[7016] then role.TrialComplete(RoleID,7016) end end -- Обновить прогресс достижения 7022 "Кукуруза" при входе local trial7022_state = role.GetTrialState(RoleID, 7022) if trial7022_state == 0 then role.OpenTrain(RoleID, 7022) trial7022_state = role.GetTrialState(RoleID, 7022) end if trial7022_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100203) if i > 0 and role.GetTrialCompleteNum(RoleID,7022) < i then role.SetTrialCompleteNum(RoleID, 7022, i) end if role.GetTrialCompleteNum(RoleID,7022) >= Trail_maxnum[7022] then role.TrialComplete(RoleID,7022) end end -- Обновить прогресс достижения 7023 "Рафинад" при входе local trial7023_state = role.GetTrialState(RoleID, 7023) if trial7023_state == 0 then role.OpenTrain(RoleID, 7023) trial7023_state = role.GetTrialState(RoleID, 7023) end if trial7023_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100607) if i > 0 and role.GetTrialCompleteNum(RoleID,7023) < i then role.SetTrialCompleteNum(RoleID, 7023, i) end if role.GetTrialCompleteNum(RoleID,7023) >= Trail_maxnum[7023] then role.TrialComplete(RoleID,7023) end end -- Обновить прогресс достижения 7024 "Карты тепла" при входе local trial7024_state = role.GetTrialState(RoleID, 7024) if trial7024_state == 0 then role.OpenTrain(RoleID, 7024) trial7024_state = role.GetTrialState(RoleID, 7024) end if trial7024_state == 1 then local i = role.GetRoleItemNum(RoleID, 4040013) if i > 0 and role.GetTrialCompleteNum(RoleID,7024) < i then role.SetTrialCompleteNum(RoleID, 7024, i) end if role.GetTrialCompleteNum(RoleID,7024) >= Trail_maxnum[7024] then role.TrialComplete(RoleID,7024) end end -- Обновить прогресс достижения 7025 "Карты поцелуя" при входе local trial7025_state = role.GetTrialState(RoleID, 7025) if trial7025_state == 0 then role.OpenTrain(RoleID, 7025) trial7025_state = role.GetTrialState(RoleID, 7025) end if trial7025_state == 1 then local i = role.GetRoleItemNum(RoleID, 4040015) if i > 0 and role.GetTrialCompleteNum(RoleID,7025) < i then role.SetTrialCompleteNum(RoleID, 7025, i) end if role.GetTrialCompleteNum(RoleID,7025) >= Trail_maxnum[7025] then role.TrialComplete(RoleID,7025) end end -- Обновить прогресс достижения 7026 "Карты близости" при входе local trial7026_state = role.GetTrialState(RoleID, 7026) if trial7026_state == 0 then role.OpenTrain(RoleID, 7026) trial7026_state = role.GetTrialState(RoleID, 7026) end if trial7026_state == 1 then local i = role.GetRoleItemNum(RoleID, 4040014) if i > 0 and role.GetTrialCompleteNum(RoleID,7026) < i then role.SetTrialCompleteNum(RoleID, 7026, i) end if role.GetTrialCompleteNum(RoleID,7026) >= Trail_maxnum[7026] then role.TrialComplete(RoleID,7026) end end -- Обновить прогресс достижения 7027 "Карты опоры" при входе local trial7027_state = role.GetTrialState(RoleID, 7027) if trial7027_state == 0 then role.OpenTrain(RoleID, 7027) trial7027_state = role.GetTrialState(RoleID, 7027) end if trial7027_state == 1 then local i = role.GetRoleItemNum(RoleID, 4040012) if i > 0 and role.GetTrialCompleteNum(RoleID,7027) < i then role.SetTrialCompleteNum(RoleID, 7027, i) end if role.GetTrialCompleteNum(RoleID,7027) >= Trail_maxnum[7027] then role.TrialComplete(RoleID,7027) end end -- Обновить прогресс достижения 7028 "Карты объятья" при входе local trial7028_state = role.GetTrialState(RoleID, 7028) if trial7028_state == 0 then role.OpenTrain(RoleID, 7028) trial7028_state = role.GetTrialState(RoleID, 7028) end if trial7028_state == 1 then local i = role.GetRoleItemNum(RoleID, 4040011) if i > 0 and role.GetTrialCompleteNum(RoleID,7028) < i then role.SetTrialCompleteNum(RoleID, 7028, i) end if role.GetTrialCompleteNum(RoleID,7028) >= Trail_maxnum[7028] then role.TrialComplete(RoleID,7028) end end -- Обновить прогресс достижения 7029 "Плоды шепота" при входе local trial7029_state = role.GetTrialState(RoleID, 7029) if trial7029_state == 0 then role.OpenTrain(RoleID, 7029) trial7029_state = role.GetTrialState(RoleID, 7029) end if trial7029_state == 1 then local i = role.GetRoleItemNum(RoleID, 4810017) if i > 0 and role.GetTrialCompleteNum(RoleID,7029) < i then role.SetTrialCompleteNum(RoleID, 7029, i) end if role.GetTrialCompleteNum(RoleID,7029) >= Trail_maxnum[7029] then role.TrialComplete(RoleID,7029) end end -- Проверить наличие камней 6 ур. в инвентаре или на экипировке -- Солнцевик 6 ур. (3030006) local trial7032_state = role.GetTrialState(RoleID, 7032) if trial7032_state == 0 then role.OpenTrain(RoleID, 7032) trial7032_state = role.GetTrialState(RoleID, 7032) end if trial7032_state == 1 then local has_sunstone6 = role.GetRoleItemNum(RoleID, 3030006) if has_sunstone6 > 0 and role.GetTrialCompleteNum(RoleID, 7032) < 1 then role.SetTrialCompleteNum(RoleID, 7032, 1) end if role.GetTrialCompleteNum(RoleID, 7032) >= Trail_maxnum[7032] then role.TrialComplete(RoleID, 7032) end end -- Лунник 6 ур. (3030014) local trial7033_state = role.GetTrialState(RoleID, 7033) if trial7033_state == 0 then role.OpenTrain(RoleID, 7033) trial7033_state = role.GetTrialState(RoleID, 7033) end if trial7033_state == 1 then local has_moonstone6 = role.GetRoleItemNum(RoleID, 3030014) if has_moonstone6 > 0 and role.GetTrialCompleteNum(RoleID, 7033) < 1 then role.SetTrialCompleteNum(RoleID, 7033, 1) end if role.GetTrialCompleteNum(RoleID, 7033) >= Trail_maxnum[7033] then role.TrialComplete(RoleID, 7033) end end -- Ляпис 6 ур. (3030034) local trial7034_state = role.GetTrialState(RoleID, 7034) if trial7034_state == 0 then role.OpenTrain(RoleID, 7034) trial7034_state = role.GetTrialState(RoleID, 7034) end if trial7034_state == 1 then local has_lapis6 = role.GetRoleItemNum(RoleID, 3030034) if has_lapis6 > 0 and role.GetTrialCompleteNum(RoleID, 7034) < 1 then role.SetTrialCompleteNum(RoleID, 7034, 1) end if role.GetTrialCompleteNum(RoleID, 7034) >= Trail_maxnum[7034] then role.TrialComplete(RoleID, 7034) end end -- Гранат 6 ур. (3030042) local trial7035_state = role.GetTrialState(RoleID, 7035) if trial7035_state == 0 then role.OpenTrain(RoleID, 7035) trial7035_state = role.GetTrialState(RoleID, 7035) end if trial7035_state == 1 then local has_garnet6 = role.GetRoleItemNum(RoleID, 3030042) if has_garnet6 > 0 and role.GetTrialCompleteNum(RoleID, 7035) < 1 then role.SetTrialCompleteNum(RoleID, 7035, 1) end if role.GetTrialCompleteNum(RoleID, 7035) >= Trail_maxnum[7035] then role.TrialComplete(RoleID, 7035) end end -- Рубин 6 ур. (3030077) local trial7036_state = role.GetTrialState(RoleID, 7036) if trial7036_state == 0 then role.OpenTrain(RoleID, 7036) trial7036_state = role.GetTrialState(RoleID, 7036) end if trial7036_state == 1 then local has_ruby6 = role.GetRoleItemNum(RoleID, 3030077) if has_ruby6 > 0 and role.GetTrialCompleteNum(RoleID, 7036) < 1 then role.SetTrialCompleteNum(RoleID, 7036, 1) end if role.GetTrialCompleteNum(RoleID, 7036) >= Trail_maxnum[7036] then role.TrialComplete(RoleID, 7036) end end -- Сапфир 6 ур. (3030085) local trial7037_state = role.GetTrialState(RoleID, 7037) if trial7037_state == 0 then role.OpenTrain(RoleID, 7037) trial7037_state = role.GetTrialState(RoleID, 7037) end if trial7037_state == 1 then local has_sapphire6 = role.GetRoleItemNum(RoleID, 3030085) if has_sapphire6 > 0 and role.GetTrialCompleteNum(RoleID, 7037) < 1 then role.SetTrialCompleteNum(RoleID, 7037, 1) end if role.GetTrialCompleteNum(RoleID, 7037) >= Trail_maxnum[7037] then role.TrialComplete(RoleID, 7037) end end -- Обновить прогресс достижения 7040 "Пуансеттия" при входе local trial7040_state = role.GetTrialState(RoleID, 7040) if trial7040_state == 0 then role.OpenTrain(RoleID, 7040) trial7040_state = role.GetTrialState(RoleID, 7040) end if trial7040_state == 1 then local i = role.GetRoleItemNum(RoleID, 6601164) if i > 0 and role.GetTrialCompleteNum(RoleID,7040) < i then role.SetTrialCompleteNum(RoleID, 7040, i) end if role.GetTrialCompleteNum(RoleID,7040) >= Trail_maxnum[7040] then role.TrialComplete(RoleID,7040) end end end -- Проверить достижения 80 уровня при входе if level >= 80 then -- Обновить прогресс достижения 8029 "Синий мох" при входе local trial8029_state = role.GetTrialState(RoleID, 8029) if trial8029_state == 0 then role.OpenTrain(RoleID, 8029) trial8029_state = role.GetTrialState(RoleID, 8029) end if trial8029_state == 1 then local i = role.GetRoleItemNum(RoleID, 6600919) if i > 0 and role.GetTrialCompleteNum(RoleID,8029) < i then role.SetTrialCompleteNum(RoleID, 8029, i) end if role.GetTrialCompleteNum(RoleID,8029) >= Trail_maxnum[8029] then role.TrialComplete(RoleID,8029) end end -- Обновить прогресс достижения 8030 "Камень злобы" при входе local trial8030_state = role.GetTrialState(RoleID, 8030) if trial8030_state == 0 then role.OpenTrain(RoleID, 8030) trial8030_state = role.GetTrialState(RoleID, 8030) end if trial8030_state == 1 then local i = role.GetRoleItemNum(RoleID, 6600918) if i > 0 and role.GetTrialCompleteNum(RoleID,8030) < i then role.SetTrialCompleteNum(RoleID, 8030, i) end if role.GetTrialCompleteNum(RoleID,8030) >= Trail_maxnum[8030] then role.TrialComplete(RoleID,8030) end end -- Обновить прогресс достижения 8035 "Очищенные камни III" при входе local trial8035_state = role.GetTrialState(RoleID, 8035) if trial8035_state == 0 then role.OpenTrain(RoleID, 8035) trial8035_state = role.GetTrialState(RoleID, 8035) end if trial8035_state == 1 then local i = role.GetRoleItemNum(RoleID, 4810012) if i > 0 and role.GetTrialCompleteNum(RoleID,8035) < i then role.SetTrialCompleteNum(RoleID, 8035, i) end if role.GetTrialCompleteNum(RoleID,8035) >= Trail_maxnum[8035] then role.TrialComplete(RoleID,8035) end end -- Обновить прогресс достижения 8038 "Пшеница" при входе local trial8038_state = role.GetTrialState(RoleID, 8038) if trial8038_state == 0 then role.OpenTrain(RoleID, 8038) trial8038_state = role.GetTrialState(RoleID, 8038) end if trial8038_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100204) if i > 0 and role.GetTrialCompleteNum(RoleID,8038) < i then role.SetTrialCompleteNum(RoleID, 8038, i) end if role.GetTrialCompleteNum(RoleID,8038) >= Trail_maxnum[8038] then role.TrialComplete(RoleID,8038) end end -- Обновить прогресс достижения 8039 "Сливы" при входе local trial8039_state = role.GetTrialState(RoleID, 8039) if trial8039_state == 0 then role.OpenTrain(RoleID, 8039) trial8039_state = role.GetTrialState(RoleID, 8039) end if trial8039_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100205) if i > 0 and role.GetTrialCompleteNum(RoleID,8039) < i then role.SetTrialCompleteNum(RoleID, 8039, i) end if role.GetTrialCompleteNum(RoleID,8039) >= Trail_maxnum[8039] then role.TrialComplete(RoleID,8039) end end -- Обновить прогресс достижения 8040 "Фрикадельки" при входе local trial8040_state = role.GetTrialState(RoleID, 8040) if trial8040_state == 0 then role.OpenTrain(RoleID, 8040) trial8040_state = role.GetTrialState(RoleID, 8040) end if trial8040_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100609) if i > 0 and role.GetTrialCompleteNum(RoleID,8040) < i then role.SetTrialCompleteNum(RoleID, 8040, i) end if role.GetTrialCompleteNum(RoleID,8040) >= Trail_maxnum[8040] then role.TrialComplete(RoleID,8040) end end -- Обновить прогресс достижения 8043 "Духи Элизиума I" при входе local trial8043_state = role.GetTrialState(RoleID, 8043) if trial8043_state == 0 then role.OpenTrain(RoleID, 8043) trial8043_state = role.GetTrialState(RoleID, 8043) end if trial8043_state == 1 then local vessels = role.GetRoleItemNum(RoleID, 4820236) local spirits = vessels * 100 -- Каждый сосуд дает 100 духов if spirits > 0 and role.GetTrialCompleteNum(RoleID,8043) < spirits then role.SetTrialCompleteNum(RoleID, 8043, spirits) end if role.GetTrialCompleteNum(RoleID,8043) >= Trail_maxnum[8043] then role.TrialComplete(RoleID,8043) end end -- Обновить прогресс достижения 8044 "Духи Абсолема I" при входе local trial8044_state = role.GetTrialState(RoleID, 8044) if trial8044_state == 0 then role.OpenTrain(RoleID, 8044) trial8044_state = role.GetTrialState(RoleID, 8044) end if trial8044_state == 1 then local vessels = role.GetRoleItemNum(RoleID, 4820237) local spirits = vessels * 100 -- Каждый сосуд дает 100 духов if spirits > 0 and role.GetTrialCompleteNum(RoleID,8044) < spirits then role.SetTrialCompleteNum(RoleID, 8044, spirits) end if role.GetTrialCompleteNum(RoleID,8044) >= Trail_maxnum[8044] then role.TrialComplete(RoleID,8044) end end -- Обновить прогресс достижения 8047 "Божественные кристаллы" при входе local trial8047_state = role.GetTrialState(RoleID, 8047) if trial8047_state == 0 then role.OpenTrain(RoleID, 8047) trial8047_state = role.GetTrialState(RoleID, 8047) end if trial8047_state == 1 then local i = role.GetRoleItemNum(RoleID, 4010157) if i > 0 and role.GetTrialCompleteNum(RoleID,8047) < i then role.SetTrialCompleteNum(RoleID, 8047, i) end if role.GetTrialCompleteNum(RoleID,8047) >= Trail_maxnum[8047] then role.TrialComplete(RoleID,8047) end end -- Обновить прогресс достижения 8048 "Демонические кристаллы" при входе local trial8048_state = role.GetTrialState(RoleID, 8048) if trial8048_state == 0 then role.OpenTrain(RoleID, 8048) trial8048_state = role.GetTrialState(RoleID, 8048) end if trial8048_state == 1 then local i = role.GetRoleItemNum(RoleID, 4010158) if i > 0 and role.GetTrialCompleteNum(RoleID,8048) < i then role.SetTrialCompleteNum(RoleID, 8048, i) end if role.GetTrialCompleteNum(RoleID,8048) >= Trail_maxnum[8048] then role.TrialComplete(RoleID,8048) end end -- Обновить прогресс достижения 8049 "Плод мурчания" при входе local trial8049_state = role.GetTrialState(RoleID, 8049) if trial8049_state == 0 then role.OpenTrain(RoleID, 8049) trial8049_state = role.GetTrialState(RoleID, 8049) end if trial8049_state == 1 then local i = role.GetRoleItemNum(RoleID, 4810018) if i > 0 and role.GetTrialCompleteNum(RoleID,8049) < i then role.SetTrialCompleteNum(RoleID, 8049, i) end if role.GetTrialCompleteNum(RoleID,8049) >= Trail_maxnum[8049] then role.TrialComplete(RoleID,8049) end end -- Проверить наличие камней 7 ур. в инвентаре или на экипировке -- Солнцевик 7 ур. (3030007) local trial8053_state = role.GetTrialState(RoleID, 8053) if trial8053_state == 0 then role.OpenTrain(RoleID, 8053) trial8053_state = role.GetTrialState(RoleID, 8053) end if trial8053_state == 1 then local has_sunstone7 = role.GetRoleItemNum(RoleID, 3030007) if has_sunstone7 > 0 and role.GetTrialCompleteNum(RoleID, 8053) < 1 then role.SetTrialCompleteNum(RoleID, 8053, 1) end if role.GetTrialCompleteNum(RoleID, 8053) >= Trail_maxnum[8053] then role.TrialComplete(RoleID, 8053) end end -- Лунник 7 ур. (3030015) local trial8054_state = role.GetTrialState(RoleID, 8054) if trial8054_state == 0 then role.OpenTrain(RoleID, 8054) trial8054_state = role.GetTrialState(RoleID, 8054) end if trial8054_state == 1 then local has_moonstone7 = role.GetRoleItemNum(RoleID, 3030015) if has_moonstone7 > 0 and role.GetTrialCompleteNum(RoleID, 8054) < 1 then role.SetTrialCompleteNum(RoleID, 8054, 1) end if role.GetTrialCompleteNum(RoleID, 8054) >= Trail_maxnum[8054] then role.TrialComplete(RoleID, 8054) end end -- Ляпис 7 ур. (3030035) local trial8055_state = role.GetTrialState(RoleID, 8055) if trial8055_state == 0 then role.OpenTrain(RoleID, 8055) trial8055_state = role.GetTrialState(RoleID, 8055) end if trial8055_state == 1 then local has_lapis7 = role.GetRoleItemNum(RoleID, 3030035) if has_lapis7 > 0 and role.GetTrialCompleteNum(RoleID, 8055) < 1 then role.SetTrialCompleteNum(RoleID, 8055, 1) end if role.GetTrialCompleteNum(RoleID, 8055) >= Trail_maxnum[8055] then role.TrialComplete(RoleID, 8055) end end -- Гранат 7 ур. (3030043) local trial8056_state = role.GetTrialState(RoleID, 8056) if trial8056_state == 0 then role.OpenTrain(RoleID, 8056) trial8056_state = role.GetTrialState(RoleID, 8056) end if trial8056_state == 1 then local has_garnet7 = role.GetRoleItemNum(RoleID, 3030043) if has_garnet7 > 0 and role.GetTrialCompleteNum(RoleID, 8056) < 1 then role.SetTrialCompleteNum(RoleID, 8056, 1) end if role.GetTrialCompleteNum(RoleID, 8056) >= Trail_maxnum[8056] then role.TrialComplete(RoleID, 8056) end end -- Рубин 7 ур. (3030078) local trial8057_state = role.GetTrialState(RoleID, 8057) if trial8057_state == 0 then role.OpenTrain(RoleID, 8057) trial8057_state = role.GetTrialState(RoleID, 8057) end if trial8057_state == 1 then local has_ruby7 = role.GetRoleItemNum(RoleID, 3030078) if has_ruby7 > 0 and role.GetTrialCompleteNum(RoleID, 8057) < 1 then role.SetTrialCompleteNum(RoleID, 8057, 1) end if role.GetTrialCompleteNum(RoleID, 8057) >= Trail_maxnum[8057] then role.TrialComplete(RoleID, 8057) end end -- Сапфир 7 ур. (3030086) local trial8058_state = role.GetTrialState(RoleID, 8058) if trial8058_state == 0 then role.OpenTrain(RoleID, 8058) trial8058_state = role.GetTrialState(RoleID, 8058) end if trial8058_state == 1 then local has_sapphire7 = role.GetRoleItemNum(RoleID, 3030086) if has_sapphire7 > 0 and role.GetTrialCompleteNum(RoleID, 8058) < 1 then role.SetTrialCompleteNum(RoleID, 8058, 1) end if role.GetTrialCompleteNum(RoleID, 8058) >= Trail_maxnum[8058] then role.TrialComplete(RoleID, 8058) end end -- Обновить прогресс достижения 8067 "Мухоловка" при входе local trial8067_state = role.GetTrialState(RoleID, 8067) if trial8067_state == 0 then role.OpenTrain(RoleID, 8067) trial8067_state = role.GetTrialState(RoleID, 8067) end if trial8067_state == 1 then local i = role.GetRoleItemNum(RoleID, 6601165) if i > 0 and role.GetTrialCompleteNum(RoleID,8067) < i then role.SetTrialCompleteNum(RoleID, 8067, i) end if role.GetTrialCompleteNum(RoleID,8067) >= Trail_maxnum[8067] then role.TrialComplete(RoleID,8067) end end end -- Проверить достижения 100 уровня при входе if level >= 100 then -- Обновить прогресс достижения 10016 "Древняя окаменелость" при входе local trial10016_state = role.GetTrialState(RoleID, 10016) if trial10016_state == 0 then role.OpenTrain(RoleID, 10016) trial10016_state = role.GetTrialState(RoleID, 10016) end if trial10016_state == 1 then local i = role.GetRoleItemNum(RoleID, 4010323) if i > 0 and role.GetTrialCompleteNum(RoleID,10016) < i then role.SetTrialCompleteNum(RoleID, 10016, i) end if role.GetTrialCompleteNum(RoleID,10016) >= Trail_maxnum[10016] then role.TrialComplete(RoleID,10016) end end -- Обновить прогресс достижения 10017 "Квинтэссенция пустыни" при входе local trial10017_state = role.GetTrialState(RoleID, 10017) if trial10017_state == 0 then role.OpenTrain(RoleID, 10017) trial10017_state = role.GetTrialState(RoleID, 10017) end if trial10017_state == 1 then local i = role.GetRoleItemNum(RoleID, 4010324) if i > 0 and role.GetTrialCompleteNum(RoleID,10017) < i then role.SetTrialCompleteNum(RoleID, 10017, i) end if role.GetTrialCompleteNum(RoleID,10017) >= Trail_maxnum[10017] then role.TrialComplete(RoleID,10017) end end -- Обновить прогресс достижения 10018 "Аконит" при входе local trial10018_state = role.GetTrialState(RoleID, 10018) if trial10018_state == 0 then role.OpenTrain(RoleID, 10018) trial10018_state = role.GetTrialState(RoleID, 10018) end if trial10018_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100207) if i > 0 and role.GetTrialCompleteNum(RoleID,10018) < i then role.SetTrialCompleteNum(RoleID, 10018, i) end if role.GetTrialCompleteNum(RoleID,10018) >= Trail_maxnum[10018] then role.TrialComplete(RoleID,10018) end end -- Обновить прогресс достижения 10019 "Репейник" при входе local trial10019_state = role.GetTrialState(RoleID, 10019) if trial10019_state == 0 then role.OpenTrain(RoleID, 10019) trial10019_state = role.GetTrialState(RoleID, 10019) end if trial10019_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100208) if i > 0 and role.GetTrialCompleteNum(RoleID,10019) < i then role.SetTrialCompleteNum(RoleID, 10019, i) end if role.GetTrialCompleteNum(RoleID,10019) >= Trail_maxnum[10019] then role.TrialComplete(RoleID,10019) end end -- Обновить прогресс достижения 10020 "Плачевик" при входе local trial10020_state = role.GetTrialState(RoleID, 10020) if trial10020_state == 0 then role.OpenTrain(RoleID, 10020) trial10020_state = role.GetTrialState(RoleID, 10020) end if trial10020_state == 1 then local i = role.GetRoleItemNum(RoleID, 6601167) if i > 0 and role.GetTrialCompleteNum(RoleID,10020) < i then role.SetTrialCompleteNum(RoleID, 10020, i) end if role.GetTrialCompleteNum(RoleID,10020) >= Trail_maxnum[10020] then role.TrialComplete(RoleID,10020) end end -- Обновить прогресс достижения 10021 "Гвоздика" при входе local trial10021_state = role.GetTrialState(RoleID, 10021) if trial10021_state == 0 then role.OpenTrain(RoleID, 10021) trial10021_state = role.GetTrialState(RoleID, 10021) end if trial10021_state == 1 then local i = role.GetRoleItemNum(RoleID, 6601168) if i > 0 and role.GetTrialCompleteNum(RoleID,10021) < i then role.SetTrialCompleteNum(RoleID, 10021, i) end if role.GetTrialCompleteNum(RoleID,10021) >= Trail_maxnum[10021] then role.TrialComplete(RoleID,10021) end end -- Обновить прогресс достижения 10022 "Клубника" при входе local trial10022_state = role.GetTrialState(RoleID, 10022) if trial10022_state == 0 then role.OpenTrain(RoleID, 10022) trial10022_state = role.GetTrialState(RoleID, 10022) end if trial10022_state == 1 then local i = role.GetRoleItemNum(RoleID, 6601169) if i > 0 and role.GetTrialCompleteNum(RoleID,10022) < i then role.SetTrialCompleteNum(RoleID, 10022, i) end if role.GetTrialCompleteNum(RoleID,10022) >= Trail_maxnum[10022] then role.TrialComplete(RoleID,10022) end end end -- Проверить достижения 110 уровня при входе if level >= 110 then -- Обновить прогресс достижения 11019 "Белая тыква" при входе local trial11019_state = role.GetTrialState(RoleID, 11019) if trial11019_state == 0 then role.OpenTrain(RoleID, 11019) trial11019_state = role.GetTrialState(RoleID, 11019) end if trial11019_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100209) if i > 0 and role.GetTrialCompleteNum(RoleID,11019) < i then role.SetTrialCompleteNum(RoleID, 11019, i) end if role.GetTrialCompleteNum(RoleID,11019) >= Trail_maxnum[11019] then role.TrialComplete(RoleID,11019) end end -- Обновить прогресс достижения 11020 "Сакура" при входе local trial11020_state = role.GetTrialState(RoleID, 11020) if trial11020_state == 0 then role.OpenTrain(RoleID, 11020) trial11020_state = role.GetTrialState(RoleID, 11020) end if trial11020_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100210) if i > 0 and role.GetTrialCompleteNum(RoleID,11020) < i then role.SetTrialCompleteNum(RoleID, 11020, i) end if role.GetTrialCompleteNum(RoleID,11020) >= Trail_maxnum[11020] then role.TrialComplete(RoleID,11020) end end -- Обновить прогресс достижения 11021 "Капуста" при входе local trial11021_state = role.GetTrialState(RoleID, 11021) if trial11021_state == 0 then role.OpenTrain(RoleID, 11021) trial11021_state = role.GetTrialState(RoleID, 11021) end if trial11021_state == 1 then local i = role.GetRoleItemNum(RoleID, 6601170) if i > 0 and role.GetTrialCompleteNum(RoleID,11021) < i then role.SetTrialCompleteNum(RoleID, 11021, i) end if role.GetTrialCompleteNum(RoleID,11021) >= Trail_maxnum[11021] then role.TrialComplete(RoleID,11021) end end -- Обновить прогресс достижения 11022 "Сахароза" при входе local trial11022_state = role.GetTrialState(RoleID, 11022) if trial11022_state == 0 then role.OpenTrain(RoleID, 11022) trial11022_state = role.GetTrialState(RoleID, 11022) end if trial11022_state == 1 then local i = role.GetRoleItemNum(RoleID, 6601171) if i > 0 and role.GetTrialCompleteNum(RoleID,11022) < i then role.SetTrialCompleteNum(RoleID, 11022, i) end if role.GetTrialCompleteNum(RoleID,11022) >= Trail_maxnum[11022] then role.TrialComplete(RoleID,11022) end end end -- Проверить достижения 90 уровня при входе if level >= 90 then -- Обновить прогресс предметных достижений при входе -- 9039 "Волшебная фасоль" local trial9039_state = role.GetTrialState(RoleID, 9039) if trial9039_state == 0 then role.OpenTrain(RoleID, 9039) trial9039_state = role.GetTrialState(RoleID, 9039) end if trial9039_state == 1 then local i = role.GetRoleItemNum(RoleID, 4010038) if i > 0 and role.GetTrialCompleteNum(RoleID,9039) < i then role.SetTrialCompleteNum(RoleID, 9039, i) end if role.GetTrialCompleteNum(RoleID,9039) >= Trail_maxnum[9039] then role.TrialComplete(RoleID,9039) end end -- 9040 "Чип техномага" local trial9040_state = role.GetTrialState(RoleID, 9040) if trial9040_state == 0 then role.OpenTrain(RoleID, 9040) trial9040_state = role.GetTrialState(RoleID, 9040) end if trial9040_state == 1 then local i = role.GetRoleItemNum(RoleID, 4010019) if i > 0 and role.GetTrialCompleteNum(RoleID,9040) < i then role.SetTrialCompleteNum(RoleID, 9040, i) end if role.GetTrialCompleteNum(RoleID,9040) >= Trail_maxnum[9040] then role.TrialComplete(RoleID,9040) end end -- 9046 "Кокосы" local trial9046_state = role.GetTrialState(RoleID, 9046) if trial9046_state == 0 then role.OpenTrain(RoleID, 9046) trial9046_state = role.GetTrialState(RoleID, 9046) end if trial9046_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100206) if i > 0 and role.GetTrialCompleteNum(RoleID,9046) < i then role.SetTrialCompleteNum(RoleID, 9046, i) end if role.GetTrialCompleteNum(RoleID,9046) >= Trail_maxnum[9046] then role.TrialComplete(RoleID,9046) end end -- 9047 "Сливянка" local trial9047_state = role.GetTrialState(RoleID, 9047) if trial9047_state == 0 then role.OpenTrain(RoleID, 9047) trial9047_state = role.GetTrialState(RoleID, 9047) end if trial9047_state == 1 then local i = role.GetRoleItemNum(RoleID, 4100612) if i > 0 and role.GetTrialCompleteNum(RoleID,9047) < i then role.SetTrialCompleteNum(RoleID, 9047, i) end if role.GetTrialCompleteNum(RoleID,9047) >= Trail_maxnum[9047] then role.TrialComplete(RoleID,9047) end end -- 9052 "Духи Элизиума II" local trial9052_state = role.GetTrialState(RoleID, 9052) if trial9052_state == 0 then role.OpenTrain(RoleID, 9052) trial9052_state = role.GetTrialState(RoleID, 9052) end if trial9052_state == 1 then local i = role.GetRoleItemNum(RoleID, 4820230) if i > 0 and role.GetTrialCompleteNum(RoleID,9052) < i then role.SetTrialCompleteNum(RoleID, 9052, i) end if role.GetTrialCompleteNum(RoleID,9052) >= Trail_maxnum[9052] then role.TrialComplete(RoleID,9052) end end -- 9053 "Духи Абсолема II" local trial9053_state = role.GetTrialState(RoleID, 9053) if trial9053_state == 0 then role.OpenTrain(RoleID, 9053) trial9053_state = role.GetTrialState(RoleID, 9053) end if trial9053_state == 1 then local i = role.GetRoleItemNum(RoleID, 4820231) if i > 0 and role.GetTrialCompleteNum(RoleID,9053) < i then role.SetTrialCompleteNum(RoleID, 9053, i) end if role.GetTrialCompleteNum(RoleID,9053) >= Trail_maxnum[9053] then role.TrialComplete(RoleID,9053) end end -- 9083 "Папоротник" local trial9083_state = role.GetTrialState(RoleID, 9083) if trial9083_state == 0 then role.OpenTrain(RoleID, 9083) trial9083_state = role.GetTrialState(RoleID, 9083) end if trial9083_state == 1 then local i = role.GetRoleItemNum(RoleID, 6601166) if i > 0 and role.GetTrialCompleteNum(RoleID,9083) < i then role.SetTrialCompleteNum(RoleID, 9083, i) end if role.GetTrialCompleteNum(RoleID,9083) >= Trail_maxnum[9083] then role.TrialComplete(RoleID,9083) end end -- 9079 "Богач" - проверка золота при входе (999999 золота) local trial9079_state = role.GetTrialState(RoleID, 9079) if trial9079_state == 0 then role.OpenTrain(RoleID, 9079) trial9079_state = role.GetTrialState(RoleID, 9079) end if trial9079_state == 1 then -- Используем ModRoleAttValue для получения золота (124 - атрибут золота) -- Для достижения нужно проверить наличие 999999 золота -- Проверка происходит при входе, как указано в описании достижения if role.GetTrialCompleteNum(RoleID,9079) < 1 then -- Достижение будет завершено при следующем входе, если есть 999999 золота -- Проверка будет реализована через внешнюю логику или скрипт проверки золота end end end local check_30 = role.IsLearnedSkill(RoleID, 90004) if check_30 == nil or check_30 < 1 then role.AddSkill(RoleID, 9000401) end if level >= 40 and online_tip == 1 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 71, 212001) -- ��� �������� 40 ������, ����������, ����������� ������!� msg.DispatchRoleMsgEvent(RoleID, MsgID) end end -- ����� �� ���� function x_OffLine(MapID, InstanceID, RoleID) -- 1 �������� GuessFingersQuanWang[RoleID] = nil GuessFingersInterval[RoleID] = nil -- ���������� ������ if JBZDY_Open == 1 then for k,v in pairs(tbl_JBZDY_Online) do if v == RoleID then table.remove(tbl_JBZDY_Online,k) end end for k,v in pairs(tbl_JBZDY_Offline) do if v == RoleID then table.remove(tbl_JBZDY_Offline,k) end end table.insert(tbl_JBZDY_Offline,RoleID) end end -- Достижения Train/trial: инкремент прогресса (Жорж 30333/30334, ферма, ивенты) function AchievementTrial_AddProgress(RoleID, trialId, delta) delta = delta or 1 if RoleID == nil or RoleID == 0 or RoleID == 4294967295 then return end local maxn = Trail_maxnum[trialId] if maxn == nil then return end if role.GetTrialState(RoleID, trialId) ~= 1 then return end local cur = role.GetTrialCompleteNum(RoleID, trialId) if cur >= maxn then return end cur = cur + delta if cur > maxn then cur = maxn end role.SetTrialCompleteNum(RoleID, trialId, cur) if cur >= maxn then role.TrialComplete(RoleID, trialId) end end function GeorgeAchievement_OnDemonFruitQuestDone(RoleID, MapID, InstanceID) local level = role.GetRoleLevel(MapID, InstanceID, RoleID) local tid = 5030 if level >= 90 then tid = 9077 elseif level >= 80 then tid = 8064 elseif level >= 70 then tid = 7038 elseif level >= 60 then tid = 6040 end if role.GetTrialState(RoleID, tid) == 0 then role.OpenTrain(RoleID, tid) end AchievementTrial_AddProgress(RoleID, tid, 1) end function GeorgeAchievement_OnSecretKillQuestDone(RoleID, MapID, InstanceID) local level = role.GetRoleLevel(MapID, InstanceID, RoleID) local tid = 5031 if level >= 90 then tid = 9078 elseif level >= 80 then tid = 8065 elseif level >= 70 then tid = 7039 elseif level >= 60 then tid = 6041 end if role.GetTrialState(RoleID, tid) == 0 then role.OpenTrain(RoleID, tid) end AchievementTrial_AddProgress(RoleID, tid, 1) end aux.RegisterRoleEvent(1, "x_RoleFirstOnline") aux.RegisterRoleEvent(2, "x_RoleIntoWorld") aux.RegisterRoleEvent(3, "x_RoleFirstIntoWorld") aux.RegisterRoleEvent(70, "x_OffLine")