• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

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

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
  • Первое сообщение
  • #1
Прежде чем задавать вопросы, ознакомьтесь с документацией..
1) Читать онлайн
2) Архив с офлайн-версией(chm) во вложении
 

Вложения

  • Vam_tutor.rar
    171,6 KB · Просмотры: 560
Последнее редактирование модератором:

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Такс есть вопрос как во время игры отслеживать время через скрипт с выводом на экран в формате XX:XX если это возможно.

И еще, как сделать регенерацию без использования Триггер скрипта? Просто есть атрибут ATR_REGENERATEHP тока как его юзать не представляю подставлял разные цифры но толку 0, может кто объяснит где собака зарыта?

И еще можно-ли реализовать на двигле г2 Цепную молнию котороя была доступна магам Воды в готике 1, если можно тока опятьже как? ::)

И последний вопрос все знают(А может и не все) что в Г2(оригинале) Мана инвестирывалась не сразу вся(имеется в виду то что в г2а мана инвестируется мгновенно, что делает недоступным ключ визуального эффекта KEY_INVEST , а вот в Г2(оригинал) мана инвестируется постепенно за какое-то время тем самым позволяя использовать KEY_INVEST) Вот мне интересно КАК написать функцию постепенного ивестирования маны, лично я сам пытался но ничего не вышло, если кто может написать эту функцию напишите пожалуйста!
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Saturas
Просто есть атрибут ATR_REGENERATEHP тока как его юзать не представляю подставлял разные цифры но толку
При значении = 1 скорость максимальна - 1ед./сек.
Зависимость обратная - при значении 10, скорость регенерации 1ед. в 10 сек.
Аналогично и с маной.
Вот мне интересно КАК написать функцию постепенного ивестирования маны
Попробуй такую логику:
Код:
func int Spell_Logic_ChargeZap(var int manaInvested)
{
	if(self.attribute[ATR_MANA] < STEP_ChargeZap)
	{
		return SPL_DONTINVEST;
	};
	if(manaInvested <= (STEP_ChargeZap * 1))
	{
		self.aivar[AIV_SpellLevel] = 1;
		return SPL_STATUS_CANINVEST_NO_MANADEC;
	}
	else if((manaInvested >(STEP_ChargeZap * 1)) && (self.aivar[AIV_SpellLevel] <= 1))
	{
		self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - STEP_ChargeZap;
		if(self.attribute[ATR_MANA] < 0)
		{
			self.attribute[ATR_MANA] = 0;
		};
		self.aivar[AIV_SpellLevel] = 2;
		return SPL_NEXTLEVEL;
	}
	else if((manaInvested >(STEP_ChargeZap * 2)) && (self.aivar[AIV_SpellLevel] <= 2))
	{
		self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - STEP_ChargeZap;
		if(self.attribute[ATR_MANA] < 0)
		{
			self.attribute[ATR_MANA] = 0;
		};
		self.aivar[AIV_SpellLevel] = 3;
		return SPL_NEXTLEVEL;
	}
	else if((manaInvested >(STEP_ChargeZap * 3)) && (self.aivar[AIV_SpellLevel] <= 3))
	{
		self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - STEP_ChargeZap;
		if(self.attribute[ATR_MANA] < 0)
		{
			self.attribute[ATR_MANA] = 0;
		};
		self.aivar[AIV_SpellLevel] = 4;
		return SPL_NEXTLEVEL;
	}
	else if((manaInvested >(STEP_ChargeZap * 3)) && (self.aivar[AIV_SpellLevel] == 4))
	{
		return SPL_DONTINVEST;
	};
	return SPL_STATUS_CANINVEST_NO_MANADEC;
};
 
Последнее редактирование модератором:

redleha


Модостроитель
Регистрация
26 Фев 2008
Сообщения
735
Благодарности
665
Баллы
245
Saturas написал(а):
Такс есть вопрос как во время игры отслеживать время через скрипт с выводом на экран в формате XX:XX если это возможно.
Делал я это. просто триггер-скриптом.
 
Последнее редактирование модератором:

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Dimmell написал(а):
Saturas
Просто есть атрибут ATR_REGENERATEHP тока как его юзать не представляю подставлял разные цифры но толку
При значении = 1 скорость максимальна - 1ед./сек.
Зависимость обратная - при значении 10, скорость регенерации 1ед. в 10 сек.
Аналогично и с маной.
Вот мне интересно КАК написать функцию постепенного ивестирования маны
Попробуй такую логику:
Код:
func int Spell_Logic_ChargeZap(var int manaInvested)
{
	if(self.attribute[ATR_MANA] < STEP_ChargeZap)
	{
		return SPL_DONTINVEST;
	};
	if(manaInvested <= (STEP_ChargeZap * 1))
	{
		self.aivar[AIV_SpellLevel] = 1;
		return SPL_STATUS_CANINVEST_NO_MANADEC;
	}
	else if((manaInvested >(STEP_ChargeZap * 1)) && (self.aivar[AIV_SpellLevel] <= 1))
	{
		self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - STEP_ChargeZap;
		if(self.attribute[ATR_MANA] < 0)
		{
			self.attribute[ATR_MANA] = 0;
		};
		self.aivar[AIV_SpellLevel] = 2;
		return SPL_NEXTLEVEL;
	}
	else if((manaInvested >(STEP_ChargeZap * 2)) && (self.aivar[AIV_SpellLevel] <= 2))
	{
		self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - STEP_ChargeZap;
		if(self.attribute[ATR_MANA] < 0)
		{
			self.attribute[ATR_MANA] = 0;
		};
		self.aivar[AIV_SpellLevel] = 3;
		return SPL_NEXTLEVEL;
	}
	else if((manaInvested >(STEP_ChargeZap * 3)) && (self.aivar[AIV_SpellLevel] <= 3))
	{
		self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - STEP_ChargeZap;
		if(self.attribute[ATR_MANA] < 0)
		{
			self.attribute[ATR_MANA] = 0;
		};
		self.aivar[AIV_SpellLevel] = 4;
		return SPL_NEXTLEVEL;
	}
	else if((manaInvested >(STEP_ChargeZap * 3)) && (self.aivar[AIV_SpellLevel] == 4))
	{
		return SPL_DONTINVEST;
	};
	return SPL_STATUS_CANINVEST_NO_MANADEC;
};
Да вот, в том и дело что не выходит, уже замучился с этой клятой функцией, уже просто сил никаких нет, помогите еси кто может.
 
Последнее редактирование модератором:

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Saturas
Не знаю, с чем ты там мучаешься, в Возвращении все шоколадно работает - накачивается спелл и кастуется (и огненные шары, и молнии, и кулак ветра) с уроном пропорциональным расходу маны..
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Dimmell написал(а):
Saturas
Не знаю, с чем ты там мучаешься, в Возвращении все шоколадно работает - накачивается спелл и кастуется (и огненные шары, и молнии, и кулак ветра) с уроном пропорциональным расходу маны..
Ты не понял меня АБСОЛЮТНО мне нужно ДЛЯ 1 УРОВНЕВОГО ЗАКЛА!!!!
Нада чтобы для огненного дождя мана инвестирывавылась, не 150 сразу а, по 20 мыны в сек или м/сек понял или нет?
 
Последнее редактирование модератором:

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Saturas написал(а):
Ты не понял меня АБСОЛЮТНО мне нужно ДЛЯ 1 УРОВНЕВОГО ЗАКЛА!!!!
Нада чтобы для огненного дождя мана инвестирывавылась, не 150 сразу а, по 20 мыны в сек или м/сек понял или нет?
И как это ты представляешь?
1 каст - 1 расход маны.
Вариант с поливанием дождем может пройти только, если ты сделаешь каст (быстрый) закла с малым расходом маны и малым временем действия закла. И кастуй их потоком.
 
Последнее редактирование модератором:

Kirald

Участник форума
Регистрация
11 Окт 2009
Сообщения
8
Благодарности
0
Баллы
145
Вот сталкнулся с проблемой, что Декомпилированые скрипты от WSA в GothicSource Глючат!!! Оказалось там проблема в файле .src --- Например там праписано Npc\Dia_*.D ну типа все скрипты в этой папке с префиксом Диа... но вот только в проге GothicSource она этого не понимает... Поэтому пришлось вбивать все самому =))) гдето 40 минут времени угробил... но сделал!! Выкладываю! Так на будующие, малоли. В архиве все так же как и у уважаемого WSA, но только Пофиксены два src файла... если проблемы возникнут, то говорите...

Спасибо за внимание... кстати на вики выложите файл плз... Просто на будующие хочу сохранить... а то работа нудная была... Кстати так же могу выложить пофиксеную версию проекта... ну чтоб сразу в ГотикСоурс вставить! Никакие скрипты не изменины!

PS. Ссори за граматические ошибки... устал за сегодня. =)

Черт... После компила... скриптов. При начале игры вылезает ошибка походу какаято моделька... Никто не знает почему?? =(



--- Уже разобрался... там нужна моделька Armor_kolch.asc где её достать? А удолять из скрипта не хоца =)
 

Magmatic Imperius

Участник форума
Регистрация
21 Апр 2009
Сообщения
85
Благодарности
10
Баллы
160
По ходу ты взял за основу чужой мод, скопируй оттуда анимации и ошибок не будет.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Dimmell написал(а):
Saturas написал(а):
Ты не понял меня АБСОЛЮТНО мне нужно ДЛЯ 1 УРОВНЕВОГО ЗАКЛА!!!!
Нада чтобы для огненного дождя мана инвестирывавылась, не 150 сразу а, по 20 мыны в сек или м/сек понял или нет?
И как это ты представляешь?
1 каст - 1 расход маны.
Вариант с поливанием дождем может пройти только, если ты сделаешь каст (быстрый) закла с малым расходом маны и малым временем действия закла. И кастуй их потоком.
Ты помнишь, как кастовались заклы в Оригинальной г2? Если да, то ты должен понять про что я говорю.


Kirald написал(а):
Вот сталкнулся с проблемой, что Декомпилированые скрипты от WSA в GothicSource Глючат!!! Оказалось там проблема в файле .src --- Например там праписано Npc\Dia_*.D ну типа все скрипты в этой папке с префиксом Диа... но вот только в проге GothicSource она этого не понимает... Поэтому пришлось вбивать все самому =))) гдето 40 минут времени угробил... но сделал!! Выкладываю! Так на будующие, малоли. В архиве все так же как и у уважаемого WSA, но только Пофиксены два src файла... если проблемы возникнут, то говорите...

Спасибо за внимание... кстати на вики выложите файл плз... Просто на будующие хочу сохранить... а то работа нудная была... Кстати так же могу выложить пофиксеную версию проекта... ну чтоб сразу в ГотикСоурс вставить! Никакие скрипты не изменины!

PS. Ссори за граматические ошибки... устал за сегодня. =)

Черт... После компила... скриптов. При начале игры вылезает ошибка походу какаято моделька... Никто не знает почему?? =(



--- Уже разобрался... там нужна моделька Armor_kolch.asc где её достать? А удолять из скрипта не хоца =)
Это из мода Русь, качай мод и тяни оттуда.
 
Последнее редактирование модератором:

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Saturas написал(а):
Ты помнишь, как кастовались заклы в Оригинальной г2? Если да, то ты должен понять про что я говорю.
Боюсь что на Г2а ты ничего похожего не сделаешь - даже при прописывании нескольких строк на расход маны при касте движок тупо отнимает только стоимость 1 каста. При переименовании константы в переменную (стоимость закла в мане) - отказывается компилировать. При добавлении расхода маны в логику - движок его просто не видит.
Вот и получается 1 каст - 1 мана прописанная в константе.
 
Последнее редактирование модератором:

Kirald

Участник форума
Регистрация
11 Окт 2009
Сообщения
8
Благодарности
0
Баллы
145
По ходу ты взял за основу чужой мод, скопируй оттуда анимации и ошибок не будет.

Нет это болванка скриптов которую я скачал с этого сайта. Видимо основана она уже была на чьём то моде (как уже сказали на моде "Русь"). Теперь все встало на свои места, просто я подумал, может кому нибудь понадобиться коректная версия этой болванки, в общем тут есть заготовки для мода пара НПС, Несколько оружий и стандартные предметы. Мне понравилось тем, что можно создать мод с нуля... но имея основные функции... В общем я работаю с этими болванками вместе с Акелловской версией скриптов (тоже есть на вашем сайте), так как мой мод должен будет происходить на Хоринисе (надо перепройти игру, так как уже не помню это название всего острова или Только города =)) острове, но от лица другово персоонажа после 2-ой части игры. Спасибо за внимание! Может позже у меня возникнут вопросы по скриптингу.
 
Последнее редактирование модератором:

redleha


Модостроитель
Регистрация
26 Фев 2008
Сообщения
735
Благодарности
665
Баллы
245
В-общем, возник такой вопрос. Касательно музыки.
В файле MusicInst.d ,как я понял Пираньи оставили следы от первой Готы
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// XXXXXXXX O L D M I N E - E N T R [OME_] XXXX
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// Burgruine an Felswand, mit Fokus

INSTANCE OME_Day_Std (C_MUSICTHEME_DEF) { file = "cam_day_thr.sgt"; };
INSTANCE OME_Ngt_Std (C_MUSICTHEME_DEF) { file ="cam_ngt_std.sgt"; };
Как я понимаю, это фоновая музыка для Старой шахты. Я хочу вставить эту музыку фоновой на своей локе.
В спайсере был поставлен воб oCZoneMusicDefault. Назван ORCMINE_OME (как я понял этот суффикс _OME определяет музыку).
Что мне нужно помимо этих двух файлов вынуть из первой Готы : "cam_day_thr.sgt"и"cam_ngt_std.sgt"?
И можно ли так сделать? Просьба дать конкретный ответ , без предположений.
 
Последнее редактирование модератором:

Lancelot

Участник форума
Регистрация
20 Фев 2008
Сообщения
54
Благодарности
16
Баллы
175
Уважаемые модостроители ! Возникло небольшое затруднение. В своем моде я пытаюсь реализовать собаку, которая бы следовал за ГГ и ее характеристики можно было бы улучшать, тратив LP. Собственно сама трудность заключается в том, что назначая Волку другую гильдию, не работает почти вся анимация он даже двигаться не может. Но анимация получения повреждений и анимация смерти работает. Если вас не затруднит, разъясните новичку почему это происходит. :-\
 

Magmatic Imperius

Участник форума
Регистрация
21 Апр 2009
Сообщения
85
Благодарности
10
Баллы
160
Присвой волку ID вызванного волка, только пропиши в скриптах чтобы он не помирал.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.832
Благодарности
6.716
Баллы
1.625
redleha, мда, хорош вопрос, тока он не для скриптов... ну да ладно, но сначала хочу сказать:
СКОЛЬКО РАЗ ГОВОРИТЬ - ПРОВЕРЯТЬ САМОМУ, А ПОТОМ СПРАШИВАТЬ!!!

кроме этих двух файлов ничего не нужно.

ЗЫ. ты вроде толковый модостроитель, а впервые вижу как ты такое говоришь, я аж в шоке.
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
Lancelot
В моде "Странник"тоже самое с собакой реализовано.
 
Последнее редактирование модератором:

Kirald

Участник форума
Регистрация
11 Окт 2009
Сообщения
8
Благодарности
0
Баллы
145
Небольшой, но очень важный вопрос... Начал создовать мод... в конечном счете решил создать новый остров... ну тоесть новую локацию, на которой и будет происходить события игры. В общем создал низкополигональную карту в 3ds Max. И вот пришла пара текстурировать это добро... Вот только в спейсере текстурирование не очень удобное... а в 3ds Max очень долгое... Вот и возник вопрос, есть ли какая нибудь програмка для создание карт для ГОТИКИ 2а, редакторов ландшавтов у меня завались... но они все хай поли. А еще лутше, чтоб затекстурировать карту... ну или посоветуйте способ которым текстурируют большинство мод мейкеров... Заранее Спасибо.
 

Мільтен

Участник форума
Регистрация
27 Июн 2008
Сообщения
862
Благодарности
427
Баллы
265
Kirald написал(а):
Небольшой, но очень важный вопрос... Начал создовать мод... в конечном счете решил создать новый остров... ну тоесть новую локацию, на которой и будет происходить события игры. В общем создал низкополигональную карту в 3ds Max. И вот пришла пара текстурировать это добро... Вот только в спейсере текстурирование не очень удобное... а в 3ds Max очень долгое... Вот и возник вопрос, есть ли какая нибудь програмка для создание карт для ГОТИКИ 2а, редакторов ландшавтов у меня завались... но они все хай поли. А еще лутше, чтоб затекстурировать карту... ну или посоветуйте способ которым текстурируют большинство мод мейкеров... Заранее Спасибо.

Большинство модмейкеров текстурируют в Максе или в Спейсере :)
Да и по-моему ты преувеличиваешь. Текстурирование в Спейсере довольно удобное, как по мне. Как мне известно нету никакой програмки для создания карт Г2А.
 
Последнее редактирование модератором:

Kirald

Участник форума
Регистрация
11 Окт 2009
Сообщения
8
Благодарности
0
Баллы
145
Ну понятно... А насчет спейсера мне тоже сначало показалось удобным выделение фейсов и их последующее текстурирование, но вот некоторые проблемы с этим есть если например надо перетекстурировать кусок или отменить все выделения... Ну, чтож сейчас буду доделывать скрипты, диалоги сюжет... И потехоньку создовать карту в максе, вот только планирую её с нуля создать... а то так она получилась очень Полигональная, и пришлось её оптимизировать =) в общем удачи мне и вам! =)

PS. Пока не забыл, хотел спросить как конвертировать мой мешь в Зен файл, а то после компила можно только текстурить, а сохранить Зен или добавить БОЛЬШИНСТВО (но не все) объектов нельзя. Заранее Спасибо!
 
Сверху Снизу