Apple Inc,
Навигация
· Главная
· Форум UO
· Файлы

Информация
· Администрация проекта
· Наши Банеры
· Спонсоры
· Реклама на сайте
Первые шаги
· Установка сферы
· Указатели (Pointers)
· Создание диалогов
· Своя Руда
· sphere.ini
· Spheretable_x.scp
· Spheretables.scp

Download
· Программы для игры
· Макро Программы
· Работа с *.Mul
· Русский sphere.ini
· Программы для ГМов
· Клиены
· Sphere`s & Worlds

Sphere: Создание простого trigger

 

Triggers - это наиболее мощная часть скрипта сферы с которой вы будете иметь дело. Tiggers будут встречаться и в простых скриптах, на пару строк, и в гигантских скриптах, на много страниц. С целью обучения мы допишем скрипт claymore, который мы создавали на предыдущем обучении. Этот скрипт превратит меч claymore в волшебное оружие, которое будет добавлять 5 к силе игрока. Вообще, прежде чем писать любой скрипт, вы должны точно знать, что вы хотите получить. Мы хотим, что бы в нашем скрипте происходили следующие вещи:
+5 STR - прибавлялось при экипировке,
-5 SRT - отнималось при де экипировке.

Сначала сфокусируемся на добавлении силы. Во-первых, надо определить какой trigger нам для этого нужен. Это trigger на экипировку:
ON=@EQUIP
SRC.STR=<SRC.STR>+5

Здесь написано, что сила (STR), человека (SRC), который оборудовал item, увеличилась на 5. Это самый простой способ изменить переменную в сфере. Заканчиваем строчкой:
RETURN 0

Хотя инструкция RETURN не всегда необходима, и НЕ необходима в этом случае, это будет хорошим тоном в написании скрипта. Вы можете использовать RETURN 0 или RETURN 1. RETURN 0 - закончит скрипт и разрешит выполнение всех действий связанных с trigger. RETURN 1 - завершит скрипт без выполнения действий указанных в нём от начала, то есть в нашем случае item просто не будет оборудован.

Терпеть напишем подобный скрипт для раз экипировки. И выглядеть это будет следующим образом:
ON=@UNEQUIP
SRC.STR=<SRC.STR>+(-5)
RETURN 0

Обратите внимание, что вместо того, что бы вычесть 5 от STR мы прибавили отрицательное пять. Это из-за ограничения языка сферы. Для вычитания вы должны всегда прибавлять отрицательное число. -5 не обязано выделяться круглыми скобками, но это делает скрипт легче читаемым.

Законченный скрипт выглядит следующим образом:
[ITEMDEF i_magic_claymore]
ID=013b7
NAME=claymore of strength
TYPE=t_weapon_sword
WEIGHT=14
SKILL=swordsmanship
DAM=15,43
REQSTR=50
TWOHANDS=Y

ON=@CREATE
HITPOINTS=115,150

ON=@EQUIP
SRC.STR=<SRC.STR>+5
RETURN 0

ON=@UNEQUIP
SRC.STR=<SRC.STR>+(-5)
RETURN 0
    

Истории
· Дневник Балрона
· Дневник орка Гырша
· Друой мир
· Закон Гоблинов
· Хроники Галара
· На кладбище
· Не бывает добра от зла
· Первый день весны
· Правда Жизни
· Night of GM
Учебники
· Учебник по скриптингу

Заметки
· Переменные для чаров
· Переменные для вещей
· Переменные зон.
· Использование оператора IF
· Создание item
· Создание Npc
· Создание trigger
· Все trigger
· Pointers

Работа с вердатой
· Введение
· Редактирование GUMP-ов
· Pедактирование ART-графики
· Добавление нового итема
· Новые монстры
· Ездовые животные
· Новые multi-объекты

All Rights Reserved (C) 2003-2005 Apple Inc,
Копирование информации с сайта Запрещается.

Сайт создан в системе uCoz