-
Постов
2085 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Календарь
Весь контент mortuus
-
Разумно, согласен со всем Я пользовался, там много чего есть не лорного на мой взгляд, но в целом плаг хорош. Если вырезать оттуда лишнее, то вполне себе.
-
Нет, функцию alarm на ноль ставишь и всё в порядке, воруй, убивай, делай что хочешь
-
Это не скриптом, там в самом меню нпц отключается ябидничество, вот ща в упор не помню как функция обзывается
-
1 Довел, как мне кажется, но тут в ЛС 2 И это хорошо баланс будет соблюден 3 Тут надо подумать, в Сх я видел что продавцы сахар продают, но не покупают его. Развивай мысль. 4 По плагинам есть добыча минералов. В принципе при разработке жилы минералы разные могут попадаться. Реалестичнее всего было-бы стучание киркой, но во всех плагинах имхо это кривовато сделано. 5 Предлагали, я не одному тебе отвечаю. 7 В морровинде видел удочку, вот только в броне элементов лески не видел. Всегда кожаные ремешки использовались. Я тебя не переубеждаю, можешь гарду хоть смолой шалка обмазать и поджечь от костра. Понимаешь к чему я клоню? Минимум возможный материалов должен быть. Не надо усложнять всё это. 8 Да там с использованием душ Даэдра эбонит обрабатывается, просто можно баланс выставить -> 100 навык кузнеца, квест на рецепт, редкорсть материалов. В итоге сделать так, чтоб ты максимум 1-2 комплекта выковать смог. Кроме того должен присутствовать шанс неудачного крафта
-
Приведу пример скрипта с комментариямию Это скрипт книги имперской школы магии. Приведу пример скрипта с комментариямию Это скрипт книги имперской школы магии. Begin ImpDestr_MB3_Script short OnPCEquip short PCSkipEquip short Flag ; не используется в скрипте short FlagIndex ; не используется в скрипте short MagicSpell if ( MagicSpell == 1 ) if ( Player->GetIntelligence < 90 ) MessageBox "Уровень Интеллекта недостаточен для изучения новых магических возможностей." Set MagicSpell to 2 endif if ( Player->GetWillpower < 0 ) MessageBox "Уровень Силы Воли недостаточен для изучения новых магических возможностей." Set MagicSpell to 2 endif if ( MagicSpell == 2 ) Set MagicSpell to 0 Return endif if ( PLayer->GetSpell "_ch_chaos_blast_1L_2R" == 1 ) ; вместо проверки на знания заклинаний я бы предложил ввести глобальную переменную для каждой школы магии, это скрипт облегчит. Да и логичности добавит. Сейчас ситуация такая - выучил закл - апнул его до 3 последнего уровня, удалил. (((( Случайно. Далее ищи этот закл опять, покупай все градации книг имперской школы по новой Player->addSpell "_ch_chaos_blast_1L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_chaos_blast_1L_2R" endif if ( PLayer->GetSpell "_ch_chaos_bloom_4L_2R" == 1 ) Player->addSpell "_ch_chaos_bloom_4L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_chaos_bloom_4L_2R" endif if ( PLayer->GetSpell "_ch_chaos_dezintegr_4L_2R" == 1 ) Player->addSpell "_ch_chaos_dezintegr_4L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_chaos_dezintegr_4L_2R" endif if ( PLayer->GetSpell "_ch_chaos_distroyA_1L_2R" == 1 ) Player->addSpell "_ch_chaos_distroyA_1L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_chaos_distroyA_1L_2R" endif if ( PLayer->GetSpell "_ch_chaos_distroyAll_3L_2R" == 1 ) Player->addSpell "_ch_chaos_distroyAll_3L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_chaos_distroyAll_3L_2R" endif if ( PLayer->GetSpell "_ch_chaos_distroyW_2L_2R" == 1 ) Player->addSpell "_ch_chaos_distroyW_2L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_chaos_distroyW_2L_2R" endif if ( PLayer->GetSpell "_ch_chaos_health_2L_2R" == 1 ) Player->addSpell "_ch_chaos_health_2L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_chaos_health_2L_2R" endif if ( PLayer->GetSpell "_ch_chaos_srike_3L_2R" == 1 ) Player->addSpell "_ch_chaos_srike_3L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_chaos_srike_3L_2R" endif if ( PLayer->GetSpell "_ch_daedra_strike_1L_2R" == 1 ) Player->addSpell "_ch_daedra_strike_1L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_daedra_strike_1L_2R" endif if ( PLayer->GetSpell "_ch_el_coldflame_3L_2R" == 1 ) Player->addSpell "_ch_el_coldflame_3L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_el_coldflame_3L_2R" endif if ( PLayer->GetSpell "_ch_el_fireball_2L_2R" == 1 ) Player->addSpell "_ch_el_fireball_2L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_el_fireball_2L_2R" endif if ( PLayer->GetSpell "_ch_el_firelighting_4L_2R" == 1 ) Player->addSpell "_ch_el_firelighting_4L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_el_firelighting_4L_2R" endif if ( PLayer->GetSpell "_ch_el_icebolt_1L_2R" == 1 ) Player->addSpell "_ch_el_icebolt_1L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_el_icebolt_1L_2R" endif if ( PLayer->GetSpell "_ch_el_lightning_2L_2R" == 1 ) Player->addSpell "_ch_el_lightning_2L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_el_lightning_2L_2R" endif if ( PLayer->GetSpell "_ch_necro_weak_2L_2R" == 1 ) Player->addSpell "_ch_necro_weak_2L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_necro_weak_2L_2R" endif if ( PLayer->GetSpell "_ch_old_damed_2L_2R" == 1 ) Player->addSpell "_ch_old_damed_2L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_old_damed_2L_2R" endif if ( PLayer->GetSpell "_ch_old_poison_1L_2R" == 1 ) Player->addSpell "_ch_old_poison_1L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_old_poison_1L_2R" endif if ( PLayer->GetSpell "_ch_old_poisonbloom_3L_2R" == 1 ) Player->addSpell "_ch_old_poisonbloom_3L_3R" Set MagicSpell to 3 Player->removeSpell "_ch_old_poisonbloom_3L_2R" endif if ( MagicSpell == 3 ) MessageBox "Вы усовершенствовали свои познания в магии." else MessageBox "У Вас нет заклинаний, которые способен улучшить этот том." endif Set MagicSpell to 0 endif if ( PCSkipEquip == 1 ) ; эта функция может быть использована для сокращения проигрывания скрипта, если ее поставить в начало скрипта Set PCSkipEquip to 0 Set MagicSpell to 1 Return endif if ( MenuMode == 1 ) ; эта вообще бесполезна секция, тут наоборот надо вводить, if ( MenuMode == 0 ) -> Return и ставить самым первым этот блок. Return endif if ( OnActivate == 1 ) ; полагаю этот блок для того, чтобы можно было воровать книги, но не уверен нужен ли он вообще. Activate endif END ImpDestr_MB3_Script
-
Мда, забавную тему открыли и забавную дискуссию развели. Некоторые сообщения особо улыбнули ) А некоторые стоящие идеи я взял на заметку. Теперь по сути: 1 При крафте ты не сможешь реализовать повышения уровня гг. И это главное ((( ( Я придумал один способ замороченный, но он требует новых иконок и моделей, за подробностями в ЛС) 2 Цернон, можно и кость раздробить, добавить смолы и склепать новый доспех( вопрос в том в чем дробить ( в ступке?)) И каленая сталь переплавливается и стекло. 3 Баланс может поддерживать расход материалов на починку- 1 Это логично 2 Это тратит ресурсы, что могли бы быть на крафт использованы. 3 Ограниченность материалов.( кузнецы могут продавать материалы, алхимики же продают ингредиенты) Этими 3 постулатами баланса можно добиться. 4 Перелавка нужна, как и добыча минералов. 5 Чертежи - это логично, но и перенос их в журнал логичен, использовать скаевские - бред, слишком большое отличие внешнее. 6 По поводу градации качества вещей - с этим повременить надо, пока я ещё не видел адекватной системы крафта. 7 Вообще было бы логично качество брони оценивать по качеству материала из которого она сделана. Зы веревки н стоит вводить, достаточно кожаных ремешков, разного качества, от гуара до даэдра. 8 Выскажу свои идеи: Есть Дремеские фабрики, имхо на них можно делать доспехи соответствующие. Даеэдрик можно делать только одним молотом и в определенной кузнице. ЗЫ Если чего забыл - допишу
-
Тут всё для красоты сделано. 1 блок отвечает за появление/ исчезновение если гг не видит нпк (только тормозит процесс игры, я полагаю это как оптимизация задумано, хотя мб и работает), 2 блок как раз отвечает за исчезновение по часам, проверка идет каждые 5 секунд(типо оптимизация, имхо можно было проще сделать). 3 блок отвечает за появление и исчезновение в интерьере и как и 2-ой привязан ко времени. 4 блок - это невозможность убить детей и штрафы. В принципе тебе нужны только 2 и 3 блоки и переменные которые там использованы. Вообще скрипт мудрёный чуток, всегда чужое тяжелее разбирать, хз как автор блоки в голове строил, тем более тут нелинейность такая.
-
не так же, локальный скрипт перестает работать если ты не в смежной локации, косяки могут быть с переменными, а так время четко отслеживается.
-
остальных призраков вроде поправили, а про этого видимо забыли. Я уже 100 раз предлагал гмст переменную поправить, там мало того что светоч, там ещё хамелеон даёт уворот.
-
глобал должен обсекаться и срабатывать 1 раз, я сегодня что-то читал о подобном. Ну в общем надо в кс смотреть, конструктор далек от совершенства.
-
Вообще решение думается мне не сложное. 1 глобальный скрипт определяющий время и стартующий другие скрипты которые выставляют позиции нпк. Т.е. begin sc ; m1 m2 m3 скрипты самозавершающиеся, выставляют позиции нужные для нпк, этот скрипт стартовый, работает ;постоянно short status if ( status == 0 ) if ( gamehour < 9 ) Startscript m1 set status to 1 endif elseif ( status == 1 ) if ( gamehour > 9 ) if ( gamehour < 21 ) Startscript m2 set status to 2 endif endif elseif ( status == 2 ) if ( gamehour > 21 ) Startscript m3 set status to 0 endif endif end будет время проверю, если не терпится сами проверьте. begin m1 Stopscript m1 IdNPC1 -> PositionCell, -21278, -17613, 534, 0, "Balmora (-3, -3)" IdNPC2 -> PositionCell, -21278, -17613, 534, 0, "Balmora (-3, -3)" ; и тд end остальные скрипты аналогично только другие позиции В принципе в теории должно работать. Кроме того можно хоть к дням привязку сделать чтобы нпк по определеным дням в храм ходили, одни раз в три дня, другие раз в неделю. Стационарный морровинд можно так чуток оживить. Проверю потом как работает.
-
Я достаточно много работал с разными таймерами времени, но мало с самим перемещением, это самая дурная вещь в скриптах. Я обычно дубли просто делал. Да всё просто, gamehour глобальная float переменная, т.е. её значение меняется каждый фрейм на определенные доли в зависимости от твоего фпс. Так что точное значение ты никогда не отследишь. Точнее отследить можно, но поймать - нет. К примеру ты можешь сделать вещь при активации которой тебе укажется время, можно даже пересчитать чтобы до минут или секунд показывало. =) В твоей статье на СХ кой чего про блоки не написано. В блоках if-elseif-elseif-elseif-else-endif если подходит ближайшая от верха "истина" то остальные блоки пропускаются до следующего фрейма. Т.е.If ( m ==0 ) set m to 1 elseif ( m == 1 ) set m to 2 elseif (m==2) set m to 3 else set m to 4 endif Переменная m станет равна 4 через 4 кадра только, а не по цепочке за 1 кадр. Как будет время - посмотрю, а то уже заинтриговали. До конца недели вердикт скажу точно.
-
if ( GameHour >= 21 ) if ( evening == 0 ) PositionCell 3633 2868 12726 10800 "Каюта Катти Сарк" set evening to 1 set morning to 0 endif elseif ( GameHour >= 9 ) if ( morning == 0 ) PositionCell -131545 220782 90 0 "Солстхейм, побережьe Фелсаад" (-17, 26 ) set morning to 1 set evening to 0 endif else if ( evening == 0 ) PositionCell 3633 2868 12726 10800 "Каюта Катти Сарк" set evening to 1 set morning to 0 endif endif У тебя условия были забавные, попробуй так.
-
Ну да, что-то тупанул, только с добавлением переменной получится. Перемещения в моррке самая муторная вещь.
-
Вообще не понял зачем там переменные, когда обойтись можно только функцией GameHour, тем более что планируется больше режимов чем утро- вечер. Begin sct if ( GameHour >= 21 ) PositionCell x y z gradus "CELLID" elseif ( GameHour >= 17 ) PositionCell x1 y1 z1 gradus "CELLID" elseif ( GameHour >= 12 ) PositionCell x2 y2 z2 gradus "CELLID" elseif ( GameHour >= 6 ) PositionCell x3 y3 z3 gradus "CELLID" else PositionCell x4 y4 z4 gradus "CELLID" endif end
-
Поправил известные баги изменении стрелкового оружия. Если кончаются стрелы игроку возвращается контроль, при двойном срабатывании звука игрок больше не должен зависать
-
любопытно, видимо это движок, можно вставить таймер, должно помочь.
-
Ингредиенты это одно, ты ставишь их какие хочешь в меню, принудительно скриптом бутылку в меню не воткнешь, Можно правда кое что сделать. При включенном меню алхимии если заканчиваются бутылки просто выставляем алхимию на 0 и шанс сварить зелье будет всегда неудачный, при выходе из меню алхимии восстанавливаем навык. Попозже посмотрю как проще будет отследить меню алхимии.
-
К сожалению из этой затеи ничего хорошего не выйдет. Можно отследить наличие бутылок в инвентаре и сделать запрет использования реторт при отсутствии бутылок. Можно отследить и удачное зельеварение и убрать бутылку из инвентаря. Нельзя меню алхимии закрыть, если бутылок в инвентаре у вас не останется. Так что без тотальной переработки алхимии такое не сделать( а с тотальной переработкой ещё с большими трудностями столкнешься).
-
Новая версия, вроде все недочеты поправил, учел рост разных рас и полов. В этой версии все нововведения что были задуманы. Если багов выявлено не будет - сделаю + к этому отдельно аргонианское дыхание + темную воду, в общем разделю плаин на составляющие, но и цельную версию тоже оставлю. Внимание! Плагин не совместим с плагинами добавляющими новые расы ( Несовместимость условная, не будет учтен рост расы) Не совместим с плагинами задевающими chargen_capitan'a
-
На счет доп прог - не знаю, стандартные скрипты точно не позволят такого.
-
Нет, нельзя.
-
Первое с чем стоит определиться с направлением в плагиностроении. Человек-оркестр - это хорошо, но всегда в одном направлении люди более развиты. Есть квесты, левел дизайн, моделирование, работа с анимациями, скрипты. Последние 3 профы реже всего встречаются на профессиональном уровне.