1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Любая версия PC, PQ, Public Counter

Тема в разделе 'PW Документация', создана пользователем kostik21730, 25 фев 2017.

  1. TopicStarter Overlay

    kostik21730 Пользователи

    Сообщения:
    188
    Лайки:
    48
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Ukraine Ukraine
    Не мастер красиво писать, так что по пунктам выложу к чему пришел за последнее время.

    1) Третий параметр в функции инициализации PC в aipolicy отвечает за то, будет ли присвоено числовое значение для создаваемого PC (true), или скопировано значение из PC указанного вторым параметром (false). Великий китайский 4байтный булеан. Пруф: op_set_common_data::DoSomething.
    2) О commondata в лимитах. Если указано, то переменными, создаваемыми без PQ костылей, можно будет пользоваться в квестах (подводный камень. см. п.3). В противном случаи придется делать PQ обвертку для нужного квеста.
    3) Спасибо китайцам за очевидное поведение ядра. Переменные, ID которых <=100000, нельзя использовать в квестах, даже при commondata в лимитах и существующем выражении PQ. Можно только в AI. Пруф: ModifyCommonValue и SetCommonValue.

    Ну и мб кому будет полезна такая инфа:
    1) Переменные которые не были инициализированные можно использовать и они всегда = 0.
    2) Переменные отдельные для каждого экземпляра(хз как это назвать, надеюсь понятно) данжа.
    3) Для удобства можно чекать значения переменных с консоли: d 217 var. Только для GM. Спс великому смертигу за инфу.

    Что осталось не разобранным:
    1) Изменение через консоль переменных.
    2) Значения в PQ выражениях. Есть догадки, что их можно создавать глобальными, что бы были доступны из всех локаций с лимитом commondata. Рей, приди ]:).

    Если кому есть что сказать, или чем дополнить, то вперед. Пора уже это все разобрать до конца.
    Тыщ нравится это.
  2. int 3 Программист Пользователи Open Source Contributor

    Сообщения:
    342
    Лайки:
    531
    Пол:
    Мужской
    Репутация:
    10
    Страна:
    Russian Federation Russian Federation
    d 10900 var value -> var = value
    d 10901 var delta -> var = var + delta
    kostik21730 нравится это.
  3. Rey35 Пользователи

    Сообщения:
    399
    Лайки:
    705
    Пол:
    Мужской
    Репутация:
    8
    Если ты имел ввиду то, что, допустим, при получении значения из одной и той же переменной в разных локациях\экземплярах локации это значение было одинаковым, то нет, так не будет. Ибо как ты сам написал "переменные отделены для каждого экземпляра данжа".

    Теперь дополнения.
    Кроме глобальных переменных существуют еще 2 вида переменных:

    1. Исторические переменные.
    Механика схожа с глобальными переменными, но в отличии от глобальных значения исторических распространяются на весь сервер и не сбрасываются после его рестарта. Кроме того, эти переменные используются в механике исторических этапов для подсчета прогресса ист. этапа, но вообще исторические переменные это отдельная функция которая работает сама по себе и ее можно использовать в каких то других целях, что китайцы иногда и делают.

    2. Локальные переменные.
    Начиная с версии 1.5.1 v112 у каждого отдельного экземпляра моба всегда существует 3 локальные переменные. Стандартные значения этих переменных задаются в элике в листе мобов в соответствующих параметрах. На данный момент с локальными переменными может взаимодействовать только AI.

    Начиная с версии 1.5.1 v112 китайцы значительно расширили возможности AI, сделав возможность брать такие значения как ID моба, кол-во мобов, ID скилла, уровень скилла и т.д. из локальных и глобальных переменных, а так же присваивать им рандомные значения. Кроме того китайцы добавили в AI возможность применять некоторые математические операции к значениям локальных и глобальных переменных с записью результата в указанную локальную\глобальную переменную.
    Rody66, Тыщ и kostik21730 нравится это.
  4. Rey35 Пользователи

    Сообщения:
    399
    Лайки:
    705
    Пол:
    Мужской
    Репутация:
    8
    Оу, забыл. Есть несколько глобальных переменных. значение которым задают спец. функции. Например есть глоб. переменная 200006, значение которой задает функция выбора уровня башни(не AI, таск или еще что то, а именно спец. функция). В этой переменной хранится значение выбранного уровня и именно от этого значения в этой переменной начинает плясать вся AI механика башни.
  5. Roymike Old school Пользователи

    Сообщения:
    1.030
    Лайки:
    1.004
    Пол:
    Мужской
    Репутация:
    8
    Команда:
    AncientPW
    Это всё можно было записать себе в блокнот и хранить на рабочем столе, но уж никак не постить в документацию для нубов. Возьму себя в пример: я никогда не работал с PC и может быть уделя этой теме несколько часов с твоей помощью я до чего-то дойду. Но документация ориентирована на полных нулей, так что это можно в оффтоп перемещать, либо же редактировать до понятного всем уровня с примером и картинками как это здесь любят.
Черновик сохранён Черновик удалён
Similar Threads
  1. <Mr Killer>
    Ответов:
    16
    Просмотров:
    8.553
  2. msFrolova
    Ответов:
    11
    Просмотров:
    2.123
  3. Roymike
    Ответов:
    31
    Просмотров:
    4.133
Загрузка...

Поделиться этой страницей