Показать сообщение отдельно
Старый 03.10.2007, 15:44   #1842
MaGoth
A.G.F.C.
  Аватар для MaGoth
 
Регистрация: 04.09.2006
Сообщений: 20
MaGoth вне форума

По умолчанию Re: М: Скриптинг в Готике

Цитата:
Сообщение от HikeR link=board=gothic&t=1105030050&start=3769400#37694 05 date=10/03/07, в 04:37:17
2MaGoth:
ммм... а как зовут нужную ф-ию вызова торговли? с наскоку не обнаружил :(
Функция тогровли прописывается через диалог, пример:
Cпойлер(щелкните, чтобы прочесть):
instance DIA_Zuris_WAREZ(C_Info)
{
* * *npc = VLK_409_Zuris;
* * *nr = 2;
* * *condition = DIA_Zuris_WAREZ_Condition;
* * *information = DIA_Zuris_WAREZ_Info;
* * *permanent = TRUE;
* * *trade = TRUE;
* * *description = "Покажи мне свои товары";
};


func int DIA_Zuris_WAREZ_Condition()
{
* * *return TRUE;
};

func void DIA_Zuris_WAREZ_Info()
{
* * *B_GiveTradeInv(self);
* * *AI_Output(other,self,"DIA_Zuris_WAREZ_15_00"); * * *//Покажи мне твои товары.
* * *if((Zuris_einmal == FALSE) && !Npc_KnowsInfo(other,DIA_Zuris_Potions))
* * *{
* * * * * *AI_Output(self,other,"DIA_Zuris_GREET_14_02"); * * *//Буквально только что я получил новые снадобья. Дорогой гость, сам Мастер Дарон, маг Огня, доставил их мне из монастыря.
* * * * * *Zuris_einmal = TRUE;
* * *};
};
В объявлении инстанции диалога: * * *trade = TRUE;


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

вот только что на пути в болотный лагерь встретил Гор (не помню как), который шел вместе со Стражем. встретил аккурат на полпути, у моста с гоблинами, было 3 часа дня. а утром шел обратно, и этот Гор возвращался в болотный лагерь (по слухам, он ходит в старый лагерь).
или у этого персонажа путь состоит не из двух точек "начало" и "конец", а весь путь разбит на маленькие отрезки с временным указанием каждого из них?
если бы я видел, как этот Гор уходил из болотного лагеря у самых ворот, а потом оказывался в старом лагере, то вроде все понятно. но получается, что каждый день в 3 часа дня он с напарником оказывается в одной и той же точке. и в итоге имеем, что игра проверяет все доступные вейпоинты в пределах досягаемости (видимости, слышимости) игрока, а потом смотрит, не надо ли в эту точку в текущее время кого-нить заспавнить.
я прав, или куда-то не в ту сторону занесло?
Открой скрипты. и глянь вейпоинты в распорядке, и тебе будет все ясно. :))
Вот примерчик:
Cпойлер(щелкните, чтобы прочесть):

При запуске распорядка:
func void Rtn_Start_777()
{
* * *TA_Sit_Throne(2,35,22,50,"NW_CITY_BANDA_2"); //сидит на троне
* * *TA_FleeToWp(22,50,23,0,"NW_CITY_HABOUR_TAVERN01_0 8"); //после чего перемещается в таверну.
* * *TA_Sit_Chair(23,0,2,30,"NW_CITY_HABOUR_TAVERN01_0 8"); //устраивается там садясь за стол, стул и т.д.
* * *TA_FleeToWp(2,30,2,35,"NW_CITY_BANDA_2"); //после товерны перемещается назад к себе в бандитский квартал
};
Все это просисходит мгновенно если рядом нет Гг, если Гг есть то мона видеть как он идет, бежит, и т.д. выполняя рутину в соответствии с распорядком Нпс.


Добавление от 10/03/07, в 15:49:14
Да и еще, то что продается т.е. товары в инвентаре непесей торговцев прописываются в этой папочке:
F:\Program Files\GothicSourcer V3.14\Gothic Projects\SolGlobal1.13\SolGlobal\PrjGothic\Story\B _GiveTradeInv

Для примера файл Нпс Зурис:
B_GiveTradeInv_Zuris.d

Диск твой. ;)
Отправить личное сообщение для Ответить с цитированием