Re: М: Скриптинг в Готике
2Magmatic:
Цитата:
|
Re: М: Скриптинг в Готике
2Magmatic:
Цитата:
Цитата:
Цитата:
|
Re: М: Скриптинг в Готике
Всем спасибо.<br>Последние вопросы про гильдии. 1. Что это:<br>OUT ?<br>Это для связи между гильдиями или какая-то еще фиговина? Персов с такой гильдии в скриптах нету.<br>2. Как можно задать взаимодействие между людьми и орками? Просто гильдия орков есть, но находится, так скажем, в разделе монстров. Можно ли их использовать (нужно чтобы они не на все типы людей кидались, а лишь на некоторых) или нужно новую гильдию орков создавать, нечто вроде оркосапиенс? <br><br>
|
Re: М: Скриптинг в Готике
2 Magmatic:<br>Здесь Нефариус немного ошибся, гильдия STRF (нем. Straefling) - не [strike]старатели[/strike], а каторжники.<br>1. А гильдия OUT - вообще сборная солянка, кого в ней только нет:<br>крестьяне (Секоб, Тилл, Бальтазар, Рега, Бабера и пр.);<br>бандиты (Моргахард и компания);<br>менты (Мика);<br>палы (Маркос, Тенгрон, Файет и пара безимянных палов);<br>каторжники (Фед, Тонак, Пардос);<br>прочие с пометкой "VLK" (Рамирез, Кассия, Джо, Граймс, Билгот, Тальбин, Энгром, Гестат).<br><br>2. Есть такая гильдия "дружественные орки" (GIL_FRIENDLY_ORC), единственный её представитель - Ур-Шак.
|
Re: М: Скриптинг в Готике
Не совсем по скриптам, но все же вопрос.<br>
Цитата:
|
Re: М: Скриптинг в Готике
2360:
Цитата:
|
Re: М: Скриптинг в Готике
2360:
Цитата:
|
Re: М: Скриптинг в Готике
2Нефариус: *Спасибо камрад, а то я уж думал что у меня совсем крыша поехала. *;D<br><br>2Ukur: И за это тоже спасибо. Я подозревал что там последовательность завязана на дате, потому что последовательная перекомпиялция скриптов всегда помогала от багов, но не думал что это действительно так :) Это вполне логично для vdf-патчей. Не надо никаких дополнительных файлов.
|
Re: М: Скриптинг в Готике
ммм... а может кто нибудь скажет как распотрошить движок г2 и вносить изменения? (ну ведь вы делали)
|
Re: М: Скриптинг в Готике
Цитата:
|
Re: М: Скриптинг в Готике
Цитата:
Цитата:
|
Re: М: Скриптинг в Готике
2FiG:<br>
Цитата:
Цитата:
|
Re: М: Скриптинг в Готике
ну чтож, мечтаем пока..<br><br>а может кто привести пример самого простого скрипта для изготовления чего либо посредством диалога с MOBом (рунный стол, точильный камень и т.п) <br> т.е я понимаю что там надо писать что то типа<br> if (Npc_HasIitem(s)(...)) { удалить эо из инвертаря и отдать готовую вещь, напр. меч};<br>но как начать диалог _с предметом_ ? (видел что в скриптах это делается через рокфеллера)<br><br> <br>
|
Re: М: Скриптинг в Готике
Цитата:
|
Re: М: Скриптинг в Готике
2Муравьёв-Апостол<br> читаешь мысли) <br><br>у меня та же проблема, но я в принципе знаю с чем это связано<br>1) надо чтобы в файле gothic.ini была строка subTitles=1<br>2) в ини файле также должна быть задана переменная gametextAutoScroll=1000 (задержка для каждой буквы в диалоге, в милисекундах)
|
Re: М: Скриптинг в Готике
2basilio<br>
Cпойлер(щелкните, чтобы прочесть): |
Re: М: Скриптинг в Готике
2FiG: *А вы ниже по контексту смотрите.<br>Взаимодействие с MOBом вызывает ф-цию (указывается в спейсере) в вашем случае это ф-ция potionalchemy_s1. Функция проверяет, взаимодействует ли герой с мобом - в этом случае начинается диалог.<br><br>Диалог с мобом выглядит практичесики так же как и с нпц:<br>
Цитата:
|
Re: М: Скриптинг в Готике
Ребят, какой скрипт отвечает за реакцию нпс на атаки со стороны?
|
Re: М: Скриптинг в Готике
2SMErtNIK: Конкретно за реакции (не только на нападение) отвечают восприятия персонажа. В вашем случае это<br>
Цитата:
Цитата:
|
Re: М: Скриптинг в Готике
А можно ли в Г2 движок сделать как Г3 (или наоборот)????
|
Re: М: Скриптинг в Готике
2K@ncler: зависит от того, что конкретно вы под этим подразумеваете :)))
|
Re: М: Скриптинг в Готике
Цитата:
|
Re: М: Скриптинг в Готике
2John White:
Цитата:
|
Re: М: Скриптинг в Готике
Допустимы условия типа <br><br>if ((Npc_GetDistToWP (npc, wp1) < Npc_GetDistToWP (npc,wp2)) ?<br><br>Обычно там цифра стоит, но...<br><br>Какая-то ерунда получается, но, может, я еще где-нибудь накосячила, конструкция семиэтажная... ::) Эта функция работает на больших расстояниях, если вп вне поля зрения?
|
Re: М: Скриптинг в Готике
Обычно обсчет скриптов идет только когда происходящее видно игроку.<br><br>По идее должно работать, легче самому запустить и проверить :)<br><br>Для упрощения конструкции можно обьявить две переменные рядом с функцией, затем присвоить этим переменным результаты функций, чтобы получилось что-то типа<br><br>
Код:
<br>Dist1 = Npc_GetDistToWP(self, wp1);<br>Dist2 = Npc_GetDistToWP(self, wp2);<br>if (Dist1 < Dist 2) { ... }<br> |
Re: М: Скриптинг в Готике
2okin: по идее должно работать, ибо ф-ция возварщае значение int.<br>Вот только мне не совсем понятен смысл такой конструкции - вы проверяете к какому вейпоинту ближе находится тот или иной нпц? Есть например такое решение - <br>
Код:
if (Hlp_StrCmp(Npc_GetNearestWP(self),wp1))<br>{<br>//ближе к wp1<br>}<br>else if (Hlp_StrCmp(Npc_GetNearestWP(self),wp2))<br>{<br>//ближе к wp2<br>}; |
Re: М: Скриптинг в Готике
360<br>
Цитата:
Цитата:
|
Re: М: Скриптинг в Готике
2okin: ага, задумку понял. Если вы проверяете дистанцию между ГГ и вейпоинтом - проблем быть не должно. Т.е. если self - ГГ, то дистанция будет определяться независимо от положения ГГ в мире (если, конечно, он не перейдейт в другой мир, ZEN в плане ;D). Если бы скриптовой язык готики имел больше функций обработки массивов, то можно было бы получить 6 дистанций, загнать их в массив, найти минимальное значение, вернуть ключ и вуаля. <br><br>А так прихдится писать разветвленную и громозкую систему условий. Возможно где-то в ней ошибки. Например, я быстренько сделал вот такой скрипт (Г1), дистанция пишется в дневник вполне исправно.<br><br>
Код:
<br>instance MapRing(C_Item)<br>{<br> name = NAME_Ring;<br> mainflag = ITEM_KAT_MAGIC;<br> flags = ITEM_RING;<br> value = 0;<br> visual = "ItMi_Ring_01.3ds";<br> visual_skin = 0;<br> material = MAT_METAL;<br> on_equip = Equip_MapRing;<br> on_unequip = UnEquip_MapRing;<br> description = "Кольцо";<br> text[2] = "";<br> text[3] = "";<br> text[5] = NAME_Value;<br> count[5] = value;<br>};<br><br>func void Equip_MapRing()<br>{<br> var int oc;<br> var int nc;<br> <br> oc=Npc_GetDistToWP(self, "OCC_CENTER_1");<br> nc=Npc_GetDistToWP(self, "NC_DAM");<br> <br> Log_CreateTopic("Дистанция",LOG_NOTE);<br> Log_CreateTopic("Старый Лагерь",LOG_NOTE);<br> Log_CreateTopic("Плотина",LOG_NOTE);<br> <br> if (oc<nc)<br> {<br> B_LogEntry("Дистанция", "Старый Лагерь ближе плотины.");<br> }<br> else if (oc>nc)<br> {<br> B_LogEntry("Дистанция", "Плотина ближе Старого Лагеря");<br> }<br> else<br> {<br> B_LogEntry("Дистанция", "Расстояния одинаковы"); <br> }; <br> <br> B_LogEntry("Старый Лагерь", IntToString(oc));<br> B_LogEntry("Плотина", IntToString(nc));<br> <br>};<br><br>func void UnEquip_MapRing()<br>{<br><br>};<br> |
Re: М: Скриптинг в Готике
Посмотрела на свежую голову на свою функцию и увидела забавный порядок проверки условий в одном блоке. Прямо как в анекдоте про вазочку: "Во-первых, не брала, во-вторых, вернула целую, а в-третьих, она уже была разбита"! ;D ;D ;D<br><br>Н-да... :-[<br><br>В общем, усе работает, прошу прощения за бестолковый вопрос. Спасибо за подсказки. ;)
|
Re: М: Скриптинг в Готике
Подскажите пожалуйста, где зарыты:<br>ebrh2.3ds<br>Hum_EBRS_ARMOR.asc<br>В 1-й и 2-й Готиках.<br>Спасибо.
|
Re: М: Скриптинг в Готике
2niccolo:
Цитата:
|
Re: М: Скриптинг в Готике
2DarkSeducer:
Цитата:
|
Re: М: Скриптинг в Готике
Цитата:
|
Re: М: Скриптинг в Готике
2niccolo:
Цитата:
|
Re: М: Скриптинг в Готике
Подскажите, что отвечает за прибавление 12 к жизненной силе с каждым уровнем? Для маны можно сделать подобное?
|
Re: М: Скриптинг в Готике
2niccolo: В готике 1 (да и в г2, скорее всего, так же), за это отвечает ф-ция B_giveXP которая, помимо дачи эскпы, проводит проверку на достижение нового урвоня. <br><br>Функция расположена в Story\B\B_GiveXp.d<br><br>Собственно, вот проверка на достижение нового уровня:<br>
Код:
<br> * * *if(hero.exp >= hero.exp_next)<br> * * *{<br> * * *hero.level = hero.level + 1;<br> * * *hero.exp_next = hero.exp_next + ((hero.level + 1) * 500);<br> * * *hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] + HP_PER_LEVEL;<br> * * *hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_PER_LEVEL;<br> * * *hero.lp = hero.lp + LP_PER_LEVEL;<br> * * *PrintScreen(NAME_LevelUp,-1,_YPOS_MESSAGE_LEVELUP,"font_old_20_white.tga",_TIME_MESSAGE_LEVELUP);<br> * * *Snd_Play("LevelUp");<br> * * *};<br> |
Re: М: Скриптинг в Готике
2360:<br>Спасибо, очень ясно и подробно.<br>------<br>Я нигде не нашёл описания<br>aivar[AIV_IMPORTANT] = TRUE<br>что это значит?<br>для чего добавляется self.?<br>где описано содержимое сундуков.<br>-----<br>Я сейчас меняю характеристики всех персонажей Готики-1,<br>убираю неуязвимость для большего реализма и делаю всех более живучими, сильными, ловкими и вооружёнными, так, чтобы и рудокоп или падальщик) смогли за себя нормально постоять, поднимаю также их уровень для увеличения экспы.<br>Основная идея в том, чтобы сделать трудным возможность побить крутого чувака и отобрать у него что-нибудь ценное.<br>Основная проблема в том, чтобы сделать грамотно и не переборщить. Если кто-то делал что-нибудь подобное, есть какие-нибудь советы?
|
Re: М: Скриптинг в Готике
2niccolo: <br>self. одна из 3-х глобальных переменных двига для управления игры, позиционируется как на Гг так и на Непесей, связана с двигом и интелектом скриптов на прямую т.е. ни удалять ее ни изменять нельзя. (в туторе Вама читай, там расписано чуток ;))<br><br>Теперь по остальному, реализм в топку... бесмертие как было так пусть и остается, все равно на том что есть, более или менее реалистичность не реализовать, издержки двига. Что до баланса, то он есть в Готе только тогда, когда Гг на "0" уровне против волка, дальше уже песня о танках... ;D<br>
|
Re: М: Скриптинг в Готике
2niccolo: <br>
Цитата:
Код:
<br>var C_Npc MyNpc;<br>MyNpc = Hlp_GetNpc(Sld_700_Lee);<br>MyNpc.name[0]="Генерал Ли";<br> Цитата:
Цитата:
Цитата:
|
Re: М: Скриптинг в Готике
Эх, программисты... Любите же вы всё усложнять.<br><br>Придумываете всякие "автолевелы", нелинейную прокачку, выносливость, рассудок и.т.д. и.т.п.<br><br>Я лично в своём моде сделал просто- ЗНАЧИТЕЛЬНО ослабил выдаваемую герою броню. И всё. Не трогал ни монстров, ни неписей (их броня на месте). А играть интересней, и сложней, и никаких "песен про танки"...<br>
|
Текущее время: 21:20. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
AGFC: Valley of Gothic © 2004-2022