-- определение объекта -- объекты поля боя могут открыть несколько боя Titan_Battle = {} -- лагерь объекта Titan_Side = {} --Игроки объекты Titan_Role = {} --Обновить область реквизита объекта Titan_Area = {} Titan_Roletotal = 0 Titan_Exp = {} Titan_Exp[40]= 43000 Titan_Exp[41]= 55000 Titan_Exp[42]= 65000 Titan_Exp[43]= 76000 Titan_Exp[44]= 89000 Titan_Exp[45]= 114000 Titan_Exp[46]= 127000 Titan_Exp[47]= 139000 Titan_Exp[48]= 152000 Titan_Exp[49]= 188000 Titan_Exp[50]= 243000 Titan_Exp[51]= 255000 Titan_Exp[52]= 265000 Titan_Exp[53]= 276000 Titan_Exp[54]= 289000 Titan_Exp[55]= 314000 Titan_Exp[56]= 327000 Titan_Exp[57]= 339000 Titan_Exp[58]= 352000 Titan_Exp[59]= 388000 Titan_Exp[60]= 507000 Titan_Exp[61]= 525000 Titan_Exp[62]= 544000 Titan_Exp[63]= 564000 Titan_Exp[64]= 582000 Titan_Exp[65]= 606000 Titan_Exp[66]= 627000 Titan_Exp[67]= 648000 Titan_Exp[68]= 670000 Titan_Exp[69]= 720000 Titan_Exp[70]= 1073000 Titan_Exp[71]= 1107000 Titan_Exp[72]= 1147000 Titan_Exp[73]= 1180000 Titan_Exp[74]= 1217000 Titan_Exp[75]= 1256000 Titan_Exp[76]= 1293000 Titan_Exp[77]= 1331000 Titan_Exp[78]= 1370000 Titan_Exp[79]= 2116000 Titan_Exp[80]= 2178000 Titan_Exp[81]= 2241000 Titan_Exp[82]= 2303000 Titan_Exp[83]= 2370000 Titan_Exp[84]= 2438000 Titan_Exp[85]= 2505000 Titan_Exp[86]= 2572000 Titan_Exp[87]= 2640000 Titan_Exp[88]= 2709000 Titan_Exp[89]= 2782000 Titan_Exp[90]= 3490000 Titan_Exp[91]= 3546000 Titan_Exp[92]= 3602000 Titan_Exp[93]= 3662000 Titan_Exp[94]= 3720000 Titan_Exp[95]= 3777000 Titan_Exp[96]= 3833000 Titan_Exp[97]= 3887000 Titan_Exp[98]= 3941000 Titan_Exp[99]= 3996000 Titan_Exp[100]= 4050000 Titan_Exp[101]= 4100000 Titan_Exp[102]= 4150000 Titan_Exp[103]= 4200000 Titan_Exp[104]= 4250000 Titan_Exp[105]= 4300000 Titan_Exp[106]= 4350000 Titan_Exp[107]= 4400000 Titan_Exp[108]= 4450000 Titan_Exp[109]= 4500000 Titan_Exp[110]= 4550000 Titan_Exp[111]= 4600000 Titan_Exp[112]= 4650000 Titan_Exp[113]= 4700000 Titan_Exp[114]= 4750000 Titan_Exp[115]= 4800000 Titan_Exp[116]= 4950000 Titan_Exp[117]= 5000000 Titan_Exp[118]= 5050000 Titan_Exp[119]= 5100000 Titan_Exp[120]= 5150000 --Вход на локацию function n6_OnPlayerEnter(MapID, InstanceID, RoleID) local RoleObj = Titan_Role[RoleID] RoleObj:GetAttBuff_Titan() RoleObj:WuDi_Titan() RoleObj:SetColor_Titan() RoleObj:ShowTitanTime() RoleObj:PlayerEnterTitan() local BattleObj = Titan_Battle[InstanceID] BattleObj:SendAllInfo_Titan() end --Убийство персонажа function n6_KillPeople(MapID, InstanceID, RoleID, KillerID) if unit.IsPlayer(RoleID) and unit.IsPlayer(KillerID) then equipkrulo(MapID, InstanceID, RoleID, KillerID) end if unit.IsPlayer(KillerID) and unit.IsPlayer(RoleID) and RoleID ~= KillerID then local RoleObj = Titan_Role[KillerID] RoleObj:GetKillExp_Titan() local point = 1 if RoleObj.Side == "Red" then Titan_Battle[RoleObj.InstanceID].RedPlayer.Point = Titan_Battle[RoleObj.InstanceID].RedPlayer.Point + point elseif RoleObj.Side == "Blue" then Titan_Battle[RoleObj.InstanceID].BluePlayer.Point = Titan_Battle[RoleObj.InstanceID].BluePlayer.Point + point end local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 206726) msg.AddMsgEvent(MsgID, 2, RoleID) msg.DispatchRoleMsgEvent(KillerID, MsgID) --Вы убили игрока и получили опты local BattleObj = Titan_Battle[InstanceID] BattleObj:SendAllInfo_Titan() end end --Игрок покидает поле боя function n6_LeaveMap(MapID, InstanceID, RoleID) unit.UnsetState(MapID, InstanceID, RoleID, 10) unit.UnsetState(MapID, InstanceID, RoleID, 11) local RoleObj = Titan_Role[RoleID] if RoleObj ~= nil then RoleObj:PlayerLeaveTitan() local BattleObj = Titan_Battle[InstanceID] BattleObj:SendAllInfo_Titan() end end --Воскрешение игрока function n6_RoloRevive(MapID, InstanceID, RoleID, Type, ReviveHP, ReviveMP, x, y, z, RebornMapID) ReviveHP = role.GetRoleAttValue(MapID, InstanceID, RoleID, 8) ReviveMP = role.GetRoleAttValue(MapID, InstanceID, RoleID, 10) local k = math.random(9) local RoleObj = Titan_Role[RoleID] RoleObj:WuDi_Titan() return ReviveHP, ReviveMP,n6_Point[k].x, n6_Point[k].y*51,n6_Point[k].z, MapID end -- Проверка на отношения function n6_FriendEnemy(MapID, InstanceID, SrcID, TargetID) if unit.IsPlayer(SrcID) and unit.IsPlayer(TargetID) then local RoleObj1 = GetTitanRoleObj(SrcID) local RoleObj2 = GetTitanRoleObj(TargetID) if RoleObj1 ~= nil and RoleObj2 ~= nil then if RoleObj1.Side == RoleObj2.Side then return true, false, false, true else return false, true, false, true end end end return false, false, false, false end --Регистрация скриптов aux.RegisterMapEvent("n6", 2, "n6_OnPlayerEnter") aux.RegisterMapEvent("n6", 5, "n6_KillPeople") aux.RegisterMapEvent("n6", 3, "n6_LeaveMap") aux.RegisterMapEvent("n6", 11, "n6_RoloRevive") aux.RegisterMapEvent("n6", 16, "n6_FriendEnemy")