Правка скрипта CharGen

Люди если кто нибуть знает скрипты в Морике то у меня сложился вопрос.
Можно ли сделать так чтобы игрок появлялся в другом месте и сразу выбирал Имя, Рассу, Класс, итп.
Я пробовал что то но не как не получилось.
Уже и книги умные читал....
Пишите

Комментарии: 18
Ваш комментарий

Вроде плаг такой был, "Свободный старт".
http://www.fullrest.ru/download.php?lk=243

0

неее это не то все равно начинаешь на корабле, или это у меня глючит?

0

Ну что дружок. Ты хочешь научиться работать со скриптами. Тогда слушай меня внимательно и я поведаю тебе эту тайну. Открывай Morrowind.esm через TES Construction Set. Не подумай это не всё. Теперь видишь карандашек среди многих квадратиков на самом верху. Правельно жмем туда. Неторопись теперь открой скрипт с именем CharGen. У тебя отлично получается. Теперь найди строчку Player->PositionCell 61,-135, 24, 340, "Imperial Prison Ship". Видишь непонятные цыфры которые идут через запятую. Да ты прав это твои координаты появления. Значит так "61"-координата x, "-135"-координата y, "24"-координата z. И теперь самой интересное. "340"- поворот твоего Чара относительно Севера в градусах. Теперб изменяй эти цыфорки как твоей душе угодно. И помни что вместо "Imperial Prison Ship" тебе надо писать имя своей ячейки. Я тебе наверно надоел. Но выслушай меня чтобы стать настоящим Шаолинским Скриптером. Сохрани свой новый скрипт, теперь сохрани свой плагин. Зайди "Morrowind Launcher.exe". Нажми на кнопочки файлы и включи свой плагин. Запускай игру смело теперь ты будешь появляться в новом месте при каждом запуске новой игры. Ни стоит апладисментов.

P.S. если будут еще вопросы пиши на Pa-dre@mail.ru. C удовольствием помогу тебе во всем разобраться.
С Уважением, Монах.

0

Даа ты меня удивил!!!!!
Я это могу сделать, чтоб появлялся в другом месте, но потом все заходит в тупик.
Вот я пишу в скрипте чтоб появилось окошко чтобы ввести имя, потом окошко с рассой, дальше... ну ты понял. Но проблемка есть, а состоит в том что все появляется СРАЗУ, и нет указателя мышки (ну типа я могу посмотреть куда угодно, только меню закрывет экран)
Может сейчас поможешь???

0

Да чуть не забыл.
Чтобы сразу шел запрос на выбор имени расы и т.п. измени скрипт вот так:

begin CharGen
short state
Player->PositionCell 61,-135, 24, 340, "Imperial Prison Ship"
set state to 5
if (state==5)
EnableBirthMenu
set state to 10
elseif (state==10)
EnableClassMenu
set state to 15
elseif (state==15)
EnableRaceMenu
set state to 20
elseif (state==20)
EnableNameMenu
set state to 25
elseif (state==25)
Messagebox "Не забывай своего учителя! Монах."
stopscript CharGen
endif
end CharGen


Только знай что скрипт я не проверял. Я его прямо здесь писал с ходу. Такчто пиши если что не так мне на мыло pa-dre@mail.ru
С Уважением, Монах.

0

В итоге у меня такой скрипт наприсовался, ВСЕ РАВНО ГЛЮЧИТ (не включается режим меню)
Дальше наверное на мыло писать буду если проблему не решу.....

begin CharGen
short state

if state == 100
return
endif


Player->Position -11230,-71500, 200, 0,

DisablePlayerControls
DisablePlayerViewSwitch
DisableVanityMode
DisablePlayerFighting
DisablePlayerMagic

set state to 5

if (state==5)
EnableNameMenu

set state to 10
elseif (state==10)
EnableRaceMenu

set state to 15
elseif (state==15)
EnableClassMenu

set state to 20
elseif (state==20)
EnableBirthMenu

set state to 25
elseif (state==25)
EnableStatReviewMenu

set state to 30
endif

elseif (state==30)
enablestatsmenu
enableinventorymenu
enablemagicmenu
enablemapmenu
enableplayerfighting
enableplayermagic
EnablePlayerViewSwitch
EnableVanityMode
EnablePlayerControls

endif

set CharGenState to -1

set state to 100
stopscript CharGen


endif


end CharGen

0

Может я в скриптах не шарю, но англицкий знаю) у тебя вначале написано DisableControl и только потом идет вызов менюшек, можт потому и мышки нету? хотя в других скриптах чето подобное видел...

0

повторю еще раз - почитай основы скриптописания в Morrowind Scripting for Dummies (MSFD)
у тебя типичная ошибка - скрипты выполняются КАЖДЫЙ фрейм (перерисовку экрана), поэтому установка промежуточных статусов внутри первого фрейма во втором вызывает переход в другую ветку IF, что сразу же приводит к появлению второго меню и т.д.

0

Этот скрипт прогоняется только ОДИН раз, уж это я смог сделать. Прочел бы его до конца что ли.
Я уже и таймер ставил, но с таймером почему то появляется только первое меню а дальше молчит.
В этой книжке этого ненаписанно между прочим, там так все разрознено, или я так плохо искал?

0

какой смысл прогонять его один раз, если ты хочешь втолкать в него вызов разных окон с ожиданием реакции пользователя? вот они у тебя все сразу и выпрыгивают

0

Ну что мне тогда сделать что то я недогоняю.

0

А вообще можно сделать так чтобы скрипт сделал паузу???

0

1. переписываешь свой скрипт так, чтоб он останавливался только тогда, когда статусная переменная приняла определенное значение
2. во всех ветках IF дополнительно проверяешь переменную, которая сигнализирует о том, что пользователь не закрыл очередное окно. Если закрыл - вызываешь следующее и переменную снова устанавливаешь в статус ожидания

если сделаешь паузу в скрипте, то у тебя заблокируется игра полностью

0

Я наверное уже многих достал :)
Может это уже последнй вопрос - как узнать что пользователь закрыл очередное окно?
А еще как включить статус ожидания???

0

йопт, щас мозги лопнут, я пошел от сюдааАА...

0

есс инвентарь, то иф(Менюмод = да) ...то... ендиф , а есс надо что-то другое то надо месаджбоксы делать с чусами, и самин провоцировать игрока что-то выбрать и таким образом закрыть окно...
Это элементальные функции, а если тебе надо сложнее, то только блудмум|трибунал...
Хотя не знаю, является enableracemenu менюмодом...

в МСфД посмотри.

Да и вообще, займусь как-нибудь... пора горькую чашу переделать, чтоб пить ее не при поднятии, а при "одевании"... та и воообще много скриптов надо в Этой Жизни переписать... Ж-))

0

Слушай брат, я тут покывырялся и разработал для тебя кое что. Вообщем слушай. Есть такая команда
[no fix] Xbox. О ней кстати ни слова в "Великом" учебнике от Dummy. А еще тебе понадобиться хорошая команда return. Смотри изменяю скрипт который я тебе дал вот так:

if (state==5)
if (xbox==0)
EnableNameMenu
set state to 10
return
endif
endif

В такой же системе исправь весь скрипт. А команда Xbox проверяет включена ли какая либо сейчас менюшка если нет то значение равно нулю. вообщем этим я и воспользовался. А return возвращает нас в начало скрипта тем самым прога проверяет уже новые условия ну и т.д. и т.п.

Если чего еще интересуют то обращайся с удовольствием помогу. Поскольку когда я осваивал TES Constructon Set мне ни одна сволочь не помогла. А я другой.

С Уважением, Монах.

0

Спасибо , ща попробую......

0