lost81 Опубликовано 10 августа, 2005 Жалоба Поделиться Опубликовано 10 августа, 2005 Смотри...Что погода выбирается по weather chanc'am, это понятно. То есть если у нас 50% на солнечно и 50% на облачно, то погода будет выбиратся из этого.Теперь, когда nmonth у нас становится не равна текущему месяцу, то есть месяц меняется, мы смотрим какой месяц, и в зависимости от наго меняем шансы: если осень, то больше шансов накидываем на дождь и грозы, если зима - то на туман и облачность (нет, снега не будет, климат не тот... Разве что в Шеогораде может снег пойти... И сразу же растаять... Очень маленькая вероятность), если лето - на солнечность (Прочитал, что написал, и чуть сам сос стула не свалился... Солнечность! Это надо же! новое слово придумал!)... На солнечную погоду.Непосредственно саму же погоду мой скрипт не меняет. Да, и тут идея стукнула - если скрипт несколько усложнить, можно сделать так, что бы мор (blight) с течением времени распростронялся бы по острову! То есть если игрок совсем уж забивает на сюжет, то через пару лет по всему острову погода будет как на Красной Горе.<{POST_SNAPBACK}> Понятно, буду юзать... ;) Ссылка на комментарий Поделиться на другие сайты Поделиться
Boma Kuro Опубликовано 10 августа, 2005 Автор Жалоба Поделиться Опубликовано 10 августа, 2005 тока не забыть зараженных тогда с ее распростанением расставлять по всему острову ;) иначе конкретные Неревары не поймутЕсть же в бладмуне функция addtoleveledcreature... Или как-то так... Хмм. Надо будет все обдумать... Ссылка на комментарий Поделиться на другие сайты Поделиться
Boma Kuro Опубликовано 13 августа, 2005 Автор Жалоба Поделиться Опубликовано 13 августа, 2005 Вот скрипт Gwathlobal'a из плагина MorrowindSeasons_BM_1C (добре, Крез ссылку выложил в теме про поиск плагинов). Очевидно, более сбалансированный, чем мой. Однако, таймер он тоже не использовал. [morrscript]begin _MS_MainScript short state short ToMornStarshort doonce if ( doonce== 0 ) "jobasha"->additem "_ms_bk_MorrClimate" 1 "dorisa darvel"->additem "_ms_bk_MorrClimate" 1 "codus callonus"->additem "_ms_bk_MorrClimate" 1 AddTopic "климат Вварденфелла" set doonce to 1endif if ( Month == 0 ) if ( state != 0 ) ModRegion "Ascadian Isles Region" 25 25 15 15 10 10 0 0 ModRegion "Ashlands Region" 10 5 10 25 0 0 50 0 ModRegion "Azura's Coast Region" 10 10 10 10 20 40 0 0 ModRegion "Bitter Coast Region" 10 20 10 0 40 20 0 0 ModRegion "Grazelands Region" 5 20 15 15 25 20 0 0 ModRegion "Molag Mar Region" 5 10 20 15 0 0 50 0 ModRegion "Sheogorad" 10 15 20 15 20 20 0 0 ModRegion "West Gash Region" 5 20 15 20 20 20 0 0 ModRegion "Felsaad Coast Region" 30 5 5 15 0 0 0 0 30 15 ModRegion "Hirstaang Forest Region" 20 25 0 40 0 0 0 0 10 5 ModRegion "Isinfier Plains Region" 10 10 0 10 0 0 0 0 40 30 ModRegion "Moesring Mountains Region" 5 5 0 10 0 0 0 0 35 45 set state to 0 endifelseif ( Month == 1 ) if ( state != 1 ) ModRegion "Ascadian Isles Region" 30 30 10 10 10 10 0 0 ModRegion "Ashlands Region" 10 10 10 25 0 0 45 0 ModRegion "Azura's Coast Region" 10 10 10 10 25 35 0 0 ModRegion "Bitter Coast Region" 10 20 15 0 35 20 0 0 ModRegion "Grazelands Region" 5 20 20 10 25 20 0 0 ModRegion "Molag Mar Region" 5 15 20 15 0 0 45 0 ModRegion "Sheogorad" 10 15 20 10 20 25 0 0 ModRegion "West Gash Region" 5 25 10 20 20 20 0 0 ModRegion "Felsaad Coast Region" 25 5 5 15 0 0 0 0 30 20 ModRegion "Hirstaang Forest Region" 20 20 0 40 0 0 0 0 10 10 ModRegion "Isinfier Plains Region" 10 10 0 15 0 0 0 0 40 25 ModRegion "Moesring Mountains Region" 10 5 0 10 0 0 0 0 30 45 set state to 1 if ( ToMornStar == 1 ) set Month to 0 set ToMornStar to 0 endif endifelseif ( Month == 2 ) if ( state != 2 ) ModRegion "Ascadian Isles Region" 30 30 15 15 5 5 0 0 ModRegion "Ashlands Region" 10 15 10 25 0 0 40 0 ModRegion "Azura's Coast Region" 15 10 5 10 25 35 0 0 ModRegion "Bitter Coast Region" 15 20 10 0 35 20 0 0 ModRegion "Grazelands Region" 5 10 20 20 25 20 0 0 ModRegion "Molag Mar Region" 5 15 20 20 0 0 40 0 ModRegion "Sheogorad" 10 10 30 10 20 20 0 0 ModRegion "West Gash Region" 10 20 10 20 20 20 0 0 ModRegion "Felsaad Coast Region" 20 5 5 15 0 0 0 0 30 25 ModRegion "Hirstaang Forest Region" 20 15 0 45 0 0 0 0 10 10 ModRegion "Isinfier Plains Region" 10 10 0 20 0 0 0 0 40 20 ModRegion "Moesring Mountains Region" 10 10 0 10 0 0 0 0 30 40 set state to 2 endifelseif ( Month == 3 ) if ( state != 3 ) ModRegion "Ascadian Isles Region" 30 30 5 5 15 15 0 0 ModRegion "Ashlands Region" 10 15 10 20 5 0 40 0 ModRegion "Azura's Coast Region" 10 10 5 5 30 40 0 0 ModRegion "Bitter Coast Region" 5 10 10 10 40 25 0 0 ModRegion "Grazelands Region" 5 10 10 10 35 30 0 0 ModRegion "Molag Mar Region" 5 10 20 5 0 0 60 0 ModRegion "Sheogorad" 10 10 35 10 20 15 0 0 ModRegion "West Gash Region" 10 20 10 15 25 20 0 0 ModRegion "Felsaad Coast Region" 15 5 5 15 0 0 0 0 30 30 ModRegion "Hirstaang Forest Region" 20 10 0 40 0 0 0 0 15 15 ModRegion "Isinfier Plains Region" 5 10 5 25 0 0 0 0 35 20 ModRegion "Moesring Mountains Region" 5 10 5 10 0 0 0 0 30 40 set state to 3 endifelseif ( Month == 4 ) if ( state != 4 ) ModRegion "Ascadian Isles Region" 30 30 10 10 10 10 0 0 ModRegion "Ashlands Region" 10 20 10 20 0 0 40 0 ModRegion "Azura's Coast Region" 10 10 5 5 35 35 0 0 ModRegion "Bitter Coast Region" 10 10 10 5 40 25 0 0 ModRegion "Grazelands Region" 10 15 15 15 25 20 0 0 ModRegion "Molag Mar Region" 5 15 25 15 0 0 40 0 ModRegion "Sheogorad" 5 10 40 10 20 15 0 0 ModRegion "West Gash Region" 10 15 10 15 25 25 0 0 ModRegion "Felsaad Coast Region" 15 10 5 15 0 0 0 0 30 25 ModRegion "Hirstaang Forest Region" 20 15 0 40 0 0 0 0 15 10 ModRegion "Isinfier Plains Region" 10 15 0 30 0 0 0 0 30 15 ModRegion "Moesring Mountains Region" 5 10 5 10 0 0 0 0 30 40 set state to 4 endifelseif ( Month == 5 ) if ( state != 5 ) ModRegion "Ascadian Isles Region" 35 35 10 10 5 5 0 0 ModRegion "Ashlands Region" 10 20 20 20 0 0 30 0 ModRegion "Azura's Coast Region" 15 15 10 10 25 25 0 0 ModRegion "Bitter Coast Region" 15 20 10 0 30 25 0 0 ModRegion "Grazelands Region" 20 25 10 10 20 15 0 0 ModRegion "Molag Mar Region" 5 15 30 15 0 0 35 0 ModRegion "Sheogorad" 10 10 30 15 20 15 0 0 ModRegion "West Gash Region" 10 20 15 20 20 15 0 0 ModRegion "Felsaad Coast Region" 25 10 5 15 0 0 0 0 30 15 ModRegion "Hirstaang Forest Region" 25 25 0 35 0 0 0 0 10 5 ModRegion "Isinfier Plains Region" 10 15 0 25 0 0 0 0 30 20 ModRegion "Moesring Mountains Region" 10 10 0 15 0 0 0 0 25 40 set state to 5 endifelseif ( Month == 6 ) if ( state != 6 ) ModRegion "Ascadian Isles Region" 40 40 5 5 5 5 0 0 ModRegion "Ashlands Region" 10 25 10 20 0 0 35 0 ModRegion "Azura's Coast Region" 25 25 10 10 15 15 0 0 ModRegion "Bitter Coast Region" 10 45 10 0 20 15 0 0 ModRegion "Grazelands Region" 25 35 5 5 15 15 0 0 ModRegion "Molag Mar Region" 5 15 35 20 0 0 25 0 ModRegion "Sheogorad" 10 20 20 15 20 15 0 0 ModRegion "West Gash Region" 10 25 15 20 15 15 0 0 ModRegion "Felsaad Coast Region" 30 10 10 15 0 0 0 0 20 15 ModRegion "Hirstaang Forest Region" 25 35 0 35 0 0 0 0 5 0 ModRegion "Isinfier Plains Region" 5 10 5 30 0 0 0 0 30 20 ModRegion "Moesring Mountains Region" 10 10 0 15 0 0 0 0 20 45 set state to 6 endifelseif ( Month == 7 ) if ( state != 7 ) ModRegion "Ascadian Isles Region" 35 45 10 0 5 5 0 0 ModRegion "Ashlands Region" 10 25 10 25 0 0 30 0 ModRegion "Azura's Coast Region" 25 45 10 10 5 5 0 0 ModRegion "Bitter Coast Region" 10 60 10 0 10 10 0 0 ModRegion "Grazelands Region" 30 40 5 5 10 10 0 0 ModRegion "Molag Mar Region" 5 15 35 25 0 0 20 0 ModRegion "Sheogorad" 15 40 10 15 10 10 0 0 ModRegion "West Gash Region" 15 30 15 20 10 10 0 0 ModRegion "Felsaad Coast Region" 30 10 15 15 0 0 0 0 20 10 ModRegion "Hirstaang Forest Region" 20 40 0 40 0 0 0 0 0 0 ModRegion "Isinfier Plains Region" 10 10 0 30 0 0 0 0 30 20 ModRegion "Moesring Mountains Region" 10 10 0 20 0 0 0 0 20 40 set state to 7 endifelseif ( Month == 8 ) if ( state != 8 ) ModRegion "Ascadian Isles Region" 50 45 0 0 5 0 0 0 ModRegion "Ashlands Region" 20 20 10 20 0 0 30 0 ModRegion "Azura's Coast Region" 35 45 5 10 5 0 0 0 ModRegion "Bitter Coast Region" 20 60 10 0 5 5 0 0 ModRegion "Grazelands Region" 40 40 5 5 5 5 0 0 ModRegion "Molag Mar Region" 15 15 25 25 0 0 20 0 ModRegion "Sheogorad" 20 40 10 10 10 10 0 0 ModRegion "West Gash Region" 20 35 15 20 5 5 0 0 ModRegion "Felsaad Coast Region" 40 10 15 15 0 0 0 0 15 5 ModRegion "Hirstaang Forest Region" 30 40 0 30 0 0 0 0 0 0 ModRegion "Isinfier Plains Region" 20 20 0 30 0 0 0 0 20 10 ModRegion "Moesring Mountains Region" 20 10 0 10 0 0 0 0 20 40 set state to 8 endifelseif ( Month == 9 ) if ( state != 9 ) ModRegion "Ascadian Isles Region" 30 45 10 5 5 5 0 0 ModRegion "Ashlands Region" 25 20 10 20 0 0 25 0 ModRegion "Azura's Coast Region" 30 45 5 10 5 5 0 0 ModRegion "Bitter Coast Region" 15 25 5 0 40 15 0 0 ModRegion "Grazelands Region" 20 40 10 10 10 10 0 0 ModRegion "Molag Mar Region" 10 20 20 25 0 0 25 0 ModRegion "Sheogorad" 15 30 10 15 20 10 0 0 ModRegion "West Gash Region" 15 25 10 20 15 15 0 0 ModRegion "Felsaad Coast Region" 35 10 15 15 0 0 0 0 20 5 ModRegion "Hirstaang Forest Region" 20 30 0 35 0 0 0 0 10 5 ModRegion "Isinfier Plains Region" 15 15 0 30 0 0 0 0 25 15 ModRegion "Moesring Mountains Region" 15 10 0 15 0 0 0 0 20 40 set state to 9 endifelseif ( Month == 10 ) if ( state != 10 ) ModRegion "Ascadian Isles Region" 25 25 10 20 10 10 0 0 ModRegion "Ashlands Region" 15 15 10 20 0 0 40 0 ModRegion "Azura's Coast Region" 15 25 10 10 15 25 0 0 ModRegion "Bitter Coast Region" 10 35 10 0 25 20 0 0 ModRegion "Grazelands Region" 15 30 10 5 25 15 0 0 ModRegion "Molag Mar Region" 5 15 20 25 0 0 35 0 ModRegion "Sheogorad" 15 25 10 15 20 15 0 0 ModRegion "West Gash Region" 10 25 10 25 15 15 0 0 ModRegion "Felsaad Coast Region" 35 10 10 15 0 0 0 0 20 10 ModRegion "Hirstaang Forest Region" 20 30 0 40 0 0 0 0 10 0 ModRegion "Isinfier Plains Region" 15 5 0 25 0 0 0 0 35 20 ModRegion "Moesring Mountains Region" 10 10 0 15 0 0 0 0 25 40 set state to 10 endifelseif ( Month == 11 ) if ( state != 11 ) ModRegion "Ascadian Isles Region" 30 25 10 15 10 10 0 0 ModRegion "Ashlands Region" 10 10 10 25 0 0 45 0 ModRegion "Azura's Coast Region" 15 15 10 10 15 35 0 0 ModRegion "Bitter Coast Region" 10 30 10 0 30 20 0 0 ModRegion "Grazelands Region" 10 30 10 10 25 15 0 0 ModRegion "Molag Mar Region" 5 10 20 20 0 0 45 0 ModRegion "Sheogorad" 15 20 15 10 20 20 0 0 ModRegion "West Gash Region" 10 20 15 20 20 15 0 0 ModRegion "Felsaad Coast Region" 30 10 5 15 0 0 0 0 25 15 ModRegion "Hirstaang Forest Region" 15 30 0 40 0 0 0 0 5 10 ModRegion "Isinfier Plains Region" 10 10 0 30 0 0 0 0 30 20 ModRegion "Isinfier Plains Region" 10 10 0 20 0 0 0 0 35 25 ModRegion "Moesring Mountains Region" 10 10 0 10 0 0 0 0 30 40 set state to 11 set ToMornStar to 1 endifendif end[/morrscript] PS: Когда для morrscript кнопку сделают? Ссылка на комментарий Поделиться на другие сайты Поделиться
Boma Kuro Опубликовано 24 октября, 2005 Автор Жалоба Поделиться Опубликовано 24 октября, 2005 Вот из темы про мечты,А ещё... Ещё хочу календарь. Каждый день у перса появляется табличка (а лучше запись в журнале), сообщающая какой сегодня день, и какие особенности этого дня. Например, в месяц твоего зодиака повышается удача. Допустим, ты маг, тогда в месяцы, подчиняющиеся созвездиям Мага (нужно уточнить, какие именно по Астрологии), у тебя повышаются магические навыки. Или ещё вариант. Сегодня, например, день Св. Альмалексии, и религия запрещает левитацию. Ослушался - штраф в виде снижения на месяц удачи. А другой день - день ХХХ Милосердного (Воинственного, Храброго), значит нельзя убивать (или там красть, или получаешь бонус к силе, или тебя весь день сопровождает призванный даэдра), а если в этот день помолиться такому-то алтарю - будет тебе такая-то приятность... Ну, наподобие как в Даггере. В принципе, календарь-то сделать легко, ставим проверку на месяц и на день, и накладываем эффект. Для зодиака тоже, только сначала надо спец. скриптом определить знак игрока, записать его в глоб. переменную, а потом на основе проверки ее и месяца выводить результат. Ну, что скажите? Тут отписал, потому что основа скрипта та же будет. Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 25 октября, 2005 Жалоба Поделиться Опубликовано 25 октября, 2005 DeathrulerА разница все-таки есть... У тебя сразу конец:if ( nmonth == month ) Return А с таймером - каждый тик еще будет время вычисляться... Set timer to (timer + GetSecondsPassed)if (timer Return В проверке на меню - тоже смысла невижу... Нет разницы какую переменную проверять...Только не в меню - каждый тик будет две проверки - вместо одной...Разве что если в меню проторчать больше месяца... :1anim_ab: if (MenuMode == 1) Returnelseif ( nmonth == month ) Return Проверки на: if ( GetInterior == 1 ) тоже не нужно..."Лишний" раз в месяц скрипт отработает незаметно...Да и кто сказал, что он лишний... Тот - кто месяцами не выходит наружу ? А в 'ModRegion' ты в своем скрипте забыл про Снег и Вьюгу на Солтсхейме... С модом 'Month_bugfix' вроде не должно быть проблем, если он будет вкючен первым...Сначала он установит нужный месяц, а потом твой скрипт сделает проверку на его изменение...Вот только без него у тебя небудет января ( 0 - месяц, утренней звезды). :1anim_ac: А теперь на счет последнего: 'основа скрипта та же будет'...Ты имеешь в виду - добавить его обработку в свой скрипт ?По моему - без разницы, что в этом, что в другом... Ни чего общего, кроме проверки месяца... Вот только я лично незнаю, как скриптом определить знак игрока...Как впрочем, пол определяется только из диалога... Ссылка на комментарий Поделиться на другие сайты Поделиться
Boma Kuro Опубликовано 2 декабря, 2005 Автор Жалоба Поделиться Опубликовано 2 декабря, 2005 Гм, похоже, определить знак игрока вообще не реально. EJ-12 предлагал воспользоватся GetSpell, что бы определить знак по заклинаниям, присущим знаку, однако информация MSFD: Возвращает «истину», если у объекта есть Spell_ID в инвентаре. Тем не менее, это, похоже, работает не для всех типов заклинаний. Способности и другие заклинания, относящиеся к расе/знаку рождения, не регистрируются этой функцией, а только те, что располагаются в главной части окна заклинаний. Пример смотри ниже. Обидно... Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 5 декабря, 2005 Жалоба Поделиться Опубликовано 5 декабря, 2005 Гм, похоже, определить знак игрока вообще не реально...Ну не совсем... В UMP, например, для возможности определения пола из скриптов ввелиглобальную переменную PCGender и patchScript... Можно PC спросить об этом... если обманет - то самого себя... :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Gwathlobal Опубликовано 19 января, 2006 Жалоба Поделиться Опубликовано 19 января, 2006 Гм, похоже, определить знак игрока вообще не реально. EJ-12 предлагал воспользоватся GetSpell, что бы определить знак по заклинаниям, присущим знаку, однако информация MSFD:Обидно...Неа. Можно. Нужно использовать функцию GetSpellEffects. Определяет все, что можно, нужно и не нужно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти