Новости Ремейк "Готики 1" | Трейлер Showcase 2024
  • 6.509
  • 9
Новички, пришло время принять реальность и смириться с судьбой. Чувствуйте себя как дома в Долине Рудников, месте, полном опасностей, преступлений и жадности. Вам предстоит оставаться здесь очень...
Готика 2: Другая история Gothic II: Other Story - Описание мода
  • 28.115
  • 79
Готика 2: Другая история / Other Story - это глобальная модификация для игры «Готика 2: Ночь Ворона». Её цель - сделать игру более нелинейной, с большим количеством вариантов выбора и...
Новости Старт 6го сезона Grim League
  • 4.385
  • 2
4 мая в 18-00 стартует шестой сезон Community лиги по одной из лучших игр в жанре arpg Grim Dawn. Сезон представляет собой глобальную модификацию игры, включающую в себя расширение мира, изменение...
Новости Дата релиза Baldur's Gate III
  • 23.125
  • 2
Наконец-то дождались - "Baldur's Gate III" покидает ранний доступ, и в августе 2023 выходит в полноценный релиз, о чём стало известно на церемонии "The Game Awards 2022". С момента выхода игры в...

Возвращение 2.0 Создаем калькулятор прокачки ГГ

noctyurn94

Житель города
Участник форума
Регистрация
19 Май 2012
Сообщения
177
Реакции
93
Баллы
41
Лучшие ответы
0
#1
Создаем калькулятор прокачки ГГ и подбираем для него информацию

Так как появилось продвижение работ, выделил относящиеся к обсуждению посты в отдельную тему. - Alex1

UPD 18.01.17 04:09 версия 2.4 бета
  • Возможность автоматического расчета основных характеристик ГГ в плане затрат ЛП
  • Учет с автоподсчетом основных характеристик, навыков, умений
  • более менее приведено в божеский вид+добавил мини инструкцию

Необходимая информация по ЛП:
  1. Изготовление яда
  2. использование яда
  3. делать отравленные стрелы и болты
  4. владение орочьим оружием

Вопросы:
  1. Демонология качается как круги магии?
  2. Магическая мощь - 1 руна=1 мощи?
  3. "ловец душ" с мора уларту требует лп?
  4. реген кассии "неутомимость" требует лп?

Очень нужны отзывы, критика, советы
 

Вложения

Последнее редактирование модератором:

InFleX

Рыцарь
Команда форума
Модератор раздела
Редактор раздела
Участник форума
Регистрация
25 Мар 2016
Сообщения
2.631
Реакции
806
Баллы
270
Лучшие ответы
58
#2
@noctyurn94, у меня была идея замутить что-то типа этого, но в самой игре. Т.е. сделать базу квестов по главам. И в игре чтобы отображалось (допустим 40 квестов в первой главе выполнено 27 из 40, провалено 5 и так для каждой главы.) Но с программированием под Готику не знаком вобще (да и фиг знает реализуемо ли это), поэтому делаю просто как отдельную прогу, в которой отмечаешь галочками сам пройденные квесты. Мне это нужно, например, для ведения учета кв, где сколько экспы потерял и т.д. Ну и что-то наподобии достижений, как сейчас есть. Для легенды, когда дорог каждый лп, самое то. ну и плюс будешь знать стоит ли тебе оставаться ещё в этой главе (в случае зачистки территорий) или нет.)
 

Alex1

Избранник богов
Команда форума
Модератор раздела
Редактор раздела
Модостроитель
 
Почётный пользователь
Участник форума
Регистрация
22 Янв 2014
Сообщения
11.342
Реакции
5.773
Баллы
976
Лучшие ответы
415
#3
@zaborik, в игре нет строгих регламентов оформления, так что какое-то задание можно начать и выполнить в 1 главе, а можно не начинать до 5. Точнее, таких заданий большинство.
В разных модах (балансных и прочих) могут быть изменения или перетасовка квестов. Например, квесты убийц проходятся в другом порядке, чем в В1. И опыт ГГ получает за их выполнение другой.

Кроме того, в некоторых заданиях награда зависит от главы, когда их сдают. Если сдалть в первой, ГГ получит 100 опыта, если в третьей - 300.

Так что для внутриигровой программы подобного типа нужно изменить оформление квестов.
 

kiko.-_-

Командор
Участник форума
Регистрация
12 Янв 2013
Сообщения
3.145
Реакции
495
Баллы
325
Лучшие ответы
9
#4
Кроме того, в некоторых заданиях награда зависит от главы, когда их сдают. Если сдалть в первой, ГГ получит 100 опыта, если в третьей - 300.
только не понятно зачем такое нужно.



-буду искать инфу по ЛП на каждый отдельно взятый навык т.е. охота не в общем 42, а более конкретно итп
if(talent == NPC_TALENT_TAKEANIMALTROPHY)
{
if(skill == TROPHY_Teeth)
{
kosten = 3;
}
else if(skill == TROPHY_Claws)
{
kosten = 3;
}
else if(skill == TROPHY_Fur)
{
kosten = 5;
}
else if(skill == TROPHY_Heart)
{
kosten = 5;
}
else if(skill == TROPHY_ShadowHorn)
{
kosten = 5;
}
else if(skill == TROPHY_FireTongue)
{
kosten = 5;
}
else if(skill == TROPHY_BFWing)
{
kosten = 1;
}
else if(skill == TROPHY_BFSting)
{
kosten = 1;
}
else if(skill == TROPHY_Mandibles)
{
kosten = 1;
}
else if(skill == TROPHY_CrawlerPlate)
{
kosten = 3;
}
else if(skill == TROPHY_DrgSnapperHorn)
{
kosten = 5;
}
else if(skill == TROPHY_DragonScale)
{
kosten = 10;
}
else if(skill == TROPHY_DragonBlood)
{
kosten = 10;
}
else if(skill == TROPHY_ReptileSkin)
{
kosten = 3;
};
};

P.S. чет призыв Тразеге не сработал.
Или есть какая-то инфа по этому поводу?
 

Alex1

Избранник богов
Команда форума
Модератор раздела
Редактор раздела
Модостроитель
 
Почётный пользователь
Участник форума
Регистрация
22 Янв 2014
Сообщения
11.342
Реакции
5.773
Баллы
976
Лучшие ответы
415
#5
только не понятно зачем такое нужно.
Где-то делали скрытую дополнительную награду. Где-то копи-пастом ставили награду из соседнего диалога.

А так, с каждой главой награда за те же задания растет со времен Г1.
 

InFleX

Рыцарь
Команда форума
Модератор раздела
Редактор раздела
Участник форума
Регистрация
25 Мар 2016
Сообщения
2.631
Реакции
806
Баллы
270
Лучшие ответы
58
#6
@Alex1, ну я за основу взял эту тему. Тут как раз по главам примерно и расписаны квесты. Что то типа Выберите главу>Выберите квестодателя>выберите вариант решения квеста > Отобразить список квестов в текущей главе, посмотреть непройденные, посмотреть выполненные за 1 главу. Да, есть дневник, но там нету информации о том, если выбран альтернативный путь решения квеста. В общем делаю под себя, если нужно кому то выложу, как закончу (хотя сомневаюсь что кому то надо). Кроме того ориентир хард-легенда, где тяжело именно вначале, в то что один и тот же квест можно сдать позже - как то не эффективно уже прокаченным.
p.s. понятно что есть альтернативы с сдачей в последущих главах, но я беру ориентир именно по теме с квестами. Что возможно сдать в 1 главе, то и сдается и т.п.
p.s.s. грубо говоря это будет тот же хэндбук квестов что и в теме адепта, но с возможностью отслеживать собственные решения. Да и запустить программу удобней, чем шарится по форумам.
 
Последнее редактирование модератором:

Alex1

Избранник богов
Команда форума
Модератор раздела
Редактор раздела
Модостроитель
 
Почётный пользователь
Участник форума
Регистрация
22 Янв 2014
Сообщения
11.342
Реакции
5.773
Баллы
976
Лучшие ответы
415
#7
@zaborik, это нужно. Сейчас как раз подтягиваются не просто игроки, а программисты, которые могут помочь прикладными прогами для В2, или даже для любых модов на Готику.

Пока описания квестов собираются в Ексель - это удобно и просто.
В будущем, можно попробовать сделать оболочку для выбора мода, а дальше как ты пишешь: глава, квестодатель (билд) и т.д.
Это также можно объединить с ГВЕ, чтобы по любой сохранке видеть прогресс выполнения заданий.
 

InFleX

Рыцарь
Команда форума
Модератор раздела
Редактор раздела
Участник форума
Регистрация
25 Мар 2016
Сообщения
2.631
Реакции
806
Баллы
270
Лучшие ответы
58
#8
@Alex1, ну если говорите что нужно, тогда сделаем :) Ничего обещать не буду, поскольку пишу для себя, но на крайняк выложу сорцы, если кто захочет доделывать. (пишу на паскале(делфи7) с подкл базой данных, для запоминания выбора).
 
Автор
Автор
N

noctyurn94

Житель города
Участник форума
Регистрация
19 Май 2012
Сообщения
177
Реакции
93
Баллы
41
Лучшие ответы
0
#9
UPD 17.01.17 22:00
  • Возможность автоматического расчета основных характеристик ГГ в плане затрат ЛП
  • Учет с автоподсчетом основных характеристик, навыков, умений

Кто может вытащить из исходников скриптов информацию
Затраты лп и пороги по прокачке:
1. сила
2. ловка
3 мана
4 вынос
5 хп
6 однорук
7 двурук
8 арбалет
9 лук
10 щит
Кстати заметил, что когда прокачивал двурук до 87 пороги были 30\60\90, а потом решил вкачать арбалет и там уже на 35-40 навыка стали по 15 поинтов просить.....
 

Вложения

Последнее редактирование модератором:

kiko.-_-

Командор
Участник форума
Регистрация
12 Янв 2013
Сообщения
3.145
Реакции
495
Баллы
325
Лучшие ответы
9
#10
Кстати заметил, что когда прокачивал двурук до 87 пороги были 30\60\90, а потом решил вкачать арбалет и там уже на 35-40 навыка стали по 15 поинтов просить.....
потому что навыки владения однор./двуруч. и лук/арбалет завязаны по цене прокачки.
если прокачка одного делает цену второго после первого порога выше на единицу.

По поводу остального - сейчас.


--- Добавлено: ---

6 однорук
7 двурук
8 арбалет
9 лук
if(talent == NPC_TALENT_1H)
{
if(oth.aivar[REAL_TALENT_1H] >= 90)
{
if(oth.aivar[REAL_TALENT_1H] >= oth.aivar[REAL_TALENT_2H])
{
kosten = 4;
}
else
{
kosten = 5;
};
}
else if(oth.aivar[REAL_TALENT_1H] >= 60)
{
if(oth.aivar[REAL_TALENT_1H] >= oth.aivar[REAL_TALENT_2H])
{
kosten = 3;
}
else
{
kosten = 4;
};
}
else if(oth.aivar[REAL_TALENT_1H] >= 30)
{
if(oth.aivar[REAL_TALENT_1H] >= oth.aivar[REAL_TALENT_2H])
{
kosten = 2;
}
else
{
kosten = 3;
};
}
else
{
kosten = 1;
};

kosten = kosten * skill;
};
if(talent == NPC_TALENT_2H)
{
if(oth.aivar[REAL_TALENT_2H] >= 90)
{
if(oth.aivar[REAL_TALENT_2H] >= oth.aivar[REAL_TALENT_1H])
{
kosten = 4;
}
else
{
kosten = 5;
};
}
else if(oth.aivar[REAL_TALENT_2H] >= 60)
{
if(oth.aivar[REAL_TALENT_2H] >= oth.aivar[REAL_TALENT_1H])
{
kosten = 3;
}
else
{
kosten = 4;
};
}
else if(oth.aivar[REAL_TALENT_2H] >= 30)
{
if(oth.aivar[REAL_TALENT_2H] >= oth.aivar[REAL_TALENT_1H])
{
kosten = 2;
}
else
{
kosten = 3;
};
}
else
{
kosten = 1;
};

kosten = kosten * skill;
};
if(talent == NPC_TALENT_BOW)
{
if(oth.aivar[REAL_TALENT_BOW] >= 60)
{
if(oth.aivar[REAL_TALENT_BOW] >= oth.aivar[REAL_TALENT_CROSSBOW])
{
kosten = 3;
}
else
{
kosten = 4;
};
}
else if(oth.aivar[REAL_TALENT_BOW] >= 30)
{
if(oth.aivar[REAL_TALENT_BOW] >= oth.aivar[REAL_TALENT_CROSSBOW])
{
kosten = 2;
}
else
{
kosten = 3;
};
}
else
{
kosten = 1;
};

kosten = kosten * skill;
};
if(talent == NPC_TALENT_CROSSBOW)
{
if(oth.aivar[REAL_TALENT_CROSSBOW] >= 60)
{
if(oth.aivar[REAL_TALENT_CROSSBOW] >= oth.aivar[REAL_TALENT_BOW])
{
kosten = 3;
}
else
{
kosten = 4;
};
}
else if(oth.aivar[REAL_TALENT_CROSSBOW] >= 30)
{
if(oth.aivar[REAL_TALENT_CROSSBOW] >= oth.aivar[REAL_TALENT_BOW])
{
kosten = 2;
}
else
{
kosten = 3;
};
}
else
{
kosten = 1;
};

kosten = kosten * skill;
};
1. сила
2. ловка
3 мана
4 вынос
5 хп
if(attribut == ATR_STRENGTH)
{
if(oth.aivar[REAL_STRENGTH] >= 400)
{
if((oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_DEXTERITY]) && (oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 6;
}
else
{
kosten = 10;
};
}
else if(oth.aivar[REAL_STRENGTH] >= 300)
{
if((oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_DEXTERITY]) && (oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 5;
}
else
{
kosten = 8;
};
}
else if(oth.aivar[REAL_STRENGTH] >= 200)
{
if((oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_DEXTERITY]) && (oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 4;
}
else
{
kosten = 6;
};
}
else if(oth.aivar[REAL_STRENGTH] >= 100)
{
if((oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_DEXTERITY]) && (oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 3;
}
else
{
kosten = 4;
};
}
else if(oth.aivar[REAL_STRENGTH] >= 50)
{
if((oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_DEXTERITY]) && (oth.aivar[REAL_STRENGTH] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 2;
}
else
{
kosten = 3;
};
}
else
{
kosten = 1;
};
};
if(attribut == ATR_DEXTERITY)
{
if(oth.aivar[REAL_DEXTERITY] >= 400)
{
if((oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 6;
}
else
{
kosten = 10;
};
}
else if(oth.aivar[REAL_DEXTERITY] >= 300)
{
if((oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 5;
}
else
{
kosten = 8;
};
}
else if(oth.aivar[REAL_DEXTERITY] >= 200)
{
if((oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 4;
}
else
{
kosten = 6;
};
}
else if(oth.aivar[REAL_DEXTERITY] >= 100)
{
if((oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 3;
}
else
{
kosten = 4;
};
}
else if(oth.aivar[REAL_DEXTERITY] >= 50)
{
if((oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_DEXTERITY] >= oth.aivar[REAL_MANA_MAX]))
{
kosten = 2;
}
else
{
kosten = 3;
};
}
else
{
kosten = 1;
};
};
if(attribut == ATR_MANA_MAX)
{
if(oth.aivar[REAL_MANA_MAX] >= 600)
{
if((oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_DEXTERITY]))
{
kosten = 6;
}
else
{
kosten = 10;
};
}
else if(oth.aivar[REAL_MANA_MAX] >= 400)
{
if((oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_DEXTERITY]))
{
kosten = 5;
}
else
{
kosten = 8;
};
}
else if(oth.aivar[REAL_MANA_MAX] >= 200)
{
if((oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_DEXTERITY]))
{
kosten = 4;
}
else
{
kosten = 6;
};
}
else if(oth.aivar[REAL_MANA_MAX] >= 100)
{
if((oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_DEXTERITY]))
{
kosten = 3;
}
else
{
kosten = 4;
};
}
else if(oth.aivar[REAL_MANA_MAX] >= 50)
{
if((oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_STRENGTH]) && (oth.aivar[REAL_MANA_MAX] >= oth.aivar[REAL_DEXTERITY]))
{
kosten = 2;
}
else
{
kosten = 3;
};
}
else
{
kosten = 1;
};
};
if(attribut == ATR_HITPOINTS_MAX)
{
if(oth.attribute[ATR_HITPOINTS_MAX] >= 4000)
{
kosten = 5;
}
else if(oth.attribute[ATR_HITPOINTS_MAX] >= 3000)
{
kosten = 4;
}
else if(oth.attribute[ATR_HITPOINTS_MAX] >= 2000)
{
kosten = 3;
}
else if(oth.attribute[ATR_HITPOINTS_MAX] >= 1000)
{
kosten = 2;
}
else
{
kosten = 1;
};
};

return kosten;
};

if(talent == NPC_TALENT_STAMINA)
{
if(ATR_STAMINA_MAX[0] >= 90)
{
kosten = 4;
}
else if(ATR_STAMINA_MAX[0] >= 60)
{
kosten = 3;
}
else if(ATR_STAMINA_MAX[0] >= 30)
{
kosten = 2;
}
else
{
kosten = 1;
};

kosten = kosten * skill;
"Поглощение магического урона щитом (Очки обучения: 10)";

P.S. по поводу стоимости прокачки щита:
"11. Обучение щитам после 50 сломано. При попытке обучения на 1 пункт - списывается 1lp и не прибавляется навыка владения, при попытке обучения на 5 пунктов списывается 5lp и прибавляется 2 единицы навыка владения.
"
PRINT_Shield1 = "Бой с щитом + 1 (Очки обучения: 1, Цена: 250 монет)";
const string PRINT_Shield5 = "Бой с щитом + 5 (Очки обучения: 5, Цена: 1000 монет)";
const string PRINT_Shield2 = "Бой с щитом + 1 (Очки обучения: 2, Цена: 500 монет)";
const string PRINT_Shield10 = "Бой с щитом + 5 (Очки обучения: 10, Цена: 2500 монет)";

посмотрим как ее исправят.
 
Последнее редактирование модератором:
Сверху Снизу