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 КБ
      Просмотров:
      241
  2. MaGoth

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

    Регистрация:
    7 янв 2005
    Сообщения:
    14.629
    Благодарности:
    6.602
    Баллы:
    740
    Пол:
    Мужской
    Обладает ли предмет маг свойствами или нет..
    Т.е. тут Итем как класс, а магик его свойство, если проставлено значение то предмет в игре является магическим и может требовать/пользовать ману.. так наверное.. ::)
     
    neromont поблагодарил.
  3. neromont

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

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    Нужно попробовать поэкспериментировать.
     
  4. neromont

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

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    Все еще для ITEM:
    var int visual_skin; //Вариация текстуры для .3DS файла текстур предмета
    Из нескольких найденных сообщений, я так понял что это применяется для ASC файла, а не для 3DS и в Gothic II не используется. Правильно?
     
  5. hell9999

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

    Регистрация:
    12 апр 2008
    Сообщения:
    1.898
    Благодарности:
    1.528
    Баллы:
    320
    Пол:
    Мужской
    Сия фича используется только на предметах, которые ГГ может экипировать на себя, типа брони, поясов, амулетов и колец. Логично предположить из названия функции, что это возможность для одной модели использовать различные текстуры. В данном случае модель будет использоваться как болванка, на которую будут натягиваться однотипные текстуры, как это например сделано с моделью головы. Но, если не ошибаюсь, в оригинальных скриптах эта возможность не используется.
     
    neromont поблагодарил.
  6. neromont

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

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    Значит она все-таки работает в G2?
     
  7. Myxomop

    Myxomop

    Регистрация:
    28 май 2005
    Сообщения:
    2.465
    Благодарности:
    1.835
    Баллы:
    355
    Пол:
    Мужской
    Сам в Г2-НВ использовал с ASC броней и не только для ГГ.
     
    neromont поблагодарил.
  8. neromont

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

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    В туторе VAM указано что класс C_ITEMREACT не используется, но это ведь не значит что он не работает? Функция Npc_StartItemReactModules(), как я понял должна работать с ним в тандеме, однако нигде не могу найти хоть каких-нибудь зацепок. Может кто-нибудь все же работал с этим классом?
     
  9. hell9999

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

    Регистрация:
    12 апр 2008
    Сообщения:
    1.898
    Благодарности:
    1.528
    Баллы:
    320
    Пол:
    Мужской
    В принципе проверить это просто - создать несколько инстанций одной брони к примеру и указать там разные текстуры в строке визуалскин. Думаю, что работать будет.
     
    neromont поблагодарил.
  10. neromont

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

    Регистрация:
    12 мар 2011
    Сообщения:
    310
    Благодарности:
    303
    Баллы:
    220
    Пол:
    Мужской
    Еще по классу MENU. Я видел в возвращении использовался 3D мир в качестве заставки, но я так понял этот эффект достигался без использования функции backworld из MENU. Также на одном из немецких форумов наткнулся на сообщение что функция не работает. Я несколько раз пробовал указать ZEN-мир, но ничего не получилось. Стало быть функция все-таки не работает, а 3D заставка в Возвращении создавалась с помощью скриптовых расширений?

    Вопрос есть также к свойству eventtimermsec. Компилировал с разными значениями, но на меню вроде никакого влияния это не оказало.
     
    Последнее редактирование: 9 апр 2016
  11. redleha

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

    Регистрация:
    26 фев 2008
    Сообщения:
    696
    Благодарности:
    656
    Баллы:
    245
    Пол:
    Мужской
    Да, Сатурас это делал. Без расширений никак.
     
    neromont поблагодарил.
  12. MaGoth

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

    Регистрация:
    7 янв 2005
    Сообщения:
    14.629
    Благодарности:
    6.602
    Баллы:
    740
    Пол:
    Мужской
    Означает что обычно двиг это не использует т.е. не задействовано в нем, хотя и прописано..

    Похоже на реактор событий, это откуда ?!

    Что до меню в В2, там все работает через АСТ.
     
  13. neromont

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

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

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

    Регистрация:
    7 янв 2005
    Сообщения:
    14.629
    Благодарности:
    6.602
    Баллы:
    740
    Пол:
    Мужской
    Похоже хвосты от итемов которые планировались к переделке/разбору и т.д.. другого объяснения не вижу.. а это когда то упоминалось... ::)
     
  15. Лебедев

    Лебедев Участник форума

    Регистрация:
    3 сен 2005
    Сообщения:
    595
    Благодарности:
    74
    Баллы:
    225
    Добрый день. Вот у меня появился вопрос LOG_Constants_Notes может содержать только 24 TOPIC? Т.к. ставлю 25 TOPIC надпись запись в дневник, но самого 25 TOPIC не формируется. (прописано в LOG_Constants_Notes.d и в файлах где идёт запрос на запись в 25 TOPIC)

    LOG_Constants_Notes содержит 25 строчку:

    const string TOPIC_SoldierTrader3 = "Текст";

    прописано:
    Log_CreateTopic(TOPIC_SoldierTrader3,LOG_NOTE);
    B_LogEntry(TOPIC_SoldierTrader3,"Текст");

    Надпись: записано в дневник, но TOPIC_SoldierTrader3 не формируется. В чём может быть причина?
     
  16. Dimus

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

    Регистрация:
    19 июл 2010
    Сообщения:
    3.784
    Благодарности:
    2.147
    Баллы:
    540
    Пол:
    Мужской
    Не знаю, с чем может быть связана твоя проблема, морра Лебедев, но у меня добавление новой темы в раздел "Общее" работает как часы:
    Story\Log_Entries\LOG_Constants_Notes.d:
    Код (Text):

    <...>
    const string Topic_PickPocket = "Карманное воровство";
     
    Story\B_Story\B_TeachThiefTalent.d:
    Код (Text):

    func int B_TeachThiefTalent(var C_Npc slf,var C_Npc oth,var int talent)
    {
    <...>
     if(talent == NPC_TALENT_PICKPOCKET)
     {
      Npc_SetTalentSkill(oth,NPC_TALENT_PICKPOCKET,1);
      PrintScreen(PRINT_LearnPickpocket,-1,-1,FONT_Screen,2);
      Log_CreateTopic(Topic_PickPocket,LOG_NOTE);
      return TRUE;
     };
    };
     
    Story\Text.d:
    Код (Text):

    const string PRINT_PickPocketFailed = " - карманная кража не удалась!";
    const string PRINT_PickPocketSuccess = " - карманная кража удалась!";
     
    Story\B_Content\B_Beklauen.d:
    Код (Text):

    <...>
    func void B_Beklauen()
    {
     if(other.attribute[ATR_DEXTERITY] >= TheftDexGlob)
     {
      B_GiveInvItems(self,other,ItMi_Gold,TheftGoldGlob);
      self.aivar[AIV_PlayerHasPickedMyPocket] = TRUE;
      B_GiveThiefXP();
      Snd_Play("Geldbeutel");
      B_LogEntry(Topic_PickPocket,ConcatStrings(self.name[0],PRINT_PickPocketSuccess));
     }
     else
     {
      B_ResetThiefLevel();
      B_LogEntry(Topic_PickPocket,ConcatStrings(self.name[0],PRINT_PickPocketFailed));
      AI_StopProcessInfos(self);
      B_Attack(self,other,AR_Theft,1);
     };
    };
    <...>
    func void B_StealItems(var int TheftDex,var int Itm,var int Qty)
    {
     if(other.attribute[ATR_DEXTERITY] >= TheftDex)
     {
      B_GiveInvItems(self,other,Itm,Qty);
      self.aivar[AIV_PlayerHasPickedMyPocket] = TRUE;
      B_GiveThiefXP();
      B_LogEntry(Topic_PickPocket,ConcatStrings(self.name[0],PRINT_PickPocketSuccess));
     }
     else
     {
      B_ResetThiefLevel();
      B_LogEntry(Topic_PickPocket,ConcatStrings(self.name[0],PRINT_PickPocketFailed));
      AI_StopProcessInfos(self);
      B_Attack(self,other,AR_Theft,1);
     };
    };
     
     
  17. Лебедев

    Лебедев Участник форума

    Регистрация:
    3 сен 2005
    Сообщения:
    595
    Благодарности:
    74
    Баллы:
    225
    у меня:

    Story\Log_Entries\LOG_Constants_Notes.d:

    const string TOPIC_Trader_OC = "Текст";
    const string TOPIC_CityTrader = "Текст";
    const string TOPIC_OutTrader = "Текст";
    const string TOPIC_SoldierTrader = "Текст";
    const string TOPIC_SoldierTrader2 = "Текст";
    const string TOPIC_Sorat = "Текст";
    const string TOPIC_Teacher = "Текст";
    const string TOPIC_Teacher_OC = "Текст";
    const string TOPIC_SoldierTeacher = "Текст";
    const string TOPIC_OutTeacher = "Текст";
    const string TOPIC_CityTeacher = "Текст";
    const string TOPIC_Addon_KDWTeacher = "Текст";
    const string TOPIC_TalentSmith = "Текст";
    const string TOPIC_TalentRunes = "Текст";
    const string TOPIC_TalentAlchemy = "Текст";
    const string TOPIC_TalentAnimalTrophy = "Текст";
    const string TOPIC_TalentMagicCircle = "Текст";
    const string TOPIC_WispDetector = "Текст";
    const string TOPIC_Language = "Текст";
    const string TOPIC_Bonus = "Текст";
    const string TOPIC_Diebesgilde = "Текст";
    const string TOPIC_1 = "Текст";
    const string TOPIC_2 = "Текст";
    const string TOPIC_3 = "Текст";
    const string TOPIC_SoldierTrader3 = "Текст"; - уже не работает. (Только надпись, запись в дневник. Но записи самой нету.)

    У тебя сколько Topic в LOG_Constants_Notes.d? Больше 24?

    Upd: было обнаружено, что название темы в LOG_Constants_Notes.d и LOG_Constants_Yoly.d совпадают и движок без предупреждения блокировал срабатывание LOG_Constants_Notes.d
     
    Последнее редактирование: 12 апр 2016
  18. MEG@VOLT

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

    Регистрация:
    24 мар 2006
    Сообщения:
    1.944
    Благодарности:
    1.001
    Баллы:
    470
    Maybe by the factthat this versionis more suitable forg 2but not for g1.
    And errorr the gorn.aivar there must bea single character "=".
    I'm sorry. This online translation.
     
  19. Matteo

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

    Регистрация:
    21 июн 2015
    Сообщения:
    87
    Благодарности:
    2
    Баллы:
    60
    Пол:
    Мужской
    OK, Lares' error is fixed, thank you. What can I do about the other error?
     
  20. MEG@VOLT

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

    Регистрация:
    24 мар 2006
    Сообщения:
    1.944
    Благодарности:
    1.001
    Баллы:
    470
    Version 3.14 can fix this, and there will be 65 errors. I have never come across an english version of gothic.dat and uo.bin. If you attach an attachment to the message. I'll try to recompile and give you no errors.
     
  21. Defman

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

    Регистрация:
    26 май 2013
    Сообщения:
    1.044
    Благодарности:
    243
    Баллы:
    185
    Пол:
    Мужской
    The problem is that the compiler thinks that B_SetDayTolerance returns nothing but it must return an int value. But it always return a value (because there's a "else" block) but the compiler don't know about it (probably because it thinks that the else block could not be used). Try to add "return 1" after the else statement.

    I'm unfamiliar with Daedalus so this code could not work but you should get the idea.

    Код (Text):

    func int B_SetDayTolerance() {
      if (Wld_IsTime(22,0,23,59))
      {
        return Wld_GetDay() + 1;
      }
      else
      {
        return Wld_GetDay();
      };
    return 1;
    };
     
     
Модераторы: Marvіn, MEG@VOLT

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