Версия для печати темы
UoKit.com Форумы _ Вопросы по RunUO _ Поддержка старых клиентов
Автор: Александр Needle™ 6.5.2017, 2:49
Собственно, хотелось бы запустить ранку с поддержкой клиента 203, обычный классический, без всяких нинзей, такуно островов и прочий ... Максимально старую ранку находил 1 версии, но она не тянет клиент, крашит. Существуют ранки с поддержкой старых клиентов ибо я в не курсе, я в то время пользовался polserver?
Автор: Soteric 6.5.2017, 2:55
Можно попробовать запустить последнюю в режиме Expansion.None.
Автор: Александр Needle™ 6.5.2017, 2:57
Цитата(Soteric @ 6.5.2017, 2:55)
Можно попробовать запустить последнюю в режиме Expansion.None.
Хм, сейчас попробую данный вариант. Только POL установлю до конца, а то уже начал.
UPD Работает, клиент заходит, но беда, команды купить/продать/и тп. не работают, но уже что-то
UPD Наверное, будет проще просто урезать новые возможности, тем самым новый клиент обрезать, убрать самураев и тп?
Автор: Juzzver 6.5.2017, 16:30
команды на ранке звучат: "vendor buy/sell" или еще вариант: "NPC Name buy"/
Цитата
UPD Наверное, будет проще просто урезать новые возможности, тем самым новый клиент обрезать, убрать самураев и тп?
Естественно.
Бери хоть самый последний клиент и просто экспансию нужную тебе активируй. Всё что ниже Expanshion.AOS - всё это убирает примочки типа инсура, тултипов, абилок, новые классы и т.д. Подавляющее число формул так же начинают работать по типу ренесанс версии уо.
Автор: Александр Needle™ 6.5.2017, 21:20
Цитата(Juzzver @ 6.5.2017, 16:30)
команды на ранке звучат: "vendor buy/sell" или еще вариант: "NPC Name buy"/
Естественно.
Бери хоть самый последний клиент и просто экспансию нужную тебе активируй. Всё что ниже Expanshion.AOS - всё это убирает примочки типа инсура, тултипов, абилок, новые классы и т.д. Подавляющее число формул так же начинают работать по типу ренесанс версии уо.
Как только не пробовал, и так, как ты написал, и через точку как на пол сервере, и слэши, и say sell, и тому подобное, - ноль эмоций. Только включаю SA экспансию, все сразу начинает работать, ну или любую другую моложе AOS. (на UOR. None и LBR не работает)
Да как-то не охота во всем этом ковырять, отключать то отключал, но откровенно говоря слишком много переделок помимо этих функций, проще поставить Pol095 или моложе.
Кстати отключал я эти функции, менюшки покупки/продажи все равно есть, выбор персонажей работает как и прежде, урон над персонажем не проверял, да и не буду.
Автор: Juzzver 7.5.2017, 4:09
https://github.com/runuo/runuo/blob/master/Scripts/Mobiles/AI/VendorAI.cs
Метод:
public override void OnSpeech
В нём:
Код
if ( m_Mobile is BaseVendor && from.InRange( m_Mobile, Core.AOS ? 1 : 4 ) && !e.Handled )
{
if ( e.HasKeyword( 0x14D ) ) // *vendor sell*
{
e.Handled = true;
((BaseVendor)m_Mobile).VendorSell( from );
m_Mobile.FocusMob = from;
}
else if ( e.HasKeyword( 0x3C ) ) // *vendor buy*
{
e.Handled = true;
((BaseVendor)m_Mobile).VendorBuy( from );
m_Mobile.FocusMob = from;
}
else if ( WasNamed( e.Speech ) )
{
if ( e.HasKeyword( 0x177 ) ) // *sell*
{
e.Handled = true;
((BaseVendor)m_Mobile).VendorSell( from );
}
else if ( e.HasKeyword( 0x171 ) ) // *buy*
{
e.Handled = true;
((BaseVendor)m_Mobile).VendorBuy( from );
}
m_Mobile.FocusMob = from;
}
}
Если у нас аос и мы обращаемся к вендору в радиусе одной клетки, то он проверяет посылаемые ему кейворды, в данном случае *vendor buy* / *vendor sell*.
else if ( WasNamed( e.Speech ) ) - так же мы можем обратиться по имени вендора + buy/sell кейворд.
Если экспансия у нас выбрана ниже аоса, то данные правила будут отрабатывать в радиусе 4х клеток от вендора по тем же кейвордам, что и при аосе.
Если мы хотим добавить реакцию на sell/buy без примесей, то делаем следующее:
В начале метода создаем переменную в которую будет записываться текст вводимый игроком для нпц:
Код
string speech = e.Speech.ToLower();
и в условиях проверяем, нужное ли это для нас слово или нет:
Цитата
if ( e.HasKeyword( 0x14D ) ) // *vendor sell*
- дописываем условие:
if ( e.HasKeyword( 0x14D ) || speech == "sell") // *vendor sell*
аналогично делаем и для Buy:
Цитата
else if ( e.HasKeyword( 0x3C ) || speech == "buy" ) // *vendor buy*
И теперь вендоры реагируют на Buy / Sell кейворды, в точности как и на поле
Цитата
Кстати отключал я эти функции, менюшки покупки/продажи все равно есть, выбор персонажей работает как и прежде, урон над персонажем не проверял, да и не буду.
Ты отключал ObjectPropertyList, т.е. тултипы (подсказки), которые срабатывают при наведении на что либо.
То что открываются менюшки при клике на торговцев - это называется контекстное меню, отключить его можно будет скорее всего в базовом скрипте ContextMenu/ContextMenuEntry, или же просто обрубить обработку пакета с контекстными менюшками.
Цитата
урон над персонажем не проверял, да и не буду.
Это настривается строчкой:
Mobile.VisibleDamageType = VisibleDamageType.None;
в Misc/CurrentExpanshion.cs
Автор: RL_ka 8.5.2017, 13:10
Цитата(Александр Needle™ @ 6.5.2017, 20:20)
Да как-то не охота во всем этом ковырять, отключать то отключал, но откровенно говоря слишком много переделок помимо этих функций, проще поставить Pol095 или моложе.
Если ставить то уж 099... и просто взять старый дистр скриптов, который заточен под ренессанс и старые клиенты
Автор: Александр Needle™ 9.5.2017, 2:20
Цитата(Juzzver @ 7.5.2017, 4:09)
https://github.com/runuo/runuo/blob/master/Scripts/Mobiles/AI/VendorAI.cs
Метод:
public override void OnSpeech
Я читал другие твои сообщения на форуме, но так и не добился того, что бы персонаж мог что-то купить, продать или зайти в банк, и... я оставил затею с RunUO, разобраться можно, но не хочу больше тратить время. Мне нужен был эмулятор пустой, простой, и с поддержкой 2.0.3 клиента.
Цитата
Если ставить то уж 099... и просто взять старый дистр скриптов, который заточен под ренессанс и старые клиенты
Ставил, дофига настроек, опять же потерял время, скачал 095, откомпилил и теперь работаю на нем.
Автор: RL_ka 9.5.2017, 11:33
Цитата(Александр Needle™ @ 9.5.2017, 1:20)
Ставил, дофига настроек, опять же потерял время, скачал 095, откомпилил и теперь работаю на нем.
Время потеряешь если он начнёт крашить и совсем никто не сможет помочь тебе с решением
а отличий 095 от 099 с гулькин нос, не знаю о каких настройках ты говоришь
ну хозяин-барин.
Автор: Aimed 9.5.2017, 12:49
Не проще ли тогда уж Сферу поставить?
Дефолтная Сфера отлично с 2.0.3 клиентом работает.
Автор: Александр Needle™ 9.5.2017, 20:36
Цитата(RL_ka @ 9.5.2017, 11:33)
Время потеряешь если он начнёт крашить и совсем никто не сможет помочь тебе с решением
а отличий 095 от 099 с гулькин нос, не знаю о каких настройках ты говоришь
ну хозяин-барин.
С чего вдруг ему начать крашится?
Для начала miltis, boats, первое что сразу вызывает ошибку, потом по накатанной по каждому умению персонажей и вещей в игре (с новых клиентов) быстрей было установить 095 чем ковырять и исправлять 099. Пока что ни один из эмуляторов толком не имеет поддержку старых клиентов и тем более новых, и тем более быстрое переключение между ними (что не мешало бы для разработчиков)
Цитата
Не проще ли тогда уж Сферу поставить?
Дефолтная Сфера отлично с 2.0.3 клиентом работает.
Сферу не люблю, принципиально не использую.
Автор: RL_ka 9.5.2017, 20:44
Цитата(Александр Needle™ @ 9.5.2017, 19:36)
С чего вдруг ему начать крашится?
с того что пол крашит всю свою жизнь
а причины краша без исходников и нормального дебаггера можно искать годами... такая вот штука, этот с++
ну тут всё конечно зависит от цели. если цель просто запустить на 2 минуты сервер, не тратить на это время, и просто полюбоваться старым клиентом то сойдёт и сфера
Автор: Александр Needle™ 9.5.2017, 22:38
Цитата(RL_ka @ 9.5.2017, 20:44)
с того что пол крашит всю свою жизнь
а причины краша без исходников и нормального дебаггера можно искать годами... такая вот штука, этот с++
ну тут всё конечно зависит от цели. если цель просто запустить на 2 минуты сервер, не тратить на это время, и просто полюбоваться старым клиентом то сойдёт и сфера
А каких еще исходников не хватает? Стандартный набор есть, все в *.src, ошибки подсвечивает и даже линию указывает, что еще нужно?)
Меня он более чем устраивает, в данный момент.
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)