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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
    Скрыть объявление
  2. Внимание!
    — Требуется примерно по 3-5 человек на каждую из версий ОС:: - Windows® XP SP3, Windows® Vista SP2, Windows® 7 SP1, Windows® 8, Windows® 8.1, Windows® 10(build 10 1607) и Windows® 10(build 10 1703). Для стационарных ПК и ноутбуков. Заявку на участие можно оставить здесь...
    Скрыть объявление

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

Тема в разделе "Модостроение", создана пользователем MaGoth, 28 сен 2007.

Модераторы: Marvіn, MEG@VOLT
  1. MaGoth

    MaGoth ★★★★★★★★★★★
    Администратор

    Регистрация:
    7 янв 2005
    Сообщения:
    14.629
    Благодарности:
    6.602
    Баллы:
    740
    Пол:
    Мужской
    Прежде чем задавать вопросы, ознакомьтесь с документацией..
    1) Читать онлайн
    2) Архив с офлайн-версией(chm) во вложении
     

    Вложения:

    • Vam_tutor.rar
      Размер файла:
      171,6 КБ
      Просмотров:
      246
  2. Myxomop

    Myxomop

    Регистрация:
    28 май 2005
    Сообщения:
    2.465
    Благодарности:
    1.836
    Баллы:
    355
    Пол:
    Мужской
    Можно сделать проще, без else.

    Код (Text):
    func int B_SetDayTolerance() {
    if (Wld_IsTime(22,0,23,59))
    {
       return Wld_GetDay() + 1;
    };
    return Wld_GetDay();
    };
     
     
  3. MEG@VOLT

    MEG@VOLT ★★★★★★★★★
    ТехАдмин

    Регистрация:
    24 мар 2006
    Сообщения:
    1.953
    Благодарности:
    1.010
    Баллы:
    490
    Это стандартная ситуация некомпилированных скриптов. С Матео я уже в личке пообщался. Выслал ему исправленные.
     
  4. Matteo

    Matteo Участник форума

    Регистрация:
    21 июн 2015
    Сообщения:
    87
    Благодарности:
    2
    Баллы:
    60
    Пол:
    Мужской
    Thanks to MEG@VOLT and you guys too. I need help on this error now.

    [​IMG]

    G2 scripts, I'm translating L'Hiver Edition to ENG.
     
  5. Defman

    Defman Участник форума

    Регистрация:
    26 май 2013
    Сообщения:
    1.044
    Благодарности:
    243
    Баллы:
    185
    Пол:
    Мужской
    I guess the uppercase/lowercase is important in this case, you try to use B_DIA_Addon_Myxir_Teach_FL() instead.
     
  6. MEG@VOLT

    MEG@VOLT ★★★★★★★★★
    ТехАдмин

    Регистрация:
    24 мар 2006
    Сообщения:
    1.953
    Благодарности:
    1.010
    Баллы:
    490
    Не, тут прописные-строчные буквы не имеют значения. тут ругается о том, что не вкурсе про эту функцию. Возможно она объявлена далее, нужно ее перенести выше DIA_Addon_Mixir_CITY_Teach_Info
     
    Defman поблагодарил.
  7. Matteo

    Matteo Участник форума

    Регистрация:
    21 июн 2015
    Сообщения:
    87
    Благодарности:
    2
    Баллы:
    60
    Пол:
    Мужской
    So, how can I fix it?
     
  8. MEG@VOLT

    MEG@VOLT ★★★★★★★★★
    ТехАдмин

    Регистрация:
    24 мар 2006
    Сообщения:
    1.953
    Благодарности:
    1.010
    Баллы:
    490
    No, there's uppercase-lowercase letters do not matter. I abuse that doesn't know about this feature. Maybe she announced next, you need to move above DIA_Addon_Mixir_CITY_Teach_Info
     
  9. Dimus

    Dimus ★★★★★★★
    Модератор

    Регистрация:
    19 июл 2010
    Сообщения:
    3.784
    Благодарности:
    2.147
    Баллы:
    540
    Пол:
    Мужской
    Дополнение к ответу MEG@VOLT:
    Открыть спойлер
    Насколько я помню, в скриптах всегда надо писать заглавными буквами названия waypoint и freepoint. Также из-за ограничений компилятора, работающего только за один проход, все классы, прототипы, инстанции, константы, переменные и функции должны быть объявлены до первого обращения к ним. Порядок компиляции скриптов задан в файле Gothic.src.
     
    Последнее редактирование: 14 апр 2016
  10. neromont

    neromont
    Модостроитель

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    Подскажите, кто знает. В классе C_Menu флаг MENU_NOANI за что отвечает. Используется в меню журнала и статистики персонажа, но ее наличие или отсутствие не играет никакой роли. Возможно чего-то не заметил.
     
  11. ElderGamer

    ElderGamer
    Модостроитель

    Регистрация:
    16 апр 2008
    Сообщения:
    1.878
    Благодарности:
    1.154
    Баллы:
    295
    По хвостам в ресурсах Г1 можно предположить, что ранний вариант меню отличался от релизного. Кажется, там планировалось использование анимированных текстур. Данный флаг может являться таким же хвостом от нереализованных идей.
     
    neromont поблагодарил.
  12. neromont

    neromont
    Модостроитель

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    Тут у немцев есть из меню небольшой отрывок eventTimerMSec = 1000; // 1 second cycle with EVENT_TIMER

    А EVENT_TIMER вызывается с помощью пункта oneventaction[EVENT_TIMER]. Осталось связать это как-нибудь воедино, если конечно это все вообще работает.
     
  13. neromont

    neromont
    Модостроитель

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    class c_npc
    {
    var int id;
    var string name[5]; // Кто знает для чего здесь массив?
     
  14. redleha

    redleha
    Модостроитель

    Регистрация:
    26 фев 2008
    Сообщения:
    696
    Благодарности:
    656
    Баллы:
    245
    Пол:
    Мужской
    Возможно, планировалась нормальная смена имён. Типа "Стражник->Гиви","Послушник->Вася".
     
    neromont поблагодарил.
  15. MEG@VOLT

    MEG@VOLT ★★★★★★★★★
    ТехАдмин

    Регистрация:
    24 мар 2006
    Сообщения:
    1.953
    Благодарности:
    1.010
    Баллы:
    490
    Именно оно. Я так в РОССе делал.
     
    neromont поблагодарил.
  16. neromont

    neromont
    Модостроитель

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    Оказывается для запуска игры в скриптах Gothic достаточно следующих строчек кода:
    Код (Text):

    class C_Npc
    {
    var int id;
    var string name[5];
    var string slot;
    var string effect;
    var int npcType;
    var int flags;
    var int attribute[8];
    var int HitChance[5];
    var int protection[8];
    var int damage[8];
    var int damagetype;
    var int guild;
    var int level;
    var func mission[5];
    var int fight_tactic;
    var int weapon;
    var int voice;
    var int voicePitch;
    var int bodymass;
    var func daily_routine;
    var func start_aistate;
    var string spawnPoint;
    var int spawnDelay;
    var int senses;
    var int senses_range;
    var int aivar[100];
    var string wp;
    var int exp;
    var int exp_next;
    var int lp;
    var int bodyStateInterruptableOverride;
    var int noFocus;
    };


    instance PC_Hero(C_Npc)
    {
    attribute[1] = 10;
    attribute[0] = 10;
    Mdl_SetVisual(self,"HUMANS.MDS");
    Mdl_SetVisualBody(self,"hum_body_Naked0",9,0,"Hum_Head_Pony",18,0,-1);
    Mdl_ApplyOverlayMds(self,"Humans_1hST1");
    };

    func void startup_global()
    {
    Game_InitGerman();
    };

    func void init_global()
    {
    Game_InitGerman();
    };
     
    Правда 99% функций игры не работает :)
     
    Последнее редактирование модератором: 26 апр 2016
  17. MEG@VOLT

    MEG@VOLT ★★★★★★★★★
    ТехАдмин

    Регистрация:
    24 мар 2006
    Сообщения:
    1.953
    Благодарности:
    1.010
    Баллы:
    490
    Датник весит 2 кб ?
     
  18. neromont

    neromont
    Модостроитель

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    60 Кб.

    А приставки во внешних функциях B_, C_, G_ имеют какое-нибудь функциональное или смысловое значение?
     
    Последнее редактирование модератором: 28 апр 2016
  19. redleha

    redleha
    Модостроитель

    Регистрация:
    26 фев 2008
    Сообщения:
    696
    Благодарности:
    656
    Баллы:
    245
    Пол:
    Мужской
    Ну, в целом, обычно B_ - это просто выполняемые функции были без возвращаемого значения.
    С_ - что-то возвращают как значение. В большинстве своем TRUE/FALSE
    G_ - функции вызываемые движком при определённых взаимодействиях с объектами мира (открыть замок, обыскать труп вроде). Даны в скриптах для небольшого редактирования.
     
    neromont и Myxomop поблагодарили.
  20. neromont

    neromont
    Модостроитель

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    Но ведь есть функции движка без приставки G_, например PLAYER_HOTKEY_SCREEN_MAP, и B_RefreshArmor, B_InitGuildAttitudes, в общем называли как хотели.
     
  21. Saturas

    Saturas
    Модостроитель

    Регистрация:
    11 фев 2009
    Сообщения:
    1.929
    Благодарности:
    639
    Баллы:
    275
    Пол:
    Женский
    Ээээээээ, вы совсем уже? B_InitGuildAttitudes, и тд вызываются ИЗ скриптов. Глазки открывать иногда нужно. А так, все верно он сказал выше, разве что хоткеивские функции не обозначены префиксом, а так все как положено.
     
    neromont поблагодарил.
Модераторы: Marvіn, MEG@VOLT

Поделиться этой страницей