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

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

Расширенный поиск
Старый 10.03.2008, 03:38   #2001
B_Wolf

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

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

2Magmatic:
func int DIA_Dar_Kameradenschwein_Condition()
{
    if(Dar_LostAgainstCipher == TRUE)
    {
          self.aivar[AIV_LastFightComment] = FALSE;
     
    };
};             // ошибка, функция должна возвращать значение
Многие ошибки можно исправить, сравнивая с ОРИГИНАЛЬНЫМИ немецкими скриптами из пакета G2MDK

FUNC INT DIA_Dar_Kameradenschwein_Condition()
{
     if (Dar_LostAgainstCipher == TRUE)
     {
           self.aivar[AIV_LastFightComment] == FALSE; //geht NUR bei ECHTER Important-Info!
           return TRUE;
     };
};
Ответить с цитированием
Старый 10.03.2008, 14:41   #2002
Nifarius

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

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

2Magmatic:
1.Что за гильдии Strf  и Dmt ?
Старатели и ищущие.
2.Как задать взаимодействие новой гильдии с остальными чтобы другие гильдии реагировали на новую.
Wld_SetGuildAttitude(var int guild1, var int attitude, var int guild2);
5. Есть где нибудь ссылка (только не на сайты KillerXXX) где можно скачать рабочую прогу NSC Script Generator 2.2.  Она устанавливается, но не работает.
.Net Framework установлен?
Ответить с цитированием
Старый 12.03.2008, 22:20   #2003
Magmatic

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

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

Всем спасибо.
Последние вопросы про гильдии.  1. Что это:
OUT  ?
Это для связи между гильдиями или какая-то еще фиговина? Персов с такой гильдии в скриптах нету.
2. Как можно задать взаимодействие между людьми и орками? Просто гильдия орков есть, но находится, так скажем, в разделе монстров. Можно ли их использовать (нужно чтобы они не на все типы людей кидались, а лишь на некоторых) или нужно новую гильдию орков создавать, нечто вроде оркосапиенс?

Ответить с цитированием
Старый 13.03.2008, 14:54   #2004
Dimus

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

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

2 Magmatic:
Здесь Нефариус немного ошибся, гильдия STRF (нем. Straefling) - не [strike]старатели[/strike], а каторжники.
1. А гильдия OUT - вообще сборная солянка, кого в ней только нет:
крестьяне (Секоб, Тилл, Бальтазар, Рега, Бабера и пр.);
бандиты (Моргахард и компания);
менты (Мика);
палы (Маркос, Тенгрон, Файет и пара безимянных палов);
каторжники (Фед, Тонак, Пардос);
прочие с пометкой "VLK" (Рамирез, Кассия, Джо, Граймс, Билгот, Тальбин, Энгром, Гестат).

2. Есть такая гильдия "дружественные орки" (GIL_FRIENDLY_ORC), единственный её представитель - Ур-Шак.
Ответить с цитированием
Старый 13.03.2008, 15:58   #2005
halogene

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

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

Не совсем по скриптам, но все же вопрос.
; List of vdf-files which have been added to the original gothic
; [separate them by spaces, include their extension ".mod"]
vdf=...
Как подразумевается в строке vdf указывается порядок загрузки mod.файлов, т.е. таким образом реализуется подключение патчей, озвучания, видео и прочих дополнений к существующим модификациям.

А теперь, собственно вопрос. В Г2А - никаких пробем, все грузится и работает без проблем. А в Г1 логику уловить не удалось. если указана последоватлеьность "a.mod b.mod" - грузится только "b.mod" если b.mod убарть из папки модов и запихнуть под видом b.vdf - работает, но через раз.
Ответить с цитированием
Старый 13.03.2008, 17:15   #2006
Nifarius

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

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

2360:
А в Г1 логику уловить не удалось. если указана последоватлеьность "a.mod b.mod" - грузится только "b.mod" если b.mod убарть из папки модов и запихнуть под видом b.vdf - работает, но через раз.
Файлы *.mod нужно разделять двойным пробелом.
Ответить с цитированием
Старый 13.03.2008, 17:19   #2007
B_Wolf

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

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

2360:
А в Г1 логику уловить не удалось. если указана последоватлеьность "a.mod b.mod" - грузится только "b.mod" если b.mod убарть из папки модов и запихнуть под видом b.vdf - работает, но через раз.
Логика в г1 точно такая же как как в Г2а, а приоритет загрузки .mod файлов определяется не порядком в ini файле, а по дате создания .vdf или .mod архива, причем, если  .vdf будет новее .mod он также перекроет своими данными .mod
Единственное существенной отличие в загрузке .mod от .vdf, что .mod рассматривается игрой только, через INI файл мода, а .vdf всегда.
Ответить с цитированием
Старый 13.03.2008, 17:21   #2008
halogene

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

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

2Нефариус: *Спасибо камрад, а то я уж думал что у меня совсем крыша поехала. *;D

2Ukur: И за это тоже спасибо. Я подозревал что там последовательность завязана на дате, потому что последовательная перекомпиялция скриптов всегда помогала от багов, но не думал что это действительно так :) Это вполне логично для vdf-патчей. Не надо никаких дополнительных файлов.
Ответить с цитированием
Старый 14.03.2008, 20:38   #2009
FiG

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

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

ммм... а может кто нибудь скажет как распотрошить движок г2 и вносить изменения? (ну ведь вы делали)
Ответить с цитированием
Старый 14.03.2008, 23:01   #2010
halogene

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

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

Цитата:
Сообщение от FiG link=board=gothic&t=1105030050&goto=4082291 date=03/14/08, в 19:38:31
ммм... а может кто нибудь скажет как распотрошить движок г2 и вносить изменения? (ну ведь вы делали)
Делали Г2? ;D
Насколько мне известно камрад Vam занимался (и занимается) декомпиляцией движка Г1, о Г2 по-моему пока даже и речи не было.

А собственно, вам с какой целью это надо? :) Готика ведь очень гибкая в плане модификаций ;)
Ответить с цитированием
Старый 14.03.2008, 23:36   #2011
FiG

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

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

> Насколько мне известно камрад Vam занимался
 он и вторую вроде разбирал...

Готика ведь очень гибкая в плане модификаций
 не настолько, насколько нужно

p.s может кто знает ка сделать в готике parallax mapping ? xD ну или хотя бы bump mapping
это зашито в библиотеках или в ехешнике?
Ответить с цитированием
Старый 17.03.2008, 09:16   #2012
Vam

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

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

2FiG:
он и вторую вроде разбирал...
Вторая находится в работе...

может кто знает ка сделать в готике parallax mapping ? xD ну или хотя бы bump mapping, это зашито в библиотеках или в ехешнике?
Эти фишки в Готиках могут быть реализованы только в движке (экзешник) с использованием библиотек DirectX. Но, пока нет полных исходников движка, об этом можно только мечтать...  :(
Ответить с цитированием
Старый 18.03.2008, 21:47   #2013
FiG

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

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

ну чтож, мечтаем пока..

а может кто привести пример самого простого скрипта для изготовления чего либо посредством диалога с MOBом (рунный стол, точильный камень и т.п)
т.е я понимаю что там надо писать что то типа
if (Npc_HasIitem(s)(...))  { удалить эо из инвертаря и отдать готовую вещь, напр. меч};
но как начать диалог _с предметом_ ? (видел что в скриптах это делается через рокфеллера)

 
Ответить с цитированием
Старый 19.03.2008, 13:42   #2014
basilio58

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

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

Цитата:
Сообщение от FiG link=board=gothic&t=1105030050&goto=4090288 date=03/18/08, в 20:47:49
...а может кто привести пример самого простого скрипта для изготовления чего либо посредством диалога с MOBом (рунный стол, точильный камень и т.п)
А может проще открыть папочку с соответствующими диалогами? Или просто поиском в скриптах?
Чем ждать ответа на форуме....лень... :(
Ответить с цитированием
Старый 25.03.2008, 12:35   #2015
FiG

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

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

2Муравьёв-Апостол
читаешь мысли)

у меня та же проблема, но я в принципе знаю с чем это связано
1) надо чтобы в файле gothic.ini была строка subTitles=1
2) в ини файле также должна быть задана переменная gametextAutoScroll=1000  (задержка для каждой буквы в диалоге, в милисекундах)
Ответить с цитированием
Старый 25.03.2008, 12:43   #2016
FiG

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

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

2basilio
Cпойлер(щелкните, чтобы прочесть):
func void potionalchemy_s1()
{
    var C_Npc her;//заводим переменную хер
    her = Hlp_GetNpc(PC_Hero);//"присваиваем ей главгероя"
    if(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(her))"если id игрока = id хер-а т.е героя..."
    {
         self.aivar[AIV_INVINCIBLE] = TRUE; // невидимым становится??
         PLAYER_MOBSI_PRODUCTION = MOBSI_PotionAlchemy;//как я понял, устанавливается анимация...
         AI_ProcessInfos(her);// и начинается диалог?
    };
};

ну и как я тут сам разберусь?
Ответить с цитированием
Старый 26.03.2008, 00:10   #2017
halogene

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

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

2FiG: *А вы ниже по контексту смотрите.
Взаимодействие с MOBом вызывает ф-цию (указывается в спейсере) в вашем случае это ф-ция potionalchemy_s1. Функция проверяет, взаимодействует ли герой с мобом - в этом случае начинается диалог.

Диалог с мобом выглядит практичесики так же как и с нпц:
//Добавляем (например) выход из диалога.

instance PC_MakeSome_End(C_Info)
{
* * *npc = PC_Hero;
* * *nr = 999;
* * *condition = PC_MakeSome_End_Condition;
* * *information = PC_MakeSome_End_Info;
* * *permanent = TRUE;
* * *description = Dialog_Ende;
};

//Условие, проверяем переменную PLAYER_MOBSI_PRODUCTION, в вашем случае написано MOBSI_PotionAlchemy, но константу можно задать любую, в т.ч. и пользовательскую, обработка же её происходит именно здесь. Именно здесь происходит привязка диалога к взаимодейтсвию с конкретным мобом.

func int PC_MakeSome_End_Condition()
{
* * *if(PLAYER_MOBSI_PRODUCTION == MOBSI_PotionAlchemy)
* * *{
* * * * * *return TRUE;
* * *};
};

//Сам выход

func void PC_MakeSome_End_Info()
{
AI_StopProcessInfos(self);
self.aivar[AIV_INVINCIBLE] = FALSE;
PLAYER_MOBSI_PRODUCTION = MOBSI_NONE;
};
Ответить с цитированием
Старый 04.04.2008, 15:08   #2018
Artem-modder

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

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

Ребят, какой скрипт отвечает за реакцию нпс на атаки со стороны?
Ответить с цитированием
Старый 04.04.2008, 18:17   #2019
halogene

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

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

2SMErtNIK: Конкретно за реакции (не только на нападение) отвечают восприятия персонажа.  В вашем случае это
Npc_PercEnable(self,PERC_ASSESSDAMAGE,ZS_ReactToDa mage);
Следовательно интересующая вас функция -
ZS_ReactToDamage
Лежит она в папке AI/ZS_Human/ или AI/Human/ZS_Human/ для Г1 и Г2 соответсвенно.

Ответить с цитированием
Старый 07.04.2008, 18:29   #2020
K@ncler

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

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

А можно ли в Г2 движок сделать как Г3 (или наоборот)????
Ответить с цитированием
Старый 07.04.2008, 19:37   #2021
halogene

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

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

2K@ncler: зависит от того, что конкретно вы под этим подразумеваете :)))
Ответить с цитированием
Старый 07.04.2008, 22:13   #2022
John_White

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

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

Цитата:
Сообщение от K@ncler link=board=gothic&t=1105030050&goto=4128954 date=04/07/08, в 18:29:59
А можно ли в Г2 движок сделать как Г3 (или наоборот)????
Перефразировав известного математика, добавлю:
"Дайте нам исходный код и мы переделаем весь двиг!"
Ответить с цитированием
Старый 08.04.2008, 12:46   #2023
Xentar

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

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

2John White:
7 апреля 2008, 18:29, K@ncler писал:
А можно ли в Г2 движок сделать как Г3 (или наоборот)????
Перефразировав известного математика, добавлю:
"Дайте нам исходный код и мы переделаем весь двиг!"
Я вообще пока не очень понимаю, что там Вам делает...
Но насколько мне известно пока он не заявлял, что собирается
делиться с кем-то исходниками движка, даже если они будут ;)
Ответить с цитированием
Старый 13.04.2008, 17:08   #2024
okin

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

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

Допустимы условия типа

if ((Npc_GetDistToWP (npc, wp1) < Npc_GetDistToWP (npc,wp2)) ?

Обычно там цифра стоит, но...

Какая-то ерунда получается, но, может, я еще где-нибудь накосячила, конструкция семиэтажная... ::) Эта функция работает на больших расстояниях, если вп вне поля зрения?
Ответить с цитированием
Старый 13.04.2008, 18:50   #2025
marazmus
A.G.F.C.
 
Регистрация: 02.09.2005
Сообщений: 6
marazmus вне форума

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

Обычно обсчет скриптов идет только когда происходящее видно игроку.

По идее должно работать, легче самому запустить и проверить :)

Для упрощения конструкции можно обьявить две переменные рядом с функцией, затем присвоить этим переменным результаты функций, чтобы получилось что-то типа

Код:
Dist1 = Npc_GetDistToWP(self, wp1);Dist2 = Npc_GetDistToWP(self, wp2);if (Dist1 < Dist 2) { ... }
Отправить личное сообщение для Ответить с цитированием
Старый 13.04.2008, 19:28   #2026
halogene

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

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

2okin: по идее должно работать, ибо ф-ция возварщае значение int.
Вот только мне не совсем понятен смысл такой конструкции - вы проверяете к какому вейпоинту ближе находится тот или иной нпц? Есть например такое решение -
Код:
if (Hlp_StrCmp(Npc_GetNearestWP(self),wp1)){//ближе к wp1}else if (Hlp_StrCmp(Npc_GetNearestWP(self),wp2)){//ближе к wp2};
Немного через голову, правда, но все же :)
Ответить с цитированием
Старый 14.04.2008, 11:14   #2027
okin

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

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

360
if (Hlp_StrCmp(Npc_GetNearestWP(self),wp1))
Не совсем то, что нужно... Мне ведь не ближайший вп нужен, а определить, какой ближе из двух (на самом деле из шести), разбросанных по миру. Пытаюсь сделать колечко телепортации, у которого точка выхода зависит от точки входа. Плюс парочка триггеров на сладкое, срабатывающих с определенной вероятностью, - для большей непредсказуемости перемещений. То есть закономерность, конечно, есть, но забавная ;D

Пока пробовала с тремя вп на маленьком кусочке, все работало. Дописала остальное и увеличила расстояния - появились косяки... Могла просто где-то что-то напутать, но вроде уже несколько раз проверяла...

Поэтому вопрос -
marazmus
Обычно обсчет скриптов идет только когда происходящее видно игроку.
В данном случае тоже так? Пытаться определить расстояние за пределами видимости бесполезно? Тогда придется извращаться...
Ответить с цитированием
Старый 14.04.2008, 11:58   #2028
halogene

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

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

2okin: ага, задумку понял. Если вы проверяете дистанцию между ГГ и вейпоинтом - проблем быть не должно. Т.е. если self - ГГ, то дистанция будет определяться независимо от положения ГГ в мире (если, конечно, он не перейдейт в другой мир, ZEN в плане  ;D). Если бы скриптовой язык готики имел больше функций обработки массивов, то можно было бы получить 6 дистанций, загнать их в массив, найти минимальное значение, вернуть ключ и вуаля.

А так прихдится писать разветвленную и громозкую систему условий. Возможно где-то в ней ошибки.  Например, я быстренько сделал вот такой скрипт (Г1), дистанция пишется в дневник вполне исправно.

Код:
instance MapRing(C_Item){      name = NAME_Ring;      mainflag = ITEM_KAT_MAGIC;      flags = ITEM_RING;      value = 0;      visual = "ItMi_Ring_01.3ds";      visual_skin = 0;      material = MAT_METAL;      on_equip = Equip_MapRing;      on_unequip = UnEquip_MapRing;      description = "Кольцо";      text[2] = "";      text[3] = "";      text[5] = NAME_Value;      count[5] = value;};func void Equip_MapRing(){      var int oc;      var int nc;            oc=Npc_GetDistToWP(self, "OCC_CENTER_1");      nc=Npc_GetDistToWP(self, "NC_DAM");            Log_CreateTopic("Дистанция",LOG_NOTE);      Log_CreateTopic("Старый Лагерь",LOG_NOTE);      Log_CreateTopic("Плотина",LOG_NOTE);            if (oc<nc)      {      B_LogEntry("Дистанция", "Старый Лагерь ближе плотины.");      }      else if (oc>nc)      {      B_LogEntry("Дистанция", "Плотина ближе Старого Лагеря");      }      else      {      B_LogEntry("Дистанция", "Расстояния одинаковы");            };                        B_LogEntry("Старый Лагерь", IntToString(oc));      B_LogEntry("Плотина", IntToString(nc));      };func void UnEquip_MapRing(){};
Если ГГ использует кольцо в любой точке мира oldworld.zen - информация выводится вполне корректно  ;)
Ответить с цитированием
Старый 15.04.2008, 13:37   #2029
okin

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

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

Посмотрела на свежую голову на свою функцию и увидела забавный порядок проверки условий в одном блоке. Прямо как в анекдоте про вазочку: "Во-первых, не брала, во-вторых, вернула целую, а в-третьих, она уже была разбита"! ;D ;D ;D

Н-да... :-[

В общем, усе работает, прошу прощения за бестолковый вопрос. Спасибо за подсказки. ;)
Ответить с цитированием
Старый 22.04.2008, 17:00   #2030
niccolo

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

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

Подскажите пожалуйста, где зарыты:
ebrh2.3ds
Hum_EBRS_ARMOR.asc
В 1-й и 2-й Готиках.
Спасибо.
Ответить с цитированием
Старый 22.04.2008, 17:27   #2031
Xentar

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

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

2niccolo:
Подскажите пожалуйста, где зарыты:
ebrh2.3ds
Hum_EBRS_ARMOR.asc
В 1-й и 2-й Готиках.
Спасибо.
Это меш и анимашка, насколько мне помниться они валяются в скомпиленном виде ebrh2.3ds в meshes.vdf,
а Hum_EBRS_ARMOR.asc в anims.vdf в скомпиленном виде...
Ответить с цитированием
Старый 22.04.2008, 18:20   #2032
B_Wolf

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

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

2DarkSeducer:
в скомпиленном виде ebrh2.3ds в meshes.vdf
и при этом имеют в скомпиленном виде расширение .MRM, а не .3ds. .3ds сырье можно найти в пакете модостроителя GMDK для Г1, или G2MDK для г2а.
Ответить с цитированием
Старый 22.04.2008, 18:33   #2033
niccolo

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

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

Цитата:
Сообщение от Ukur link=board=gothic&t=1105030050&goto=4160802 date=04/22/08, в 18:20:23
2DarkSeducer:
и при этом имеют в скомпиленном виде расширение .MRM, а не .3ds. .3ds сырье можно найти в пакете модостроителя GMDK для Г1, или G2MDK для г2а.
Спасибо, нашёл, скачал.
А каким инструментом можно декомпилировать файлы .MDM и .MRM и компилировать обратно в них?
Ответить с цитированием
Старый 22.04.2008, 19:02   #2034
B_Wolf

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

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

2niccolo:
А каким инструментом можно декомпилировать файлы .MDM и .MRM и компилировать обратно в них?
Декомпилятора мешей не существует, остальное GothicSourcer
Ответить с цитированием
Старый 23.04.2008, 15:18   #2035
niccolo

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

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

Подскажите, что отвечает за прибавление 12 к жизненной силе с каждым уровнем? Для маны можно сделать подобное?
Ответить с цитированием
Старый 23.04.2008, 23:25   #2036
halogene

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

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

2niccolo: В готике 1 (да и в г2, скорее всего, так же), за это отвечает ф-ция B_giveXP которая, помимо дачи эскпы, проводит проверку на достижение нового урвоня.

Функция расположена в Story\B\B_GiveXp.d

Собственно, вот проверка на достижение нового уровня:
Код:
 * * *if(hero.exp >= hero.exp_next) * * *{ * * *hero.level = hero.level + 1; * * *hero.exp_next = hero.exp_next + ((hero.level + 1) * 500); * * *hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] + HP_PER_LEVEL; * * *hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_PER_LEVEL; * * *hero.lp = hero.lp + LP_PER_LEVEL; * * *PrintScreen(NAME_LevelUp,-1,_YPOS_MESSAGE_LEVELUP,"font_old_20_white.tga",_TIME_MESSAGE_LEVELUP); * * *Snd_Play("LevelUp"); * * *};
Где:
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_PER_LEVEL и hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] + HP_PER_LEVEL - рост ЖС на размер, указанный в константе HP_PER_LEVEL

Собственно, для маны можно также задать, только вместо [ATR_HITPOINTS] и [ATR_HITPOINTS_MAX] следует добавить строчки с [ATR_MANA] и [ATR_MANA_MAX]. Вместо константы HP_PER_LEVEL можете прописать свою для маны или просто число.
Ответить с цитированием
Старый 24.04.2008, 12:35   #2037
niccolo

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

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

2360:
Спасибо, очень ясно и подробно.
------
Я нигде не нашёл описания
aivar[AIV_IMPORTANT] = TRUE
что это значит?
для чего добавляется self.?
где описано содержимое сундуков.
-----
Я сейчас меняю характеристики всех персонажей Готики-1,
убираю неуязвимость для большего реализма и делаю всех более живучими, сильными, ловкими и вооружёнными, так, чтобы и рудокоп или падальщик) смогли за себя нормально постоять, поднимаю также их уровень для увеличения экспы.
Основная идея в том, чтобы сделать трудным возможность побить крутого чувака и отобрать у него что-нибудь ценное.
Основная проблема в том, чтобы сделать грамотно и не переборщить. Если кто-то делал что-нибудь подобное, есть какие-нибудь советы?
Ответить с цитированием
Старый 24.04.2008, 12:53   #2038
MaGoth
A.G.F.C.
  Аватар для MaGoth
 
Регистрация: 04.09.2006
Сообщений: 20
MaGoth вне форума

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

2niccolo:
self. одна из 3-х глобальных переменных двига для управления игры, позиционируется как на Гг так и на Непесей, связана с двигом и интелектом скриптов на прямую т.е. ни удалять ее ни изменять нельзя. (в туторе Вама читай, там расписано чуток ;))

Теперь по остальному, реализм в топку... бесмертие как было так пусть и остается, все равно на том что есть, более или менее реалистичность не реализовать, издержки двига. Что до баланса, то он есть в Готе только тогда, когда Гг на "0" уровне против волка, дальше уже песня о танках...  ;D
Отправить личное сообщение для Ответить с цитированием
Старый 24.04.2008, 13:07   #2039
halogene

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

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

2niccolo:
для чего добавляется self.?
self в случае НПЦ это глобальная ссылка на его класс. т.е. если например написать self.name[0]="Василий" то нпц в скриптах которого (например, в диалогах) присутвует данная строчка, переименутся в Василия :), установка self.attribute[ATR_HITPOINTS]=0 убьет его и т.д. В примере с левел-апом идет глобальная ссылка на ГГ.

Вместо self можно работать и c любой другой переменной типа C_NPC.
Код:
var C_Npc MyNpc;MyNpc = Hlp_GetNpc(Sld_700_Lee);MyNpc.name[0]="Генерал Ли";
где описано содержимое сундуков.
В zen-файлах. Содержимое именных сунудуков можно менять скриптами :)

aivar[AIV_IMPORTANT] = TRUE
Я глубоко в этом не разбирался, но похоже она влияет на диалоги с important=1; Ибо делая вариант, когда о преступлениях ГГ в Готике 1 сообщалось как в Г3, я столкнулся с проблемой, что НПЦ сам не начинал диалога, а говорил фарзу о преступлении в начале диалога с ГГ.

Добавление от 04/24/08, в 13:27:44
2MaGoth:
Теперь по остальному, реализм в топку... бесмертие как было так пусть и остается, все равно на том что есть, более или менее реалистичность не реализовать, издержки двига. Что до баланса, то он есть в Готе только тогда, когда Гг на "0" уровне против волка, дальше уже песня о танках...
Ну в Г1 боевой баланс хоть поприличнее Г2 - минимального урона то нет  ;D, а делать автолевелинг монстров ИМХО еще хуже,  так что действительно лучше ничего не трогать :)
Ответить с цитированием
Старый 24.04.2008, 15:09   #2040
alex_ryz

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

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

Эх, программисты... Любите же вы всё усложнять.

Придумываете всякие "автолевелы", нелинейную прокачку, выносливость, рассудок и.т.д. и.т.п.

Я лично в своём моде сделал просто- ЗНАЧИТЕЛЬНО ослабил выдаваемую герою броню. И всё. Не трогал ни монстров, ни неписей (их броня на месте).  А играть интересней, и сложней, и никаких "песен про танки"...
Ответить с цитированием
Страница 51 из 65 « Первая 414445464748495051 5253545556575861 Последняя »


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

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

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

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


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

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

AGFC: Valley of Gothic © 2004-2022

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