Добавление заклинания игроку (или НПС, если заменить Player на ID НПСа) Player.addspell aaaSelPriziv
Удаление заклинания у игрока (или НПС, если заменить Player на ID НПСа) Player.removespell aaaSelPriziv
Перевести игрока во фракцию кого-то с рангом 1( в данном случае это позволит игроку стать другом НПС) Player.SetFactionRank aaaSelena, 1
Удалить из инвентаря игрока вещь aaaSelBook в количестве 1 Player.RemoveItem aaaSelBook 1
ДОбавить игроку вещь aaaSelBook в количестве 1 Player.AddItem aaaSelBook 1
Старт квеста и переход на другую стадию квеста (в данном случае на 10) startquest aaaSelQuest1 SetStage aaaSelQuest1 10
Проверка суммы денег у игрока( в данном случае, чтоб было не меньше 100 золотых, тогда деньги у игрока изымаются, а предмет купленный добавляется в инвентарь) if ( Player.GetGold <100 ) Messagebox "У Вас нет таких денег" else Player.RemoveItem gold001 100 Player.AddItem aaaSelBook 1 endif
Заставляет НПС напасть на игрока startcombat player
Проверка текущего местонахождения НПС и добавление, в зависимости от этого, AI пакета ( в данном случае - НПС будет есть в тавернах городов) RemoveScriptPackage if ( GetInCell Bruma == 1 ) AddScriptPackage aaaSelEatBruma else if ( GetInCell Bravil == 1 ) AddScriptPackage aaaSelEatBravil else if ( GetInCell Anvil == 1 ) AddScriptPackage aaaSelEatAnvil else if ( GetInCell Cheydinhal == 1 ) AddScriptPackage aaaSelEatCheyd else if ( GetInCell Chorrol == 1 ) AddScriptPackage aaaSelEatCor else if ( GetInCell IC == 1 ) AddScriptPackage aaaSelEatIC else if ( GetInCell Leyawiin == 1 ) AddScriptPackage aaaSelEatLeyav else if ( GetInCell Skingrad == 1 ) AddScriptPackage aaaSelEatSk else AddScriptPackage aaaSelEat11 endif endif endif endif endif endif endif endif
Восстановление здоровья игроку Player.ResetHealth
Скрипты, которые "вешаются на предметы или квесты
Переход на следующую стадию квеста при добавлении вещи в инвентарь игрока(навешивается на предмет, добавляемый в инвентарь) ScriptName aaaSelQuest2Scr Begin OnAdd if ( GetStage aaaSelQuest2 == 10 ) SetStage aaaSelQuest2 20 endif End
Переход на следующую стадию квеста после смерти некоего НПС ScriptName aaaDrem1 Begin OnDeath if ( GetStage aaaDom == 10 ) SetStage aaaDom 20 endif End
Скрипт на покупку замка (продавец НЕ НПС) scn aaaZamokProv Short button Short activated begin onActivate If ( activated == 0 ) MessageBox "Желаешь купить замок за 500000 септимов?","Да","Нет" Set activated to 1 elseif ( activated > 1) MessageBox "Замок уже твой." EndIf End Begin GameMode If ( activated == 1 ) Set button to GetButtonPressed If ( button == 1 ) MessageBox "Твое дело. Но посмотри, от чего ты отказываешься! Если передумаешь, приходи." Set activated to 0 elseif ( button == 0 ) if ( Player.GetGold <500000 ) Messagebox "У тебя нет таких денег. Иди подзаработай и приходи позже." Set activated to 0 else Messagebox "Поздравляю! Замок твой! Держи ключ!" Player.RemoveItem gold001 500000 Player.AddItem aaaKey1 1 Set activated to 2 endif endif endif endif end
Скрипт на активацию бани, появление пара и восстановление здоровья игрока scn aaaBanya Short button Short activated begin onActivate If ( activated == 0 ) MessageBox "Попаримся?","Да","Нет" Set activated to 1 elseif ( activated >= 2) MessageBox "С легким паром!" AAALunaMistRef.Disable EndIf End Begin GameMode If ( activated == 1 ) Set button to GetButtonPressed If ( button == 1 ) AAALunaMistRef.Disable MessageBox "Передумаешь, поддай парку." Set activated to 0 elseif ( button == 0 ) Messagebox "Легкого пара! Сейчас ты будешь, как новенький." AAALunaMistRef.Enable Player.ResetHealth Set activated to 2 endif endif endif end
Скрипт для заклинания телепортации 1) телепортация после кастования заклинания (тип Magic, вешается на заклинание)
ScriptName 17 Begin ScriptEffectStart Player.MoveTo 155245555 End
2) добавление заклинания телепортации игроку после прочтения книги
scn aaaBashna short read Begin OnActivate if(read == 0) set read to 1 Player.AddSpell 154422222 endif activate end
Открывание двери при наличии необходимых вещей в инвентаре игрока scn aaaLuk Begin OnActivate if ( player.getitemcount 458796 > 0 )&&( player.getitemcount 45896547 > 0 )&&( player.getitemcount 458878 > 0 ) SetStage aaaPodval 20 endif if ( GetStage aaaPodval< 20 ) MessageBox "Вы не можете открыть этот люк. У Вас нет всех необходимых вещей" return elseif ( GetStage aaaPodval >= 20 ) Activate endif End
Скрипт, который заставляет НПС атаковать игрока, если квест находится на определенной стадии scn aaaDremSCRIPT begin gamemode if ( GetStage aaaDom >= 10 ) StartCombat player endif endif end
Скрипт на общение с домашними животными (шуточный) scn aaaDreug short button short doonce begin onactivate player if ( doonce == 0 ) StopCombat player messagebox "Что собираетесь делать?" "Кормить" "Снова кормить" "Гладить" set doonce to 1 endif end begin gamemode if ( doonce == 1 ) set button to getbuttonpressed if ( button == 0 ) if ( player.getitemcount HumanHeart > 0 ) player.removeitem HumanHeart 1 elseif ( player.getitemcount HumanHeart <= 0 ) messagebox "Вам нечем кормить дреуга" endif set doonce to 0 elseif ( button == 1 ) messagebox "Осторожно! Дреуг уже поел и его может стошнить." set doonce to 0 elseif ( button == 2 ) messagebox "Вы уверены? Надеюсь, у Вас хороший личный хирург." StartCombat player set doonce to 0 endif endif end
Ну вот пока все))) Попозже добавлю другие скрипты, в том числе, с использованием ОБСЕ