1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Скрыть объявление

Привет посетитель! У нас на форуме тебе откроются дополнительные разделы, которые скрыты от гостей! А так же ты найдёшь много полезной информации.

Мануал npcpos.txt - формат и описание параметров

Тема в разделе "Мануалы", создана пользователем Kazna, 11 сен 2016.

  1. Kazna

    Kazna Знающий Проверенный

    Регистрация:
    19 июл 2015
    Сообщения:
    521
    Симпатии:
    166
    Баллы:
    316
    Хотелось бы разобрать этот файлик. Если общими усилиями расчехлим, попросим кика подредачить и перекинуть в мануалы :-).
    Для начала возьмём это -
    territory_begin [giran03_2221_p47]
    87184;106572;-3320;-2820};{
    89336;104996;-3320;-2820};{
    90676;106520;-3320;-2820};{
    90500;108316;-3320;-2820};{
    90132;108840;-3320;-2820};{
    87716;108484;-3320;-2820}} territory_end
    npcmaker_ex_begin [giran03_2221_p47] name=[giran03_2221_p47m1] ai=[default_maker] maximum_npc=44
    npc_ex_begin [gem_dragon] pos={88932;107336;-3104;0} total=1 respawn=120sec respawn_rand=20sec Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] is_chase_pc=2500 npc_ex_end
    npc_ex_begin [gem_dragon] pos={89764;105740;-3216;0} total=1 respawn=120sec respawn_rand=20sec Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] is_chase_pc=2500 npc_ex_end
    npc_ex_begin [gem_dragon] pos={88784;105920;-3136;0} total=1 respawn=120sec respawn_rand=20sec Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] is_chase_pc=2500 npc_ex_end
    npc_ex_begin [gem_dragon] pos={88016;106512;-3160;0} total=1 respawn=120sec respawn_rand=20sec Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] is_chase_pc=2500 npc_ex_end
    npc_ex_begin [gem_dragon] pos={89832;107584;-3068;0} total=1 respawn=120sec respawn_rand=20sec Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] is_chase_pc=2500 npc_ex_end
    npc_ex_begin [gem_dragon] pos={88144;108304;-3056;0} total=1 respawn=120sec respawn_rand=20sec Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] is_chase_pc=2500 npc_ex_end
    npc_ex_begin [gem_dragon] pos={89008;108336;-3024;0} total=1 respawn=120sec respawn_rand=20sec Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] is_chase_pc=2500 npc_ex_end
    npc_ex_begin [gem_dragon] pos={90208;108160;-3036;0} total=1 respawn=120sec respawn_rand=20sec Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] is_chase_pc=2500 npc_ex_end
    npc_ex_begin [gem_dragon] pos=anywhere total=1 respawn=120sec respawn_rand=20sec Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] is_chase_pc=2500 npc_ex_end
    npc_ex_begin [gem_dragon] pos=anywhere total=2 respawn=120sec respawn_rand=20sec is_chase_pc=2500 npc_ex_end
    npc_ex_begin [dust_dragon_searcher] pos=anywhere total=1 respawn=120sec respawn_rand=20sec ai_parameters={[SuperPointName]=[2221_47]} npc_ex_end
    npcmaker_ex_end
    territory_begin [giran03_2221_p47]
    territory_end - тут вроде как без сложностей, указан полигон и квадрат карты, в котором он создаётся.

    npc_ex_begin - собственно NPC, который будет спавниться в заданном полигоне. В данном случае - [gem_dragon] pos={88932;107336;-3104;0} - указаны точные координаты, либо pos=anywhere - спавнится в любой точке, заданного полигона.

    maximum_npc=44 - хотелось бы узнать, что это и для чего.

    total=1 - кол-во NPC

    respawn=120sec respawn_rand=20sec - время респавна.

    Privates=[gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec] - Миньоны NPC, но проблема (лично у меня) как знать есть ли они у него и сколько. Именно у NPC в примере их вроде как бы и нет, а если верить этим записям, то вроде как и есть :-). И что обозначает эти записи (ясно что это миньоны, но хочется поконкретнее)- gem_dragon:gem_dragon:1:0sec;gem_dragon:gem_dragon:1:0sec.

    is_chase_pc=2500 хотелось бы узнать, что это и для чего.

    ai_parameters={[SuperPointName]=[2221_47]} - координаты какого суперпоинта будет подхватывать NPC.
    Пока вроде как всё, но думаю будут ещё вопросы. Ну и сильно там не увлекайтесь закидыванием :poop: :-D.
     
  2. Zubastic

    Zubastic Знающий Проверенный

    Регистрация:
    24 апр 2016
    Сообщения:
    770
    Симпатии:
    359
    Баллы:
    380
    Макс радиус, после которого NPC идет к себе в территорию.
    npcid,ai,count,respawn time, через ; указываются типы.
     
    BENZVALEN нравится это.
  3. Diagod

    Diagod Пляшущий с бубном Местный

    Регистрация:
    6 фев 2016
    Сообщения:
    91
    Симпатии:
    59
    Баллы:
    192
    максимальное количество НПС, которое может быть заспаунено текущим спаун мейкером.
     
  4. Diagod

    Diagod Пляшущий с бубном Местный

    Регистрация:
    6 фев 2016
    Сообщения:
    91
    Симпатии:
    59
    Баллы:
    192
    Это не просто миньены, нужно смотреть АИ конкретных НПС и как эти миньены там используются...Они могут спаунится вместе с хозяином, а могут и раз в N времени или по какому-то событию, к примеру атаке "сопартийца мобов" и т.д.
     
    Elastic Heart нравится это.
  5. malike

    malike Участник Пользователь

    Регистрация:
    23 окт 2016
    Сообщения:
    41
    Симпатии:
    5
    Баллы:
    86
    Скажите что означает тут [gem_dragon] pos={88932;107336;-3104;0} последний 0???? Побегал по файлу npcpos везде разные значения стоят.
     
  6. *Immortal Pony*

    *Immortal Pony* Бывалый Проверенный

    Регистрация:
    8 май 2015
    Сообщения:
    1.224
    Симпатии:
    567
    Баллы:
    535
    Направление куда смотрит НПЦ
     
    kick и malike нравится это.
  7. malike

    malike Участник Пользователь

    Регистрация:
    23 окт 2016
    Сообщения:
    41
    Симпатии:
    5
    Баллы:
    86
    Код:
    territory_begin    [Giran_NPC]    {{83533;147809;-3400;-708};{81599;147809;-3464;-708};{81599;149422;-2708;-708};{83611;149422;-3464;-708}}    territory_end       
    npcmaker_begin    [Giran_NPC]    initial_spawn=all    maximum_npc=2         
    npc_begin    [test_server_helper]    pos = {83470;147897;-3400;0}    total = 1    respawn = 1min    npc_end
    npc_begin    [test_server_helper]    pos = {81924;148304;-3464;0}    total = 1    respawn = 1min    npc_end
    npcmaker_end
    Еще вопрос что такое 4й координат (-708) в квадрате территории? {{83533;147809;-3400;-708} и почему -708 везде одинаков.
    Также вопрос чтобы не морочится и не рисовать квадраты под каждого NPC в каждом городе, я могу сделать один большой квадрат на всю карту? и поставить в нем нужных NPC, чем это черевато?

    Кстати и как определить направление в какую сторону смотрит NPC? мин и макс значения что брать за 0? север юг и тд? 360 в теории, но числа в npcpos встречаются 16к+ не пойму объясните плиз

    Отвечу сам себе, если взять часы то 12 дня это 0(Восток), 3 часа это 16000 6 часов 32000 9 часов 48000 соотвествено) может кому поможет, вопрос с -708 еще остался

    Опять сам себе, вот отличная программа, в которой можно вкурить что к чему :-) NpcPosMaker
     
    Последнее редактирование модератором: 16 фев 2017
    *Immortal Pony* нравится это.
  8. *Immortal Pony*

    *Immortal Pony* Бывалый Проверенный

    Регистрация:
    8 май 2015
    Сообщения:
    1.224
    Симпатии:
    567
    Баллы:
    535
    Только хотел ответить: это же изи (как я люблю это писать, но не всегда у самого это *изи* проходит)))

    Находим что за нпц и понимаем почему у этого нпц такие координаты...
    п.с. как написал один чел (точно не помню кто из форумчан): Корейцы не епались в момент создания территорий и все остального, пилил десятки сотен кода под один шаблон (при надежде что когда то это поправят, но видать все же не стали делать таких эпик действий), так что можно встретить еще много чего *под копирку*, и опять же начать задавать вопросы: *А почему так??*...

    ПТС девелоперы запилите уже достойное описание (хоть чего то) из ПТС, хотя опять увижу эпик ответ от зуба или еще кого то....
     
    Последнее редактирование модератором: 16 фев 2017
  9. KanuToIIIKa

    KanuToIIIKa Пляшущий с бубном Пользователь

    Регистрация:
    26 мар 2016
    Сообщения:
    51
    Симпатии:
    29
    Баллы:
    154
    x y zmin zmax
     
  10. kick

    kick Магистр Йода Администратор

    Регистрация:
    20 янв 2015
    Сообщения:
    4.918
    Симпатии:
    3.465
    Баллы:
    6.235
    И так описано многое
     
  11. *Immortal Pony*

    *Immortal Pony* Бывалый Проверенный

    Регистрация:
    8 май 2015
    Сообщения:
    1.224
    Симпатии:
    567
    Баллы:
    535
    Оффтоп:
    Печалит что все долбят только Хф и ниже, подпольщики только ГОД+++ срипты мучает, вот по тому и половина народа *ахуе*** когда берет в руки подобное и начинает *что то там понимать*
     
  12. Bagoc

    Bagoc Участник Пользователь

    Регистрация:
    8 сен 2015
    Сообщения:
    28
    Симпатии:
    2
    Баллы:
    88
    раз пнули с темы спрошу здесь - если у меня стоит respawn=168hour respawn_rand=48hour, то респ будет через 168 +-48 часов т.е. 120-216 часов?
     
  13. *Immortal Pony*

    *Immortal Pony* Бывалый Проверенный

    Регистрация:
    8 май 2015
    Сообщения:
    1.224
    Симпатии:
    567
    Баллы:
    535
    Посмотрите формулу вычисления respawn(в ПТС или яве - что у вас) и прикиньте
    respawn=168hour respawn_rand=48hour - а это уже описано, рандомно и тут вы не угадаете 120\128\130 вовсе (да и все зависит от того как у вас это реализовано)
     
    Bagoc нравится это.
  14. Zubastic

    Zubastic Знающий Проверенный

    Регистрация:
    24 апр 2016
    Сообщения:
    770
    Симпатии:
    359
    Баллы:
    380
    Раздел птс сервера, что тут "угадывать"?
    Крч формула такая:
    168-48 = 120. Макс респ 9 часов (меньше 9 можно, больше - нет), т.е. 120-129 получается респаун.
     
    risi, kick и Bagoc нравится это.
  15. gattsu

    gattsu Свой человек Open Source
    Contributor

    Регистрация:
    24 ноя 2015
    Сообщения:
    148
    Симпатии:
    259
    Баллы:
    471
    ...

    рандом - диапазон случайного распределение. Как он реализован, надо проверять экспериментальным путем
    Есть по сути два варианта:
    Первый
    respawn_time = respawn + random(0, respawn_rand)
    тут просто +
    respawn_time = respawn + random(-respawn_rand, respawn_rand)
    тут +-
    random(min, max)

    Первое можно сделать так чтобы respawn_rand был больше чем respawn, вылетит ли ошибка при загрузке...
    Второе сдлелать спавн, где respawn=20sec respawn_rand=20sec, убивать мобов считать время, появится ли моб раньше чем за 20 секунд, тогда второй вариант.

    Я склоняюсь больше к первому варианту. Нет смысла делать +-, скоре respawn минимальное, допустимое, время перед респавном, а там + [0, respawn_rand]
     
    *Immortal Pony* и Bagoc нравится это.
  16. Bagoc

    Bagoc Участник Пользователь

    Регистрация:
    8 сен 2015
    Сообщения:
    28
    Симпатии:
    2
    Баллы:
    88
    спасибо. а подскажите тогда еще пожалуйста где найти этот "Максимальный респ"?
     
  17. Zubastic

    Zubastic Знающий Проверенный

    Регистрация:
    24 апр 2016
    Сообщения:
    770
    Симпатии:
    359
    Баллы:
    380
    Нет гайка, не так. Можешь сам убедиться :-)
    Формула именно такая, какую я описал. Кстати она зависит от типа мейкера и для некоторых респ отличается.
     
    kick нравится это.
  18. kick

    kick Магистр Йода Администратор

    Регистрация:
    20 янв 2015
    Сообщения:
    4.918
    Симпатии:
    3.465
    Баллы:
    6.235
    Только это не гайка
     
  19. Zubastic

    Zubastic Знающий Проверенный

    Регистрация:
    24 апр 2016
    Сообщения:
    770
    Симпатии:
    359
    Баллы:
    380
    тьфу ники похожи xD
     
  20. Xeonc

    Xeonc Пляшущий с бубном Местный

    Регистрация:
    13 ноя 2016
    Сообщения:
    125
    Симпатии:
    97
    Баллы:
    173
    Нигде, сугубо технически - это баг сервера. После 9 часов и 6 минут идет "переполнение". Фиксить мы это не стали, т.к. за много лет все давно уже привыкли к тем респам, которые есть сейчас, а что задумывали корейцы в действительности - известно только им
     
    Bagoc нравится это.
Похожие темы
  1. kick
    Ответов:
    1
    Просмотров:
    712
  2. kick
    Ответов:
    0
    Просмотров:
    567
  3. kick
    Ответов:
    28
    Просмотров:
    3.389
  4. kick
    Ответов:
    0
    Просмотров:
    423
  5. kick
    Ответов:
    7
    Просмотров:
    493
Загрузка...