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

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

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

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

Мільтен

Участник форума
Регистрация
27 Июн 2008
Сообщения
862
Благодарности
427
Баллы
265
Папка work\data\Meshes\level
Перекинул в Level, проблема не исчезла.
Попробовал сделать то же самое с оригинальными мешами, которые, как мне показалось, являются индор:
NewWorld_Part_Dragon_Final_01
Addon_Part_AdanosTemple_P01
То же самое.
 

hell9999

Участник форума
Регистрация
12 Апр 2008
Сообщения
2.049
Благодарности
1.170
Баллы
340
Перекинул в Level, проблема не исчезла.
Попробовал сделать то же самое с оригинальными мешами, которые, как мне показалось, являются индор:
NewWorld_Part_Dragon_Final_01
Addon_Part_AdanosTemple_P01
То же самое.
Вообще, перечисленные тобой локации являются аутдором. А темнота в них обеспечивается порталами и санблокерами.
Так что открывай их аутдором и будет все в порядке.
 

Хелдар

Участник форума
Регистрация
3 Июл 2012
Сообщения
2.450
Благодарности
780
Баллы
375
Люди добрые, кто-нибудь может скинуть оригинальный Готик.Дат?
 

Хелдар

Участник форума
Регистрация
3 Июл 2012
Сообщения
2.450
Благодарности
780
Баллы
375
Ага, разобрался с доступом, благодарю.
Но скачать не удается, я что-то не так делаю?*???* (требует пароля и логина, после ввода которых зависает).
 

hell9999

Участник форума
Регистрация
12 Апр 2008
Сообщения
2.049
Благодарности
1.170
Баллы
340

Вложения

  • GOTHIC.7z
    997,1 KB · Просмотры: 132

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995

Defman

Участник форума
Регистрация
26 Май 2013
Сообщения
3.165
Благодарности
245
Баллы
300
Может кто-нибудь объяснить про return TRUE/FALSE? Уроки Vam'a читал,но так и не понял,что эта функция делает.Например,что она делает в данном случае:

Код:
if(Npc_KnowsInfo(other,DIA_Xardas_FirstEXIT)) && (POTION_IncreaseFight == FALSE)
 
{
return TRUE;
};
Если не трудно,отпишитесь и потратьте свое драгоценное время на новичка,вроде меня.
Спасибо,Dimmell и MaGoth,за подробное объяснение этой функции.
Для меня,я так понял,это установка int равная 1(из уроков вама понял,что инт принимает только числовое значение),т.к. код выглядит так:
Код:
func int DIA_Xardas_Teach_Condition()
 
{
 
if(Npc_KnowsInfo(other,DIA_Xardas_FirstEXIT)) && (POTION_IncreaseFight == FALSE)
 
{
 
return TRUE;
 
};
 
};
,т.е. При выполнении условия

Код:
if(Npc_KnowsInfo(other,DIA_Xardas_FirstEXIT)) && (POTION_IncreaseFight == FALSE)
 
{
 
return TRUE;
 
}
,фунция
Код:
func int DIA_Xardas_Teach_Condition()
будет равна 1?
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Если не трудно,отпишитесь и потратьте свое драгоценное время на новичка,вроде меня.
Открываем тутор ВАМа, Уроки скриптологии ч2.
Тема вторая: Искусственный интеллект
1. Константы AI.
//*************************************
// Общие константы
//*************************************
const int TRUE = 1; //Значение TRUE
const int FALSE = 0; //Значение FALSE

const int LOOP_CONTINUE = 0; //Значение продолжения цикла
const int LOOP_END = 1; //Значение выхода из цикла

const int DEFAULT = 0; //Значение по умолчанию

Со значениями TRUE\FALSE разобрались...
return TRUE возвращает 1 при выполнении условия.
Если это условие появления диалога **************_Condition() - то при выполнении условия вернет 1 и диалог появится.
Грызите туторы, там все есть. И освойте азы программирования, хотя бы уровня Бэйсика.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
Defman,
Может кто-нибудь объяснить про return TRUE/FALSE? Уроки Vam'a читал,но так и не понял,что эта функция делает.Например,что она делает в данном случае:

Пишу в первый и последний раз, ибо подобное здесь даже лучше не спрашивать, это все надо знать изначально.

1. В твоем случае имеем функцию на выполнение того или иного условия, которая выражена в:
if(Npc_KnowsInfo(other,DIA_Xardas_FirstEXIT)) && (POTION_IncreaseFight == FALSE)
{
return TRUE;
};

Разобьем её на части чтобы понятнее было, примерно так, где:
Если Нпс уже знает квест/информацию, например, пусть это будет "Приготовить зелье для Ксара"
if(Npc_KnowsInfo(other,DIA_Xardas_FirstEXIT))

далее идет логический операнд - ИИ
&&

и Нпс (не нашел, не приготовил и т.д.) требуемого зелья
(POTION_IncreaseFight == FALSE)

То при проверке этих двух условий, обработчик функции возвращает TRUE для дальнейшего исполнения кода.
{
return TRUE;
};

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

2. TRUE и FALSE - диапазон значений логического типа, обычная их трактовка такая:
TRUE - Истина, которая всегда равна 1, FALSE - ложь, которая всегда равна 0 (по умолчанию для всех значений переменных/функций, если не прописано иное).
При написании, можно указывать как: TRUE так и 1 вместо него, эти значения всегда равнозначны, что верно и для FALSE - 0.

3. Таким образом, твое условие можно записать так:
Если Нпс уже знает квест/информацию = 1,
И
Нпс (не нашел, не приготовил и т.д..) требуемого зелья = 0.

То, так как оба этих значения истинны, то функция возвращает TRUE - 1.

4. Если указанные условия были выполнены, то начинается новый диалог/квест и прочее, прочее...
Примерно где-то так.

Зы, В туторе Вама все это расписано, просто вникать нужно лучше.
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
,т.е. При выполнении условия

Код:
if(Npc_KnowsInfo(other,DIA_Xardas_FirstEXIT)) && (POTION_IncreaseFight == FALSE)
 
{
 
return TRUE;
 
}
,фунция
Код:
func int DIA_Xardas_Teach_Condition()
будет равна 1?
Функции, в которых идет возврат переменных, могут работать в 2-х вариантах:
1. если эта функция (В) вызывается из функции (А) и в функции В есть return ХХХХ;, то при выполнении условия в функции В она вернет в функцию А значение ХХХХ. Дальше это значение ХХХХ будет обрабатываться в функции А.
2. Если функция ниоткуда из скриптов не вызывается и возвращает return ХХХХ; - значит эта функция обрабатывается на уровне движка и возвращаемое значение является переменной (константой, флагом, красным знаменем, белой тряпкой и т.п.) для выполнения какого-то условия (в случае с диалогом все func int ХХХХ_Condition() - это появление самого диалога в игре, прописанного в func void ХХХХ_Info() , при TRUE он появится, при FALSE его не будет. Если не выполняется условие в ХХХХ_Condition() и не возвращает TRUE - диалога не будет, по умолчанию эта функция вернет FALSE. Грубо говоря, если не сказали "Да" - это значит сказали "Нет".
Надеюсь понятно? )
 

Defman

Участник форума
Регистрация
26 Май 2013
Сообщения
3.165
Благодарности
245
Баллы
300
Функции, в которых идет возврат переменных, могут работать в 2-х вариантах:
1. если эта функция (В) вызывается из функции (А) и в функции В есть return ХХХХ;, то при выполнении условия в функции В она вернет в функцию А значение ХХХХ. Дальше это значение ХХХХ будет обрабатываться в функции А.
2. Если функция ниоткуда из скриптов не вызывается и возвращает return ХХХХ; - значит эта функция обрабатывается на уровне движка и возвращаемое значение является переменной (константой, флагом, красным знаменем, белой тряпкой и т.п.) для выполнения какого-то условия (в случае с диалогом все func int ХХХХ_Condition() - это появление самого диалога в игре, прописанного в func void ХХХХ_Info() , при TRUE он появится, при FALSE его не будет. Если не выполняется условие в ХХХХ_Condition() и не возвращает TRUE - диалога не будет, по умолчанию эта функция вернет FALSE. Грубо говоря, если не сказали "Да" - это значит сказали "Нет".
Надеюсь понятно? )
Теперь я даже понял смысл жизни), а так,да,расписал лучше некуда.Спасибо за помощь.
И последний вопрос по return.
Допустим,у меня есть функция
func int onWork()
{
if(что_нибудь == 1)
{
return TRUE
};
};
То следующая функция будет рабочей?
func void CreateSHIET()
{
if(onWork == 1)
{
Какое_нибудь_действие
};
};
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Defman
читайте например http://linux.iatp.by/documentation/c_tut/h15.htm
Если вам и это непонятно - купите букварь по программированию и по "ипатьевской" системе с ним пообщайтесь...
 

ВоинИнтернета

Участник форума
Регистрация
29 Апр 2010
Сообщения
752
Благодарности
3
Баллы
200
Ребята, возникла проблема. Нужно затекстурить крону деревьев, но нормально никак не получается... Не могли бы вы мне по подробнее рассказать про этот момент?
*flowers*
 

hell9999

Участник форума
Регистрация
12 Апр 2008
Сообщения
2.049
Благодарности
1.170
Баллы
340
Ребята, возникла проблема. Нужно затекстурить крону деревьев, но нормально никак не получается... Не могли бы вы мне по подробнее рассказать про этот момент?
*flowers*
Крона - это плоские двусторонние полигоны, пересекающиеся под прямым углом со стволом и другими ветками. Что сложного? Берешь текстуру листвы от пираний, делаешь анврап на один полигон, равняешь его в редакторе анврапа как тебе угодно. Операцию повторить на всех полигонах. Профит.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.411
Благодарности
3.242
Баллы
525
Ребята, возникла проблема. Нужно затекстурить крону деревьев, но нормально никак не получается... Не могли бы вы мне по подробнее рассказать про этот момент?
*flowers*

Не могу назвать себя знатоком Макса, хотя кой-какой опыт есть. Думаю, текстурить крону дерева удобнее будет в Спейсере. Возможно, придётся временно включить материалу листвы определение коллизий, чтобы можно было выделять полигоны, покрытые таким материалом.

Открывай *.3ds-модель в Спейсере в режиме "Outdoor" с галочкой "Editor mode" и текстурь средствами Спейсера. Несложный тутор, как это делать, хранится где-то в закромах старого ВОГа.
 

unknown111

Участник форума
Регистрация
5 Фев 2013
Сообщения
1.075
Благодарности
1.586
Баллы
290
Не могу назвать себя знатоком Макса, хотя кой-какой опыт есть. Думаю, текстурить крону дерева удобнее будет в Спейсере. Возможно, придётся временно включить материалу листвы определение коллизий, чтобы можно было выделять полигоны, покрытые таким материалом.

Открывай *.3ds-модель в Спейсере в режиме "Outdoor" с галочкой "Editor mode" и текстурь средствами Спейсера. Несложный тутор, как это делать, хранится где-то в закромах старого ВОГа.

вообще, с точки зрения логики, никто и никогда не текстурил деревья в Спейсере...
деревья создаются из уже оттекстуренных полигонов в Максе, Блендере, Синеме и тому подобном...
хотя если это оригинальные деревья из Г1 с парой полигонов, то конечно можно и в Спейсере.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.411
Благодарности
3.242
Баллы
525
вообще, с точки зрения логики, никто и никогда не текстурил деревья в Спейсере...

Забавное утверждение. Если я не знаю, что кто-то текстурил модель в Спейсере, означает ли это, что этого никто и никогда не делал? ;)

Кстати, было дело, работал с моделями деревьев в Максе. Так и не смог понять, как сделать так, чтобы текстура с альфа-каналом показывалась "правильно", чтобы прозрачные участки были прозрачными. Подскажите, как этого добиться?
 

unknown111

Участник форума
Регистрация
5 Фев 2013
Сообщения
1.075
Благодарности
1.586
Баллы
290
Забавное утверждение. Если я не знаю, что кто-то текстурил модель в Спейсере, означает ли это, что этого никто и никогда не делал? ;)

Кстати, было дело, работал с моделями деревьев в Максе. Так и не смог понять, как сделать так, чтобы текстура с альфа-каналом показывалась "правильно", чтобы прозрачные участки были прозрачными. Подскажите, как этого добиться?

не знаю как в Максе, я работаю в Синеме 4D, и там тоже альфа каналы не отображаются...
я не нашел такой "функции отображения", но, исходя из моего опыта, можно вполне успешно делать детальные деревья и без отображения альфа-каналов, причем довольно легко...

 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
unknown111
Симпатично... Какой ФПС в игре, когда ГГ бежит по такой красоте? А еще интереснее какой когда ГГ машется с 4-5 противниками при прорисовке 300% и использовании магии... :)
 
Сверху Снизу