![]() CATEGORIES: BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism |
Get/Mod/Set ИИ для Боя: Fight, Flee, Alarm 6 page
Я только быстро протестировал их, но они работают. Обе функции возвращают тип short с этими значениями: 0 = MOON_PHASE_NEW (это по умолчанию /новая луна/) 1 = MOON_PHASE_WAXING_CRESCENT or MOON_PHASE_WANING_CRESCENT (первая четверть): 2 = MOON_PHASE_WAXING_HALF or MOON_PHASE_WANING_HALF (половина): 3 = MOON_PHASE_WAXING_GIBBOUS or MOON_PHASE_WANING_GIBBOUS (третья четверть): 4 = MOON_PHASE_FULL (полная луна) Погода Изменение погоды [no fix] ChangeWeather, "RegionID", short_Type_Enum
ChangeWeather, “West Gash”, 4
Эта функция изменяет погоду в указанном регионе на тип TypeEnum, и это изменение произойдет через время указанное, видимо, в Morrowind.ini в разделе Weather, например[42]:
Значения TypeEnum для погоды:
Изменение установок погоды для региона [no fix] ModRegion, "RegionID", clear_enum, cloudy_enum, foggy_enum, overcast_enum, rain_enum, thunder_enum, ash_enum, blight_enum
ModRegion, “West Gash”, 10, 20, 10, 5, 5, 40, 10, 0
Изменяет шансы появления разных типов погоды для региона RegionID. Используется, чтобы убирать или добавлять определенные виды погоды навсегда. При сумме значений больше 100, можно получить странные результаты. Определение текущей погоды [no fix] GetCurrentWeather(returns short)
If ( GetCurrentWeather == 1) ;[Делать что-то, если облачно] endif Возвращает TypeEnum из таблицы выше. Пример: Bethesda использует это, чтобы заставлять вывески двигаться на ветру при разных типах погоды: begin OutsideBanner
;это скрипт для вывески снаружи, ;который анимирует ее на ветру. ;Idle – нет ветра, Idle2 – легкий бриз, и Idle3 – сильный бриз
short ran
if ( MenuMode == 0 ) set ran to random 100 if ( ran < 30 ) ;30% шанс, что флаг сделает что-то новое ;это проверка для будущих типов погоды if ( GetCurrentWeather >= 5 ) ;гроза, пепел и мор LoopGroup, Idle3, 5 endif
;последняя анимация вызванная в скрипте и будет проигрываться if ( ran <= 10 ) PlayGroup, Idle
elseif ( GetCurrentWeather < 5 ) PlayGroup, Idle2
endif
endif
endif Определение скорости ветра Недокументированно: [no fix] GetWindSpeed(returns float)
Я только быстро протестировал эту функцию. Она возвращает 0 в интерьерах и float снаружи (который может сильно изменяться, при пасмурной погоде равняется где-то двум) (Спасибо XPCagey за то, что нашел ее) Средства управления игрока Игрок спит [no fix] ShowRestMenu
Вызывает меню отдыха и позволяет игроку поспать. Это используется, например, на кроватях в ячейках, где спать запрещено.
Пример: Вот стандартный скрипт для кроватей: begin Bed_Standard
;используется для обычных кроватей, на которых игрок может спать
if ( MenuMode == 0) if ( OnActivate == 1 ) ShowRestMenu endif endif
end
[no fix] GetPCSleep (returns Boolean/short)
if ( GetPCSleep == 0 )
Возвращает 1, если игрок спит. Примечание: Меню сна и счетчик во время отдыха считаются как меню, так что будьте осторожны, когда используете эту функцию и MenuMode вместе! Пример использует совершенно бесполезный предмет, но он показывает возможности функции: Begin pillowScript
short comfy
if ( PCVampire == 1 ) return endif
if ( comfy == -1 ) if ( player->GetItemCount "misc_uni_pillow_unique" > 0 ) if ( GetPCSleep == 0 ) set comfy to 0 return endif endif endif
if ( comfy == 0 ) if ( player->GetItemCount "misc_uni_pillow_unique" > 0 ) if ( GetPCSleep == 1 ) MessageBox "Ваш сон был невероятно сладким на Супер-Удобной Подушке" set comfy to -1 return endif endif endif
End pillowScript
[no fix] WakeUpPC
Заставляет игрока просыпаться до указанного времени. Иногда создает монстра, если игрок спит снаружи. Так происходит всегда, когда игрок спит по часу. (Спасибо Manauser за эту инфу). WakeUpPC прерывает сон, только когда игрок по-настоящему спит, и не влияет на простое прокручивание времени в местах, где сон запрещен (Информация с форумов / Kir).
Пример: это часть скрипта "sleepers" от Беседки. Он дает игроку сны о Дагот Уре во время выполнения основного скрипта. Здесь можно увидеть использование и GetPCSleep, и WakeUpPC: if ( GetPCSleep == 0 ) return endif
Set dream to 0
if ( GetPCCell "Balmora" == 1 ) Set dream to 1 endif
if ( GetPCCell "Ald-ruhn" == 1 ) Set dream to 2 endif […] if ( dream == 0 ) Set doOnce to 0 ;это необходимо, чтобы вы вышли из города, чтобы произошла следущая атака return endif
AddTopic "тревожные сны" ;добавлем тему, неважно что много-много раз
;ПЕРВЫЙ СОН...
if ( GetJournalIndex A1_2_AntabolisInformant >= 10 ) if ( GetJournalIndex A1_Dreams < 1 ) WakeUpPC MessageBox "Вы увидели тревожный сон. Бла-бла-бла", “Ok" Journal A1_Dreams 1 return endif endif Включение и выключение средств управления и интерфейса Отключение средств управления Все эти функции выключают часть интерфейса пользователя и ограничивают действия игрока.
[no fix] DisablePlayerControls Игрок может только смотреть вокруг и использовать главное меню, больше ничего.
[no fix] DisablePlayerFighting [no fix] DisablePlayerMagic Эти две функции ненадежны согласно информации с форумов: если игрок «достал руки» до того, как они были использованы, то он все равно может использовать оружие и заклинания, а также заклинания и оружие на горячих клавишах также работают. Я не знаю, как это обойти.
[no fix] DisablePlayerJumping [no fix] DisablePlayerLooking [no fix] DisablePlayerViewSwitch [no fix] DisableVanityMode Включение средств управления После использования одной из выключающих функция, возможности игрока можно восстановить соответствующей включающий функцией.
[no fix] EnableLevelUpMenu [no fix] EnablePlayerControls (Включает меню.) [no fix] EnablePlayerJumping [no fix] EnablePlayerFighting [no fix] EnablePlayerLooking [no fix] EnablePlayerMagic [no fix] EnablePlayerViewSwitch [no fix] EnableRest [no fix] EnableVanityMode Проверка статуса средств управления Все эти функции возвращают 1, если соответствующая отключающая функция была вызвана и активна, и 0, если данное средство управления работает.
[no fix] GetPlayerControlsDisabled [no fix] GetPlayerFightingDisabled [no fix] GetPlayerJumpingDisabled [no fix] GetPlayerMagicDisabled [no fix] GetPlayerLookingDisabled GetPlayerViewSwitch (Не работает. Используйте: )
[no fix] GetVanityModeDisabled Переключение в вид от первого и от третьего лица [no fix] PCGet3rdPerson (returns Boolean/short) возвращает 1, если игрок использует вид от третьего лица
[no fix] PCForce3rdPerson переключает в вид от третьего лица (может потребоваться время, чтобы завершить анимацию)
[no fix] PCForce1stPerson то же самое, что и выше, но для первого лица
(См также команду консоли "ToggleVanityMode" (TVM)). Функции для меню генерации персонажа Это недокументированные функции для создания персонажа. Они включат все меню, используемые в создании персонажа и включают такие возможности персонажа, как инвентарь, окно характеристик и карту:
Показ меню создания персонажа: [no fix] EnableBirthMenu
Для них нет команды отключения. Они закрываются, когда вы нажмете ok.
Date: 2015-12-17; view: 987
|