Здравствуйте, гость ( Вход | Регистрация )

> Создание новой руды, RunUO 2.3 r 987
Nerengot
сообщение 18.11.2020, 19:47
Сообщение #1


*

Registred
Сообщений: 4
Регистрация: 18.11.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.803
Возраст: 33



Приветствую. Хочется все таки понять как создать новую руду. Вроде пробовал делать по аналогии с родными - сервер не стартует. Почитал подобные темы тут и увидел про приведение к string но что и как приводить не понял. В С# немного разбираюсь. Есть ли желающие потратить время на помощь и написать какие файлы надо менять и как именно? Для начала просто добавить руду, для примера Mithril Ore и дать возможность переплавки.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Juzzver
сообщение 19.11.2020, 18:30
Сообщение #2


**********

Модератор RunUO
Сообщений: 3.432
Регистрация: 1.11.2008
Группа: Супермодераторы
Наличность: 22497
Из: Северная Корея
Пользователь №: 11.273



Цитата
Так в том и дело что я полный ноль пока.

Ну ты же сказал, что немного разбираешься (IMG:style_emoticons/default/smile.gif)
Там идёт не преобразование инта, а присвоение ему значения через switch блок. К примеру мы крафтим любую часть армора, т.е. работаем с родительским классом BaseArmor. У него есть метод, который отвечает за отображение имени void NameProperties(ObjectProperyLabel list) или что-то в этом роде. Задача метода - собрать из кусков данных (тип ресурса, имя предмета, экзепшионал ли, и прочее) - имя предмета. В данном методе тебе нужно будет просто переопределить int значения клилока на string значение.

В BaseArmor класс уже был передан параметр Resource при создании объекта, и по нему делается выборка в метода NamePropeties через switch блок. типа
Код
switch(Resource)
{
case CraftResource.Iron: res = 4124124; break;
case CraftResource.Copper: res = 345235; break;
}

соответственно твоя задача - это создать переменную типа string, и таким же образом просто присвоить ей соответствующее значение в зависимости от типа ресурса.
string resource = "";
Код
switch(Resource)
{
case CraftResource.Iron: resource = "Iron"; break;
case CraftResource.Copper: res = "Copper"; break;
}


а чтобы добавить в список ресурсов свой новый Mythril, сделать это можно в Scripts/Misc/ResourceInfo.cs
по примеру любого из существующих ресурсов просто добавь свои строки. Тут у тебя тоже возникнут небольшие проблемы с клилоками, когда будешь регистрировать созданный кастомный ресурс, но там, если не обишаюсь, уже есть готовые перегрузки для методов, которые примут в параметр string значения. Чтобы сразу видеть и понимать такие методы и какие параметры они могут использовать - установи Visual Studio среду разработки. Работая через проект стулии - ты получить куда лучшую навигацию по коду, чем через какой либо другой редактор.

Как найти в каких файлах править.
Открываешь Notepad++, жмёшь Ctrl+Shif+F, вбиваешь папку со скриптами и ключ для поиска -"Valorite", без ковычек. На что тебе выдаст все скрипты, в которых упоминается данный тип. И по тому же сценарию просто добавляешь себе Mythril и т.д уже со своими параметрами.


Сообщение отредактировал Juzzver - 19.11.2020, 18:27


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nerengot
сообщение 19.11.2020, 19:29
Сообщение #3


*

Registred
Сообщений: 4
Регистрация: 18.11.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.803
Возраст: 33



Цитата(Juzzver @ 19.11.2020, 18:30) *

Ну ты же сказал, что немного разбираешься (IMG:style_emoticons/default/smile.gif)
Там идёт не преобразование инта, а присвоение ему значения через switch блок. К примеру мы крафтим любую часть армора, т.е. работаем с родительским классом BaseArmor. У него есть метод, который отвечает за отображение имени void NameProperties(ObjectProperyLabel list) или что-то в этом роде. Задача метода - собрать из кусков данных (тип ресурса, имя предмета, экзепшионал ли, и прочее) - имя предмета. В данном методе тебе нужно будет просто переопределить int значения клилока на string значение.

В BaseArmor класс уже был передан параметр Resource при создании объекта, и по нему делается выборка в метода NamePropeties через switch блок. типа
Код
switch(Resource)
{
case CraftResource.Iron: res = 4124124; break;
case CraftResource.Copper: res = 345235; break;
}

соответственно твоя задача - это создать переменную типа string, и таким же образом просто присвоить ей соответствующее значение в зависимости от типа ресурса.
string resource = "";
Код
switch(Resource)
{
case CraftResource.Iron: resource = "Iron"; break;
case CraftResource.Copper: res = "Copper"; break;
}


а чтобы добавить в список ресурсов свой новый Mythril, сделать это можно в Scripts/Misc/ResourceInfo.cs
по примеру любого из существующих ресурсов просто добавь свои строки. Тут у тебя тоже возникнут небольшие проблемы с клилоками, когда будешь регистрировать созданный кастомный ресурс, но там, если не обишаюсь, уже есть готовые перегрузки для методов, которые примут в параметр string значения. Чтобы сразу видеть и понимать такие методы и какие параметры они могут использовать - установи Visual Studio среду разработки. Работая через проект стулии - ты получить куда лучшую навигацию по коду, чем через какой либо другой редактор.

Как найти в каких файлах править.
Открываешь Notepad++, жмёшь Ctrl+Shif+F, вбиваешь папку со скриптами и ключ для поиска -"Valorite", без ковычек. На что тебе выдаст все скрипты, в которых упоминается данный тип. И по тому же сценарию просто добавляешь себе Mythril и т.д уже со своими параметрами.

Не все понял, но общую суть вроде уловил. Попробую что-то сделать по данной инструкции.

Но вообще я просил именно правки в файлах: Ore.cs и Ingots.cs
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 18.7.2025, 8:30
Designed by Nickostyle