Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ Документация _ Server.gumps.gump

Автор: Barracoon 15.7.2007, 23:50

Данный топик будет посвяшен работе с гампами в RunUO. Ибо задолбался обьяснять... А то что должно было быть учебником - лень заного переписывать sad.gif Лучше наделать кучу маленьких руководств, чем в последствии отвечать на кучу глупых вопросов...

Описание членов класса:
Конструкторы:

Своиства:Методы:Пример
введение.
простенькое описание того, что гампами можно сделать, что нельзя.
простые контролы.
сложные контролы.

Автор: Konstantin. 26.3.2009, 3:32

Будет справедливо немного подправить автора(если честно от описания некотрых фукнций просто в шоке):

Цитата(Barracoon @ 15.7.2007, 23:50) *

[*]int TypeID( get; ) - возврашает тип текушего класа.

Возвращает номер гампа, но не порядковый, а типовой. Причём, околоуникальный для каждого отдельно взятого гампа.

Цитата(Barracoon @ 15.7.2007, 23:50) *

[*]Packet Compile() - преобразует обьект гампа в готовый, сетевой пакет сжатого гампа. В основном используется для экономии ресурсов, например когда один и тот-же гамп нужно разослать большому количеству клиентов.

Данная функция преобразует гамп в готовый сетевой пакет НЕ сжатого гампа.

Цитата(Barracoon @ 15.7.2007, 23:50) *

[*]int Intern( string value ) - проверяет ввод на недопустимые символы

Где она там проверяет на недопустимые символы smile.gif
Данная функция присваивает переданной в неё строке номер и записывает строку в буффер гампа (если строки одинаковые, то не записывает и просто возвращает соответствующий номер).

Цитата(Barracoon @ 15.7.2007, 23:50) *

[*]void Invalidate() - уничтожает гамп

Фукнция вообще ничего не делает smile.gif

Цитата(Barracoon @ 15.7.2007, 23:50) *

[*]virtual void OnServerClose( NetState owner ) - вызывается при закрытии сервера

Вызывается если гамп закрыт не игроком, а сервером. Например, CloseGump.

Цитата(Barracoon @ 15.7.2007, 23:50) *

[*]static int GetTypeID( Type Тип ) - возврашает хеш типа текушего класса(врядли будете использовать).

Возвращает околоуникальный номер гампа основанный на хеше типа гампа.
Фукнция которую придумали уже после того как поняли что гампам нужны уникальные цифровые идентификаторы - прописывать везде вручную было влом, поэтому ничего умнее чем хеш не смогли придумать.

Автор: Juzzver 19.4.2009, 14:42

Так как же будет выглядить гамп допустим при выключении сервера?

"[*]virtual void OnServerClose( NetState owner )" - если не так то как?

Автор: Soteric 19.4.2009, 15:08

При выключении сервера гамп будет выглядеть как невзрачная серая табличка с надписью "Connection lost" на ней biggrin.gif

Автор: Warstone 19.4.2009, 23:19

Сотерик, немного не так... В OnServerClose гамп создастся... И покажется. Но тут-же будет табличка Connection lost

Автор: Soteric 20.4.2009, 7:08

Это где там такое написано?

Автор: Juzzver 20.4.2009, 18:12

К примеру на Shutdown, Restart или Crush что бы гамп выскакивал?

Автор: Warstone 21.4.2009, 10:50

Цитата
Это где там такое написано?
Можешь руками при краше сервера пакеты посылать с гампом. =)) Написано... Если крашанулась не ядро, то гамп отослать можно.

Автор: Konstantin. 19.5.2009, 18:22

Если крашнулся сервер то врядли вы что-либо отправите.
По теме: видимо меня не правильно поняли. Это событие обрабатывается не когда сервер выключается, а когда сервер закрывает гамп принудительно. Например, CloseAllGumps(). У всех открытых гампов сработает данный обработчик.

Автор: Warstone 19.5.2009, 22:38

Цитата
Если крашнулся сервер то врядли вы что-либо отправите.
Легко. Главное выцепить в мейне подключения и основной луп в трай засунуть. И при краше - сформированный пакет "про send'ить" на все подключения.

Автор: Konstantin. 30.5.2009, 17:49

Цитата(Warstone @ 19.5.2009, 23:38) *

Легко. Главное выцепить в мейне подключения и основной луп в трай засунуть. И при краше - сформированный пакет "про send'ить" на все подключения.

Ну, да, ты прав.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)