Помощь - Поиск - Пользователи - Календарь
Полная версия: Regioncontroler
UoKit.com Форумы > Ultima Online : Dev > RunUO Server > Готовые скрипты RunUO
Juzzver
Довольно удобный скрипт, облегчает многие действия.
С помощу него мы можем натянуть сетку блокирующию:
1) Проход.
2) Кастинг.
3) Припивание и использования заклятий к статам.
4) Атаку.
5) Ресурект.
6) Хилл.
7) Демедж.
8) Лутинг.
9) Спавн.
10) EtherealMount
11) Построения.
12) Guard - регион
13) LightLevel
14) Имя Региона!
ReSpoT
Вот smile.gif
Код

Scripts: Compiling C# scripts...failed (1 errors, 0 warnings)
Errors:
+ Custom_Region/CustomRegion.cs:
    CS0508: Line 28: 'Server.Regions.CustomRegion.OnDeath(Server.Mobile)': для с
оответствия переопределенному члену 'Server.Region.OnDeath(Server.Mobile)' возвр
ащаемое значение должно иметь тип 'void'
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
Juzzver
Что у тебя за ранка?
ReSpoT
2.0 RC2
Хоть бы написал для какой ето ранки wink.gif
Juzzver
Зайди в этот скрипт, найди строку:



public override bool OnDeath( Mobile m )// Тут вместо bool впиши void
{
bool toreturn = true;// тут оставь всё как есть!
ReSpoT
Я не думаю что ето будет корректное решение
NonExistencE
почему же? Если тебе в ошибке написали, что для этого метода используеться пустой определитель а не логический? До бонального, открой свой Region.cs в ядре, и посмотри что там стоит virtual void или virtual bool =) ну или другой регион де идет обработка смерти...
ReSpoT
Потомучто даже при замене логического определителя на пустой, серавно выдает ошибку.
virtual bool стоит.
Soteric
Тогда не было бы ошибки

В самом методе все "return true;" "return false;" надо заменить на "return;" потому как если метод void, то он не может возвращать булевы значения
Menfis
так, все же как запустить этот скрипт на рц2?
Soteric
В CustomRegion.cs метод OnDeath() должен выглядить следующим образом
Код
//public override bool OnDeath( Mobile m )
public override void OnDeath( Mobile m )
{
    bool toreturn = true;

    if( m != null && !m.Deleted )
    {
        if( m is PlayerMobile && m_Controller.NoPlayerItemDrop )
        {
            if( m.Female )
            {
                m.FixedParticles( 0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist );
                m.Body = 403;
                m.Hidden = true;
            }
            else
            {
                m.FixedParticles( 0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist );
                m.Body = 402;
                m.Hidden = true;
            }
            m.Hidden = false;
            toreturn = false;
        }
        else if( !( m is PlayerMobile ) && m_Controller.NoNPCItemDrop )
        {
            if( m.Female )
            {
                m.FixedParticles( 0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist );
                m.Body = 403;
                m.Hidden = true;
            }
            else
            {
                m.FixedParticles( 0x374A, 10, 30, 5013, 1153, 2, EffectLayer.Waist );
                m.Body = 402;
                m.Hidden = true;
            }
            m.Hidden = false;
            toreturn = false;
        }
        else
            toreturn = true;

        // Start a 1 second timer
        // The Timer will check if they need moving, corpse deleting etc.
        m_Timer = new MovePlayerTimer( m, m_Controller );
        m_Timer.Start();

        //return base.OnDeath(m);
        base.OnDeath( m );
    }

    //return toreturn;
}
Menfis
Измнеил как ты сказал, теперь вот так:
Код
RunUO - [www.runuo.com] Version 2.0, Build 3286.25212
Core: Running on .NET Framework Version 2.0.50727
Core: Optimizing for 4 processors
Scripts: Compiling C# scripts...failed (1 errors, 0 warnings)
Errors:
+ Custom_Region/CustomRegion.cs:
    CS1518: Line 215: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 223: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 234: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 245: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 250: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 255: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 262: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 271: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 278: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 303: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 308: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 318: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 330: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 339: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 347: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 358: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 366: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1518: Line 402: Ожидался класс, делегат, перечисление, интерфейс или струк
тура
    CS1022: Line 448: Ожидалось определение типа или пространства имен, либо при
знак конца файла
    CS1527: Line 86: Элементы пространства имен не могут объявляться в явном вид
е как частные, защищенные или защищенные внутренние
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.


может скинешь мне свой скрипт плиз?
Soteric
Запость что получилось
Menfis
уже все нормально, незнаю что было, но скачал заново скрипт и заменил еще раз, теперь все нормально, кто нить может нормлаьно объяснить как этим пользоваться?
Juzzver
2 раза кликаеш на флаг, натягиваеш сетку по диагонали, после [props на флаг и выставляй то, что тебя интересует!
armani
создал region controller , два раза на него , натянул сетку , обозвал регион ...! все как положено ... а в нем всеравно можно драться и кастить ( причем пишу [go имя нового региона ...все катит ... ранка RC1
NonExistencE
а настроить регион не пробывал?
armani
Ты имееш ввиду настройки региона в самой проге ?
NonExistencE
[props на флажок региона....
armani
Дак это и ежу понятно ! все так и делал ... всеравно не канает ...а версии Region Controllera не имеют значение , может я скачал тока под RC2
Juzzver
Не имеет значения, принцып работы один и тотже !
Просто вникни в то, что есть в пропсах.
AllowHarmNPC }
} всё False
AllowHarmPlayer }
После чего атака фиксируется.
CanBeDamage - фиксирует снос демеджа.

Для ограничения использования заклинания - 2 клика на флаг и:
Edit Restricted spells - Редактируйте Ограниченные заклинания.

Версия обновлена:
Custom Regions in a Box V4.0
System C#
Вот такая фигня( пишет что такие имена есть
RunUO - [www.runuo.com] Version 2.0, Build 2485.33398
Core: Running on .NET Framework Version 2.0.50727
Scripts: Compiling C# scripts...failed (6 errors, 0 warnings)
Errors:
+ Custom/Custom_Region/CustomRegion.cs:
CS0101: Line 10: Пространство имен "Server.Regions" уже содержит определение
для "CustomRegion"
CS0102: Line 83: Класс "Server.Regions.CustomRegion" уже содержит определени
е для "MovePlayerTimer"
+ Custom/Custom_Region/RegionBounds.cs:
CS0101: Line 10: Пространство имен "Server.Commands" уже содержит определени
е для "RegionBounds"
CS0102: Line 26: Класс "Server.Commands.RegionBounds" уже содержит определен
ие для "RegionBoundTarget"
+ Custom/Custom_Region/RegionControl.cs:
CS0101: Line 14: Пространство имен "Server.Items" уже содержит определение д
ля "RegionFlag"
CS0101: Line 65: Пространство имен "Server.Items" уже содержит определение д
ля "RegionControl"
+ Custom/Custom_Region/RegionControlGump.cs:
CS0101: Line 9: Пространство имен "Server.Gumps" уже содержит определение дл
я "RegionControlGump"
CS0102: Line 36: Класс "Server.Gumps.RegionControlGump" уже содержит определ
ение для "Buttons"
+ Custom/Custom_Region/RemoveAreaGump.cs:
CS0101: Line 10: Пространство имен "Server.Gumps" уже содержит определение д
ля "RemoveAreaGump"
+ Custom/Custom_Region/RestrictGump.cs:
CS0101: Line 8: Пространство имен "<глобальное пространство имен>" уже содер
жит определение для "RestrictType"
CS0101: Line 16: Пространство имен "Server.Gumps" уже содержит определение д
ля "RestrictGump"
CS0101: Line 97: Пространство имен "Server.Gumps" уже содержит определение д
ля "SpellRestrictGump"
CS0101: Line 105: Пространство имен "Server.Gumps" уже содержит определение
для "SkillRestrictGump"
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
NonExistencE
у тебя уже есть эти скрипты в папке дето
System C#
Нон я искал всю папку перебрал, смотрел через найти ,не нашол(
Juzzver
Незнаю как ты искал.
Воспользуйся поиском нажав в корне папки скриптов F3
и начни поиск того, что ты именно ищеш!

Или же убедись в уо [add regioncontr... - если выбивает, что существует, то думаю сам догадаешся, что делать дальше.
System C#
внатуре он у меня есть) только по другому называеться) Control Dot
armani
Цитата(Juzzver @ 14.5.2009, 22:07) *

Не имеет значения, принцып работы один и тотже !
Просто вникни в то, что есть в пропсах.
AllowHarmNPC }
} всё False
AllowHarmPlayer }
После чего атака фиксируется.
CanBeDamage - фиксирует снос демеджа.

Для ограничения использования заклинания - 2 клика на флаг и:
Edit Restricted spells - Редактируйте Ограниченные заклинания.



всё так и делал !!! всеравно не катит ...
Juzzver
Попробуй пройти всё заново и будь по внимательнее.
Либо ты сетку не натянул т.к. надо.
По диагонали кидай!
Kokosik
я чтото не понимаю как натянуть сетку подскажите
нужно поставить флаг потом отбижать на пару шагов по диагонали нажать на пол потом по вертикале и опять нажать?
Kokosik
подскажите как отметить тереторию в этом скрипте а то у меня не выходит чтото
Juzzver
Ставишь флаг.
2 клика на флаг.
Выбираешь Add Region Area
Появится таргет. Условно проводи диагональ: нажимая в одну точку, после чего сразу появиться второй таргет - его веди в вторую точку. В результате чего появится невидимый квадрат.
А настраивать функции этого квадрата - [props на флаг.

З.Ы. Координаты по Z нужно аналогично будет дополнять.
Kokosik
спасибо в этом разобрался а вот еще не понимаю как сделать чтоб то что дает этот флег действовало на всей высоте тоесть когда в зоне той поднимаешся по леснице гз не пропадала
Juzzver
Натягивать по высоте можно разными видами. Самые доступные для тебя будут:
[inc z 1 и на себя таргет. В этом случае ты подымаешься по координате 'Z' на 1.
Берешь таргет флага и устанавливаешь регион пр нужной тебе высоте.

Другой вариант проще - просто наступая на каждую ступень проводить линии региона.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.