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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток! Спешите принять участие в обсуждении работ на конкурсе квент 2025!
    Ждем именно вас!

    Ссылка на конкурсную тему с работами- тык

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

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.596
Благодарности
3.382
Баллы
525
Не, это неправильно. Правильную схему посмотри у сундука или наковальни, например. Там должны присутствовать анимки T_XXX_Stand_2_S0, S_XXX_S0, T_XXX_S0_2_S1, S_XXX_S1, T_XXX_S1_2_S0 и T_XXX_S0_2_Stand.
 

Den4ik

Участник форума
Регистрация
14 Ноя 2020
Сообщения
72
Благодарности
3
Баллы
105
Понял, буду смотреть
Не, это неправильно. Правильную схему посмотри у сундука или наковальни, например. Там должны присутствовать анимки T_XXX_Stand_2_S0, S_XXX_S0, T_XXX_S0_2_S1, S_XXX_S1, T_XXX_S1_2_S0 и T_XXX_S0_2_Stand.
Пост автоматически объединён:

Не, это неправильно. Правильную схему посмотри у сундука или наковальни, например. Там должны присутствовать анимки T_XXX_Stand_2_S0, S_XXX_S0, T_XXX_S0_2_S1, S_XXX_S1, T_XXX_S1_2_S0 и T_XXX_S0_2_Stand.
Да, в этом и была причина. Большое вам спасибо! А то 2 дня убил в поисках проблемы :)
 
Последнее редактирование:

GeoDragon

Участник форума
Регистрация
15 Сен 2021
Сообщения
2
Благодарности
0
Баллы
95
What a horror. The real solution is one line in the .d file in system/autorun, for both G1 and G2:
Daedalus:
const int LP_PER_LEVEL = 5;
It is possible to change also the starting life points from 40HP to something else by a line code, if yes which one?
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.364
Благодарности
3.746
Баллы
565
It is possible to change also the starting life points from 40HP to something else by a line code, if yes which one?
Daedalus:
test(PC_Hero)
{
    instance PC_Hero(Npc_Default)
    {
        PC_Hero_Old();
        attribute[1] = 666; //ATR_HITPOINTS_MAX
        attribute[0] = 666; //ATR_HITPOINTS
    };
};
 

Вложения

  • HP.d
    163 байт · Просмотры: 3

STARK

Участник форума
Регистрация
20 Янв 2011
Сообщения
626
Благодарности
157
Баллы
220
Daedalus:
test(PC_Hero)
{
    instance PC_Hero(Npc_Default)
    {
        PC_Hero_Old();
        attribute[1] = 666; //ATR_HITPOINTS_MAX
        attribute[0] = 666; //ATR_HITPOINTS
    };
};
Можно поподробнее, как это работает?
1) test(PC_Hero)
test - это специальное (обязательное) имя функции, или можно создавать с любым именем?
Для чего именно PC_Hero в качестве аргумента?
2) instance PC_Hero(Npc_Default)
Я так понимаю здесь происходит переопределение шаблона PC_Hero?
3) PC_Hero_Old();
Я так понимаю эта строка вызывает все содержимое оригинальной instance PC_Hero(Npc_Default)?
Почему именно такая запись, без аргумента и с приставкой _Old?
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.364
Благодарности
3.746
Баллы
565
1) test(PC_Hero)
test - это специальное (обязательное) имя функции, или можно создавать с любым именем?
Для чего именно PC_Hero в качестве аргумента?
test(X) проверяет, существует ли X (может быть объектом, переменной или константой) и останавливает выполнение, если не существует.
Можно не использовать и ничего не проверять, но я всегда проверяю (причина далее по тексту).

2) instance PC_Hero(Npc_Default)
Я так понимаю здесь происходит переопределение шаблона PC_Hero?
Скорее, создание нового. Если такой объект уже существует в скриптах, то объект из файла .d его переопределит (заменит).

3) PC_Hero_Old();
Я так понимаю эта строка вызывает все содержимое оригинальной instance PC_Hero(Npc_Default)?
Да, и таким образом создает копию. Затем можно точечно что-то поменять: в данном случае attribute 1 и 0.
Если X не существует, то вызов X_Old приведет к вылету.
Если не использовать X_Old, то X будет пустым (или только с теми свойствами, которые будут указаны).

Почему именно такая запись, без аргумента и с приставкой _Old?
Потому что такой синтаксис.

Примеры:
Daedalus:
//оригинальный PC_Hero, у которого изменено имя
instance PC_Hero(Npc_Default)
{
    PC_Hero_Old();
    name[0] = "Вася";
};

//пустой PC_Hero, у которого будет только имя Вася
instance PC_Hero(Npc_Default)
{
    name[0] = "Вася";
};

//PC_Hero со всеми свойствами Бладвина
instance PC_Hero(Npc_Default)
{
    BDT_1085_Addon_Bloodwyn();
};

//вылет, потому что BDT_666_Vasya не существует
instance PC_Hero(Npc_Default)
{
    BDT_666_Vasya();
};

//вылет, потому что PC_MyCoolHero не существует
instance PC_MyCoolHero(Npc_Default)
{
    PC_MyCoolHero_Old();
    name[0] = "Вася";
};
 
Последнее редактирование:

STARK

Участник форума
Регистрация
20 Янв 2011
Сообщения
626
Благодарности
157
Баллы
220
D36, Спасибо за развернутый ответ.
Хотел уточнить: PC_Hero, как и все, что начинается с приставки instance, - это все-же объект?
Вопрос от того, что в игре существует множество объектов с одинаковой инстанцией. Например Волк, или Какая-то-трава.
Так что конструкцию instance воспринимал как описание класса, но не сам объект.
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.364
Благодарности
3.746
Баллы
565
Вопрос от того, что в игре существует множество объектов с одинаковой инстанцией. Например Волк, или Какая-то-трава.
Ну и пусть. Все они являются уникальными объектами.

Daedalus:
class C_NPC
{
    //класс
};

prototype Npc_Default(C_NPC)
{
    //прототип класса C_NPC (ещё не объект)
};

instance PC_Hero(Npc_Default)
{
    //объект класса C_NPC со свойствами прототипа
};

Daedalus:
class C_ITEM
{
    //класс
};

instance ItMi_Flask(C_ITEM)
{
    //объект класса C_ITEM
};
 
Последнее редактирование:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.386
Благодарности
4.723
Баллы
625
PC_Hero, как и все, что начинается с приставки instance, - это все-же объект?
Путаете друг друга. Слово "объект" тут просто часть контекста. В данном случае речь про структуру текста скрипта, где под объектом она понимает все, что может иметь собственное имя (уникальный идентификатор). Это: const, var, func, prototype, instance, class.
К тому, что ты видишь и можешь "пощупать" в игре (волки травы), это не имеет никакого отношения. Это тоже объекты, но часть игровой системы, например.
 

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.487
Благодарности
6.100
Баллы
940
Я хз почему меня вообще этой хренью тревожат
Чел прислал фотку ошибки ГС
5433905744756995702.jpg

И пишет, что возможно ли эта ошибка при превышении числа какого-то переменных...
Почему меня это спрашивают?

Ну и ответ жду тогда.

Пишет ещё, что как удалил часть переменных, всё заработало... Я ж думаю, что просто баг гс и надо было ребут его
 
Сверху Снизу