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

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

UoKit.com Форумы _ Вопросы по RunUO _ Нормально настроить гильдию

Автор: Chicos 31.1.2018, 5:11

Гильд камень ставлю гильдия работает пару дней.
Через пару дней если щелкнуть по гильд камню он исчезает, еще через день два и гильдия исчезает.
Смотрю guildStone.cs

Код
if( m_Guild == null || m_Guild.Disbanded )
            {
                Delete();
            }


Комменчу Delete();

Камень перестает пропадать так же как и гильдия,
вставляю
Код
    GuildGump.EnsureClosed( from );
                from.SendGump( new GuildGump( from, m_Guild ) );

Начинает работать меню главное, но с багами,кнопки ни одна не работает в главном меню

Вопрос как запустить какую либо работающую гильдейскую систему, желательно вообще без камня а с кнопки в папердоле. На крайний случай можно и с камня, но нормально работающую.

Пробовал вырезать все что есть в стандартных ранках, тупо не запускается или так же как у меня плохо работает.
Пробовал включить другие гильд системы в guild.cs
Код
public static bool NewGuildSystem { get { return false; } }
        // public static bool NewGuildSystem { get { return Core.SE; } }
       // public static bool NewGuildSystem { get { return Core.ML; } }

Ни какой реакции.

В общем нужен совет, как это победить.

Автор: Juzzver 31.1.2018, 12:16

Цитата
Вопрос как запустить какую либо работающую гильдейскую систему, желательно вообще без камня а с кнопки в папердоле. На крайний случай можно и с камня, но нормально работающую.

Смотря какая эра включена.
https://github.com/runuo/runuo/blob/master/Scripts/Misc/Guild.cs

Код
public static bool NewGuildSystem{ get{ return Core.SE; } }

данная строка говорит о том, что работает новая система гильдий (та что через кнопку) при включенной эре от Самурайской Империи и выше. Если эра на сервере выставлена ниже, то будет работать старая система, через гильд камень.

Можно активировать новую систему на любой эре, для этого достаточно перевести значение в true
Код
public static bool NewGuildSystem{ get{ return true; } }

Автор: Aimed 31.1.2018, 15:29

Juzzver, у тебя ещё осталась репозитория от Новы?

Цитата(Chicos @ 31.1.2018, 3:11) *

В общем нужен совет, как это победить.


Точно не включением новой системы гильдий, потому что у тебя где-то проблема то ли с удалением обьекта гильдии, то ли лидер гильдии становится нулл в какой-то момент и свойство Disbanded становится true у гильдий. Но сам факт того что в том условии если ты комментишь Delete(); в коде камня гильдии и он остается - означает что у тебя либо первое либо второе накрывается медным тазом. В итоге не работает гильд гамп по очевидным причинам( обьекта гильдии больше нету), хотя камень и остался.

Это было одной из причин почему я компиляцию ядра включал и проверки всякие внедрял. Там были такие казусы в итоге, что у меня сервер через раз не мог поднятся на десереализации некоторых домов из-за десериализации обьекта мунгейта. В итоге сделал там фикс, сервер начал стабильно подниматься и вроде-как обьект гильдии больше не пропадал, хотя толком это так никто и не тестил dry.gif . Подозреваю что там иногда каким-то образом сериализация/десериализация запарывается и в итоге сами гильдии не десереализируются как следует. Потому что это обычно через какое-то время после установки гильдии + сразу после рестарта сервера происходило.

Автор: Juzzver 31.1.2018, 17:49

Цитата
у тебя ещё осталась репозитория от Новы?

Исходники есть. Эта проблема с Новы?

Автор: Aimed 31.1.2018, 18:23

Цитата(Juzzver @ 31.1.2018, 15:49) *

Исходники есть. Эта проблема с Новы?


Да исходники и у меня есть. Но там без нормального контроля версий разобраться будет сложно. Хотя конечно есть ещё шанс что это баг самой ранки, так-как версия там довольно старая, тогда прийдется долго ковырять.

Автор: Chicos 1.2.2018, 4:26

Достаточно оказалось

Код
public static bool NewGuildSystem{ get{ return true; } }

Заработали все плюшки гильдии с папердола
ая пробовал и
Код
      public static bool NewGuildSystem { get { return Core.SE; } }

и
Код
   public static bool NewGuildSystem { get { return Core.ML; } } 

не помогало

Автор: Wap 1.2.2018, 4:48

biggrin.gif

Рассмешило. Вписываем на халяву возврат флагов, даже не вникая, что там возвращается.
Кстати, если версия .NET хотя бы 2015 года, можно писать так:

Код
public static bool NewGuildSystem => true;
Меня прежние записи дико бесили, пока эта фишка не появилась.

Автор: Juzzver 1.2.2018, 11:26

Цитата
Да исходники и у меня есть. Но там без нормального контроля версий разобраться будет сложно. Хотя конечно есть ещё шанс что это баг самой ранки, так-как версия там довольно старая, тогда прийдется долго ковырять.

По гильдиям вроде как ничего не делали, осталось в том виде, в котором и пришло.
Цитата
Кстати, если версия .NET хотя бы 2015 года, можно писать так:

Да, весьма удобно smile.gif, только стандартный скрипт компилер не хавает эти фитчи, приходится перепиливать сборку.

Автор: Aimed 1.2.2018, 13:45

Цитата(Chicos @ 1.2.2018, 2:26) *

Достаточно оказалось
Код
public static bool NewGuildSystem{ get{ return true; } }

Заработали все плюшки гильдии с папердола
ая пробовал и
Код
      public static bool NewGuildSystem { get { return Core.SE; } }

и
Код
   public static bool NewGuildSystem { get { return Core.ML; } } 

не помогало


Ясно понятно. Через пару дней ждем тебя обратно 8)

Цитата(Wap @ 1.2.2018, 2:48) *

biggrin.gif
Рассмешило. Вписываем на халяву возврат флагов, даже не вникая, что там возвращается.


Это ещё ничего. Главное что все это делается не в студии, а в каком-то блокноте, без контроля версий, сразу код сервера меняет сначало у себя на локалке, а потом уже на главном сервере...

Автор: Chicos 1.2.2018, 16:40

Цитата(Aimed @ 1.2.2018, 15:45) *

Ясно понятно. Через пару дней ждем тебя обратно 8)
Это ещё ничего. Главное что все это делается не в студии, а в каком-то блокноте, без контроля версий, сразу код сервера меняет сначало у себя на локалке, а потом уже на главном сервере...


С чего ты решил, так то контроль версий веду, и делаю все в VS 2017. Для меня C# не родной, но на VB в студио еще с 5-й версии много чего рисовал и в ASP - ASP.NET. Один раз пока только косякнул за 3 месяца, откат на полчаса сделали. Твои наработки закинул уже из нового ядра, цветных риперов, правда они не пропадают, но ниче разберусь.

Учусь потихоньку, плохо что на живом серваке, но больше некому.

Автор: Aimed 1.2.2018, 16:57

Цитата(Chicos @ 1.2.2018, 14:40) *

С чего ты решил, так то контроль версий веду, и делаю все в VS 2017. Для меня C# не родной, но на VB в студио еще с 5-й версии много чего рисовал и в ASP - ASP.NET. Один раз пока только косякнул за 3 месяца, откат на полчаса сделали. Твои наработки закинул уже из нового ядра, цветных риперов, правда они не пропадают, но ниче разберусь.

Учусь потихоньку, плохо что на живом серваке, но больше некому.



Ну тогда надежда ещё есть, потому что прошлый владелец именно так и делал. Хотя и ему сервер тоже достался без репозитория и он решил не париться с контролем версий. Правда вместе этого он создавал архивы с кодом всего сервера при каждом апдейте.

Автор: Juzzver 1.2.2018, 20:14

Что-то часто владельцы у сервера меняются smile.gif
Что случилось с последним?

Автор: Aimed 1.2.2018, 20:41

Цитата(Juzzver @ 1.2.2018, 18:14) *

Что-то часто владельцы у сервера меняются smile.gif
Что случилось с последним?


Не было времени. Он предприниматель. Передал все полностью мне, а я не шарю че там надо портировать со старой Новы, а игрокам то пофиг по большому счету, главное что б багов не было и дорабатывать то чего ещё со старой Новы не перенесли. Я поставил рядом тест сервак со своими обновлениями, даже порт не надо было менять. Просто в списке серверов выбрать. Еле туда двоих затащил, они проверили то что я и сам проверил раз 10, а все остальное что там от рефакторинга ядра могло изменится никому не интересно тестить.

В итоге я забил, так как такая схема не работает. Там либо мне под свой контроль все на 100% брать и делать что я хочу, но в таком случае имеет больше смысла делать свой шард с 0, либо не заниматься этим вовсе. Учитывая сколько на мне уже проектов, второй вариант мне подходит больше ))

В итоге чуть позже он точно так-же передал все под контроль Chico и вот он теперь этим занимается.


Автор: Chicos 2.2.2018, 22:03

Ну я то в курсе что надо игрокам, так как сам отыграл 3 года на этом шарде.

Ну за пару месяцев я более менее освоил ранку, шарп пока хуже, но по аналогии с другими языками нахожу нужное мне, правлю. Научился создавать новые итемы, монстру и т.д. , конечно пока в пределах нарисованного в МЛ версии. Лезть в клиента думаю пока не буду. Отрисованное уже - используется дай бог на треть.

Несколько вопросов возникло, конечно разберусь и сам, но советы бы ускорили процесс

1. Гильдия работает, уже пару дней пока полет нормальный, но вот вопрос одна из гильд ошиблась в названии, как поменять ? Хочу добавить типа свитка ренейма за ГП, но пока хотя бы вручную сделать.

2. Как массово изменить свойства определенного предмета у всех ?, Например используемый метал у бижутерии у которой максимальный параметр от 1 до 3 айрон, от 3 до 6 бронза, от 6 до 9 купер и т.д.

Это для примера, хочу причесать многие вещи. Массово удалить например знаю. А вот примеры массовых команд добавления, изменения не нашел здесь. С SQL очень хорошо знаком, подозреваю что здесь есть что подобное, но не увидел.

Автор: Aimed 3.2.2018, 14:41

Цитата(Chicos @ 2.2.2018, 20:03) *

Ну я то в курсе что надо игрокам, так как сам отыграл 3 года на этом шарде.

Ну за пару месяцев я более менее освоил ранку, шарп пока хуже, но по аналогии с другими языками нахожу нужное мне, правлю. Научился создавать новые итемы, монстру и т.д. , конечно пока в пределах нарисованного в МЛ версии. Лезть в клиента думаю пока не буду. Отрисованное уже - используется дай бог на треть.

Несколько вопросов возникло, конечно разберусь и сам, но советы бы ускорили процесс

1. Гильдия работает, уже пару дней пока полет нормальный, но вот вопрос одна из гильд ошиблась в названии, как поменять ? Хочу добавить типа свитка ренейма за ГП, но пока хотя бы вручную сделать.

2. Как массово изменить свойства определенного предмета у всех ?, Например используемый метал у бижутерии у которой максимальный параметр от 1 до 3 айрон, от 3 до 6 бронза, от 6 до 9 купер и т.д.

Это для примера, хочу причесать многие вещи. Массово удалить например знаю. А вот примеры массовых команд добавления, изменения не нашел здесь. С SQL очень хорошо знаком, подозреваю что здесь есть что подобное, но не увидел.


1)Интересно.... А рестарты были за это время?
Что б сменить имя, добавиь в Guild.cs метод типа
Код

public void ChangeName(string name)
{
    m_Name = name;
}


И уже в свитке делай либо гампом, либо просто юзом и вводом текста что-бы введенный текст брало и вызывало этот метод. Предварительно проверь на наличии гильдии и ранга лидера в гильдии. Это все в классе PlayerMobile.cs найдешь.

2)Легче тебе в дискорде будет обьяснить, потому что тут вопросы к тебе есть об этом параметре.

3)Тут нет базы данных с таблицами свойств. Все уже в предметах находится, либо если статика то может ещё быть хардкодом прописано. Во время сейва все сериализируется в файл и во время старта десирализируется.

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