Новости Релиз Of Ash and Steel состоится 6 ноября
  • 8.227
  • 12
Of Ash and Steel: атмосферный экшен выходит 6 ноября 6 ноября станет важной датой для поклонников сложных и атмосферных игр - именно в этот день состоится релиз долгожданного проекта Of Ash and...
Новости В Of Ash and Steel начался закрытый плейтест
  • 11.930
  • 12
Разработчики "Русской Готики" объявили о старте закрытого плейтеста. Если вы оставляли заявку на участие, не забудьте проверить электронную почту или посмотреть свою библиотеку - возможно игра уже...
Новости Анонсирован Atomic Heart II
Новости Анонсирован ремастер Final Fantasy Tactics
  • 6.232
  • 2
Культовая пошаговая тактическая RPG от Square Enix получит второе дыхание. На проходящей выставке State of Play, где анонсируются игры для Play Station, состоялся анонс ремастера Final Fantasy...

Разное Помогите в создании опционального файла/патча для Гильдий "Арсенал"

blackscull

Житель города
Участник форума
Регистрация
22 Авг 2022
Сообщения
193
Реакции
155
Баллы
91
Лучшие ответы
0
#11
Галлахад - маг. посохи - 20+ штук.
Горакс - боевые посохи - 20+ штук.
Я почему удивился, как это планиуруется балансить с учетом посохов Мелитона, гильдейских посохов. Какая будет разница в уроне, длине, весе. Что будет влиять на урон - интеллект, карма, сила. Какие будут требования. Не будет ли такого что посохи будут отличаться на 10 урона. Не превратят ли эти посохи в хлам уже существующий гильдейские. Тут надо либо с нейронкой посидеть таблицы посоставлять, и в коде пошуршать посмотреть как расчитывается текущий урон, вес, специализация и прочее. С кодом если что подскажу как сейчас реализовано. И как посмотреть.
 
Автор
Автор
rioris1995

rioris1995

Рыцарь
Участник форума
Регистрация
31 Дек 2017
Сообщения
2.541
Реакции
903
Баллы
286
Лучшие ответы
12
#12
как это планиуруется балансить с учетом посохов Мелитона, гильдейских посохов
Ответ: одним из условий создания данного опционального пака было то, что СНАЧАЛА он создаётся, а далеко после этого пак, возможно, не потребуется и частично может быть постепенно внедрён в игру в том или ином виде. У авторов мода и тестеров пака будет возможность посмотреть, если я преуспею, конечно, в этом деле, ЧТО конкретно можно было бы изменить по разным направлениям оружейных веток. То есть, примерный план: сначала я, с возможной помощью других участников, делаю опциональный файл или сборник файлов, затем он тестируется и проверяется на баланс и соответствие моду Гильдии, в принципе. И по итогам, он либо остаётся просто опциональным сборником, который каждый сможет, при желании, скачать, либо в переработанном и дополненном виде встраивается в игру.
То есть, понятное дело, что я просто добавлю эти предметы торговцам, но, наглядно их увидев, могут возникнуть идеи, например, провести ребаланс, сделать новые оружейные ветки или переработать старые, добавить новые итемы в тайники и в качестве особых наград за задания и т. д. и т. п.
Надеюсь, что смог донести до вас цель этого проекта.
 
Автор
Автор
rioris1995

rioris1995

Рыцарь
Участник форума
Регистрация
31 Дек 2017
Сообщения
2.541
Реакции
903
Баллы
286
Лучшие ответы
12
#13
Не превратят ли эти посохи в хлам уже существующий гильдейские.
Если бы я мог, то первое, что я бы сделал, это переработка специализации, тоже в виде опционального плагина, чтобы работало примерно так:
"Изучается по одному баллу за 1 лп до 10, затем за 2 лп до 20, за 3 лп до 30 и т.д.
Также в линейках сделал бы требования для оружия и по владению и по специализации.
Бонус от специализации - чистый урон разный к разному оружию по коэффициенту. Есть ещё много идей в виду особых эффектов на определённых этапах специализации и т. д."
У магов есть ограничения на круги, а у воинов нет ограничения и они могут зачистить всё в течении 2-3 главы и с помощью данного инструмента можно было бы попытаться отрегулировать этот момент и уравновесить баланс в этом плане.
 
Последнее редактирование:
Автор
Автор
rioris1995

rioris1995

Рыцарь
Участник форума
Регистрация
31 Дек 2017
Сообщения
2.541
Реакции
903
Баллы
286
Лучшие ответы
12
#14
в коде пошуршать посмотреть как расчитывается текущий урон, вес, специализация и прочее.
Да, шуршу-шуршу, по мере возможностей, желания, настроения и сил.
Но возникают вопросы (затыки) и они, видимо не разрешаемые и не разруливаемые. Мне бы сделать хотя бы свой минимум-миниморум того, что надумал, то есть пока, без перелопачивания спецухи, веса, встраиваемых плюшек типа шока и поджигания и т. д.
С кодом если что подскажу как сейчас реализовано. И как посмотреть.
Вот за это большое спасибо! Ну, пока ладно, буду нацелен как уже сказал, на тот, минимум-миниморум, а то напридумывать можно много, а в итоге будет шиш. Надо хоть такую пре-альфа версию сделать для начала и выпустить.
 
Автор
Автор
rioris1995

rioris1995

Рыцарь
Участник форума
Регистрация
31 Дек 2017
Сообщения
2.541
Реакции
903
Баллы
286
Лучшие ответы
12
#15
Какая будет разница в уроне, длине, весе. Что будет влиять на урон - интеллект, карма, сила. Какие будут требования. Не будет ли такого что посохи будут отличаться на 10 урона.
Будет альтернативная ветка с другой зависимостью, скорее всего зависимость урона будет от маны по большей части или с прибавкой процента интеллекта по типу посоха алхимика, но мне меньше всего хотелось бы чтобы это зависело от кармы. Я не знаю как лучше сделать, мне надо протестировать, чтобы понять многие моменты. К тому же есть ещё важный вопрос, рекомендовать ли к этим веткам тот же Реквайр-патч для переработки урона под требования или нет. У меня мало представления о тех зависимостях, какие есть сейчас, поэтому хочется упростить и универсализировать хотя бы для себя. В общем, надо тестить с ним и без него. Для начала, ничего ставить я не буду по формулам, кроме требования к Мане и владению, а потом поглядим.
Единственное мне сейчас надо именно узнать по чистому урону, потому что если узнаю как его прописать, то мне надо ставить одни цифры, а если не узнаю, то другие.
 

blackscull

Житель города
Участник форума
Регистрация
22 Авг 2022
Сообщения
193
Реакции
155
Баллы
91
Лучшие ответы
0
#16
Это типичные описания характеристик оружия. Для наглядности. Первый требует ману, второй силу.

Код:
instance itmw_ukurstaff1(c_item) {
    name = "Посох сектанта";
    mainflag = item_kat_nf;
    flags = item_2hd_axe;
    hp = wpn_2h_mage;
    material = mat_wood;
    value = 1000;
    damagetype = dam_magic;
    damagetotal = 60;
    range = 110;
    cond_atr[2] = atr_mana_max; // требуемый атрибут
    cond_value[2] = 50;         // значение атрибута
    visual = "ItMw_020_2h_Nov_Staff_01.3DS";
    effect = "SPELLFX_GURUSTAFF"; // эффект при ударе
    weight = getweaponweight(flags, hp, damagetotal, range);  // функция расчета веса
    on_equip = equip_2h_mage_sek;
    on_unequip = unequip_2h_mage;
    description = name;
    text = formdamagestring(damagetype, damagetotal, 0, 0, 0, 0);
    text[1] = formconditionstring(cond_atr, cond_value, cond_atr[1], cond_value[1], cond_atr[2], cond_value[2]);
    text[2] = formweapontypestring(hp, range, weight);
    text[3] = "Урон зависит от интеллекта";
    text[5] = name_value;
    count[5] = value;
};

Код:
instance itmw_2h_staff3_str(c_item) {
    name = "Посох разумения";
    mainflag = item_kat_nf;
    flags = item_2hd_axe;
    material = mat_metal;
    hp = wpn_2h_mage;
    value = 1000;
    damagetotal = 110;
    damagetype = dam_blunt;
    range = 125;
    cond_atr[2] = atr_strength;
    cond_value[2] = 70;
    visual = "ItMw_2H_MakedStaff3_S_Iron.3ds";
    weight = getweaponweight(flags, hp, damagetotal, range);
    on_equip = equip_2h_staff;
    on_unequip = unequip_2h_staff;
    description = name;
    text = formdamagestring(damagetype, damagetotal, 0, 0, 0, 0);
    text[1] = formconditionstring(cond_atr, cond_value, cond_atr[1], cond_value[1], cond_atr[2], cond_value[2]);
    text[2] = formweapontypestring(hp, range, weight);
    text[3] = "Урон усиливается от интеллекта";
    text[5] = name_value;
    count[5] = value;
};
 
Автор
Автор
rioris1995

rioris1995

Рыцарь
Участник форума
Регистрация
31 Дек 2017
Сообщения
2.541
Реакции
903
Баллы
286
Лучшие ответы
12
#17
Какая будет разница в уроне, длине, весе
По поводу посохов написал выше, по поводу остального, приведу в пример почти сделанную ветку копий с указанием названия предмета, чья модель была задействована, длины и владения, чтобы было понимание как будут сконструированы ветки оружия по 30:
Вилы
1. Истлевший рожон (93/13)
2. Старый рожон (96/16)
3. Стандартный рожон (99/19)
4. Усиленный рожон (102/22)
5. Превосходный рожон (105/25)
Фалкс
6. Истлевший косарь (108/28)
7. Старый косарь (111/31)
8. Стандартный косарь (114/34)
9. Усиленный косарь (117/37)
10. Превосходный косарь (120/40)
Рогатина охотника
Пометка - текст 3 - "Из магической руды"
11. Истлевшая Рогатина (123/43)
12. Старая Рогатина (126/46)
13. Стандартная Рогатина (129/49)
14. Усиленная Рогатина (132/52)
15. Превосходная Рогатина (135/55)
Железное копьё
Пометка - текст 3 - "Сплав дарклита и маг. руды"
16. Истлевшее копьё (138/58)
17. Старое копьё (141/61)
18. Стандартное копьё (144/64)
19. Усиленное копьё (147/67)
20. Превосходное копьё (150/70)
Шкуродёр
Пометка - текст 3 - "Сплав чёрной, маг. руды и дарклита"
21. Истлевшая гвизарма (153/73)
22. Старая гвизарма (156/76)
23. Стандартная гвизарма (159/79)
24. Усиленная гвизарма (162/82)
25. Превосходная гвизарма (165/85)
Алебарда Гештата
Пометка - текст 3 - "Сплав адаманта, серебряной и чёрной руды"
26. Истлевшая глефа (168/88)
27. Старая глефа (171/91)
28. Стандартная глефа (174/94)
29. Усиленная глефа (177/97)
30. Превосходная глефа (180/100)
Первое значение в скобках длина, второе владение.
Для кинжалов же, например, будет добавляться от 25 до 55 добавляться по 1 см длину, но взамен и урон должен быть в 3 раза выше, по крайней мере бонусный чистый, если таковой мне помогут прописать.
--- Добавлено: ---

@blackscull, я понимаю это, я уже распределил и отделил у себя посохи сперва боевые и магические в 2 разные папки, потом по типу урона. Понимаю, что от типа урона и зависит характеристика, но там ведь есть и другие зависимости и прибавки - интеллект, карма, специализация (возможно?) и т. д.
Как узнать и увидеть все ЭТИ бонусы к конкретной вещи?
 
Последнее редактирование:

blackscull

Житель города
Участник форума
Регистрация
22 Авг 2022
Сообщения
193
Реакции
155
Баллы
91
Лучшие ответы
0
#18
Код:
else if (heromelee.hp == wpn_2h_mage) {
            if (hlp_isitem(heromelee, itmw_alchemy /*18017*/) && (player_isapprentice == app_constantino)) {
                heromelee.damage[dam_index_magic] /*5*/ = heromelee.nutrition + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff1_str /*18031*/)) {
                heromelee.damage[dam_index_blunt] /*1*/ = heromelee.nutrition + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff1_mana /*18032*/)) {
                heromelee.damage[dam_index_blunt] /*1*/ = heromelee.nutrition + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff2_str /*18033*/)) {
                heromelee.damage[dam_index_blunt] /*1*/ = heromelee.nutrition + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff2_mana /*18034*/)) {
                heromelee.damage[dam_index_blunt] /*1*/ = heromelee.nutrition + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff3_str /*18035*/)) {
                heromelee.damage[dam_index_blunt] /*1*/ = heromelee.nutrition + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff3_mana /*18036*/)) {
                heromelee.damage[dam_index_blunt] /*1*/ = heromelee.nutrition + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff4_str /*18037*/)) {
                heromelee.damage[dam_index_magic] /*5*/ = 30 + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff4_mana /*18038*/)) {
                heromelee.damage[dam_index_magic] /*5*/ = 30 + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff5_str /*18039*/)) {
                heromelee.damage[dam_index_magic] /*5*/ = 40 + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff5_mana /*18040*/)) {
                heromelee.damage[dam_index_magic] /*5*/ = 40 + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff6_str /*18041*/)) {
                heromelee.damage[dam_index_magic] /*5*/ = 50 + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff6_mana /*18042*/)) {
                heromelee.damage[dam_index_magic] /*5*/ = 50 + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff7_str /*18043*/)) {
                heromelee.damage[dam_index_fire] /*3*/ = 60 + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff7_mana /*18044*/)) {
                heromelee.damage[dam_index_fire] /*3*/ = 60 + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff8_str /*18045*/)) {
                heromelee.damage[dam_index_fire] /*3*/ = 90 + (atr_intellect / 4);
            };
            if (hlp_isitem(heromelee, itmw_2h_staff8_mana /*18046*/)) {
                heromelee.damage[dam_index_fire] /*3*/ = 90 + (atr_intellect / 4);
            };
            if (hero.guild == gil_kdf) {
                if (hlp_isitem(heromelee, itmw_f_2 /*18023*/)) {
                    heromelee.damage[dam_index_fire] /*3*/ = (heromelee.nutrition + (atr_intellect / 5)) + (innospraycount / 5);
                }
                else {
                    if (hlp_isitem(heromelee, itmw_f_2_2 /*18024*/)) {
                        heromelee.damage[dam_index_fire] /*3*/ = (heromelee.nutrition + (atr_intellect / 5)) + (innospraycount / 5);
                    };
                };
            }
            else if (hero.guild == gil_nov) {
                if (hlp_isitem(heromelee, itmw_fireadept /*18018*/)) {
                    heromelee.damage[dam_index_fire] /*3*/ = heromelee.nutrition + (atr_intellect / 3);
                };
            }
            else if (hero.guild == gil_kdw) {
                if (hlp_isitem(heromelee, itmw_addon_stab02 /*18025*/)) {
                    heromelee.damage[dam_index_magic] /*5*/ = (heromelee.nutrition + (atr_intellect / 5)) + spl_karmaadanos;
                }
                else {
                    if (hlp_isitem(heromelee, itmw_addon_stab02_high /*18026*/)) {
                        heromelee.damage[dam_index_magic] /*5*/ = (heromelee.nutrition + (atr_intellect / 5)) + spl_karmaadanos;
                    };
                };
            }
            else if (hero.guild == gil_ndw) {
                if (hlp_isitem(heromelee, itmw_wateradept /*18020*/)) {
                    heromelee.damage[dam_index_magic] /*5*/ = heromelee.nutrition + (atr_intellect / 3);
                };
            }
            else if (hero.guild == gil_kdm) {
                if (hlp_isitem(heromelee, itmw_addon_stab03 /*18027*/)) {
                    heromelee.damage[dam_index_magic] /*5*/ = (heromelee.nutrition + (atr_intellect / 5)) + (beliarpraycount / 5);
                }
                else {
                    if (hlp_isitem(heromelee, itmw_addon_stab03_high /*18028*/)) {
                        heromelee.damage[dam_index_magic] /*5*/ = (heromelee.nutrition + (atr_intellect / 5)) + (beliarpraycount / 5);
                    };
                };
            }
            else if (hero.guild == gil_ndm) {
                if (hlp_isitem(heromelee, itmw_darkadept /*18019*/)) {
                    heromelee.damage[dam_index_magic] /*5*/ = heromelee.damagetotal + (atr_intellect / 3);
                };
            }
            else if (hero.guild == gil_gur) {
                if (hlp_isitem(heromelee, itmw_addon_stab04 /*18029*/)) {
                    heromelee.damage[dam_index_magic] /*5*/ = (heromelee.damagetotal + (atr_intellect / 5)) + sektantgolemcount;
                };
            }
            else if (hero.guild == gil_sek) {
                if (hlp_isitem(heromelee, itmw_ukurstaff1 /*18021*/)) {
                    heromelee.damage[dam_index_magic] /*5*/ = heromelee.damagetotal + (atr_intellect / 3);
                }
                else {
                    if (hlp_isitem(heromelee, itmw_ukurstaff2 /*18022*/)) {
                        heromelee.damage[dam_index_magic] /*5*/ = (heromelee.damagetotal + (atr_intellect / 3)) + (sektantgolemcount / 2);
                    };
                };
            };
        };
 
Автор
Автор
rioris1995

rioris1995

Рыцарь
Участник форума
Регистрация
31 Дек 2017
Сообщения
2.541
Реакции
903
Баллы
286
Лучшие ответы
12
#19
heromelee.damage[dam_index_magic] /*5*/ = (heromelee.nutrition + (atr_intellect / 5)) + spl_karmaadanos
Расшифруйте словесно, пожалуйста, эту запись, не упуская деталей.
То есть, урон данного посоха зависит от: и дальше словами. Иначе мне почти ничего не понятно, кроме того, что урон должен зависеть от маны и интеллекта, которые делятся на 5 и к ним добавляется карма Аданоса в чистом виде (или нет)
 
Последнее редактирование:

blackscull

Житель города
Участник форума
Регистрация
22 Авг 2022
Сообщения
193
Реакции
155
Баллы
91
Лучшие ответы
0
#20
Расшифруйте словесно, пожалуйста, эту запись, не упуская деталей.
heromelee.damage[dam_index_magic] - в этот индекс мы сохраняем результат для магического урона.
/*5*/ - не обращаем внимание, комментарий.

heromelee.nutrition - базовый урон оружия
atr_intellect / 5 - интеллект делим на 5
spl_karmaadanos - карма аданоса.
т.е наш магический урон = базовый урон оружия + (интеллект/5) + карма Аданоса
 
Сверху Снизу