PTS script info.

VoicesVoicesVoices

Dreams Blacker than Death
Сообщения
1 257
Лайки
960
Четко ты стрелы метнул. Я это говорил в 2012, может в 2013 году. А потом я это дело немного потестил, ФМ-у сообщил как должно быть, а на форумах только кивал в ответ на селфовый резист. Ну чтобы не распространять правильную механику дальше реализаци внутри сборки. И моя политика не изменилась.

Кстати канцелы я полноценно не дотестил, так что распинаться все равно не стал бы, я отвык говорить непроверенные вещи.
Ну окей, изменим вопрос - в чём тогда разница между slot_buff\slot_all? Шо це таке тогда, хохол? Мне тут вот этот момент больше интересен, нежели чем селфовость\неселфовость.
 

Raizel

Граф
Сообщения
4 073
Лайки
2 011
Итак. Раз уж 150 тысяч человек написали про то, как верно будет читать ПТС скрипты и где искать нужную инфу - ловите.
Сразу скажу - особо запотевать на 10 страниц я не буду, я лишь дам вводную информацию, что бы вы могли ориентироваться, а дальше - всё в ваших руках.

Для вашего проекта есть 2 пакета скриптов:

High Five - https://yadi.sk/d/lqbYG6DU3M9Zt2

Gracia Final (почти всегда можно сверять с Эпилогом) - https://yadi.sk/d/mtq4zU0S3M9ZsV


Собственно пока что мы пройдёмся по параметрам строки (взял отсюда, но дополнил и подправил):




Описание параметров:
  • skill_begin - начало скилла
  • skill_name = [s_wyvern_breath] - название скилла (на которое ссылаются извне, например из itemdata)
  • /* [와이번 브레스] */ - Комментарий на корейском языке
  • skill_id = 4289 - ID Скилла
  • level = 1 - Уровень скилла
  • operate_type = P - пассивный, А1 или А2 - активный скилл.
  • magic_level = 60 - Уровень с которого персонаж может использовать данный скил
  • effect = - Что умеет скилл. Список эффектов.
  • operate_cond = {{op_wyvern}} - условия использования скилла
  • is_magic = 1 - скорость каста скилла и откат зависят от каст спида
  • is_magic = 0 - скорость каста скилла и откат зависят от атак спида
  • is_magic = 2 - фиксированые скорость каста скилла и откат ни от чего не зависят aka SOE, свиток воскрешения etc.
  • mp_consume2 = 400 - Сколько требует MP
  • cast_range = 700 - Дальность выстрела данным скиллом
  • effective_range = 1200 - Максимальная дальность при касте скилла. Если начал с 900 ренджей, а у скилла предел 1200 - в момент выхода из радиуса каст скилла отменяется.
  • skill_hit_time = 3.6 - Время каста скилла
  • skill_cool_time = 0 - фриз после каста, если поставить параметр "3" это будет значить что после каста скилла чар будет 3 секунды стоять как бы заморожен, нельзя будет двигаться, кастовать
  • skill_hit_cancel_time = 3.6 - То время, за которое можно отменить\спрятаться за стенкой от скилла (около-докаст).
  • reuse_delay = 6 - Откат скила
  • attribute = attr_fire - тип скилла (водяной, ветряной, темная атака например..)
  • effect_point = -1500 - используется для повышения эффективности аггра у мобов
  • target_type = wyvern_target - тип цели, на которую кастуется скилл. В данном случае только на другую виверну
  • affect_scope = wyvern_scope - как выбирается цель (одиночная, на себя, диапазон, аура)
  • affect_object = wyvern_object - как выбирается цель (одиночная, на себя, диапазон, аура)
  • affect_limit = {0;0} - число целей в пвп\пве.
  • next_action = none - Выполнение команды после использовании скила
  • ride_state = {@ride_wyvern} - описывает, можно ли юзать скилл сидя на страйдере/виверне и так далее
  • skill_end - окончание скила
Дополненное:
  • lv_bonus_rate=2 - Модификатор бонуса шанса от уровня скилла.
  • magic_level = ** - Дополнительно является модифицируемым числом, при расчёте шанса.
  • reuse_delay_lock = 1 - Статический откат скилла. Используется (к примеру) в Death Shot\Multiple Shot. Флаги D\S используются для сохранения данных скиллов типа банок с откатом в сутки и прочим подобным. Требуется для взаимодействия с сервером.
  • buff_protect_level - Предположительно защита баффов от каких-то воздействующих условий (?)
  • affect_range = 200 - радиус действия эффекта от цели каста, юзается в массовых скилах.
  • activate_rate=50 - Базовый шанс скилла в %, от которого начинается последующий расчёт шанса. Бустится заточкой скилла на шанс (например).

Ну и хватит об этом. Если кто-то хочет дополнить - прошу, внесу инфу который не хватает.


Теперь разберём самое главное - то, как мы ищем и читаем информацию:

Изначально, скачав один из архивов, вы увидите туеву хучу текстовых файлов. На данном этапе понадобится лишь несколько, но сейчас о главном оружиее - Skilldata.txt.

Советую открывать такие файлы программой Notepad++ или аналогичными, т.к. вес у них существенный и обычный блокнот может зависнуть на пару минут.

Итак, открыв файл мы видим очень и очень много строк, как разобраться?

Расскажу на примере скилла Bluff.

Всё что нам нужно знать - ID скилла.

Следуем в самую удобную для поиск ID базу - l2kc.ru и делаем следующее:
screenshot_2557.png

После чего кликаем на знакомую иконку и в адресной строке получаем ссылку типа - https://l2kc.ru/skill/358/1

Где:
358 - ID.
1 - Уровень.

Теперь, когда мы знаем как найти скилл, идём обратно в наш текстовик и ищем наиболее простым способом:
Берём вот эту часть из первого попавшегося скилла skill_id = 3 и заменяем 3 на 358 в окне поиска (обычно ctrl+f).

После через переезжаем на нужную строчку:


Предположим, вас давно интересовало, как работает Bluff. Ну давайте попробуем узнать.

Обычно, главная часть всей информацией (если вас не интересуют откаты и прочее), содержится после effect =
В нашем случае мы имеем приличный кусок эффектов:


Теперь немного инфы о том чё и как.

Как правило, все названия эффектов интуитивно понятны даже людям с минимальным знанием английского.

  • Имя эффекта пишется вначале, например: i_align_direction; это разворот цели спиной.
  • Цифра после: ;80 - то, с каким шансом цель повернётся спиной. Стоит заметить, что шанс не статичный, об этом ниже.
  • Есть и общие для многих скиллов вещи, например: p_block_act - этот товарищ отвечает за потерю контроля над персонажем, когда мы получили Stun.
Если вы наблюдательны, то заметили, что у каждого эффекта шанс содержится в своих скобках, следовательно: Каждый шанс - сам по себе и проходят они независимо друг от друга. Вот таким образом это и узнаётся.

Разберём ещё несколько актуальных параметров из Bluff'a (почти все актуальны для всех скиллов, которые вам интересны):

  • operate_type = A2 - Тип скилла. P - пассивный, А1 - скилы с эффектами однократного(i_), A2 скилы с временными(p_ которые висят на чаре) эффектами, так же возможны в паре и однократные эффекты. DA1 - тоже, что и A1, только в начале каста, чар подлетает к цели, DA2 тоже, что и A2, только в начале каста, чар подлетает к цели.
  • operate_cond = {{equip_weapon;{dagger;dualdagger}}} - на этом моменте указывается то, с чем, по PTS условиям, может быть использован Bluff.
  • mp_consume2 = 35 - один из интересных моментов. У дагерщиков существует только параметр mp_consume2, но где mp_consume1? А его нет. Для непонимающих - почти все скиллы состоят из двух потреблений в начале каста и в конце. Примера ради - если вы съюзали Maximum Clarity, то начальный mp_consume1 - будет жрать свою капельку маны, что делает Maximum Clarity не 100%-ым. Но в случае с скиллами ножа, у которых нет mp_consume1 - потребление маны становится нулевым.
  • basic_property = men - базовый параметр резиста. В нашем случае это параметр MEN. И да, он действительно зависим от этого параметра, а не от CON, как могло показать сначала. Так же зависим от ментальных резистов. Из этого параметра расчитывается шанс.
  • abnormal_time = 9 - то время, которое провисит скилл при отсутствии какого-либо резиста. При наличии всех возможных резистов время падает, но не более чем на 50% от максимального.
  • activate_rate = 40 - базовый шанс в % (если у эффектов шанс прописан лично - они считаются отдельно).
  • abnormal_type = stun - собсна чё он такое по сущности. В нашем случае стан.
  • аttribute = {attr_none;0} - завязан ли скилл на атрибуте.
  • reuse_delay = 8 - откат. Если откат не статический - разгоняется баффами на откат, в зависимости от пренадлежности (физический\магический).
  • trait = {trait_derangement} - один из важных моментов, так называемый трейт. Но что такое трейт? Трейт это резист (дополнительный к basic_property), который идёт от эквипа. Что бы узнать какая вещь даёт тот или иной скилл - нужно найти её ID и провернуть всё то, о чём я говорил выше. К примеру trait_derangement имеют серьги антараса\закена.
  • abnormal_visual_effect = {ave_stun} - собсна то, что мы видим над целью. Например тут это стан, значит звёздочки над башкой.

Стоит так же заметить, что все уровни скилла идут последовательно, включая заточку. Сначала идёт скилл от 1 до последнего уровня, а после его ветки заточек. Так что внимательнее к названиям строк, например обычный блафф будет называться [s_bluff1], а с заточкой на шанс уже [s_bluff_chance1].



Думаю со Skilldata.txt всё более или менее понятно. Если есть желание - этих данных вам хватит, что бы разобраться и уйти глубже.

Теперь перейдём к побочным текстовикам, о которых я много трепаться не буду, лишь кратко опишу те, на которых стоит заострить внимание.
  • CubicData - инфа о кубиках и аггатионах (хрене что висит рядом с головой).
  • ArmorEnchantBonusData - бонусы хп от заточки армора. Grade-S - весь армор до S86 включительно.
  • expdata - простая таблица опыта на каждый уровень.
  • instantzonedata - описание и условия инст-зон.
  • itemdata - тоже самое что и Skilldata, только для итемов.
  • manordata - манор. Некоторые ловили профит, я даже не открывал.
  • multisell - PTS мультиселл.
  • npcpos\npcdata - полезно для отладки НПЦ на сервере.
  • optiondata - бонусы лсов\ольфов и прочей дряни.
  • PC_parameter - таблица хп\цп\мп для всех проф, на каждый уровень.
  • petdata - данные петов.
  • transform - информация о трасоформах.
  • UserBasicAction - взаимодействие.
Я бы написал больше - но если разбирать каждый скил по полочкам - оxуеть можно.
Если вы не понимаете какой-то параметр или момент в том или ином скилле - задавайте вопрос, разберёмся.
правильно тау сказал, инфа по сути не нужная, если нужно что то узнать - проще спросить у людей, что любят по умничать, чем самому это искать =), как хорошо что на нашем форуме таких людей хватает.
 

Thaumaturgy

Твой родственник
Сообщения
2 214
Лайки
667
На скрайде, и всех ХФ где я играл, в случае с зеалотом, резист идет только на бафы (те которые 24 ) обращал внимание что по сонгам канцел идет нормально, а на бафах уже слишком сильный разброс (А может и не обратил внимание, сонги так похожи все)
А в случае с таликом, то возможно пашет и на бафы, и на сонги, и на тригерры
На "всех ХФ где ты играл" в принципе нет разделения по бонусу.
Что талик, что зиалоты, что целки, что тол - все дают одно и то же:
Аддитивный бонус, ордер 0x40, стат cancelResist.
 

lgodzz

Моё почтение, я мастер клинка
Сообщения
2 180
Лайки
1 748
Ну окей, изменим вопрос - в чём тогда разница между slot_buff\slot_all? Шо це таке тогда, хохол?
Ну этот вопрос не я, не он не знают, есть варианты, но надо тестить, да и разницы особо нет. Все что я тебе написал про кансел верно, селф резистов и просчетов с середины нет. Что слоталл, что слот баф дают резы на всю строку сонгов и бафов.
 

Thaumaturgy

Твой родственник
Сообщения
2 214
Лайки
667
Ну окей, изменим вопрос - в чём тогда разница между slot_buff\slot_all? Шо це таке тогда, хохол? Мне тут вот этот момент больше интересен, нежели чем селфовость\неселфовость.
Я недотестил канцелы, я же выше написал. У меня лежит 3 экзельки с его тестами и по ним толком нихуя не скажешь.
 

ti nobody

visokaya pyaterka hroniki
Сообщения
772
Лайки
998
est' infa cht ov 2017 godu vsem pohuj na vashe pts urodie
 

1RoyalKing

Виконт
Сообщения
379
Лайки
135
в этой теме все такие через чур умные, а в админах сидит нулевой бази, отвечающий за баланс( почему так...
 
Верх