function s60_OnEnterTriggerArea1(MapID, InstanceID, RoleID, ObjAreaID) local hunjingtype = role.GetEquipIDOnPos(RoleID, 13) if ObjAreaID == 1023 then if hunjingtype == 8220401 or hunjingtype == 8220403 or (hunjingtype >= 8220501 and hunjingtype <= 8220599) then role.RoleGotoNewMap(MapID, InstanceID, RoleID, 52648950, 26, 200, 32) else local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 26, 444304) -- msg.DispatchRoleMsgEvent(RoleID, MsgID) end end if ObjAreaID == 1022 then if hunjingtype == 8220402 or hunjingtype == 8220404 or (hunjingtype >= 8220601 and hunjingtype <= 8220699) then role.RoleGotoNewMap(MapID, InstanceID, RoleID, 52649974, 440, 1, 768) else local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 26, 444309) -- msg.DispatchRoleMsgEvent(RoleID, MsgID) end end if ObjAreaID == 1031 then -- RoleGotoNewMap: x/z/y в тайлах (умножаются на 50). 22982 — world Y, в тайлах ~462. role.RoleGotoNewMap(MapID, InstanceID, RoleID, 3424073512, 967, 23510, 768) end end aux.RegisterMapEvent("s60",7,"s60_OnEnterTriggerArea1") --Диалог портала s02 тарио вход во фронтир function c9010122_On_Talk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) local rolelevel = role.GetRoleLevel(MapID, InstanceID, RoleID) if TalkIndex == -1 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 444302) --Вы хотите попасть во фронтир? msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 100001) --“Ок” msg.AddMsgEvent(MsgID, 21, 5) msg.AddMsgEvent(MsgID, 1, 100002) --“Отмена” msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif TalkIndex == 4 then if rolelevel >= 80 then role.RoleGotoNewMap(MapID, InstanceID, RoleID, 3390518568, 1280, 138, 1240) else local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 444303) --вход с 80 ур. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 5) msg.AddMsgEvent(MsgID, 1, 100002) --“Отмена” msg.DispatchRoleMsgEvent(RoleID, MsgID) end end end aux.RegisterCreatureEvent(9010122, 7, "c9010122_On_Talk") --телепорт во фронтир по данным координатам function s60_CanTakeOverWhenOnline(MapID, RoleID) return 3390518568, 638, 6913, 595 end aux.RegisterMapEvent("s60", 12, "s60_CanTakeOverWhenOnline") --при выходе из фронтира тпшит в тарио на определенные координаты function s60_GetExporMapAndCoord(MapID, InstanceID, RoleID) return 1, 3424073512, 591, 22982, 176 end aux.RegisterMapEvent("s60", 13, "s60_GetExporMapAndCoord") --возвращает значение 1 function s60GetOnePerfectMap(MapID, InstanceID, RoleID) return 1 end aux.RegisterMapEvent("s60", 14, "s60GetOnePerfectMap") --Проверка на 80 лвл function s60_CanEnter(MapID, InstanceID, RoleID) if role.GetRoleLevel(MapID, InstanceID, RoleID) >= 80 then return 1 else return 0 end end aux.RegisterMapEvent("s60", 15, "s60_CanEnter") function s60_FriendEnemy(MapID, InstanceID, SrcID, TargetID) if unit.IsPlayer(SrcID) and unit.IsPlayer(TargetID) then return true, false, false, true end return false, false, false, false end aux.RegisterMapEvent("s60", 16, "s60_FriendEnemy") aux.RegisterMapEvent("s57_1", 16, "s60_FriendEnemy") aux.RegisterMapEvent("s57_2", 16, "s60_FriendEnemy") aux.RegisterMapEvent("s57_3", 16, "s60_FriendEnemy") aux.RegisterMapEvent("s57_4", 16, "s60_FriendEnemy") aux.RegisterMapEvent("s57_9", 16, "s60_FriendEnemy") function s57_1_OnPlayerEnter(MapID, InstanceID,RoleID) local EquipID = role.GetEquipIDOnPos(RoleID, 13) if EquipID ~= nil then if (EquipID == 8220401 or EquipID == 8220403 or (EquipID >= 8220501 and EquipID <= 8220599)) then unit.AddBuff(MapID, InstanceID, RoleID, 5941702, RoleID) elseif (EquipID == 8220402 or EquipID == 8220404 or (EquipID >= 8220601 and EquipID <= 8220699)) then unit.AddBuff(MapID, InstanceID, RoleID, 5941902, RoleID) end end end aux.RegisterMapEvent("s57_1", 2, "s57_1_OnPlayerEnter") aux.RegisterMapEvent("s57_2", 2, "s57_1_OnPlayerEnter") aux.RegisterMapEvent("s57_3", 2, "s57_1_OnPlayerEnter") aux.RegisterMapEvent("s57_4", 2, "s57_1_OnPlayerEnter") aux.RegisterMapEvent("s57_5", 2, "s57_1_OnPlayerEnter") aux.RegisterMapEvent("s57_6", 2, "s57_1_OnPlayerEnter") aux.RegisterMapEvent("s57_7", 2, "s57_1_OnPlayerEnter") aux.RegisterMapEvent("s57_8", 2, "s57_1_OnPlayerEnter") aux.RegisterMapEvent("s57_9", 2, "s57_1_OnPlayerEnter") function c1010009_On_Talk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 951947) --Вы хотите попасть во фронтир? msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 100001) --“Ок” msg.AddMsgEvent(MsgID, 21, 5) msg.AddMsgEvent(MsgID, 1, 100002) --“Отмена” msg.DispatchRoleMsgEvent(RoleID, MsgID) local FamilyID = role.GetRoleFamilyID(MapID, InstanceID, RoleID) if FamilyID ~= nil and FamilyID ~= 4294967295 then local DragoLevel = family_dragon_sql(FamilyID,0,0) if tonumber(DragoLevel) < 1 then family_dragon_sql(FamilyID,1,1) end map.CreateInstance(901878291, FamilyID) role.RoleGotoNewMap(MapID, InstanceID, RoleID, 901878291, 110, 0, 118) else local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 950663) msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 5) msg.AddMsgEvent(MsgID, 1, 100002) --“Отмена” msg.DispatchRoleMsgEvent(RoleID, MsgID) end end aux.RegisterCreatureEvent(1010009, 7, "c1010009_On_Talk")