Новости Вышел первый трейлер будущей космической РПГ Exodus
  • 359
  • 1
Студия Archetype Entertainment представила первый трейлер Exodus - научно-фантастической РПГ в духе Mass Effect. Её разработкой занимается команда во главе с ветераном BioWare Джеймсом Оленом. По...
Новости Новые скриншоты и детали Gothic Remake: изменения башни, орков и монстров
  • 991
  • 8
Также изменился и путь к башне. Теперь его охраняют големы, которые могут активно взаимодействовать с окружающей средой, делая прохождение более сложным. Стоит отметить, что даже затопленные руины...
Новости Path of Exile 2 - игра ворвалась в топ Steam и собрала 1,3 млн зрителей в Твиче
  • 939
  • 7
Тому кто знаком с диаблоидами, не стоит представлять данную игру. Первая часть была невероятно популярной и по праву носила звание лучшей ARPG среди Hack&Slash-игр. И вот вчера, 6 декабря...
Новости Ремейк "Готики 1" | Трейлер Showcase 2024
  • 7.815
  • 9
Новички, пришло время принять реальность и смириться с судьбой. Чувствуйте себя как дома в Долине Рудников, месте, полном опасностей, преступлений и жадности. Вам предстоит оставаться здесь очень...

Вопросы по скриптингу в Готике

WoOliN

Герой
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
5 Сен 2012
Сообщения
5.469
Реакции
3.201
Баллы
711
Лучшие ответы
403
Уважаемые ... у нуба (то есть меня) назрел новый вопрос.

Есть стандартная функция взлома замков
func void G_PickLock(var int bSuccess,var int bBrokenOpen)

bBrokenOpen - неправильный поворот отмычки, при котором отмычка может сломаться (в Г2НВ при ловкости ниже 100).

Я хотел бы изменить 100 ловкости допустим на 200.
Подскажите где происходит расчёт влияния ловкости для этого момента?
 

Gratt

Труженик
Модостроитель
Участник форума
Регистрация
10 Фев 2015
Сообщения
357
Реакции
211
Баллы
84
Лучшие ответы
0
Уважаемые ... у нуба (то есть меня) назрел новый вопрос.

Есть стандартная функция взлома замков
func void G_PickLock(var int bSuccess,var int bBrokenOpen)

bBrokenOpen - неправильный поворот отмычки, при котором отмычка может сломаться (в Г2НВ при ловкости ниже 100).

Я хотел бы изменить 100 ловкости допустим на 200.
Подскажите где происходит расчёт влияния ловкости для этого момента?

движок, класс oCMobLockable, метод Interact.
 

WoOliN

Герой
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
5 Сен 2012
Сообщения
5.469
Реакции
3.201
Баллы
711
Лучшие ответы
403
В этом я полный ноль.

А возможно вытащить из движка этот скрипт и показать его ?
Хочу глянуть как именно выглядит зависимость шанса поломки от ловкости ... может удастся усложнить взлом в Соурсере.
 

Alex1

Избранник богов
Команда форума
Модератор раздела
Редактор раздела
Модостроитель
 
Почётный пользователь
Участник форума
Регистрация
22 Янв 2014
Сообщения
11.351
Реакции
5.809
Баллы
976
Лучшие ответы
415
@WoOliN, посмотри у Диммелла в СнК1.1
Он там добавил массив счетчиков, считающих неудачные повороты. Дополнительно "терял" отмычки, поставил выведение навыка взлома в процентах (макс. при 25000 поворотах).
И еще что-то там было на этом массиве навешано по отмычкам.
 

Gratt

Труженик
Модостроитель
Участник форума
Регистрация
10 Фев 2015
Сообщения
357
Реакции
211
Баллы
84
Лучшие ответы
0
А возможно вытащить из движка и показать как именно выглядит зависимость шанса поломки от ловкости ?
там строк на 70 выходит..
если чисто зависимость, то примерно так:
Код:
int nPickLock = parser->GetIndex( "G_PICKLOCK" );
// ...
int nPerc = (rand() % 100) + 1; // 1 - 100
if  ( nPerc > pNpc->GetAttribute(NPC_ATR_DEXTERITY))
{
	parser->SetInstance( "SELF", this );
	parser->CallFunc(nPickLock, FALSE, TRUE ); // вызов функции скрипта с передачей аргументов

	oCItem* pItem = pNpc->IsInInv("ITKE_LOCKPICK",1);
	if ( pItem )
	{
		pItem = pNpc->RemoveFromInv("ITKE_LOCKPICK",1);
		ogame->GetWorld()->RemoveVob( pItem );
	}
	pItem = pNpc->IsInInv("ITKE_LOCKPICK",1);
	if (!pItem) 
	{
		StopInteraction(pNpc);
	}
	nCodeLength = 0;
}
else
{
	parser->SetInstance("SELF", this);
	parser->CallFunc(nPickLock, FALSE, FALSE);
}
// ...
 

WoOliN

Герой
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
5 Сен 2012
Сообщения
5.469
Реакции
3.201
Баллы
711
Лучшие ответы
403
Пожалуй легче всего будет всунуть в обычные скрипты ещё один рандомайзер на ловкость, который будет временами изымать отмычки при ловкости выше 100.
И снабдить это каким-то уместным уведомлением.
Всем спасибо )
 

WoOliN

Герой
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
5 Сен 2012
Сообщения
5.469
Реакции
3.201
Баллы
711
Лучшие ответы
403
И ещё один вопрос
- есть ли какая-то функция или что-то вроде BB-кода для принудительного центрирования надписей в описании предмета ?

Безымянный.JPG
Вот так же, как расположено название - можно ли именно в скриптах центрировать допустим надпись *2-ручное* ?

text[0] = "2-ручное"; - для подобного типа надписей
Чтобы не ставить тонну пробелов перед самим текстом )
 

Alex1

Избранник богов
Команда форума
Модератор раздела
Редактор раздела
Модостроитель
 
Почётный пользователь
Участник форума
Регистрация
22 Янв 2014
Сообщения
11.351
Реакции
5.809
Баллы
976
Лучшие ответы
415
Можно такую функцию сделать самому, подобрать в ней один раз пробелы. И все свойства выводить через нее (но придется в каждом переделанном предмете менять строчки). Цифры подхватываются. Если цифра равна нулю, описания этого свойства нет. В игре получится что-то такое:
PIC40_cr.jpg

PIC41_cr.jpg


Там на фоне пробивается 70/100 - это относится к выносливости.
 

WoOliN

Герой
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
5 Сен 2012
Сообщения
5.469
Реакции
3.201
Баллы
711
Лучшие ответы
403
Пробелы - весьма геморное дело.

Максимальная длина строки например какая ?

Спец-символы для текста есть какие-то вообще ?
ґ ґ - вот это например что за символы и какие есть ещё ?


И для ручного переноса строки в записях дневника тоже ничего нет ?

Для ручной смены шрифта отдельных строк в описании предмета ?
 

Alex1

Избранник богов
Команда форума
Модератор раздела
Редактор раздела
Модостроитель
 
Почётный пользователь
Участник форума
Регистрация
22 Янв 2014
Сообщения
11.351
Реакции
5.809
Баллы
976
Лучшие ответы
415
Максимальная длина строки зависит от разрешения монитора и шрифта, с которым выводится сообщение. Игра умеет переносить строчки только в записках/письмах/книгах. Все, что не вместилось - просто уйдет за границу видимости.

О спецсимволах не в курсе. Но видел несколько раз, как немецкие буквы с умляутами типа й и ё передавались в скриптах русскими буквами. Это баг при декомпиляции. Может, и ґ из той же серии.

Шрифт в строчках описания тот же, что и везде. Не получится одну строчку вывести одним шрифтом, другую другим. Без Икаруса или АСТа.
 
Сверху Снизу