Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   [ВОПРОС] ПК мод. (https://forum.zone-game.info/showthread.php?t=4968)

Xantrax 21.10.2009 15:15

[ВОПРОС] ПК мод.
 
Людей, которые не знают яву, или же просто флудеров, прошу удалиться с этого топика и не писать тупые комменты, т.к. писанины будет много.


Начну с маленькой предистории:
Месяца 2 назад писал этот вопрос на АЧ - кроме слов "лес там" ничего более толкового не услышал, поэтому решил написать тут.

Начнёмс:
Мне тут друг затирал про одну игру, в которой при сливе (убийстве, в последуюшем тексте "ПК") у чара повышается его статы, например, бежит лукарь и него (предположим) все статы = 100 (чтобы не разводить демагогию и не катать текст величиной А4 - пусть будет всё по 100 (pAtk/pAtkRange/pAtkSpd/pDef и т.д. = 100))

Дальше наш странный лукарь видит когото и ПКшит (именно ПКшит, а не убивает в ПвП) и ему рандомно(!) даётся заранее заданное колличество к одному стату.
Поясняю:
Заранее заданное колличество - (чтобы не писать слово "или" много раз, в последуюшем тексте "\" заменит слово "или") ХП +50 \ Сила +20 \ Скорость бега +3 \ Зашита + 15 и т.д.
К одному стату - имею ввиду то, что мне не нужно чтобы этот лукарь получал все "заранее заданные колличества" сразу, а только что то одно, например + 50 ХП. И становится у нашего волшебново лукаря не 100, а 150 ХП.

Далле, было бы идеально сделать проверку на классы, а именно:
Маги (боевые): Маги имеют большую вероятность получить бонусы к магической атаке \ к скорости каста \ к магической зашите \ к физической зашите (предположим 70%). А остальные 30% это - вероятность получить бонус к силе атаки (физической) \ к скорости атаки (физической) \ к дальности радиуса физ. атаки.
Маги (бафферы): У бафферов на первом месте шанс получить бонус к длительности баффов (например COV не 5 минут, а 6), всё остальное как у боевово мага.
Танки: Наибольший шанс к ХП \ Физ. зашита \ Маг. зашита
И т.д. - думаю на примере трёх видов понятно что хочу.

Не мало важно: Чтобы не начался тупой фарм нубов (а именно прибегает прокаченный чар в Толкинг Исланд (к примеру) и начинает нубам (чарам низкого лвл) раздавать подарки в виде "фаст порт в город" - для тех кто не понял - ПКшить их) было бы идеально сделать 2 вида проверки:
Проверка №1: Наш счастливый лукарь 80 лвл, так вот, если он убивает персонажа на 20 лвл ниже себя, тогда он получает "Заранее заданное колличество" только в отрицательном значении, а именно - не + 50 ХП, а наоборот - 50 ХП.
Проверка №2: Невозможно атаковать персонажей ниже тебя на 40 лвл, с одним исключением, если чар который ниже на 40 лвл не начал атаковать сам, ито нанести урон ему можно только до тех пор, пока у чара, который ниже на 40 лвл, не сошёл флаг.


Теперь о тёмной стороне:
Как сделать так, чтобы при отмывке на мобах уходило статическое колличество кармы (предположим: 2 пункта кармы) и если он бьёт моба на 10 лвл ниже своего лвл - тогда карма не снимаеться.
Также, как сделать так, чтобы за ПК давалось ровно 100 кармы и закрепить "заранее заданное колличество" именно к значению кармы у персонажа. А именно, +50 ХП лукарь получит, заработав 100 кармы, убив 1-ого игрока. Т.к. за 1 килл даёться 100 кармы. И соответственно, если он начнёт отмываться, то по мере утекания кармы, он будет терять и свои бонусы.


Если нарушил правила форума, а именно что либо связанное с цветами текста - то извините.
Надеюсь что хоть у вас получу нормальный и разжованный ответ т.к. яву я вообше незнаю.
Под нормальным и разжованным ответом я имею ввиду, что если нужен вспомогательный софт - тогда ссылку на него, как должен выглядеть ява скрипт со всеми этими фитчами (даже если не уверены точно - всё ровно пишите как, на ваш взгляд, он должен выглядеть - за проверкой дело не заржавеет), и естественно, если вы пишите скрипт (который потом нужно будет копи+паст для каждого иного значения, то напишите какое значение отвечает за колличество добовления и что отвечает за стат.

Вот что мне ответили на АЧ:
Цитата:

Изменения в ядре
Файл L2Player (ну или какой там в этой сборке).

Метод типа такого. Добавляешь всё что нужно
Код:

/**
        * Send a Server->Client StatusUpdate packet with Karma to the L2Player and all L2Player to inform (broadcast).<BR><BR>
        */
        public void updateKarma()
        {
                // Send a Server->Client StatusUpdate packet with Karma to the L2Player
                final StatusUpdate su = new StatusUpdate(getObjectId());
                su.addAttribute(StatusUpdate.KARMA, _karma);
                broadcastPacket(su);
        }

Также методы глянь:
Код:

public void increaseKarma(final long add_karma)
public void decreaseKarma(final int i)

Только тебе нужно наверное ещё будет отправять пакет на апдейт чара(бродкаст UserInfo), так как меняется не только карма но и хп/м деф.
Скажу чесно: написали как нах послали, если учесть что яву не знаю - то и не втыкаю естественно. Разжуёт ктонить потолковее?
Сборка: L2jofficial rev 970

FredPerry 08.11.2009 02:09

Re: [ВОПРОС] ПК мод.
 
Разжую, отвали какому-нибудь программисту пару-тройку сотен ? как минимум он тебе всё разжуёт и напишет, а самому тебе советую в ядро не лезть...


Текущее время: 11:44. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot