Для
использования большинства
читерских команд в игре
есть скрипт.
Чтобы скрипт стал доступен,
в консоли (вызывается
тильдой "~") введите
команду "thingamabob". Далее
все скриптовые команды
начинаются с "@" (без
кавычек). Посмотреть список
этих команд можно в файле
game.exe: найдите там слово "IsUnitBlocked",
после него и начинается
список всех процедур и
функций скрипта. Первым
параметром большинства
процедур является номер
игрока, например, 0. Для того
чтобы узнать название
предмета, нужно посмотреть
файл database*.res в каталоге RES
или файлы карт. Имена
монстров и NPC можно
посмотреть там же.
Примеры команд:
@giveitem(0,"UniqueGipatHadagan
Plate.Adamantium[regeneration{ic;e2;e2;e2}]")
- в квадратных скобках
заклинание, в фигурных -руны.
@godmode(0,1) - бессмертие.
Для выполнения вызова
процедуры в консоли
следует воспользоваться
командой @. Описание
скриптовых процедур "Проклятых
Земель":
Процедуры изменения
параметров юнита (использовать
эти команды нужно, когда
ваш персонаж находится не в
магазине):
GiveDexterity (objUnit , flAmount) -
добавляет юниту (переменная
"objUnit") количество (задаётся
переменной "flAmount")
единиц ловкости .
Далее по тексту при
описании команды в скобках
будет указываться
переменная, которая
является данным юнитом,
предметом или значением.
GiveIntelligence (objUnit , flAmount) -
добавляет юниту (objUnit)
количество (flAmount) единиц
разума.
GiveSkill (objUnit , strSkill , flAmount) -
добавляет юниту (objUnit)
количество (flAmount) единиц в
навыке (strSkill).
Возможные значения
переменной "strSkill":
melee - ближний бой.
archery - стрельба.
science - ловкость рук.
elemental - магия стихий.
sense - магия чувств.
astral - магия астрала.
GiveStrength (objUnit , flAmount) -
добавляет юниту "objUnit"
количество "flAmount"
единиц силы.
GodMode (0 , nMode) - переключает
режим "бога" для
лидера команды - игрока-человека.
Возможные значения
переменной "nMode":
0 - отключить режим "бога"
1 - лидер неуничтожим, при
беге мана не расходуется
2 - лидер неуничтожим, при
беге мана не расходуется,
все противники убиваются с
одного удара
Дополнительные процедуры
воздействия:
AddMob (strMob) - загружает .mob-файл
"strMob" из подкаталога
MAPS. Имя файла указывается с
расширением. В этих файлах
в частности задаются юниты
и их позиции на карте. При
загрузке файла юниты
появляются на карте. Именно
таким образом в "ПЗ"
реализуются засады,
например, засада у главных
ворот на сингл-карте "Портал".
CastSpellPoint (strSpell , x1 , y1 , x2 , y2) -
применяет спелл (strSpell) из
точки (x1,y1) в точку (x2,y2). В
данной процедуре
могут использоваться
только спеллы, действующие
на область.
CastSpellUnit (strSpell , x , y , objUnit) -
применяет спелл (strSpell) из
точки (x,y) на юнит (objUnit). В
данной процедуре могут
использоваться спеллы,
действующие, как на область,
так и на цель.
InflictDamage (objUnit , flAmount) -
наносит юниту (objUnit)
повреждения в определённое
количество (flAmount) единиц.
При этом учитываются
показатели брони юнита и
наложенные на него защиты.
KillUnit (objUnit) - наносит
повреждения юниту (objUnit),
убивая его.
RemoveUnitFromServer (objUnit) - удаляет
юнит (objUnit) с сервера. Эту
процедуру не следует
путать с консольными
командами ban и kick: при
применении команды "RemoveUnitFromServer
()" для юнита игрока-человека
исчезнет лишь юнит, но сам
игрок останется
подключенным к серверу -
довольно забавная ситуация.
Процедуры AI:
SetDiplomacy (nPlayerA , nPlayerB , flDiplomacy) -
изменяет дипломатию: кем
является один игрок (nPlayerB)
для другого игрока (nPlayerA).
Возможные значения
переменной "flDiplomacy":
1 – союзник.
0 – нейтрал.
-1 – враг.
Пример: SetDiplomacy(0, SetPlayer (objUnit ,
nPlayer) - объявляет юнит (objUnit)
принадлежащим игроку (nPlayer).
Процедуры управления
областями:
AddRoundToArea (idArea , x , y , rad) -
добавляет к области (idArea)
круг радиуса (rad) с центром в
точке (x,y).
DeleteArea (idArea) - удаляет
область (idArea).
QObjUse (strObject , bfState ) -
добавляет цель: перевести
"рычаг" (strObject) в какое-то
состояние (bfState).
Пример: QObjUse("GetObject(44456)",1)
- включить "рычаг" с
идентификатором 44456.
QObjSeeUnit (strUnitName) - добавляет
цель: увидеть юнит с каким-либо
именем (strUnitName).
Пример: QObjSeeUnit("GetObject(4517)")
- увидеть юнит с
идентификатором 4517.
QObjArea (idArea) - добавляет цель:
попасть в область с
идентификатором,
переменной "idArea".
QStart (strQuestName) - начинает
перечисление целей для
квеста (strQuestName).
Генерация предметов и
заклинаний:
EraseQuestItem (0 , idQItem) - убирает из
обоза игрока, квестовый
предмет с кодом (idQItem).
FixItems () - чинит все предметы
в обозе и на юнитах команды
игрока-человека.
GiveMoney (0 , flAmount) - дает игроку (flAmount)
денег. См. также команду "give".
GiveQuestItem (0 , strQItem) - дает
игроку квестовый предмет с
именем (strQItem). Список
квестовых предметов вы
можете увидеть здесь. См.
также команду "EraseQuestItem()".
Некоторые консольные
команды, не относящиеся к
скрипту:
Их нужно вводить также
после команды "thingamabob".
help - показывает варианты
консольных команд.
fps 0 или fps 1 - показывает FPS.
give 0 money 1000000 - при наборе на
экране выбора карты или
экипировки героя добавит
1000000 золота.
give 0 exp 1000000 - то же самое, но с
опытом. Доступно после
достижения первой деревни.
lootall - помещает все предметы,
лежащие на карте в ваш
инвентарь.
exit - выход из игры.