???
Математика на уровне МГУ

Показано с 1 по 25 из 3198

Тема: Сервер Repka

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Сервер Repka

    Накидал тут скриптик против вулчеров.
    Возможно есть косяки. Выглядит пока так:

    Код:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using maddox.game;
    using maddox.game.world;
    using maddox.GP;
    
    public class Airfield
    {
        // координаты аэродрома
        public double x;
        public double y;
        public double z;
    
        // радиус сферы
        public float radius;
    
        // Строна, к которой принадлежит аэродром (1 - красные, 2 - синие)
        public int army;    
    
        public Airfield(double newX = 0.0, double newY = 0.0, double newZ = 0.0, float newRadius = 1.0f, int newArmy = 1)
        {
            x = newX;
            y = newY;
            z = newZ;
            radius = newRadius;
            army = newArmy;
        }
    }
    
    
    public class Mission : maddox.game.AMission
    {
        // Создаем первый аэродром.
        private Airfield air1 = new Airfield(2.3, 5.0, 4.2);
    
        
        public override void OnBattleStarted()
        {
            base.OnBattleStarted();        
        }
    
        // Итак, кого-то уничтожили
        public override void OnActorDead(int missionNumber, string shortName, AiActor actor, List<DamagerScore> initiatorList)
        {
            // Самолет?
            if (actor is AiAircraft)
            {
                foreach (DamagerScore i in initiatorList)
                {
                    // Противником?
                    if (actor.Army() != i.initiator.Actor.Army())
                    {
                        // Проверяем находился ли уничтоженный самолет в "защитной" сфере
                        if (air1.radius > Math.Sqrt(Math.Pow(actor.Pos().x - air1.x, 2.0) + Math.Pow(actor.Pos().y - air1.y, 2.0) + Math.Pow(actor.Pos().z - air1.z, 2.0)) && (actor.Army() == air1.army))
                        {
                            // Если да, выкидываем вулчера или ломаем упарвление
                            if (i.initiator.Player.Place() != null)
                            {
                                // божья кара
    AiAircraft aircraft = (i.initiator.Actor as AiAircraft);
                                aircraft.hitNamed(part.NamedDamageTypes.ControlsElevatorDisabled);
                                aircraft.hitNamed(part.NamedDamageTypes.ControlsAileronsDisabled);
                                aircraft.hitNamed(part.NamedDamageTypes.ControlsRudderDisabled);                         
                            }
                            
                        }
                    }
                }
            }
        }
    
    }
    Крайний раз редактировалось Geniok; 08.07.2011 в 22:43.
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  2. #2
    Зашедший
    Регистрация
    27.03.2011
    Возраст
    50
    Сообщений
    85

    Re: Сервер Repka

    Цитата Сообщение от Geniok Посмотреть сообщение
    Накидал тут скриптик против вулчеров.
    Возможно есть косяки. Выглядит пока так:
    [...]
    Можно попробовать брать список дромов из AMission.GamePlay.gpAirports(), позиции и радиусы там есть. Кстати, в классе Point3d есть метод для вычисления расстояния - distance.

    Может всё-таки стоит вешать обработку на событие OnAircraftDamaged()? А то можно будет безнаказанно дырявить стоящие самолёты, если не задевать пилота.

    --- Добавлено ---

    Цитата Сообщение от -atas- Посмотреть сообщение

    А уменьшить не получится? Например:

    При превышении количества истребителей на 10% - задержка 30 секунд, на 20% - минута, на 30% - 3 минуты, на 40% - 10 минут. Все сразу подравняется, т.к. настоящему мастеру все равно на чем летать (да и Е-файт на спите возможен, это не Ишак).
    Несложно. Поменять кусок скрипта, заведующий банами на такой:

    Код:
            if (totalFighters < 10)
            {
                // Если истребителей мало убираем все баны
                SetDictValue(banUntil, p, 0.0);
            }
            else if (playerArmyPercent > 58.33) // Превышение на 40%
            {
    
                if (ban == 0.0)
                { 
                    // Блокируем на 10 минут
                    SetDictValue(banUntil, p, Time.currentReal() + 10*60.0);
                }
            }
            else if (playerArmyPercent > 56.52) // Превышение на 30%
            {
    
                if (ban == 0.0)
                { 
                    // Блокируем на 3 минуты
                    SetDictValue(banUntil, p, Time.currentReal() + 3*60.0);
                }
            }
            else if (playerArmyPercent > 54.54) // Превышение на 20%
            {
    
                if (ban == 0.0)
                { 
                    // Блокируем на 1 минуту
                    SetDictValue(banUntil, p, Time.currentReal() + 60.0);
                }
            }
            else if (playerArmyPercent > 52.38) // Превышение на 10%
            {
                if (ban == 0.0)
                { // Устанавливаем бан только для незабаненого игрока.
                    SetDictValue(banUntil, p, Time.currentReal() + 30.0); // Блокируем на 30 секунд
                }
            }
            else
            {
                // Разблокируем
                SetDictValue(banUntil, p, 0);
            }
    Код, конечно, не красивый. Надо будет все эти времена свести в массив... Но работать будет.

  3. #3
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Сервер Repka

    Цитата Сообщение от red75prime Посмотреть сообщение
    Можно попробовать брать список дромов из AMission.GamePlay.gpAirports(), позиции и радиусы там есть. Кстати, в классе Point3d есть метод для вычисления расстояния - distance.

    Может всё-таки стоит вешать обработку на событие OnAircraftDamaged()? А то можно будет безнаказанно дырявить стоящие самолёты, если не задевать пилота.
    Да, можно и так! Это уже на усмотрение держателей сервера. Как захотят, так пускай и обрабатывают. Или на смерть игрока, или на повреждения самолета игрока. Суть понятна, а уж подогнать под свою нужды я думаю не проблема будет.
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  4. #4
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Сервер Repka

    Цитата Сообщение от Geniok Посмотреть сообщение
    Да, можно и так! Это уже на усмотрение держателей сервера. Как захотят, так пускай и обрабатывают. Или на смерть игрока, или на повреждения самолета игрока. Суть понятна, а уж подогнать под свою нужды я думаю не проблема будет.
    Да тут кроме вас двоих и Small_Bee в C# никто не разбирается к сожалению. Я читатель (со словарем), но не писатель (вру, калькулятор на бейсике писал 20 лет назад ))) ). Куда что скопировать даже не разберусь. BigRepa совсем другими языками владеет. Так что решайте вдвоем, что куда лучше. И большое спасибо за помощь и участие. Очень вас не хватало. Думаю, все пилоты Репок к моим словам благодарности присоединятся.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  5. #5
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Сервер Repka

    Цитата Сообщение от -atas- Посмотреть сообщение
    Да тут кроме вас двоих и Small_Bee в C# никто не разбирается к сожалению. Я читатель (со словарем), но не писатель (вру, калькулятор на бейсике писал 20 лет назад ))) ). Куда что скопировать даже не разберусь. BigRepa совсем другими языками владеет. Так что решайте вдвоем, что куда лучше. И большое спасибо за помощь и участие. Очень вас не хватало. Думаю, все пилоты Репок к моим словам благодарности присоединятся.
    Если BigRepa или ты -atas- скинетt мне саму миссию и скрипт, то я вставлю все и кину обратно.
    А на форуме вот только кусками получается.
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  6. #6
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Сервер Repka

    Цитата Сообщение от Geniok Посмотреть сообщение
    Если BigRepa или ты -atas- скинетt мне саму миссию и скрипт, то я вставлю все и кину обратно.
    А на форуме вот только кусками получается.
    Крайняя версия миссии только на сервере, у меня переписать оттуда не получается. А скрипт выше red75prime выкладывал (только там несколько версий было, нужно крайнюю брать).

    stillborn уже выпустил апдейт миссии, лучше все в нее вставлять http://www.sukhoi.ru/forum/showthrea...=1#post1652573 (2й файл с 3 зенитками на корабль).
    Крайний раз редактировалось -atas-; 09.07.2011 в 12:47.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  7. #7
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Сервер Repka

    Цитата Сообщение от -atas- Посмотреть сообщение
    Крайняя версия миссии только на сервере, у меня переписать оттуда не получается. А скрипт выше red75prime выкладывал (только там несколько версий было, нужно крайнюю брать).

    stillborn уже выпустил апдейт миссии, лучше все в нее вставлять http://www.sukhoi.ru/forum/showthrea...=1#post1652573 (2й файл с 3 зенитками на корабль).
    Посмотрел его миссию.
    Если честно, не очень интересные миссии. Стоят 2 корабля, стреляют друг в друга. Смысла в этом не много, на мой взгляд. Каждые 5 минут перезагружаются сами по себе зенитки. Причем зенами защищены 2 аэродрома из 3-х.
    Может создадим что-нибудь свое?
    Чисто для 3-й репки.
    Крайний раз редактировалось Geniok; 09.07.2011 в 22:34.
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  8. #8
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Сервер Repka

    Цитата Сообщение от -atas- Посмотреть сообщение
    Крайняя версия миссии только на сервере, у меня переписать оттуда не получается. А скрипт выше red75prime выкладывал (только там несколько версий было, нужно крайнюю брать).

    stillborn уже выпустил апдейт миссии, лучше все в нее вставлять http://www.sukhoi.ru/forum/showthrea...=1#post1652573 (2й файл с 3 зенитками на корабль).
    Думаю если не сложно вставить и туда и сюда.
    Хоть потестить новую версию (от stillborn)
    В 1.0 внутренних ощибок не мало.

    --- Добавлено ---

    Цитата Сообщение от Geniok Посмотреть сообщение
    Посмотрел его миссию.
    Если честно, не очень интересные миссии. Стоят 2 корабля, стреляют друг в друга. Смысла в этом не много, на мой взгляд. Каждые 5 минут перезагружаются сами по себе зенитки. Причем зенами защищены 2 аэродрома из 3-х.
    Может создадим что-нибудь свое?
    Чисто для 3-й репки.
    Я очень за !
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

  9. #9
    Любопытный
    Регистрация
    03.10.2005
    Адрес
    Киров
    Возраст
    41
    Сообщений
    1,386

    Re: Сервер Repka

    Цитата Сообщение от BigREPA Посмотреть сообщение
    Я очень за !
    Тогда нужен сценарий. (ну или тех. задание) Чтоб я знал что именно реализовывать.
    Например, зенитки чтобы не сами по себе восстанавливались, а транспорт подходил, с транспорта машины до аэродрома. Дошел транспорт, выгрузил машины. Машины доехали - есть новые зенитки, не доехали, аэродром без зенитной защиты. Это просто как пример.

    И карту бы побольше... Или та, что сейчас есть, самая большая? (Ла-манш не рассматриваю)
    AMD Phenom(tm) II X4 955 3.21ГГц, Gigabyte GA-MA770-US3, 4Гб DDR2-800, ATI Radeon HD 5850 1Гб DDR5 256-бит, Microsoft Windows 7 Home SP1 x64, 1920х1080 24"

  10. #10
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Сервер Repka

    Цитата Сообщение от Geniok Посмотреть сообщение
    Если BigRepa или ты -atas- скинетt мне саму миссию и скрипт, то я вставлю все и кину обратно.
    А на форуме вот только кусками получается.
    Вот что крутится на №3
    dgw_iod_v1_0.zip
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •