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

> WeaponAttributes для армора и прочего
Sergius Grey
сообщение 28.2.2015, 9:05
Сообщение #1


****

Apprentice
Сообщений: 149
Регистрация: 20.6.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.734
Возраст: 23



Снова стал возиться с сервером, хочу реализовать задумка, например, кольцо с хит лайтнингом или перчатки с мана личем.

Собственно вопрос - каким способом можно прописать артефакту WeaponAttributes, ссылаясь на бейс веапон или что то вроде того?
В АОС.кс я добавлял из WeaponAttributes в просто АОСатрибутс свойства, они появлялись в пропсе, отображались на вещи, но не давали эффекта. И я понимаю почему. Просто хочется все это сделать с наименьшим количеством кода, это главная задача. А прописывать кучу строк в бейсАрмор и БейсДжевел не хочется, во избежании возможных конфликтов и косяков, которые могут всплыть со временем, так как я не уверен что смогу верно все расписать там. Проще говоря не хочется все это делать "брейнфаковским способом".

Может можно это сделать при помощи методов void OnAdded и void OnRemoved соответственно?
Но в идеале хотелось бы, чтоб кольца например просто могли принимать WeaponAttributes при создании новых скриптов артефактов.

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

Ранка 2.0
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Sergius Grey
сообщение 1.3.2015, 4:29
Сообщение #2


****

Apprentice
Сообщений: 149
Регистрация: 20.6.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.734
Возраст: 23



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

Цитата
если у тебя прописано призначение в конструкторах BaseItem & BaseJewel

можно поподробнее про это?

Цитата
Вот эти строчки за всё это отвечают

Это я все понял с прошлого раза.

Juzzver
Попробую. Я тупанул и искал это в АОС а не в бейс веапон, Эймед подсказал. Я просто уже сплю, извините пожалуйста.


Так же хотел еще раз сказать вот что:
Если взять простой меч с каким нибудь свойством оружие, тот же хитлайтнинг или маналич или фаерэрия, не суть, и изменить лейер этого меча на браслет - оно перестает работать.
То есть меч (который бейсвеапон на слое браслета), и даггер который в руках - не работает ничего из АосВеапонАтрибутс, что на мече который на слое браслета. Так что может все же дело в леерах?
Наглядно что я тут имею ввиду, суть думаю ясна:
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 1.3.2015, 4:45
Сообщение #3


*********

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



Цитата(Sergius Grey @ 1.3.2015, 2:29) *


можно поподробнее про это?
Это я все понял с прошлого раза.

в BaseWeapon есть переменная:
Код
private AosWeaponAttributes m_AosWeaponAttributes;

И свойство:
Код
        [CommandProperty( AccessLevel.GameMaster )]
        public AosWeaponAttributes WeaponAttributes
        {
            get{ return m_AosWeaponAttributes; }
            set{}
        }

А так-же в конструкторе BaseWeapon:
Код
public BaseWeapon( int itemID ) : base( itemID )
        {
            Layer = (Layer)ItemData.Quality;

            m_Quality = WeaponQuality.Regular;
            m_StrReq = -1;
            m_DexReq = -1;
            m_IntReq = -1;
            m_MinDamage = -1;
            m_MaxDamage = -1;
            m_HitSound = -1;
            m_MissSound = -1;
            m_Speed = -1;
            m_MaxRange = -1;
            m_Skill = (SkillName)(-1);
            m_Type = (WeaponType)(-1);
            m_Animation = (WeaponAnimation)(-1);

            m_Hits = m_MaxHits = Utility.RandomMinMax( InitMinHits, InitMaxHits );

            m_Resource = CraftResource.Iron;

            m_AosAttributes = new AosAttributes( this );
            m_AosWeaponAttributes = new AosWeaponAttributes( this ); //ВОТ ЭТА СТРОКА
            m_AosSkillBonuses = new AosSkillBonuses( this );
            m_AosElementDamages = new AosElementAttributes( this );
        }

Всё это должно быть и в BaseJewel и в BaseArmor.
А так-же в методе
AosWeaponAttributes.GetValue нужные иф блоки на проверку BaseJewel & BaseArmor.

Цитата(Sergius Grey @ 1.3.2015, 2:29) *

Juzzver
Попробую. Я тупанул и искал это в АОС а не в бейс веапон, Эймед подсказал. Я просто уже сплю, извините пожалуйста.
Так же хотел еще раз сказать вот что:
Если взять простой меч с каким нибудь свойством оружие, тот же хитлайтнинг или маналич или фаерэрия, не суть, и изменить лейер этого меча на браслет - оно перестает работать.
То есть меч (который бейсвеапон на слое браслета), и даггер который в руках - не работает ничего из АосВеапонАтрибутс, что на мече который на слое браслета. Так что может все же дело в леерах?


Если ты точно всё сделал как я писал выше и всё равно такая вот проблема, тогда я должен подумать что я упустил.

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

Сообщений в этой теме
Sergius Grey   WeaponAttributes для армора и прочего   28.2.2015, 9:05
Aimed   Снова стал возиться с сервером, хочу реализовать ...   28.2.2015, 14:24
Sergius Grey   Большое спасибо! Только проснулся, щас буду пр...   28.2.2015, 21:34
Sergius Grey   На счет первого способа. Компиляция проходит, но п...   28.2.2015, 22:46
Aimed   Cтоп. Что ты конкретно сделал. Лучше б со скринами...   1.3.2015, 0:32
Sergius Grey   Отрывок из БейсДжевел: { None, StarSapphire, ...   1.3.2015, 1:02
Aimed   А конктрукторы BaseItem & BaseJewel ? public...   1.3.2015, 2:15
Juzzver   get указан, а set отсутствует - по этому в пропсе...   1.3.2015, 2:20
Aimed   get указан, а set отсутствует - по этому в пропсе...   1.3.2015, 2:26
Aimed   get указан, а set отсутствует - по этому в пропсе...   1.3.2015, 3:19
Sergius Grey   Aimed, черт да, я тупанул я думал у меня там пропи...   1.3.2015, 2:32
Aimed   Прям мистика какая-то с этим сеттером, я сам из ги...   1.3.2015, 2:41
Sergius Grey   У меня точно АОС, точнее СЕ, МЛ я вырубил только. ...   1.3.2015, 2:59
Juzzver   попробуй добавить в тот блок с Core.AOS: ...   1.3.2015, 3:10
Aimed   А как ты тестишь? С мечом и без кольца и с кольцом...   1.3.2015, 3:31
Juzzver   В моем случае это работает с другими вещами :), с...   1.3.2015, 3:43
Sergius Grey   Тестю во всех возможных вариантах! Juzzver, а...   1.3.2015, 3:47
Aimed   Тестю во всех возможных вариантах! Juzzver, ...   1.3.2015, 4:09
Juzzver   эти блоки с чанасами я копировал из цитату сверху...   1.3.2015, 4:11
Aimed   Код, который запостил Juzzver из метода OnHit в Ba...   1.3.2015, 4:23
Sergius Grey   Juzzver, работает то что ты сказал. Я прописал это...   1.3.2015, 4:51
Aimed   Хмм... А помнишь в AosWeaponAttribute.GetValue из...   1.3.2015, 4:59
Sergius Grey   У меня нету очков в моей версии ранки. В общем сп...   1.3.2015, 5:02
Aimed   В любом случаи всем спасибо что помогаете разобр...   1.3.2015, 5:17
Juzzver   Работает без оружия в руке по тому, что Fists(кул...   1.3.2015, 15:23
Sergius Grey   Создал скрипт очков, скопировал этот что ты мне ки...   1.3.2015, 18:09
Aimed   Я ведь правильно понимаю, что скрипт на очки долж...   1.3.2015, 18:50
Sergius Grey   Черт точно, я ж забыл их прописать в аос. Момент. ...   1.3.2015, 19:02
Aimed   Сделай себе строку с дебагом в этом методе. А в иф...   1.3.2015, 19:08


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

 

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