[CS: Source] AutoLife 1.1

Тема в разделе "Новые плагины", создана пользователем Вин Дизель, 23 ноя 2015.

  1. Вин Дизель

    Вин Дизель

    Сообщения:
    50
    Симпатии:
    0
    [AutoLife]
    Текущая версия: 1.1

    Описание:
    Плагин возрождает всех игроков спустя указанное время после начала раунда.

    Cvars:
    AL_SpawnTime "20" - Спустя сколько секунд после начала раунда возрождать игроков

    Требования:
    - Sourcemod

    Поддерживаются игры:
    - Counter-Strike: Source V34
    - Counter-Strike: Source
    - Остальные не проверял

    Установка:
    1. Положить файл autolife.smx в addons/sourcemod/plugins
    2. Положить файл autolife.sp в addons/sourcemod/scripting
    3. Положить файл autolife.phrases.txt в addons/sourcemod/translations

    Лог разработки:
    1.0
    - Релиз плагина

    1.1
    - Плагин оптимизирован
    - Убран инклюд colors.inc
    - Цвет сообщений в чате изменен
    - Теперь возраждает Т и КТ
    - Добавлен квар AL_SpawnTime

    Установочные файлы:
     

    Вложения:

    • autolife.smx
      Размер файла:
      4,9 КБ
      Просмотров:
      15
    • autolife.sp
      Размер файла:
      1,5 КБ
      Просмотров:
      25
    • autolife.phrases.txt
      Размер файла:
      432 байт
      Просмотров:
      19
    Последнее редактирование: 27 ноя 2015
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.563
    Симпатии:
    1.988
    Re: AutoLife

    PHP:
    HookEvent("round_start"OnRoundStart);
    HookEvent("round_end"OnRoundEnd);
    Добавить после запятой EventHookMode_PostNoCopy каждому.
    Код:
    public [U]Action:[/U]OnRoundEnd
    Приставку убрать с тех же событий.
    Код:
    respawn = CreateTimer(Respawn_Timer, RespawnAll);
    Лучше добавить после запятой:
    PHP:
    _TIMER_FLAG_NO_MAPCHANGE
    И отдельно с новой строки:
    PHP:
    public OnMapEnd() respawn INVALID_HANDLE;
    Так таймер не будет работать, когда принудительно меняют карту (например, через админку).
    Код:
    public Action:RespawnAll(Handle:timer[U], any:client[/U])
    Это здесь уже фантастика, убери.
     
  3. Вин Дизель

    Вин Дизель

    Сообщения:
    50
    Симпатии:
    0
    Re: AutoLife

    Cпасибо большое. Не подскажешь еще как можно квар добавить через сколько секунд возрождать?
     
  4. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.563
    Симпатии:
    1.988
    Re: AutoLife

    CreateConVar и HookConVarChange Handle, возвращённого первым.
    Менять получится с нового раунда.
    Неправда:
    PHP:
    GetClientTeam(i) == 3
    Только КТ. А такой плагин уже был: DeathRun: Respawn Counter-Terrorists.
     
  5. Вин Дизель

    Вин Дизель

    Сообщения:
    50
    Симпатии:
    0
    Re: AutoLife

    Я это уже пофиксил, сейчас доделаю и залью
     
  6. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.563
    Симпатии:
    1.988
    Re: AutoLife

    Попробуй даже без этого. Вряд ли KillTimer успеет ругнуться в логах.
     
  7. Вин Дизель

    Вин Дизель

    Сообщения:
    50
    Симпатии:
    0
    Плагин обновлен до версии 1.1
     
  8. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    CS_RespawnPlayer(i) с такой функцией в других играх и не будет работать, ток в cs:go
    для кросплатформы надо sdk call пилить с использованием оффсетов
     
  9. Reiko1231

    Reiko1231 AlexTheRegent

    Сообщения:
    237
    Симпатии:
    569
    Код:
            if (IsClientInGame(i) && !IsPlayerAlive(i) && GetClientTeam(i) [B]> 2[/B]) CS_RespawnPlayer(i);
    
    cstrike.inc
    Код:
    #define CS_TEAM_T             2    /**< Terrorists. */
    #define CS_TEAM_CT            3    /**< Counter-Terrorists. */
    2 > 2 = false, следовательно, воскрешает только CT. Нужно > 1 либо >= 2.
     
  10. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    cs_respawn работает в css/csgo.

    Добавлено через 4 минуты
    Зачем так делаешь?
    Не проще так:

    В этом случае, будет воскрешать и Т и КТ.
     
    Последнее редактирование: 3 дек 2015
  11. Reiko1231

    Reiko1231 AlexTheRegent

    Сообщения:
    237
    Симпатии:
    569
    И заодно спеков. Их будет воскрешать, из-за чего либо будут ошибки в консоли, либо баги в игре.
     
  12. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.563
    Симпатии:
    1.988
    Не совсем спеков, а всех, кто вообще ещё не выбирал игровую команду.
    С оружием и радаром.
     
  13. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Так у него проверка стоит.
    Если игрок в игре и если мертв. Я лично подобных багов не видел. Чтобы воскрешало наблюдателей и те кто еще не выбрали команду.
     
  14. Черная вдова

    Черная вдова

    Сообщения:
    1.621
    Симпатии:
    234
    Hejter,
    IsClientInGame - клиент в игре, типо еще означает что в игровой команде ?
     
  15. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.563
    Симпатии:
    1.988
    Мёртвые игроки, будь то КТ/Т могут наблюдать. Та же аналогия...
     
  16. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Я такого не говорил.

    Добавлено через 56 секунд
    Ну могут они наблюдать и что? Наблюдателя ведь не воскресит или игрока не вошедшего в команду.
     
    Последнее редактирование: 3 дек 2015
  17. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.563
    Симпатии:
    1.988
    Ошибаешься.
     
  18. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Ни когда с таким не сталкивался, но спорить дальше нет смысла.
     
  19. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.563
    Симпатии:
    1.988
    Играл на футбольном сервере CS:S с картой, типа ka_soccer. Было забавно видеть, как иногда некоторых игроков, не вошедших ни в одну игровую команду вдруг респаунило посередине поля, прямо у меча... И этот "нотеам" сразу "пинал" мяч в любые из ворот, чью команду тут же убивало, целиком ломая игровую атмосферу.
    Видимо, автор тамошнего плагина рассуждал ровным счётом, как и ты.
     
  20. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Если пилить плагин конкретно для других модов: футбол или зомби мод, то возможно проверка и нужна, а т.к я ни когда, не держал Soccer сервер, то с таким не сталкивался.
    Оффтоп
    Как вариант. Можно так реализовать.