Важно Форуму RPGRUSSIA 15 лет!
  • 663
  • 13
Друзья, сегодня нашему форуму исполняется 15 лет! Кажется, только вчера мы открывали первые разделы, спорили о правилах и радовались каждому новому участнику. Но годы пролетели - а мы всё здесь, и...
Новости Path of Exile 2: Патч 0.2.0 «Dawn of the Hunt» - краткое описание
  • 583
  • 0
Вчера вечером, в 22.00 по МСК, в прямом эфире вышла презентация по будущему патчу 0.2.0. В целом, игроки ждали нового класса и ребаланса существующих умений, но то что выкатили GGG на публику...
Новости Gothic 1 Remake - Demo (Nyras Prologue)
  • 3.678
  • 2
Ну что, заключённые, готовы к встрече с колонией? Мир, где каждый встречный мечтает вас зарезать за кусок хлеба, а единственный закон - сила. Вас ждёт совершенно новый пролог к легендарной...
Новости Большое интервью с HotA Crew - часть 2
  • 2.682
  • 0
HotA Crew о Кронверке и будущих обновлениях (часть 2) Какие герои будут вести армии Кронверка? Герои-воины зовутся Вожди, маги — Старейшины. Их параметры и способности подчеркнут сильные стороны...
EthernalBreeze

EthernalBreeze 3.05 (BUILD 6.4.6)

Нет прав доступа на загрузку
Сей мод направлен на расширение Нового Баланса в формат Дьяблоида и схожих рпг игр.
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.115
Реакции
1.872
Баллы
384
Лучшие ответы
0
Это с фиксами, но без пресетов. Я их обновлю сейчас и скину под этот патч.

@StonedWizzard, я сравниваю с предыдущим скриптом DamageUtils и вижу ты правил ту ошибку, которую я заметил, но там же не в одной строке был косяк, а в трех. Выделил на скрине.
Посмотреть вложение 148353
лол, поправлю) хотя по факту та функция вообще не используется.
 
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.115
Реакции
1.872
Баллы
384
Лучшие ответы
0
@StonedWizzard , я тут не так давно предлагал сделать привязку статов к типу предмета.
EthernalBreeze

Я могу заполнить json, но, естественно, для этого тебе нужно будет доработать генератор, чтобы он выбирал только подходящие статы.
Или, как вариант, я могу заполнить массивы, например:
const int StExt_Int_1hMelee[9] = { 1, 2, 5, 10, 11, 12, 13, 40, 150 };
Среди массива просто можно будет выбрать чарку для шмота.

Собственно начну, если дашь добро.
Так у каждого стата в конфиге генератора уже есть поле для запрещения спавна на определённых типах вещей
 

DanilaDNL

Наемник
Участник форума
Регистрация
2 Май 2018
Сообщения
782
Реакции
215
Баллы
105
Лучшие ответы
0
Так у каждого стата в конфиге генератора уже есть поле для запрещения спавна на определённых типах вещей
Ты про IncopatibleItemTypes ?
Просто нужно в 1 у всех возвести его?
1735720104451.png

А как оно работает вкратце можешь объяснить?
Как оно понимает куда ему повесится?
 

the9mm

Наемник
Участник форума
Регистрация
22 Окт 2017
Сообщения
595
Реакции
108
Баллы
90
Лучшие ответы
1
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.115
Реакции
1.872
Баллы
384
Лучшие ответы
0
Ты про IncopatibleItemTypes ?
Просто нужно в 1 у всех возвести его?
Посмотреть вложение 148356
А как оно работает вкратце можешь объяснить?
Как оно понимает куда ему повесится?
Тут самое интересное. Несовместимые типы, это "флаговое" значение, которое содержит в себе перечень типов вещей. Какие вещи запретить для спавна можно посчитать путём выполнения побитового "или" для перечня типов вещей. Потом после этой операции нужно будет записать сюда получившееся значение в десятичном формате.
По факту же нужно просто сложить значения типов вещей, которые не должны иметь подобные свойства и записать в это поле.

C++:
const int StExt_ItemType_None = 0;
const int StExt_ItemType_Helm = 1;                // 1 << 0 = 1
const int StExt_ItemType_Armor = 2;               // 1 << 1 = 2
const int StExt_ItemType_Pants = 4;               // 1 << 2 = 4
const int StExt_ItemType_Boots = 8;               // 1 << 3 = 8
const int StExt_ItemType_Gloves = 16;             // 1 << 4 = 16
const int StExt_ItemType_Belt = 32;               // 1 << 5 = 32
const int StExt_ItemType_Amulet = 64;             // 1 << 6 = 64
const int StExt_ItemType_Ring = 128;              // 1 << 7 = 128
const int StExt_ItemType_Shield = 256;            // 1 << 8 = 256
const int StExt_ItemType_Sword1h = 512;           // 1 << 9 = 512
const int StExt_ItemType_Sword2h = 1024;          // 1 << 10 = 1024
const int StExt_ItemType_Axe1h = 2048;            // 1 << 11 = 2048
const int StExt_ItemType_Axe2h = 4096;            // 1 << 12 = 4096
const int StExt_ItemType_Mace1h = 8192;           // 1 << 13 = 8192
const int StExt_ItemType_Mace2h = 16384;          // 1 << 14 = 16384
const int StExt_ItemType_MagicSword = 32768;      // 1 << 15 = 32768
const int StExt_ItemType_Staff = 65536;           // 1 << 16 = 65536
const int StExt_ItemType_Rapier = 131072;         // 1 << 17 = 131072
const int StExt_ItemType_DexSword = 262144;       // 1 << 18 = 262144
const int StExt_ItemType_Halleberd = 524288;      // 1 << 19 = 524288
const int StExt_ItemType_Spear = 1048576;         // 1 << 20 = 1048576
const int StExt_ItemType_DualL = 2097152;         // 1 << 21 = 2097152
const int StExt_ItemType_DualR = 4194304;         // 1 << 22 = 4194304
const int StExt_ItemType_Bow = 8388608;           // 1 << 23 = 8388608
const int StExt_ItemType_CrossBow = 16777216;     // 1 << 24 = 16777216
const int StExt_ItemType_MagicStaff = 33554432;    // 1 << 25 = 33554432
const int StExt_ItemType_Potion = 67108864;       // 1 << 26 = 67108864
const int StExt_ItemType_Scroll = 134217728;      // 1 << 27 = 134217728
const int StExt_ItemType_Torso = 268435456;        // 1 << 28 = 268435456
 

DanilaDNL

Наемник
Участник форума
Регистрация
2 Май 2018
Сообщения
782
Реакции
215
Баллы
105
Лучшие ответы
0
Тут самое интересное. Несовместимые типы, это "флаговое" значение, которое содержит в себе перечень типов вещей. Какие вещи запретить для спавна можно посчитать путём выполнения побитового "или" для перечня типов вещей. Потом после этой операции нужно будет записать сюда получившееся значение в десятичном формате.
По факту же нужно просто сложить значения типов вещей, которые не должны иметь подобные свойства и записать в это поле.

C++:
const int StExt_ItemType_None = 0;
const int StExt_ItemType_Helm = 1;                // 1 << 0 = 1
const int StExt_ItemType_Armor = 2;               // 1 << 1 = 2
const int StExt_ItemType_Pants = 4;               // 1 << 2 = 4
const int StExt_ItemType_Boots = 8;               // 1 << 3 = 8
const int StExt_ItemType_Gloves = 16;             // 1 << 4 = 16
const int StExt_ItemType_Belt = 32;               // 1 << 5 = 32
const int StExt_ItemType_Amulet = 64;             // 1 << 6 = 64
const int StExt_ItemType_Ring = 128;              // 1 << 7 = 128
const int StExt_ItemType_Shield = 256;            // 1 << 8 = 256
const int StExt_ItemType_Sword1h = 512;           // 1 << 9 = 512
const int StExt_ItemType_Sword2h = 1024;          // 1 << 10 = 1024
const int StExt_ItemType_Axe1h = 2048;            // 1 << 11 = 2048
const int StExt_ItemType_Axe2h = 4096;            // 1 << 12 = 4096
const int StExt_ItemType_Mace1h = 8192;           // 1 << 13 = 8192
const int StExt_ItemType_Mace2h = 16384;          // 1 << 14 = 16384
const int StExt_ItemType_MagicSword = 32768;      // 1 << 15 = 32768
const int StExt_ItemType_Staff = 65536;           // 1 << 16 = 65536
const int StExt_ItemType_Rapier = 131072;         // 1 << 17 = 131072
const int StExt_ItemType_DexSword = 262144;       // 1 << 18 = 262144
const int StExt_ItemType_Halleberd = 524288;      // 1 << 19 = 524288
const int StExt_ItemType_Spear = 1048576;         // 1 << 20 = 1048576
const int StExt_ItemType_DualL = 2097152;         // 1 << 21 = 2097152
const int StExt_ItemType_DualR = 4194304;         // 1 << 22 = 4194304
const int StExt_ItemType_Bow = 8388608;           // 1 << 23 = 8388608
const int StExt_ItemType_CrossBow = 16777216;     // 1 << 24 = 16777216
const int StExt_ItemType_MagicStaff = 33554432;    // 1 << 25 = 33554432
const int StExt_ItemType_Potion = 67108864;       // 1 << 26 = 67108864
const int StExt_ItemType_Scroll = 134217728;      // 1 << 27 = 134217728
const int StExt_ItemType_Torso = 268435456;        // 1 << 28 = 268435456
Ого. Сложновато.
Я отлично разбираюсь, когда приводят пример.
Можешь привести пример, где ты например StExt_ItemType_Sword1h запрещаешь брать параметр StExt_PcStats_Index_2hMastery?
1735726404715.png

Думаю мне хватит 1го примера.
 
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.115
Реакции
1.872
Баллы
384
Лучшие ответы
0
Ого. Сложновато.
Я отлично разбираюсь, когда приводят пример.
Можешь привести пример, где ты например StExt_ItemType_Sword1h запрещаешь брать параметр StExt_PcStats_Index_2hMastery?
Посмотреть вложение 148360
Думаю мне хватит 1го примера.
тупо для мечей это 512 и будет.
для всех одноручных типов это будет:
StExt_ItemType_Shield + StExt_ItemType_Sword1h + StExt_ItemType_Axe1h + StExt_ItemType_Mace1h + StExt_ItemType_MagicSword + StExt_ItemType_Rapier + StExt_ItemType_DexSword + StExt_ItemType_DualL + StExt_ItemType_DualR или же
256 + 512 + 2048 + 8192 + 32768 + 131072 + 262144 + 2097152 + 4194304
1735726869488.png

Обрати внимание что в двоичном представлении у нас 9 единиц, что логично ибо мы сложили 9 флагов. Вообще если вводить последовательно 2, 4, 8, 16... и тд, то можно увидеть как одна лишь единица смещается влево, характеризуя собой определённый и конкретный бит. Короче обычные битовые операции из любого учебника по яп.
 

DanilaDNL

Наемник
Участник форума
Регистрация
2 Май 2018
Сообщения
782
Реакции
215
Баллы
105
Лучшие ответы
0
Ааа. Стоп. Перечитав 10 раз я понял. Подверди...
Для того, чтобы заблокировать стат StExt_PcStats_Index_2hMastery на StExt_ItemType_Sword1h я пишу в IncopatibleItemTypes число
512
А чтобы заблокировать StExt_PcStats_Index_2hMastery на типах (StExt_ItemType_Sword1h,StExt_ItemType_Axe1h,StExt_ItemType_Mace1h) я пишу 10752 в поле IncopatibleItemTypes, что значит (512 + 2048 + 8192) ?
--- Добавлено: ---

Да. Написали одновременно. Понял кароч) Спасибо большое!
 

khellzhao

Труженик
Участник форума
Регистрация
22 Ноя 2021
Сообщения
347
Реакции
124
Баллы
63
Лучшие ответы
0
рефлект и урон не в ту школу пофиксили?
 
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.115
Реакции
1.872
Баллы
384
Лучшие ответы
0
Автор темы Похожие темы Форум Ответов Дата
Icefist Новый Баланс - FAQ / Мануалы 0
Сверху Снизу