-
Тут всего слишком много. Можно мне увидеть просто коды?
Без проблем. Наиболее полезными кодами являются:
-
Как можно убить персонажа другого игрока?
Есть три различных способа:
-
Воспользоваться одной ошибкой, которая пока что не была исправлена.
Необходимо скастить на жертву спелл (лучше сломанный, с большим эффектом), действующий на область - туман,
например. Пока спелл не исчез, нужно выйти из игры, вернуться на базу, либо умереть. В этом случае спелл начнет
повреждать других персонажей. (Внимание! Вас он также будет повреждать, даже если в нем была руна :Вр.)
Этот способ применим только если вы не являетесь сервером.
-
Также можно было бы воспользоваться скриптовой процедурой
KillUnit(). Однако опрос о том, следует ли публиковать патч,
разрешающий это, решил его судьбу: из 78 проголосовавших почти две трети оказались против.
Этот способ применим только на сервере.
-
И, наконец, рекомендуемый мною способ: установить патч, позволяющий создавать
сервер, на котором все игроки могут драться друг с другом.
-
Что делать с дипломатией?
Функции и процедуры для управления дипломатией позволят вам спокойно ходить среди монстров, не боясь, что на вас нападут,
или стравливать их друг с другом.
Пример:
Войдите на карту мультиквеста "Сокровища разбойников". Отдайте команду
SetPlayer(GetLeader(),9)
Теперь ваш персонаж относится к логическому игроку 9 (не бойтесь, управляете им по-прежнему вы). Что это дает ?
Игроку №9 принадлежат монстры, а монстры друг с другом не воюют - теперь на вас не будут обращать внимания, пока
вы сами не нападете.
К северу от входа есть два кабана с идентификаторами 4517 и 4651. Сейчас вы уже можете спокойно
за ними наблюдать - они вас не тронут. Если вы хотите определить, кто из них кто, отдайте команды
CastSpellUnit("healing",0,0,GetObject(4517))
и
CastSpellUnit("healing",0,0,GetObject(4651))
Подсветка лечения покажет вам, какой идентификатор имеет каждый из кабанов. Оба кабана принадлежат игроку №7. Давайте
это исправим:
SetPlayer(GetObject(4517),1)
и
SetPlayer(GetObject(4651),2)
Теперь кабан 4517 относится к игроку №1, а 4651 - к игроку №2. Отдайте команду
SetDiplomacy(2,1,-1)
Теперь игрок №2 будет считать игрока №1 врагом. Как только кабан 4651 увидит кабана 4517, он бросится его
атаковать. Заметьте, что игрок №1 продолжает думать, что игрок №2 его союзник, и кабан 4517 вплоть до первого
удара будет мирно пастись.
-
Как создать командой заклинание?
Для этого следует воспользоваться командой GiveUnitSpell().
Правила построения строк, описывающих заклинание, вы можете увидеть здесь.
Примеры:
- GiveUnitSpell ( GetLeader() , "healing" )
спелл лечения без рун
- GiveUnitSpell ( GetLeader() , "acid_fog{e2;e2;e2;e2;e2;e2;t2;m1}" )
спелл кислотного тумана с рунами 6хУ++, Ц++, З-
- GiveUnitSpell ( GetLeader() , "enlarge{d2;d2;d2;d2}" )
спелл увеличения размера с рунами 4хВ++
Следует, однако, помнить, что спелл при этом помещается не в обоз, а в набор активных спеллов, и если последний
полон, то ничего не происходит. Есть и другой способ: создать какой-либо предмет, содержащий требуемый спелл,
после чего разобрать этот предмет.
-
Как создать командой предмет?
Для этого необходимо воспользоваться командой GiveItem().
Правила построения строк, описывающих предмет, можно найти здесь.
Примеры:
- GiveItem ( 0 , "bone spear.dragon green bones" )
копье из кости зеленого дракона
- GiveItem ( 0 , "crystal crossbow.diamond[weak{it;d2;d2;m2;m2;m2}]" )
алмазный арбалет с ослаблением
- GiveItem ( 0 , "material.mithrill" )
кусок мифрила
- GiveItem ( 0 , "rune.e2" )
руна У++
-
Как создать командой квестовый предмет?
Хотя ценность подобного действия и сомнительна, вы все же можете получить квестовый предмет при помощи
команды GiveQuestItem(). Список внутренних имен квестовых
предметов находится в этой таблице.
Пример:
- GiveQuestItem ( 0 , "goldnugget01" )
- получить Императорскую Печать
Для того, чтобы избавиться от ненужного квестового предмета, используйте команду
EraseQuestItem(). Коды квестовых предметов указаны в
той же таблице.
Пример:
- EraseQuestItem ( 0 , 66 )
- убрать Императорскую Печать
-
Я ввожу команду (вставить требуемое), но она не работает. Почему ?
Это действительно частый вопрос. Прежде всего: представленные на сайте консольные и скриптовые команды многократно
использовались и проверялись. Кроме того, сами тексты сайта также проверялись не раз, поэтому причина, вероятнее
всего, кроется в том, что вы неправильно вводите команду. Я приведу примеры наиболее частых ошибок:
-
Неуказана команда запуска скриптовой процедуры (опущен префикс @):
FixItems()
Для того, чтобы выполнить вызов скриптовой процедуры, его необходимо предварить командой вызова @:
@FixItems()
-
Строковый параметр команды не заключен в кавычки:
@GiveItem(0,crystal sword.diamond)
Строковые параметры должны быть записаны в кавычках:
@GiveItem(0,"crystal sword.diamond")
-
Параметры не записаны в скобках и/или пропущены запятые между параметрами команды:
@GodMode 0 2
Между параметрами должны стоять запятые, а сам список параметров нужно заключать в скобки:
@GodMode(0,2)
|