Новости Анонсирован ремастер Final Fantasy Tactics
  • 62
  • 0
Культовая пошаговая тактическая RPG от Square Enix получит второе дыхание. На проходящей выставке State of Play, где анонсируются игры для Play Station, состоялся анонс ремастера Final Fantasy...
Новости Моддеры Oblivion Remastered нашли способ внедрения абсолютно любых скриптов
  • 160
  • 0
Сообщество моддинга Oblivion Remastered (ORM) переживает настоящий расцвет. После долгих месяцев работы, энтузиасты научили игру работать с мощным скриптовым языком Lua, открыв перед создателями...
Новости Tainted Grail: The Fall of Avalon — Польская «Skyrim» теперь официально
  • 1.486
  • 24
23 мая 2025 после двух лет успешного раннего доступа в Steam польская студия Questline наконец представила свою фэнтези-RPG в полной версии. Tainted Grail: The Fall of Avalon доступна на ПК...
Новости CD Projekt RED представила юбилейный трейлер к 10-летию The Witcher 3: Wild Hunt
  • 1.011
  • 0
Польская студия CD Projekt Red порадовала поклонников франшизы «Ведьмак», выпустив особый видеообзор в честь десятилетия культовой RPG «Ведьмак 3: Дикая Охота». Что показали в трейлере...

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

TraZag

Полубог
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
6 Окт 2012
Сообщения
13.187
Реакции
11.628
Баллы
1.071
Лучшие ответы
5
nullЕстественно, под изменением параметра понимается изменение эффекта а не константы (которую можно объявить переменной)[/quote]

Без изменения константы изменение эффекта не будет.
 

vadymg

Новичок
Участник форума
Регистрация
22 Июл 2014
Сообщения
12
Реакции
0
Баллы
8
Лучшие ответы
0
Без изменения константы изменение эффекта не будет.
Я это понимаю. Последний коммент был к тому, что я спрашиваю не о том, как изменить значение константы, а о том, как изменить сам эффект. Простите, что не смог высказать свою мысль достаточно чётко.

К вопросам выше добавляется ещё один вопрос. Как сделать так, чтобы некий товар, который я продаю торговцу, не попадал к нему в инвентарь. Соответственно, чтобы ГГ не смог снова купить этот же предмет.

Спасибо.
 

TraZag

Полубог
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
6 Окт 2012
Сообщения
13.187
Реакции
11.628
Баллы
1.071
Лучшие ответы
5
Если ты знаешь конкретно, что это за предмет, то в диалоге персонажа где вызывается окно торговли надо прописать функцию... Npc_RemoveInvItems(self,инста предмета,количество); И при следующей продаже у него уже не будет этого предмета. если до этого ты продал ему его. Это самый легкий способ.
 

Moran Grimoff

Наемник
Модостроитель
Участник форума
Регистрация
19 Янв 2013
Сообщения
725
Реакции
207
Баллы
146
Лучшие ответы
4
А как поменять цену на конкретный товар у конкретного торговца? Например, чтобы в разных тавернах цена на пиво была разная.
Я бы лично просто создал несколько видов пива/еды/воды и пораспихивал их по торговцам. При этом можно еще и визуальное отличие использовать. Как в свое время в Возвращении было несколько видов скелетов, демонов и т.д. Так будешь уверен, что все сработает.
 

vadymg

Новичок
Участник форума
Регистрация
22 Июл 2014
Сообщения
12
Реакции
0
Баллы
8
Лучшие ответы
0
А кто знает, как достучаться до игрового таймера?
Как мне реализовать возможность вызывать определённый метод, допустим, каждые 5 игровых минут?
 

xterm

Герой
Команда форума
Администратор форума
Пользователь VIP
Модостроитель
 
Почётный пользователь
Участник форума
Регистрация
11 Апр 2010
Сообщения
5.479
Реакции
1.154
Баллы
556
Лучшие ответы
5
А кто знает, как достучаться до игрового таймера?
Как мне реализовать возможность вызывать определённый метод, допустим, каждые 5 игровых минут?
https://sites.google.com/site/ukroleha/modarticles/triggerscriptcycle
 

vadymg

Новичок
Участник форума
Регистрация
22 Июл 2014
Сообщения
12
Реакции
0
Баллы
8
Лучшие ответы
0
Как объявить глобальную переменную в рамках проекта?

А кто знает, как достучаться до игрового таймера?
Как мне реализовать возможность вызывать определённый метод, допустим, каждые 5 игровых минут?
https://sites.google.com/site/ukroleha/modarticles/triggerscriptcycle
А можно, чтобы не создавать свой триггер? Ведь игровые часы как-то работают, значит уже триггер какой-то есть. Можно узнать имя этого триггера, и как через него запустить свой метод? Потому как мне надо выполнять действие привязываясь к игровому времени, а oCTriggerScript, как я понял, привязан к системному времени...
 
Последнее редактирование модератором:

Haart

Герой
Команда форума
Редактор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
3 Дек 2012
Сообщения
6.450
Реакции
3.612
Баллы
741
Лучшие ответы
406
значит уже триггер какой-то есть.
Есть то есть, но что-бы найти его, придется затратить намного больше усилий, чем написать свои часы на триггер скрипте, что делается довольно просто.
Потому как мне надо выполнять действие привязываясь к игровому времени
Если надо узнать определенный промежуток времени подойдет функция ниже.
// возвращает 1, если текущее время находится между границами
// (hourLow, minLow – нижняя граница, hourHigh, minHigh – верхняя граница в часах и минутах),
// иначе возвращает 0.
func int Wld_IsTime(var int hourLow, var int minLow, var int hourHigh, var int minHigh);

Если надо что-бы действие выполнялось не в рамках задания, а каждый день-час итд, то проще все-же делать триггер-скрипт.

А вообще, в ГотикСоурсере есть достаточно подробное описание внутренних функций, почитайте, половину вопросов отпадет) (Вид - Панель данных - Внутренние функции) Удачи.
 

TraZag

Полубог
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
6 Окт 2012
Сообщения
13.187
Реакции
11.628
Баллы
1.071
Лучшие ответы
5
Есть нюанс - циклический тригер порой не соответствует реальному таймеру....но реально проще сделать через него. Либо ставь какой нить костыль - там есть возможность обращаться ко встроенным функциям движка.
 

vadymg

Новичок
Участник форума
Регистрация
22 Июл 2014
Сообщения
12
Реакции
0
Баллы
8
Лучшие ответы
0
Приветствую, друзья!
За выходные накопилось несколько вопросов:
1) Какие файлы игры ковыряет Spacer по-умолчанию? Потому как я боюсь случайно что-то поменять в оригинальной игре, хочу, чтобы все изменения были только в рамках проекта мода.
2) После компиляции проекта в .mod, размещении его в \Data\ModVDF, создании mod.ini через Gothic Ini Writer, и попытке запуска мода через \System\GothicStarter_mod.exe запускается оригинальная Готика. Подозреваю, что проблема в mod.ini. Решил проблему копированием файлов Gothic.dat и ou.bin вместо оригинальных, но, понятно, это решение временное. Хотел бы попросить знатоков просмотреть мой ini файл.
[INFO]
Title=G2RM
Version=0.0.0.1
Authors=vadymg
Webpage=
Description=
Icon=
[FILES]
VDF=G2RM.mod
Game=Content\Gothic
FightAI=Content\Fight
Menu=System\Menu
Camera=System\Camera
Music=System\Music
SoundEffects=System\Sfx
ParticleEffects=System\ParticleFx
VisualEffects=System\VisualFx
OutputUnits=OU
[SETTINGS]
Player=PC_Hero
World=
[OPTIONS]
show_Info=0
show_InfoX=800
show_InfoY=7200
show_Version=1
show_VersionX=6500
show_VersionY=7200
show_Focus=1
show_FocusItm=1
show_FocusMob=0
show_FocusNpc=1
show_FocusBar=1
force_Subtitles=1
force_Parameters=
[OVERRIDES]
INTERNAL.extendedMenu=1
3) После попытки изменить отображаемую цену предмета, по-прежнему продолжает отображаться его фактическая цена. Т.е. вот такой вот вариант не работает. Почему?
instance ItMw_1h_Vlk_Dagger(C_Item)
{
name = "Кинжал";
mainflag = ITEM_KAT_NF;
flags = ITEM_SWD;
material = MAT_METAL;
value = Value_VLKDolch; //5
damageTotal = Damage_VLKDolch;
damagetype = DAM_EDGE; //Режущий
range = Range_VLKDolch;
cond_atr[2] = ATR_STRENGTH;
cond_value[2] = Condition_VLKDolch;
visual = "Itmw_005_1h_dagger_01.3DS";
description = "Обычное оружие простых горожан";
text[0] = name;
text[1] = NAME_Dam_Edge;
count[1] = damageTotal;
text[2] = NAME_Range;
count[2] = range;
text[3] = NAME_Str_needed;
count[3] = cond_value[2];
text[4] = NAME_OneHanded;
text[5] = NAME_Value;
count[5] = 100;
};
4) Как пометить предмет, чтобы он оставался в инвентаре у торговца, но не отображался на панели торговли?
 
Сверху Снизу