1. mcrc Пользователь

    Регистрация:
    01.03.15
    Сообщения:
    76
    Симпатии:
    16
    Пол:
    Мужской
    Ребята, проблема следующая: на CSDM сервере респаун происходит слишком близко от игрока.
    На несколько шагов от точки респа не успеваешь отбежать, а уже в спину получаешь очередь.
    Может кто знает как увеличить радиус "мертвой зоны" вокруг игрока?
    Либо увеличить размер зоны респа?
     
    agresogun нравится это.
  2. Sly Пользователь

    Регистрация:
    17.11.15
    Сообщения:
    53
    Симпатии:
    24
    Пол:
    Мужской
    Не знаю всегда сам спавны расставлял проблем не было. Может тебе просто стоит увеличить защиту игрока при возрождении.
     
  3. mcrc Пользователь

    Регистрация:
    01.03.15
    Сообщения:
    76
    Симпатии:
    16
    Пол:
    Мужской
    Да не, тут в другом дело.
    Стоит тебе чуть отойти с респа, и игра считает, что точка свободна и можно на ней возрождать следующего чела.
    Хочется каким-то образом подольше позанимать точку возрождения и прилегающую часть карты
     
    agresogun нравится это.
  4. 2avar21n Пользователь

    Регистрация:
    18.09.15
    Сообщения:
    52
    Симпатии:
    7
    Пол:
    Мужской
    VKcom:
    2AVAR21N
    по мне так вопрос вполне актуален, тоже задавался им, но ответа не нашёл )
     
  5. windranger1337 Пользователь

    Регистрация:
    04.10.15
    Сообщения:
    303
    Симпатии:
    177
    Telegram:
    serfreeman1337
    Задача - запретить возрождать на спавне n кол-во секунд после того как он был использован?

    Можно реализовать 2мя вариантами:
    • правильный - через okapi обрабатываем функцию EntSelectSpawnPoint для выбора спавна в самом моде и заменяем на нужный спавн. Игрок сразу появляется на нужном спавне.
    • и так сойдет - через hamsandwich хукаем Ham_Spawn и ищем другой спавн, если этот был занят. Игрок спавнится на занятом спавне, но потом ВНЕЗАПНО улетает на свободный.
    Но выж всё равно ничего не поняли ))
    Какие спавны используются, CSDM или на карте?
     
  6. pUzzlik Пользователь

    Регистрация:
    06.05.15
    Сообщения:
    843
    Симпатии:
    284
    Пол:
    Мужской
    А может защиту при спавне постивать5 сек, чтобы при спавне игрок мог роздуплиться что к чему, да и игроки не будут крысить возле точек спавна чтобы фраги косить :) думаю за пять сек игрок и раздуплиться и прицелиться на крысу :)
     
  7. mcrc Пользователь

    Регистрация:
    01.03.15
    Сообщения:
    76
    Симпатии:
    16
    Пол:
    Мужской
    windranger1337, задача - увеличить размер точки спавна, при нахождении внутри периметра игрока, точка считается занятой.
    Диаметр этой точки наверняка ведь описан в одном из файлов csdm-a (например, csdm_spawn_preset.sma)? Т.е. достаточно будет просто увеличить это значение.
    Я просмотрел весь код, но, разумеется, ничего не нашёл. Может, у вас лучше получится? :)
     
  8. mcrc Пользователь

    Регистрация:
    01.03.15
    Сообщения:
    76
    Симпатии:
    16
    Пол:
    Мужской
    Кстати, на dm.neugomon.ru со спавнами тоже беда. Сейчас зашёл, поиграл. В полуметре от точки появления стою и всё равно на ней игрок респавнится
     
  9. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.543
    Симпатии:
    4.142
    Пол:
    Мужской
    mcrc, потому что я не делал никаких проверок на дистанцию.
     
  10. mcrc Пользователь

    Регистрация:
    01.03.15
    Сообщения:
    76
    Симпатии:
    16
    Пол:
    Мужской
    может хоть подскажите как это реализовать?
     
  11. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.543
    Симпатии:
    4.142
    Пол:
    Мужской
    mcrc, получай координаты игрока A. загоняй в цикл по ЖИВЫМ игрокам. получая их координаты... сравнивай odigin[0] и если более нужного тебе... то спавни
     
  12. mcrc Пользователь

    Регистрация:
    01.03.15
    Сообщения:
    76
    Симпатии:
    16
    Пол:
    Мужской
    neygomon, сорри, неверно выразился) помогите реализовать :)
     
  13. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.543
    Симпатии:
    4.142
    Пол:
    Мужской
    Охуеть:)
    Сначала расскажи, а потом ещё покажи xD
     
  14. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.543
    Симпатии:
    4.142
    Пол:
    Мужской
    вот пример. дальше сам...
    Код (Unknown Language):
    1. #include <amxmodx>
    2. #include <engine>
    3. #include <hamsandwich>
    4.  
    5. public plugin_init()
    6. {
    7.     RegisterHam(Ham_Spawn, "player", "fwdSpawn", true);
    8. }
    9.  
    10. public fwdSpawn(const id)
    11. {
    12.     if(!is_user_alive(id))
    13.         return;
    14.  
    15.     new players[32], pnum;
    16.     get_players(players, pnum, "a");
    17.  
    18.     for(new z, ok; z < переменнаячисласпавнов; z++)
    19.     {
    20.         for(new i; i < pnum; i++)
    21.         {
    22.             if(entity_range(id, players[i]) >= 200)
    23.                 ok = 1;
    24.             else     ok = 0;          
    25.         }
    26.         if(ok)
    27.         {
    28.             // проверки на валидность спавна
    29.             // установка новых координат
    30.             break;
    31.         }
    32.     }  
    33. }
     
    mcrc нравится это.
  15. windranger1337 Пользователь

    Регистрация:
    04.10.15
    Сообщения:
    303
    Симпатии:
    177
    Telegram:
    serfreeman1337
    neygomon, а через find_ent_in_sphere ? АА, это же надо еще координаты игрока получить..
     
  16. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.543
    Симпатии:
    4.142
    Пол:
    Мужской
    windranger1337, хз даже.
    можно и так :)
    кому не лень, пусть запрофилируют :)