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

 
Ответить в эту темуОткрыть новую тему
> Атака, Не атакует и мобы не атакуют
Jul
сообщение 8.2.2018, 0:16
Сообщение #1


**

Группа: Пользователи
Наличность: 0
Пользователь №: 18.824
Возраст: 30



Всем доброго времени суток.
Решил поковырять ранку, в коде знаний мало, но Герберта читать начал.
Установил я ранку 2.3 клиент использую от старой сборки для игры на умершем шарде Дрим Ворлд. Клиент 5091. Работает исправно, не крашется в отличии 7 клиента скачанного с ЕА

Пока очень сильно интересует вопрос Атаки, не атачит чар и его не атачат.
И где изменить количество ударов топора, кирки при добычи ресурса, вместо 1 что бы на автомате делал 10 например.

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

Спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 8.2.2018, 0:41
Сообщение #2


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Цитата(Jul @ 8.2.2018, 0:16) *
Пока очень сильно интересует вопрос Атаки, не атачит чар и его не атачат.
А Вы случайно не пробуете атаковать бессмертных? Тоже касается и персонажей с правами выше Player (например GM, Admin, Owner и тд) - для них по умолчанию так же включен режим бессмертия, а NPC игнорируют их и не агряться.


Цитата(Jul @ 8.2.2018, 0:16) *
И где изменить количество ударов топора, кирки при добычи ресурса, вместо 1 что бы на автомате делал 10 например.
Это делать надо, одной циферкой такие дела не решаются...


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Jul
сообщение 8.2.2018, 1:08
Сообщение #3


**

Группа: Пользователи
Наличность: 0
Пользователь №: 18.824
Возраст: 30



Вы правы, игрок был под бессмертием, убрал - вопрос решился.
Жаль что со-вторым вопросом сложно.
Спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 8.2.2018, 6:06
Сообщение #4


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



2)Для Ламбера заходишь в Scripts/Engines/Harvest/Lumberjacking.cs

Где дефиниция ламбера создается в закрытом конструкторе ( У меня строки с 36 и по 131 )
Смотри где lumber.EffectsDelay это анимация которую показывает клиент в секундах, а так-же время на которое блокируются другие действия на сервере. lumber.EffectSoundDelay это звук рубки, его тоже надо будет поднять.

Для майнинга аналогично, только в Scripts/Engines/Harvest/Mining.cs тоже начиная с 36 строки ( у меня ) закрытый конструктор и там сперва дефиниция для руды и камней oreAndStone и потом для песка ( sand).
Теже атрибуты меняй.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Juzzver
сообщение 8.2.2018, 12:39
Сообщение #5


**********

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



\scripts\engines\harvest\lumberjacking.cs
Кол-во древесины в жиле:
Код
            // Every bank holds from 20 to 45 logs
            lumber.MinTotal = 20;
            lumber.MaxTotal = 45;

Кол-во добычи за 1 подход:
Код
            // Ten logs per harvest action
            lumber.ConsumedPerHarvest = 10;
            lumber.ConsumedPerFeluccaHarvest = 20;

Кол-во ударов(анимации) и задержка между ними:
Код
            lumber.EffectCounts = (Core.AOS ? new int[]{ 1 } : new int[]{ 1, 2, 2, 2, 3 });
            lumber.EffectDelay = TimeSpan.FromSeconds( 1.6 );
            lumber.EffectSoundDelay = TimeSpan.FromSeconds( 0.9 );


Цитата
lumber.EffectCounts = (Core.AOS ? new int[]{ 1 } : new int[]{ 1, 2, 2, 2, 3 });
меняем на :
lumber.EffectCounts =new int[]{ 10 };
и получаем 10 ударов


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Jul
сообщение 8.2.2018, 14:25
Сообщение #6


**

Группа: Пользователи
Наличность: 0
Пользователь №: 18.824
Возраст: 30



Спасибо всем, все получилось. (IMG:style_emoticons/default/smile.gif)

правда, я имел ввиду, как сделать, что бы он копал 10 раз и соответственно добывал (IMG:style_emoticons/default/biggrin.gif) этакий макрос.
Но сейчас подумал, а стоит это вообще делать, руками давно уже никто не играет.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 8.2.2018, 17:27
Сообщение #7


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Цитата(Jul @ 8.2.2018, 14:25) *
правда, я имел ввиду, как сделать, что бы он копал 10 раз и соответственно добывал (IMG:style_emoticons/default/biggrin.gif) этакий макрос.
Но сейчас подумал, а стоит это вообще делать, руками давно уже никто не играет.
Поэтому и сказал, что одной циферкой не сделать. Хотя в принципе ничего сложного там нет.


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Juzzver
сообщение 8.2.2018, 18:01
Сообщение #8


**********

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



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

К примеру Mining.cs есть метод OnHarvestFinished, который отвечает за то, что произойдет, после того как персонаж капнёт. Аналогичный метод для всего харвеста (т.е. ламбера, фиша и т.д.)

В конце метода можно посылать псевдо таргет, к примеру:
Код

            if (bank != null && bank.Current >= def.ConsumedPerFeluccaHarvest && pm != null)
            {
                if (m_TargetedObject != null)
                {
                    var pseudoTarget = new HarvestTarget(tool, this);
                    pseudoTarget.OnTarget(from, m_TargetedObject);
                }
            }


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

Либо сразу напрямую вызывать метода типа OnDig, OnChop и т.д., если есть такая возможность. Надо посмотреть как они выглядят и правильно вызываются.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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