[AGFC: Valley of Gothic] М: Скриптинг в Готике

Страница 55 из 65 « Первая 5454849505152535455 56575859606162 Последняя »
Поиск в этой теме:

Расширенный поиск
Старый 18.02.2009, 18:48   #2161
Amalia

AGFC
Гость
 
Сообщений: n/a

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

2Hemo:
Так, я не совсем поняла, что это такое... Тема вообще не об этом.
Да и текст сам выглядит, как как будто через электронный переводчик пропущен. Прекращаем в теме безобразничать!
Пост удаляю. *
Ответить с цитированием
Старый 23.02.2009, 12:33   #2162
niccolo

AGFC
Гость
 
Сообщений: n/a

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

Я изменил немного участок функции func int B_SelectSpell для мага:
* * *if((slf.guild == GIL_KDF) || (slf.aivar[AIV_MagicUser] == MAGIC_ALWAYS) || (slf.ID == 100) || (slf.ID == 4) || (slf.ID == 24))
* * *{
* * * * * *if(Npc_GetDistToNpc(slf,oth) > FIGHT_DIST_MELEE)
* * * * * *{
* * * * * *if(Npc_HasItems(slf,ItRu_Concussionbolt) == 0)
* * * * * *{
* * * * * * * * *CreateInvItems(slf,ItRu_Concussionbolt,1);
* * * * * *};
* * * * * *if(Npc_HasItems(slf,ItRu_InstantFireball) == 0)
* * * * * *{
* * * * * * * * *CreateInvItems(slf,ItRu_InstantFireball,1);
* * * * * *};
* * * * * *if(Npc_HasItems(slf,ItRu_Deathball) == 0)
* * * * * *{
* * * * * * * * *CreateInvItems(slf,ItRu_Deathball,1);
* * * * * *}
* * * * * *else if(C_NpcHasAttackReasonToKill(self))
* * * * * *{
* * * * * * * * *if((self.flags == NPC_FLAG_IMMORTAL) || (Hlp_GetInstanceID(other) == Hlp_GetInstanceID(Raven)))
* * * * * * * * *{
* * * * * * * * * * * *B_ReadySpell(slf,SPL_Deathball,SPL_COST_Deathball );
* * * * * * * * *}
* * * * * * * * *else
* * * * * * * * *{
* * * * * * * * * * * *B_ReadySpell(slf,SPL_InstantFireball,SPL_COST_Ins tantFireball);
* * * * * * * * *};
* * * * * * * * *return TRUE;
* * * * * *}
* * * * * *else
* * * * * *{
* * * * * * * * *B_ReadySpell(slf,SPL_ConcussionBolt,SPL_COST_Conc ussionbolt);
* * * * * * * * *return TRUE;
* * * * * *}; * * *
* * * * * *};
* * * * * * * * *
* * * * * *if(slf.attribute[ATR_HITPOINTS] < 500)
* * * * * *{
* * * * * * * * *if(Npc_HasItems(slf,ItRu_FullHeal) == 0)
* * * * * * * * *{
* * * * * * * * *CreateInvItems(slf,ItRu_FullHeal,1);
* * * * * * * * *}
* * * * * * * * *else
* * * * * * * * *{
* * * * * * * * *B_ReadySpell(slf,SPL_FullHeal,SPL_Cost_FullHeal);
* * * * * * * * *return TRUE;
* * * * * * * * *};
* * * * * *};
* * * * * *
* * *};
Цель - заставить мага драться вблизи оружием ближнего боя.
Появление руны лечения и кастование лечения должны происходить на любой дистанции
1).Переход на оружие ближнего боя работает, а обратный - нет, но в файле B_select_weapon.d я не нашел ничего, что должно этому помешать.
2). После достижения указанного минимума здоровья выбор руны лечения происходит только в ближнем бою (а факт её появления в инвентаре в любом случае), но NPC не кастует лечение, а замирает. Если же уйти от него, а потом обнажить оружие, то его угрозы приводят к кастованию лечения с последующими обнажением меча и боем.
Я очень прошу указать мне на возможные ошибки и причины, которых я не вижу.
На мой вопрос о том, что функция регенерации жизни/ маны с кольцами и амулетами в Г2 работает, а с доспехами - нет - прошу не отвечать. Причина очевидна - моя собственная глупость. Всё работает...
Спасибо.
Ответить с цитированием
Старый 23.02.2009, 19:42   #2163
Dimus

AGFC
Гость
 
Сообщений: n/a

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

2 niccolo:
Я внедрил в Г2 свитки вызова элитного орка, но не могу понять причину того, что, если указать guild = GIL_NONE;, то они не могут "зачехлить" своё оружие, так и стоят с топорами в лапах, а guild = GIL_FRIENDLY_ORC; исправляет это недоразумение. Но почему???
Так и должно быть, т.к. во 2-м случае это гильдия дружественных людям орков. Кстати, а вы не смотрели, как это прописано у вызванных скелетов в скрипте Story\NPC\Monster\MST_Skeleton.d?
Ответить с цитированием
Старый 23.02.2009, 20:57   #2164
niccolo

AGFC
Гость
 
Сообщений: n/a

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

2 Dimus.
MST_Skeleton.d смотрел, по аналогии сделал.
Вызванный орк функционирует в любом случае исправно, но я хочу знать причину неспособности твари вкладывать после боя оружие "в ножны", если гильдия - "NONE". Очевидно, что дело не в отношении к людям хотя бы потому, что обе гильдии вполне лояльны к людям, важнее - тварь сама по себе не обладает интеллектом, а выполняет скриптовую инструкцию, в которой вряд ли прописано держать оружие наготове гильдии "none", но (и это главное) должна быть функция, указывающая действие типа:
if "бой закончен", то "зачехлить оружие", которая в случае с вызванной тварью, принадлежащей гильдии "NONE" работает неисправно.
Если же Вы полагаете, что несмотря ни на что так должно быть, то я хотел бы узнать почему.
Спасибо.
Ответить с цитированием
Старый 23.02.2009, 22:37   #2165
MaGoth
A.G.F.C.
  Аватар для MaGoth
 
Регистрация: 04.09.2006
Сообщений: 20
MaGoth вне форума

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

2niccolo:
Думаю по отношениям гильдий в плане боевых умений и навыков, правильнее было бы порыть в FAI.dat возможно там есть то, что вы ищите...  ;)
Отправить личное сообщение для Ответить с цитированием
Старый 23.02.2009, 23:21   #2166
niccolo

AGFC
Гость
 
Сообщений: n/a

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

if((self.flags == NPC_FLAG_IMMORTAL) || (Hlp_GetInstanceID(other) == Hlp_GetInstanceID(Raven)))
                 {
                       B_ReadySpell(slf,SPL_Deathball,SPL_COST_Deathball );
                 }

Уважаемые, что это за фигня (извиняюсь за выражение)?
Какой в этом смысл? Мне кажется, что этот кусок функции лишний, т.к. маги не встречают по сценарию Ворона, и, кроме этого, бомбить неуязвимых NPC бесполезно любым оружием.
Ответить с цитированием
Старый 02.03.2009, 15:49   #2167
dimmell

AGFC
Гость
 
Сообщений: n/a

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

Цитата:
Сообщение от Ukur link=board=gothic&t=1105030050&goto=2326299 date=05/25/05, в 01:50:49
Вопрос по данной функции:
void Wld_InsertObject (string name, string point); - разместить в мире визуальный объект name в точке с именем point (может быть как WP, так и FP).***
Как я понял, для размещения каких-либо объектов. Нигде не нашел примеров, ни в Г1, ни в Г2(а).
А можно по подробнее, какие можно использовать объекты и нужно ли как-нибудь этот объект описывать в скриптах.
Повторю вопрос 3-х летней давности: :)
Кто-нибудь пользовался этой функцией?
И можно по-подробнее, какие можно использовать объекты и нужно ли как-нибудь этот объект описывать в скриптах. :)

Ответить с цитированием
Старый 04.03.2009, 12:21   #2168
Vam

AGFC
Гость
 
Сообщений: n/a

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

2dimmell:
И можно по-подробнее, какие можно использовать объекты и нужно ли как-нибудь этот объект описывать в скриптах
[pre]
Могу привести исходник этой функции из движка, кто знает скрипты, тот поймет её действие:
[pre]int Wld_InsertObject()
{
* * *zCParser* par = zCParser::GetParser();
* * *zSTRING name, point;
* * *par->GetParameter(point);
* * *par->GetParameter(name);
* * *zVEC3 vp = 0;
* * *zCWaypoint* wp = ogame->GetWorld()->m_pWayNet->GetWaypoint(point);
* * *if(wp)
* * * * * *vp = wp->GetPositionWorld();
* * *else
* * *{
* * * * * *zCVob* pVob = ogame->GetWorld()->SearchVobByName(point);
* * * * * *if(!pVob)
* * * * * *{
* * * * * * * * *zerr.Report(zTYPE_WARN, "U: AI: Spawnpoint " + point + " not found. Object " + name + " cannot be spawned.");
* * * * * * * * *return 0;
* * * * * *}
* * * * * *vp = pVob->GetPositionWorld();
* * *}
* * *oCMOB* pMob = new oCMOB();
* * *pMob->zCVob::SetVisual(name);
* * *pMob->f.tTakeable = FALSE;
* * *pMob->SetCollDet(FALSE);
* * *ogame->GetSelfPlayerVob()->m_pWorld->AddVob(pMob);
* * *pMob->SetOnFloor(vp);
* * *pMob->SetCollDet(TRUE);
* * *pMob->SetPhysicsEnabled(TRUE);
* * *pMob->SetSleeping(TRUE);
* * *pMob->Release();
* * *return 0;
}[/pre]
и для сравнения всем знакомая функция
[pre]int Wld_InsertItem()
{
* * *zCParser* par = zCParser::GetParser();
* * *zSTRING point;
* * *par->GetParameter(point);
* * *int instance;
* * *par->GetParameter(instance);
* * *oCVob* pItem = ogame->GetGameWorld()->CreateVob(zTVOB_ITEM, instance);
* * *if(!pItem)
* * * * * *return 0;
* * *zVEC3 pos;
* * *zCWaypoint* wp = ogame->GetWorld()->m_pWayNet->GetWaypoint(point);
* * *if(wp)
* * * * * *pos = wp->GetPositionWorld();
* * *else
* * *{
* * * * * *zCVob* pVob = ogame->GetGameWorld()->SearchVobByName(point);
* * * * * *if(!pVob)
* * * * * * * * *zerr.Report(zTYPE_WARN, "U:WLD: Position-Vob " + point + " not found.");
* * * * * *else
* * * * * * * * *pos = pVob->GetPositionWorld();
* * *}
* * *pItem->SetPositionWorld(pos);
* * *ogame->GetGameWorld()->AddVob(pItem);
* * *pItem->Release();
* * *return 0;
}
[/pre]
Ответить с цитированием
Старый 04.03.2009, 13:14   #2169
dimmell

AGFC
Гость
 
Сообщений: n/a

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

2Vam:
Благодарствую!
Это многое проясняет. :)
Ответить с цитированием
Старый 05.03.2009, 16:18   #2170
Magmatic

AGFC
Гость
 
Сообщений: n/a

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

Можно ли на один и тот же фри поинт приколбасить двух разных зверей, т.е.  если падальщик (первый зверь изначально стоящий на данном фрипоинте) мертв, то в следующей главе чтобы там появился мракорис? Если можно, нарисуйте скрипт условия, при котором это можно выполнить. Всем спасибо.
Ответить с цитированием
Старый 06.03.2009, 14:58   #2171
dimmell

AGFC
Гость
 
Сообщений: n/a

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

2Magmatic:
Условие такое:
Cпойлер(щелкните, чтобы прочесть):
if(Npc_IsDead(scavenger_001))
     {
           Wld_InsertNpc(SHADOWBEAST_001,"FP_ROAM_IMWALD_WOL F_19");
     };

Прописываешь падальщика и мракориса, и запускаешь функцию при загрузке главы.
Ответить с цитированием
Старый 20.03.2009, 11:51   #2172
kraw

AGFC
Гость
 
Сообщений: n/a

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

Столкнулся со следующей проблемой, которую не удается решить. Может кто что-нить подскажет?

Готика 1.

Требуется: Реализовать следующую последовательность - Диалог. В конце диалога персонаж (Наталья) теряет сознание (падает в обморок.). Диалог кончается. По прошествии заданного времени она приходит в себя, поднимается и начинает следующий диалог.

Как пытался решить: Написал функцию состояния и соответствующую функцию расписания. Поскольку оверлеи обременены глюками, решено делать через обычное расписание. В самой функции отключаются восприятия (иначе не успев упасть сразу начнет новый диалог), проигрывается анимация падения. В END-функции проигрывается анимация вставания и восстанавливаются восприятия. А теперь сама проблема - как заставить выйти из этого состояния через определенное время?

И AI_StartState(self,ZS_Stand,1,"") в LOOP-функции пробовал, и Npc_SetStateTime(self,0) тоже. Лежит и ни на что не реагирует. Там же пробовал ставить *B_SetBabeDefaultPerceptions().

PS: В LOOP-функции ставил и return LOOP_CONTINUE, и return LOOP_END.

Ответить с цитированием
Старый 20.03.2009, 13:52   #2173
alex_ryz

AGFC
Гость
 
Сообщений: n/a

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

А почему бы диалог не прервать? Пусть упадёт, но когда встанет, начнёт первой следующий.
Единственную схожую ситуацию я припоминаю только в Готике1 на болоте, кода гуру, выкурив мега-косяк, валится мешком (магический сон там, кажется, работал). Но потом встаёт и диалог продолжается. Может там ещё поискать?
Ответить с цитированием
Старый 20.03.2009, 14:00   #2174
kraw

AGFC
Гость
 
Сообщений: n/a

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

Цитата:
Сообщение от alex ryz link=board=gothic&t=1105030050&goto=4868043 date=03/20/09, в 12:52:48
А почему бы диалог не прервать? Пусть упадёт, но когда встанет, начнёт первой следующий.
Так я его прерываю. Проблема в том, чтобы по истечении определенного небольшого промежутка времени она вышла из этого состояния.
Ответить с цитированием
Старый 20.03.2009, 15:42   #2175
alex_ryz

AGFC
Гость
 
Сообщений: n/a

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

Я не совсем понял, что значит "вышла". Если в диалоге запставить NPC выполнять расписание, то вероятно предположить, что из диалога он вывалится.
Может так попробовать:
{
...
AI_Wait(other,int time);
AI_PlayAni(other,"падает");
AI_Wait(other,int time);
AI_PlayAni(other,"лежит");
AI_Wait(other,int time);
AI_PlayAni(other,"встёт");
AI_Wait(other,int time);
...
};

И не задействовать ZS_Loop. Всякие ситуации, когда NPC пьёт пиво в диалоге работают и циклов там я не видел.
Ответить с цитированием
Старый 20.03.2009, 15:51   #2176
kraw

AGFC
Гость
 
Сообщений: n/a

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

Цитата:
Сообщение от alex ryz link=board=gothic&t=1105030050&goto=4868338 date=03/20/09, в 14:42:33
Я не совсем понял, что значит "вышла". Если в диалоге запставить NPC выполнять расписание, то вероятно предположить, что из диалога он вывалится.
Так мне это и требуется. Нужно завершить диалог. При этом она входит в состояние "обморок". Все восприятия отключены. Нужно, чтобы она по истечении заданного времени завершила это состояние, как резальтат снова включатся восприятия и она начнет новый диалог.

Задача в том, чтобы заставить ее выйти из данного состояния через промежуток времени.

По идее это делают оверлеи. Но они глючные и, как правило, не срабатывают. Я уже на эти грабли наступал.
Ответить с цитированием
Старый 20.03.2009, 16:44   #2177
alex_ryz

AGFC
Гость
 
Сообщений: n/a

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

Значит, как я понял, нужно, чтоб NPC пролежал в состоянии LOOP некоторое время а потом встал?
Я точно не знаю, как выключить цикл состояния. Может можно просто вызвать функцию loop_end (); где произойдёт вставание.

На ум приходят только митбаги-невидимки, которые могут слелить за состоянием близлежащих объектов и влиять косвенно на них через команды в своём loop-цикле. Т.е. в диалоге задать значение какой-нибудь константе
A1 = 1;

Далее в цикле состояния жучка прописать условие (пишу с головы- синтаксис уточни, алгоритм пимерный):

if (A1 == 1) //если был обморок
{
if (NPC_GetStateTime (instance NATALIA) > var int time) //если девушка лежит более положенного времени
* {
ZS_loop_END (); выход из состояния (тут надо экспериментировать)
A1 = 0; //обнуляем флаг
* };
};

Вместо жука можно использовать специального NPC, если только игрок не замочит его раньше, чем событие будет иметь место)))
Ответить с цитированием
Старый 20.03.2009, 16:55   #2178
kraw

AGFC
Гость
 
Сообщений: n/a

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

Похоже, что так и придется. Только в цикле у жука сделать обычную смену расписания у Натальи.

Если не найдется более красивого решения.
Ответить с цитированием
Старый 21.03.2009, 18:16   #2179
Vam

AGFC
Гость
 
Сообщений: n/a

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

2kraw:
При этом она входит в состояние "обморок". Все восприятия отключены. Нужно, чтобы она по истечении заданного времени завершила это состояние, как резальтат снова включатся восприятия и она начнет новый диалог.
Задача в том, чтобы заставить ее выйти из данного состояния через промежуток времени.
В Г1. Если отключить все восприятия, то функции состояния не будут вызываются для данного НПС. Необходимо оставить какое-нибудь восприятие активным (можно скриптовое), повесить на него новую функцию состояния и перевести в него НПС, а далее по истечении заданного времени открыть нужные восприятия.
Ответить с цитированием
Старый 27.03.2009, 11:19   #2180
Ingvers

AGFC
Гость
 
Сообщений: n/a

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

Кто подскажет:
- как сделать, чтобы труп убитого монстра/нпц СРАЗУ ЖЕ исчезал?
- существует ли функция чистки локации от трупов?
Спасибо.
Ответить с цитированием
Старый 19.04.2009, 23:51   #2181
kraw

AGFC
Гость
 
Сообщений: n/a

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

Есть диалог:

8<---------------------

instance DIA_EBR_109_Syra_follow1(C_Info)
{
       npc = EBR_109_Syra;
       nr = 1;
       condition = DIA_EBR_109_Syra_follow1_Condition;
       information = DIA_EBR_109_Syra_follow1_Info;
       permanent = 0;
       important = 1;
       description = "Пришли?";
};


func int DIA_EBR_109_Syra_follow1_Condition()
{
       if (Npc_KnowsInfo(hero, DIA_EBR_109_Syra_follow2)
               && Npc_GetDistToWP(other, "OW_PATH_067") < 300)
       {
       return 1;
       };
};


func void DIA_EBR_109_Syra_follow1_Info()
{
       var c_npc npc831;      //
       var c_npc npc832;      //
       var c_npc npcVel;      //
       
       self.aivar[AIV_BABE_STAT]=1;
       Npc_ExchangeRoutine (self, "follow2");
   AI_SetWalkMode(self,NPC_RUN);
       AI_GotoNpc(self, other);
       AI_Output(self,other,"DIA_EBR_109_Syra_follow1_1" ); //Это и есть Новый лагерь?
       AI_Output(other,self,"DIA_EBR_109_Syra_follow1_2" ); //Он самый.
       AI_StopProcessInfos(self);      
       
       npcVel = Hlp_GetNpc(EBR_108_Velaya);
       Npc_ExchangeRoutine (npcVel, "staywowp1");
       
       npc831 = Hlp_GetNpc(Org_831_Organisator);
       Npc_ExchangeRoutine (npc831, "stay");
       npc832 = Hlp_GetNpc(Org_832_Organisator);
       Npc_ExchangeRoutine (npc832, "stay");
       
       
};
8<---------------------

Нет реплики ГГ. Предыдущая реплика есть, а этой нет.

AI_Output(other,self,"DIA_EBR_109_Syra_follow1_2") ; //Он самый.

Никак не пойму в чем дело. Имя DIA_EBR_109_Syra_follow1_2 уникально.












Ответить с цитированием
Старый 20.04.2009, 00:07   #2182
B_Wolf

AGFC
Гость
 
Сообщений: n/a

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

2kraw:
Нет реплики ГГ. Предыдущая реплика есть, а этой нет.
х\з, иногда случаются необъяснимые вещи, возможно из-за отсутствия реальной озвучки.

Вероятно раньше времени срабатывает AI_StopProcessInfos(self); попробуй убрать его, или переместить в самый низ диалога.
У тебя для ГГ в условии используются как "hero", так и "other", попробуй использовать везде "hero".

Если у тебя диалог "important = 1;", зачем использовать "description = "Пришли?";"
Ответить с цитированием
Старый 20.04.2009, 09:50   #2183
kraw

AGFC
Гость
 
Сообщений: n/a

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

Извиняюсь. Отправил не тот диалог. Тот, который я привер ранее, он работает нормально. А не срабатывает этот (точнее не появляется реплика ГГ):



instance DIA_EBR_109_Syra_f1(C_Info)
{
       npc = EBR_109_Syra;
       nr = 1;
       condition = DIA_EBR_109_Syra_f1_Condition;
       information = DIA_EBR_109_Syra_f1_Info;
       permanent = 0;
       important = 1;
       description = "Пришли?";
};


func int DIA_EBR_109_Syra_f1_Condition()
{
       if (Npc_KnowsInfo(hero, DIA_EBR_109_Syra_follow3)
               && Npc_GetDistToWP(other, "NC_PATH_JARVIS") < 300)
       {
               return 1;
       };
};

func void DIA_EBR_109_Syra_f1_Info()
{
       var c_npc npcJar;      //
       
       Npc_ExchangeRoutine (self, "follow3");
       self.aivar[AIV_BABE_STAT]=1;
   AI_SetWalkMode(self,NPC_RUN);
       AI_GotoNpc(self, other);
       AI_Output(self,other,"DIA_EBR_109_Syra_f1_1") ; //И за воротами тоже Новый лагерь?
       AI_Output(other,self,"DIA_EBR_109_Syra_f1_2") ; //И там тоже он. Это большой лагерь.
       AI_StopProcessInfos(self);      
       npcJar = Hlp_GetNpc(SLD_728_Jarvis);
       Npc_ExchangeRoutine (npcJar, "Syra0");
       AI_ContinueRoutine(npcJar);
};

Ответить с цитированием
Старый 23.04.2009, 08:12   #2184
kraw

AGFC
Гость
 
Сообщений: n/a

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

Цитата:
Сообщение от Ukur link=board=gothic&t=1105030050&goto=4951223 date=04/20/09, в 00:07:25
Вероятно раньше времени срабатывает AI_StopProcessInfos(self); попробуй убрать его, или переместить в самый низ диалога.
У тебя для ГГ в условии используются как "hero", так и "other", попробуй использовать везде "hero".
Пробовал убирать AI_StopProcessInfos(self); Пробовал ставить "hero". Не помогло.

Ответить с цитированием
Старый 24.04.2009, 02:58   #2185
Magmatic

AGFC
Гость
 
Сообщений: n/a

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

Подскажите пожалуйста где находятся скрипты отвечающие за превращение ГГ в животных, очень нужно.  
Ответить с цитированием
Старый 24.04.2009, 08:40   #2186
MaGoth
A.G.F.C.
  Аватар для MaGoth
 
Регистрация: 04.09.2006
Сообщений: 20
MaGoth вне форума

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

2Magmatic:
Эмм.. таких скриптов нет. Есть скрипты рун от которых идут эффекты, а вот сама трансформация просчитывается напрямую движком. И на нее хвостов в скриптах нету.
Отправить личное сообщение для Ответить с цитированием
Старый 24.04.2009, 17:52   #2187
Magmatic

AGFC
Гость
 
Сообщений: n/a

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

2MaGoth: понятно, еще одно пока не забыл. Ты не заглядывал в скрипты Безымянного. Я не пойму где там Хроманин спрятан, хочу текст изменить.
Ответить с цитированием
Старый 24.04.2009, 17:57   #2188
kraw

AGFC
Гость
 
Сообщений: n/a

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

Items\MissionItems_1.d
Ответить с цитированием
Старый 24.04.2009, 21:52   #2189
Magmatic

AGFC
Гость
 
Сообщений: n/a

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

2kraw:
Items\MissionItems_1.d
Хроманин оказался в IT_Written.   ;)
Ответить с цитированием
Старый 25.04.2009, 03:30   #2190
GeorG

AGFC
Гость
 
Сообщений: n/a

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

// возвращает оружие ближнего радиуса поражения, которым экипирован НПС npc.
func C_ITEM Npc_GetEquippedMeleeWeapon(var C_NPC npc);


Можно ли зная ссылку ITEM, получить ссылку на предмет с номером “instanceItem”

Поясню, та функция, которую я взял в цитату возвращает значения в формате ITEM, а мне надо из неё получить ссылку на номер предмета (в формате int)
Ответить с цитированием
Старый 25.04.2009, 13:37   #2191
halogene

AGFC
Гость
 
Сообщений: n/a

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

2GeorG:
Можно ли зная ссылку ITEM, получить ссылку на предмет с номером “instanceItem”
int Hlp_GetInstanceID (c_item item); - получить ID номер предмета по ссылке на класс item.
Ответить с цитированием
Старый 25.04.2009, 18:20   #2192
GeorG

AGFC
Гость
 
Сообщений: n/a

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

Цитата:
Сообщение от GeorG link=board=gothic&t=1105030050&goto=4961901 date=04/25/09, в 03:30:10
// возвращает оружие ближнего радиуса поражения, которым экипирован НПС npc.
func C_ITEM Npc_GetEquippedMeleeWeapon(var C_NPC npc);

Можно ли зная ссылку ITEM, получить ссылку на предмет с номером “instanceItem”

Поясню, та функция, которую я взял в цитату возвращает значения в формате ITEM, а мне надо из неё получить ссылку на номер предмета (в формате int)
2360:
int Hlp_GetInstanceID (c_item item); - получить ID номер предмета по ссылке на класс item.
Ещё вчера днём, делал имено так, но выскакивала ошибка, сегодня в 4 утра ещё раз попробовал и получилось... *

Снимаю вопрос,подробности сд
есь
.
Ответить с цитированием
Старый 26.04.2009, 13:50   #2193
Magmatic

AGFC
Гость
 
Сообщений: n/a

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

Пожалуйста проверьте всё ли я сделал верно.

const int Value_Ru_ArmyOfDarkness = 2500;


instance ItRu_ArmyOfDarkness(C_Item)
{
* *name = NAME_Amulett;
* *mainflag = ITEM_KAT_RUNE;
* * *flags = 0;
* * *value = Value_Ru_ArmyOfDarkness;
* * *visual = "ItAm_Prot_Fire_01.3ds";
* * *visual_skin = 0;
* * *material = MAT_METAL;
* * *spell = SPL_ArmyOfDarkness;
* * *mag_circle = 0;
* * *wear = WEAR_EFFECT;
* * *effect = "SPELLFX_WEAKGLIMMER_RED";
* * *description = "Кольцо нежити";
* * *text[0] = NAME_Mag_Circle;
* * *count[0] = mag_circle;
* * *text[1] = NAME_Manakosten;
* * *count[1] = SPL_Cost_ArmyOfDarkness;
* * *text[5] = NAME_Value;
* * *count[5] = value;
}; * * *
Ответить с цитированием
Старый 26.04.2009, 17:50   #2194
GeorG

AGFC
Гость
 
Сообщений: n/a

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

2Magmatic:

Это загадка с подвохом, или что?
Вроде всё правильно, а что, какие то ошибки вылетают?
Ответить с цитированием
Старый 30.04.2009, 00:29   #2195
Magmatic

AGFC
Гость
 
Сообщений: n/a

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

Где спелы заклов превращения? *SPL_COST_TRFMEATBUG прописан только в Item, а в спелах пустота. Где прописаны превращения ГГ (и других тварей) в зверюшков?

Нашел строку (slf.guild == GIL_GOBBO) && (slf.aivar[AIV_MM_REAL_ID] == ID_GOBBO_MAGE)) Гоблин- маг? Любопытно. ::)
2GeorG:
загадка с подвохом, или что?
одна голова хорошо, а две лучше. Проверяю лишний раз, чтобы удостовериться. Я пока не во все скрипты вник.

Добавление от 04/29/09, в 21:49:06
Ну же господа! Неужто никто не знает по какому принципу работают заклы превращения? Нашел скрипт b_applytransformedhp, но кажется он для смены гильдий.

name = NAME_Spruchrolle;
* * *mainflag = ITEM_KAT_RUNE;
* * *flags = ITEM_MULTI;
* * *value = Value_Sc_TrfScavenger;
* * *visual = "ItSc_TrfScavenger.3DS";
* * *material = MAT_LEATHER;
* * *spell = SPL_TrfScavenger; * // где лежит этот спелл?
* * *cond_atr[2] = ATR_MANA_MAX;
* * *cond_value[2] = SPL_Cost_Scroll;
* * *wear = WEAR_EFFECT;
* * *effect = "SPELLFX_WEAKGLIMMER";
* * *description = NAME_SPL_TrfScavenger;
* * *text[0] = NAME_MageScroll;
* * *text[1] = NAME_Mana_needed;
* * *count[1] = SPL_Cost_TrfScavenger;
* * *text[5] = NAME_Value;
* * *count[5] = value;

Добавление от 04/29/09, в 21:54:18
Вопрос снят. Нашел скрипт Spell_Transform_Alle.  

Добавление от 04/30/09, в 00:49:31
Последний вопрос на ближайшую неделю. Немецкий я не знаю, переводчика тоже нет. Кто-нибудь скажите, что написано в коментах. Это функции смены тушки чела на чужое тело, типа зверь или зомби?

FUNC VOID * * * Mdl_ApplyOverlayMds * * * (var C_NPC n0, VAR STRING s1 ) { };
// mit diesem Befehl werden Animationen auf einem hцheren Layer gestartet
// (z.B. hat der Zombie ein Overlay ьber die normalen Human-Animationen)

FUNC VOID * * * Mdl_RemoveOverlayMDS * * *(VAR C_NPC self, VAR STRING overlayName) {};
// Entferne ein Overlay-MDS
func VOID * * *Mdl_ApplyOverlayMDSTimed * * *(VAR C_NPC self, VAR STRING overlayname, VAR FLOAT timeTicks );
// Overlay-MDS wird gestartet und automatisch nach der angegebenen Zeit abgeschaltet
Ответить с цитированием
Старый 30.04.2009, 08:28   #2196
Vam

AGFC
Гость
 
Сообщений: n/a

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

2Magmatic:
Последний вопрос на ближайшую неделю. Немецкий я не знаю, переводчика тоже нет. Кто-нибудь скажите, что написано в коментах.
А в GS слабо посмотреть? Описание всех функций движка там есть.
Ответить с цитированием
Старый 30.04.2009, 18:24   #2197
Magmatic

AGFC
Гость
 
Сообщений: n/a

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

2Vam:
GS слабо посмотреть?
в GS мануал не работает, посмотрю в твоих уроках - там точно есть.   :P  ;)
Ответить с цитированием
Старый 01.05.2009, 02:32   #2198
MaGoth
A.G.F.C.
  Аватар для MaGoth
 
Регистрация: 04.09.2006
Сообщений: 20
MaGoth вне форума

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

2Magmatic:
Не в мануал нужно лезть а в окно классов и функций открытого проекта.  ;D
Там и сыщешь файлик с описанием всего что еть в твоем проекте.   ;)
Отправить личное сообщение для Ответить с цитированием
Старый 01.05.2009, 02:47   #2199
vmazz

AGFC
Гость
 
Сообщений: n/a

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

Проще щелкнуть правой клавишей мыши на нужной функции (как например Mdl_ApplyOverlayMds) и далее -> Перейти к обьявлению.  ;)
Ответить с цитированием
Старый 04.05.2009, 19:27   #2200
Magmatic

AGFC
Гость
 
Сообщений: n/a

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

Началась новая неделя, появился новый вопрос. ГГ встречает перса и после недолгой беседы тот должен проводить его к башне. Как направить NPC к нужной точке, чтобы он потом обратно не возвращался? Достаточно прописать команду (и вейпоинт) в скрипте перса или в диалоге тоже надо указать команду на перемещение (кстати, какую именно)?
Ответить с цитированием
Страница 55 из 65 « Первая 5454849505152535455 56575859606162 Последняя »


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе

Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.


Текущее время: 19:25. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot

AGFC: Valley of Gothic © 2004-2022

Яндекс.Метрика