Цитата(Solar @ 31.7.2006, 21:51)
Например я поставил мунгейт. Как задать ему координаты? И как прописываются координаты?
Ну координаты можно прописать в обычный(Moongate) и в мунгеит с сообшением(ConfirmationMoongate) - вобшем ставиш один из них, набираеш [props, тыкаеш на мунгеит и ставиш там(стрелка сбоку от своиства):
Цитата
Dispellable - можно ли уничтожить мунгеит спеллом "dispell"
Target - координаты куда необходимо телепортировать
TargetMap - карта на которую телепортировать
или прописываеш вручную
Код
[add moongate // добавляем мунгеит
[set Dispellable False // нельзя уничтожить
[set Target (123,456,789) // координаты - к примеру x=123,y=456,z=789
[set TargetMap 0 // 0 - Felucca
Цитата(Solar @ 31.7.2006, 21:51)
И ещё, как сделать стоун, чтобы при дабл клике на нём тебя кое куда телепортило?
Ну а для этого новый аитем создавать надо - можеш использовать этот(в образовательных целях я прокоментировал каждую строку):
Исходный код
using Server.Items; // Объявляем использование класса Server.Items, что позволяет нам использовать корокие имена
namespace Server.Items // Обьявляем то, что клас будет помешен в пространство имен "Server.Items"
{
public class MoonGateStone : Moongate // Объявляем новый класс "MoonGateStone", он будет потомком класса "Moongate"
{
[Constructable] // Указываем на то, что этот аитем можно будет добавлять через меню "ADD"
public MoonGateStone() : base( false ) // Создаем основной конструктор класса
{
this.ItemID=0xED5; // Присваеваем ItemID значение 0xED5(могильный камень)
this.Name="MoonGate Stone"; // Присваеваем аитему имя - "MoonGate Stone"
}
public override void OnDoubleClick(Mobile from) // Перезаписываем для текушего класса метод "OnDoubleClick", вызывающийся при двоином клике на аитеме
{
if ( from.Player ) // Если плеер,
base.CheckGate( from, 2 ); // проверяем с помошью метода условия для телепортации(с помошью метода "СheckGate", находяшегося в базовом классе "MoonGate"), и если все нормально - телепортируем
}
public override bool OnMoveOver(Mobile m) // Перезаписываем метод "OnMoveOver", вызывающися при наступлении на аитем
{
return false; // Возврашаем "false"(лож)
}
public MoonGateStone( Serial serial ) : base( serial ) // Обьявлем конструктор сериализации(сохранения мира)
{
}
public override void Serialize( GenericWriter writer ) // Перезаписываем метод "Serialize"(вызывается при сохранении аитема из мира в файл)
{
base.Serialize( writer ); // Вызываем базовый метод "Serialize"(так-же отвечаюший за сохранение аитема из мира в файл)
writer.Write((int) 0 ); // Записываем число - текушую версию аитема(дабы иметь от версии к версии изменять данные записываемые/загружаемые аитемом)
}
public override void Deserialize( GenericReader reader ) // Перезаписываем метод "Deserialize"(вызывается при загрузки аитема из файла в мир)
{
base.Deserialize( reader ); // Вызываем базовый метод "Serialize"(отвечает за загрузку аитема из файла в мир)
int version = reader.ReadInt(); // Читаем текушую версию в переменную "version", далее можно добавить проверку, в которой в зависимости от значения этой переменной будут читатся различные данные
}
}
}