Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Туториал о создании компньонов-животных (без пр...doc
Скачиваний:
47
Добавлен:
06.11.2019
Размер:
790.02 Кб
Скачать

6. Скрипт основной

Теперь у нас все готово для того, чтобы написать основной скрипт, на котором фактически и будет держаться наш плагин. Итак, идем Gameplay>Edit ScriptsВ редакторе скриптов выбираем Script>New и вставляем такой вот скрипт:

ScriptName IgorRaCBBScript; имя скрипта

short Button; объявляем короткую целочисленную переменную Button (кнопки из меню)

short MyVar; объявляем короткую целочисленную переменную MyVar

begin onActivate; начало работы скрипта происходит после активации объекта на

; который он повешен, в данном случае мы будем вешать его на компаньона

player.addspell IgorRaSpellBlackBearCall; добавление заклинания призыва игроку

if ( IgorRaCompanionBlackBearRef.GetDead <= 0 ); проверка, жив ли компаньон

MessageBox "Мой верный друг... " "пойдем со мной" "подожди здесь" "прогуляйся" "беги домой"; выводим на экран меню управления компаньоном. Содержимое первых

; кавычек – это заголовок окна. Содержимое последующих кавычек - это собственно

; кнопки, на которые можно нажимать

Set MyVar to 1

else ( IgorRaCompanionBlackBearRef.GetDead = 1 ); если компаньон мертв, тогда…

Message "Твой друг умер."; выводится сообщение в верхнем левом углу экрана

player.removespell IgorRaSpellBlackBearCall; удаление заклинания призыва у игрока

Set MyVar to -1

Return; означает прекращение обработки скрипта

endif

end onActivate

begin GameMode; блок который проигрывается все время

if ( MyVar == 1 )

Set Button to GetButtonPressed; проверка на нажатые кнопки меню

if ( Button == 0 ); нажата первая кнопка меню

SetIgnoreFriendlyHits 1; функция игнорирования компаньоном ваших ударов по нему

SetOwnership

AddScriptPackage "IgorRaCompanionBlackBearFollow"; добавление пакета АИ

StopWaiting IgorRaCompanionBlackBearFollow; прекращение остановки пакета, если

; он был остановлен раннее

Wait IgorRaCompanionBlackBearRun; остановка пакета Run, если он был запущен

Wait IgorRaCompanionBlackBearWander; остановка пакета Wander, если он был

; запущен

Set MyVar to -1

Return

elseif ( Button == 1 ); нажата вторая кнопка меню

Wait IgorRaCompanionBlackBearFollow

Wait IgorRaCompanionBlackBearRun

Wait IgorRaCompanionBlackBearWander

Set MyVar to -1

Return

elseif ( Button == 2 ); нажата третья кнопка меню

AddScriptPackage "IgorRaCompanionBlackBearWander"

StopWaiting IgorRaCompanionBlackBearWander

Wait IgorRaCompanionBlackBearFollow

Wait IgorRaCompanionBlackBearRun

Set MyVar to -1

Return

elseif ( Button == 3 ); нажата четвертая кнопка меню

AddScriptPackage "IgorRaCompanionBlackBearRun"

StopWaiting IgorRaCompanionBlackBearRun

Wait IgorRaCompanionBlackBearFollow

Wait IgorRaCompanionBlackBearWander

Set MyVar to -1

Return

endif

endif

end GameMode

Жирным выделены те элементы, которые должны быть готовы перед написанием скрипта, иначе вы не сможете его сохранить. Будут выдаваться сообщения, что объекты на которые ссылается скрипт не существуют. Это прежде всего Ref-ссылка на копию компаньона, три созданные нами раннее пакета (их ID), и ID заклинания призыва.

И последний штрих. Нам нужно повесить скрипт на компаньона.

В окне редактирования нашего компаньона в окошке Script выбираем наш основной скрипт.