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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

    Не ленитесь, голосуйте в этой теме за тех форумчан, которые по вашему мнению больше всех проявили себя в этом году
    По желанию, аргументировать свой выбор можете в теме обсуждения голосования.

Не стесняюсь спросить....

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Korripto
Благодарю за помощь, сработало!
А еще меня смутила сама строка:
self.aivar[AIV_SelectSpell] = self.aivar[AIV_SelectSpell] + 1;
if(slf.aivar[AIV_SelectSpell] <= 3)

значение присваивается self.aivar[AIV_SelectSpell], а проверяется slf.aivar[AIV_SelectSpell].
Возможно просто ошибка?
P.S. я не силен в скриптонаписании.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
2dimmell:
Не смотрел как полностью выглядит эта функция, но присвоение прописано верно, ошибка же в том что условие стоит ниже присвоения, а должно быть так:

if(slf.aivar[AIV_SelectSpell] <= 3)
{
  self.aivar[AIV_SelectSpell] = self.aivar[AIV_SelectSpell] + 1;
}
...
и т.д..
А вообще когда спрашиваешь про ошибки то приводи полностью всю функцию а не кусок из нее.  ;)
По первому твоему вопросу тоже не все понятно...
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.900
Благодарности
6.777
Баллы
1.625
2dimmell:
По первому вопросу, Корипто немного не правильно ответил,
else убирать не нужно, нужно было убрать точку с запятой перед стройчкой
self.aivar[AIV_SelectSpell] = self.aivar[AIV_SelectSpell] + 1;
Ну и саму эту строчку, нужно вставить во все If(ы), т.е. между B_ReadySpell(self,asd,asd) и return TRUE;
Т.е. Так:
if(slf.aivar[AIV_SelectSpell] <= 1)
{
B_ReadySpell(slf,SPL_MassDeath,SPL_Cost_BreathOfDeath);
self.aivar[AIV_SelectSpell] = self.aivar[AIV_SelectSpell] + 1;
return TRUE;
}
else if(slf.aivar[AIV_SelectSpell] <= 2)
{
B_ReadySpell(slf,SPL_SummonDemon,SPL_Cost_SummonDemon);
self.aivar[AIV_SelectSpell] = self.aivar[AIV_SelectSpell] + 1;
return TRUE;
}
else if(slf.aivar[AIV_SelectSpell] <= 3)
{
B_ReadySpell(slf,SPL_Deathball,SPL_COST_Deathball);
self.aivar[AIV_SelectSpell] = self.aivar[AIV_SelectSpell] + 1;
return TRUE;
};
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
2MEG@VOLT:
по логике - да, но скрипт не мой и я вообще не знаю что он делает.
Поэтому последую совету MaGoth и приведу функцию полностью:
if(Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(none_102_kreol))
{
if(RUNEMAGICNOTWORK == TRUE)
{
return FALSE;
};
if(Npc_HasItems(slf,ItRu_Deathball) == 0)
{
CreateInvItems(slf,ItRu_Deathball,1);
};
if(Npc_HasItems(slf,ItRu_SumDemon) == 0)
{
CreateInvItems(slf,ItRu_SumDemon,1);
};
if(Npc_HasItems(slf,ItRu_FullHeal) == 0)
{
CreateInvItems(slf,ItRu_FullHeal,1);
};
if(Npc_HasItems(slf,ItRu_BreathOfDeath) == 0)
{
CreateInvItems(slf,ItRu_BreathOfDeath,1);
};
if(slf.attribute[ATR_HITPOINTS] < 200)
{
B_ReadySpell(slf,SPL_FullHeal,SPL_Cost_FullHeal);
return TRUE;
};
if(slf.aivar[AIV_SelectSpell] <= 1)
{
B_ReadySpell(slf,SPL_MassDeath,SPL_Cost_BreathOfDeath);
return TRUE;
}
else if(slf.aivar[AIV_SelectSpell] <= 2)
{
B_ReadySpell(slf,SPL_SummonDemon,SPL_Cost_SummonDemon);
return TRUE;
};
self.aivar[AIV_SelectSpell] = self.aivar[AIV_SelectSpell] + 1;
else if(slf.aivar[AIV_SelectSpell] <= 3)
{
B_ReadySpell(slf,SPL_Deathball,SPL_COST_Deathball);
return TRUE;
}
else if(slf.aivar[AIV_SelectSpell] >= 20)
{
slf.aivar[AIV_SelectSpell] = 0;
};
return TRUE;
};
и попрошу направить на путь истинный, а то что-то я вообще запутался :eek:
 
Последнее редактирование модератором:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.900
Благодарности
6.777
Баллы
1.625
Ну в принципе ничего сложного
if(Npc_HasItems(slf,ItRu_Deathball) == 0)
{
CreateInvItems(slf,ItRu_Deathball,1);
};
if(Npc_HasItems(slf,ItRu_SumDemon) == 0)
{
CreateInvItems(slf,ItRu_SumDemon,1);
};
if(Npc_HasItems(slf,ItRu_FullHeal) == 0)
{
CreateInvItems(slf,ItRu_FullHeal,1);
};
if(Npc_HasItems(slf,ItRu_BreathOfDeath) == 0)
{
CreateInvItems(slf,ItRu_BreathOfDeath,1);
};
Если нет такой-то руны, то она создается
if(slf.attribute[ATR_HITPOINTS] < 200)
{
B_ReadySpell(slf,SPL_FullHeal,SPL_Cost_FullHeal);
return TRUE;
};
Если жизни меньше 200, то использует руну исцеление.
А дальше как уже сказал я и Магот.
По поводу self.aivar[AIV_SelectSpell] = self.aivar[AIV_SelectSpell] + 1;
То тут идет увеличение счетчика использования колдунств, вот и все...
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Вот теперь все понятно!
Кстати сам файл B_SelectSpell.d с этой ошибкой находится в неофициальном патче.
Вот если бы не эта ошибка, играл бы себе спокойно в Возвращение, а так пошла игра в компилятор-декомпилятор. Затягивает, однако! :D
 

DUSTinghoFFman

Участник форума
Регистрация
24 Май 2008
Сообщения
904
Благодарности
4
Баллы
185
Да ну?! ???
А как бы я закатал тогда скрипты в .DAT файл? У меня Gothic Sourcer тогда бы ошибку выдал! ;)
Всё было нормально. Я сам проверял этот скрипт, потому что очень часто его правил, и смотрел за всеми вниманиями при компиляции, множество вниманий я исправил( в оригинале аддона было около 80, я снизил до 20) , а ошибок просто не было!
Не понимаю. ::)
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
2DUSTinghoFFman:
Я так думаю, грабли в скриптах ты правил сразу при декомпилляции, а он нет, и скорее он использовал уже твои скрипты для декомпиллинга.
А декомпилляция декомпиллированых скриптов плохая идея изначально... В нее стоит лезть как минимум если разбираешься на среднем уровне скриптов. иначе завязнешь. :D
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Да ну?! ???
А как бы я закатал тогда скрипты в .DAT файл? У меня Gothic Sourcer тогда бы ошибку выдал! ;)
Всё было нормально. Я сам проверял этот скрипт, потому что очень часто его правил, и смотрел за всеми вниманиями при компиляции, множество вниманий я исправил( в оригинале аддона было около 80, я снизил до 20) , а ошибок просто не было!
Не понимаю. ::)
А после моей пересборки - ошибок=0, вниманий=0.
Можно просто предположить, что залился/скачался битый файл, или случайно залился не тот файл, а проверить очень просто - скачать и декомпилировать-компилировать. Я скачивал файл gothic_v_140908.rar 17.11.2008.
Кстати, а как насчет предложенных изменений? (это намного важнее, чем обсуждение кто и как работает).
 

Мастер Готики

Почетный форумчанин
Регистрация
16 Сен 2006
Сообщения
6.056
Благодарности
5.904
Баллы
730
Такой вот у меня есть вопрос. Я заметил, что в некоторых модах для Г1 в башне Туманов (там где Хроманин) возникают тормоза. Причём возникают они не просто так, а если сохранится в этих подземельях. В частности, начинает тормозится зона от площадки где маг скелетов, до выхода из подземелий со стороны башни. В оригинале этого не было, а вот в модах наблюдается.
Тормоза очень сильные. На каждое нажатие клавиши игра реагирует где-то спустя минуту. Если набраться терпения и загрузить ранний сейв, где ГГ находится вне подземелий, то в других местах игра не зависает - только в подземельях башни Туманов.
И собственно сам вопрос - как это устранить?
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Подскажите, пожалуйста, как можно сделать загрузку Долины рудников со всеми неписями во второй главе, а не при начале игры, а то задолбало переигрывать после правки  :'(
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.900
Благодарности
6.777
Баллы
1.625
После правки тебе ПРИДЕТСЯ переигрывать все с начала... В этом заключается мастерство модостроителя.
Иногда получается так: Сделал в первой главе все что нужно - косяков нет...
Сделал во второй главе все, проверяешь вторую главу - косяков нет... Проверяешь тутже первую главу - появляются косяки... Думай... Надо ли тебе это???

ЗЫ... Не надо всякого непися писать!
 

Мастер Готики

Почетный форумчанин
Регистрация
16 Сен 2006
Сообщения
6.056
Благодарности
5.904
Баллы
730
Такой вот у меня есть вопрос. Я заметил, что в некоторых модах для Г1 в башне Туманов (там где Хроманин) возникают тормоза. Причём возникают они не просто так, а если сохранится в этих подземельях. В частности, начинает тормозится зона от площадки где маг скелетов, до выхода из подземелий со стороны башни. В оригинале этого не было, а вот в модах наблюдается.
Тормоза очень сильные. На каждое нажатие клавиши игра реагирует где-то спустя минуту. Если набраться терпения и загрузить ранний сейв, где ГГ находится вне подземелий, то в других местах игра не зависает - только в подземельях башни Туманов.
И собственно сам вопрос - как это устранить?

Вопрос решился. На данном участке мира разработчики перемудрили со светом. Загрузили участок дальше некуда. Если довести там всё до ума, то проблема исчезает.
За данную информацию говорим спасибо Trazege
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
После правки тебе ПРИДЕТСЯ переигрывать все с начала... В этом заключается мастерство модостроителя.
Иногда получается так: Сделал в первой главе все что нужно - косяков нет...
Сделал во второй главе все, проверяешь вторую главу - косяков нет... Проверяешь тутже первую главу - появляются косяки... Думай... Надо ли тебе это???
Переигрывать и перепроверять отлаженное - нет.
А вот вернуться до начала второй главы и переиграть, загрузив вторую главу с изменениями во второй главе, которые никак не отражаются ни на чем другом - да.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.900
Благодарности
6.777
Баллы
1.625
Переигрывать и перепроверять отлаженное - нет.
А вот вернуться до начала второй главы и переиграть, загрузив вторую главу с изменениями во второй главе, которые никак не отражаются ни на чем другом - да.
Значит хочешь косяков... Ну чтож, мешать не буду... Делается это следующим образом...
Заходишь в новую игру. Нажимаешь [ B ]MARVIN[ B ] F2 insert SH F2 [ B ]42[ B ]
Кнопка Действия... И смотри что там моно выбрать...
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Переигрывать и перепроверять отлаженное - нет.
А вот вернуться до начала второй главы и переиграть, загрузив вторую главу с изменениями во второй главе, которые никак не отражаются ни на чем другом - да.
Значит хочешь косяков... Ну чтож, мешать не буду... Делается это следующим образом...
Заходишь в новую игру. Нажимаешь [ B ]MARVIN[ B ] F2 insert SH F2 [ B ]42[ B ]
Кнопка Действия... И смотри что там моно выбрать...
Косяков не хочу, хочу найти оптимальный режим предварительной отладки для 2-й главы без переигровки 1-й.
Но пошел другим путем - перенес загрузку Startup_Oldcamp() и т.д. связанных с расположением неписей в Долине рудников на начало 2 главы. Начал игру заново, зашел в долину в 1 главе - ни одного живого существа, сдал квест Хагену, вернулся в долину - все живое на своих местах. Остается только наиграть 1 главу в нормальном варианте и проверить дальнейшее развитие событий.

Добавлено:
insert SH not found

 

Firemaster

Участник форума
Регистрация
15 Сен 2008
Сообщения
13
Благодарности
0
Баллы
150
Ребята, а если я не разбираюсь в моделировании, но хочу попробовать несколько дополнить гоитку квестами/нпс, то этому долго учиться? И еще, можно ли привести пример, как делать простенький квест? Например: Боспер хочет попробовать сделать стрелы с наконечниками из магической руды и просит сходить за ней к Хараду (принцип: пошел - забрал - отдал).
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
2Firemaster:
Интересующие тебя примеры скриптов и их реализацию можно посмотреть здесь.

Ps. Ресурс будет доступен завтра, тех обслуживание. ;)
 

Inkvizitor

Забанен
Регистрация
18 Авг 2008
Сообщения
497
Благодарности
25
Баллы
185
Товарищи! Как вынуть шрифт из Готики 1? Помогите!
 

vmazz

Участник форума
Регистрация
18 Дек 2008
Сообщения
218
Благодарности
1
Баллы
165
Inkvizitor написал(а):
Товарищи! Как вынуть шрифт из Готики 1? Помогите!
Не знаю как в локализации от 1С, но в версии от Руссобит они лежат в DATA\fonts.vdf (в 1С вероятно там-же, либо в textures.vdf). Архивы открывать GothicVDFS`ом.
 
Последнее редактирование модератором:
Сверху Снизу