Hero Aura
Еще раз добрый вечер уважаемые пользователи. Создаю ГвЕ сервер и вот посетила мысль реализовать Статус Героя который выдается автоматически (Сразу на поле боя) за пвп игроку у которого больше всех славы в своем классе. Все хорошо, работает но не как не могу сделать так чтобы при получения Героя у каждой Фракции был разный цвет подсветки.
(При стоздании фракции Аура не выдется, только цвет ника) Буду рад любой помощи. Вот код который отвечает за Героя и присваивает цвет ауры. Heroes:Развернуть ↓ |
Re: Hero Aura
По-простому - ни как.
По-простому можно только заменить цвет свечения героя на другой (и то не совсем по-простому). Чтобы сделать два цветам вам нужен очень хороший реверс-инженер, способный сделать из этого два разных эффекта и переделать пакет в клиенте. Будет стоить очень дорого, но сомневаюсь даже, что кто-то возьмется. Добавлено через 1 минуту Самое простое, что можете сделать - это присваивать сторонам свечения как при дуэли. player.setTeam(1) и player.setTeam(2) соответственно. |
Re: Hero Aura
Цитата:
Для вставки кода используйте Код:
[CODE*] тут код(символ "*" удалить)[/CODE*] как надо:Развернуть ↓ |
Re: Hero Aura
Johnson, самое простое я и делал вот 2 кода отвечающих за цвет 2-ум фракциям
if(_activeChar.getFactionId()==1) writeC(0x01); else if(_activeChar.getFactionId()==2) writeC(0x02); else writeC(0x00); ----- if(_decoy.getOwner().getFactionId()==1) writeC(0x01); else if(_decoy.getOwner().getFactionId()==2) writeC(0x02); else writeC(0x00); потому и прошу о помощи. Добавлено через 8 минут и зачем лезть в клиент? нельзя убрать твт и хиро свечение в Серверпакете // if(_activeChar.getTeam()==1) // writeC(0x01); //team circle around feet 1= Blue, 2 = red // else if(_activeChar.getTeam()==2) // writeC(0x02); //team circle around feet 1= Blue, 2 = red // else // writeC(0x00); //team circle around feet 1= Blue, 2 = red и - writeC(_activeChar.isHero() ? 0x01 : 0x00); + writeC(0x00); и сделать 2 цвета? if(_decoy.getOwner().isHero()) { writeC(0x01); } else { writeC(0x00); } и if(_decoy.getOwner().isHeroTwo()) { writeC(0x02); } else { writeC(0x00); } и привизать их к каждой фракции к герою? и по аналогичному принцыпу Хиро менеджера 2 и так у каждой фракции будет герой. У добра свой герой - (Глад), и у Зла свой герой- (Глад) герой. Я и так поудалял все что касается Геройства и олимпиады, повторюсь. я создаю личную олимпиаду в пвп виде. |
Re: Hero Aura
Свечение в клиенте организовано через L2Effect.
В клиенте только один вариант свечения, он использует свою текстуру для создания партиклов. Эту текстуру по-простому можно только заменить, получив другой цвет (и в небольших пределах вид) свечения. Можно переделать l2effect.u, чтобы сделать свечение совсем с другим эффектом. Но чтобы добавить второй (третий/пятый/десятый) тип свечения по выбору - придется engine.dll научить понимать выбор этого типа в пакете - сейчас он понимает только 0x00 (выкл) и 0x01 (вкл). Теперь понятнее? Добавлено через 1 минуту Либо я совсем не понимаю, что вам требуется. Если под "цветом свечения героя" вы понимаете светящийся красный/синий круг под ногами - то я не понимаю в чем сложность? Добавлено через 4 минуты Если просто нужно, чтобы одна фракция светила синим под ногами, а вторая красным - то просто уберите L2PCInstance.team и используйте для определения свою фракцию и условие, что персонаж - герой. Код:
if (player.isHero(){ PS: имхо, но делать по два героя одного класса не лучшая идея для геймплея. Вам же нужно противостояние фракций? Так сделайте, чтобы фракция, имеющая больше героев получала некие бонусы, а "проигрывающая" - другие бонусы, позволяющие проще получить геройства (постоянный баф, к примеру, или усиленный баф на олимпиаде). Сыграйте на зависти и гордыне, серверу нужна драма и срач, чтобы он не протух. Но дайте возможность игре постоянно балансировать по количеству. У Эльфов больше героев - получают бонус к экспе и/или еще чему-то, а Орки получают бафы на оли. Получится, что следующий период Орки с большим шансом наберут больше героев и ситуация изменится. В итоге срач на весь сервер, дарама и вопли. Всем интересно, все продолжают играть и задрить. |
Re: Hero Aura
ДА именно за это я и спрашываю): "красный/синий круг под ногами У фракции Добра/зла"
|
Re: Hero Aura
Ну, тогда ответ я дал.
В UserInfo и CharInfo сделайте, что если игрок герой - то ему присвоится свечение в зависимости от фракции. А поля и методы, отвечающие за team вообще удалите, если не планируете их использовать в ивентах. |
Re: Hero Aura
Йома йо как же я сам не додумался...
Johnson, спасибо что направил на путь истины, все работает)))) //Faction Good = 1 Blue, Faction Evil = 2 Red if(_activeChar.isHero()){ if(_activeChar.getFactionId() == 1) writeC(0x01); else if(_activeChar.getFactionId() == 2) writeC(0x02); } else writeC(0x00); |
Re: Hero Aura
Цитата:
PS: Приучайте себя все условные операторы окружать блоком { } (как в моем примере), на много читабельнее, и это хороший тон. |
Re: Hero Aura
Я Java никогда не изучал, просто переписывал diff-ы около года)))) и замечательные успехи... лудше посидеть почитать мануалы, 100 раз попробовать и сделать самому и заодно изучить ядро сервера чем перечитывать кучу лишней инормации. Хорошо буду работать над этим еще раз спасибо.
|
Текущее время: 02:11. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot