Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Выдаем хиро лидеру по PvP
#11
halaymoon Написал:Спасибо!
В общей сложности я понимаю как будет выглядеть проверка, но подскажите пожалуйста, как можно получить значение Max Pvp всех игроков из базы?, что бы сравнивать каждый раз с этим значение счетчика текущего игрока.
Покажите, как Вы её представляете, а мы подкорректируем в случае чего.
Fortuna - non penis, in manus non recipe.
Ответ
#12
Ну если очень грубо, то примерно так:

Код:
//getPlayersMaxPvp(){...} // TODO
        
L2PcInstance PrevHero;
        
if(player.getPvpKills() > getPlayersMaxPvP())
{
    PrevHero = getPlayer().getPlayersMaxPvP();
    PrevHero.setHero(false);
    player.setHero(true);
}

Еще сейчас понял, что нужно значение предыдущего героя, сохранить по идее немного ранее, что бы можно было получить этого игрока через getPlayer().

...

Ой я что-то туплю, простите.
Или вообще будет лучше так наверное:
Сделать метод

getPlayerWithMaxPvP(){...}

Будет возвращать именно обьект игрока у которого макс пвп.
Тогда:

Код:
L2PcInstance PrevHero;

if(player.getPvpKills() > getPlayersMaxPvP())
{
    PrevHero = getPlayerWithMaxPvP();
    PrevHero.setHero(false);
    player.setHero(true);
PrevHero = null;
}

З.Ы. Начисление setPvpKills(getPvpKills() + 1); идет уже после этой проверки
Ответ
#13
Вам скорее всего придется перепилить систему PVP. Сделать аналог PK в GOD (только вместо получения репутации - зачисление PVP).
Ответ
#14
Цитата:Вам скорее всего придется перепилить систему PVP. Сделать аналог PK в GOD (только вместо получения репутации - зачисление PVP).
??? Не понял о чем вообще идет речь. GOD не видел и не пользуюсь и вряд ли буду когда-то использовать - вызывает отвращение Wink

Код:
L2PcInstance PrevHero;

if(player.getPvpKills() > PrevHero.getPlayerWithMaxPvP().getPvpKills())
{
    PrevHero.getPlayerWithMaxPvP().setHero(false);
    player.setHero(true);
        PrevHero = null;
}

Наверное будет даже как-то так.
Плз помогите разобраться: как получить значение макс пвп из всех игроков?

для метода getPlayerWithMaxPvP()
Ответ
#15
halaymoon Написал:Наверное будет даже как-то так.
Плз помогите разобраться: как получить значение макс пвп из всех игроков?

из базы данных
Ответ
#16
Код:
select max(pvpkills) from `characters`;
вернет наибольшее значение
Ответ
#17
ExLite Написал:
Код:
select max(pvpkills) from `characters`;
вернет наибольшее значение

и что с этим делать? ему нужен персонаж, а точнее его objectId.
Ответ
#18
Группировать по charId, сотировать по pvpkills desc, limit 1
Ответ
#19
coldy Написал:и что с этим делать? ему нужен персонаж, а точнее его objectId.
Точно, чет не подумал что ему надо будет еще удалять предыдущего хиро :redlol:
тогда
Код:
select obj_Id from characters where pvpkills = (select max(pvpkills) from characters);
Ответ
#20
halaymoon Написал:??? Не понял о чем вообще идет речь. GOD не видел и не пользуюсь и вряд ли буду когда-то использовать - вызывает отвращение Wink

Вот именно что даже не видели а вызывает отвращение. Однако кое что оттуда можно позаимствовать.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Не могу убрать хиро свечение после удаление статуса Dementor 14 4,218 05-20-2015, 06:40 PM
Последний пост: Dementor
  Хиро AMBASSADRO 3 1,713 12-24-2012, 01:18 AM
Последний пост: kingzor
  Как выдать "одноразовый хиро" игроку после Ласт Хиро duhnochi 0 1,530 08-03-2012, 06:28 AM
Последний пост: duhnochi
  Как давать хиро на время? dbnfkbr33 7 1,747 02-12-2012, 05:07 PM
Последний пост: Gambit_J
  Евент ласт хиро XeonDead 3 1,479 12-11-2011, 05:15 PM
Последний пост: Deron
  серв не выдал хиро, и не хочет JaneKyun 4 2,921 10-04-2010, 10:53 PM
Последний пост: Ozzy
  Помогите Настроить НПЦ который дает хиро и нублесс raicer 1 1,904 09-22-2010, 12:56 PM
Последний пост: MeGaPk
  ХИРО РАКОМ? JaneKyun 3 2,115 07-03-2010, 06:05 PM
Последний пост: Joker
  Хиро пухи и пвп зона Forward 2 3,873 04-02-2010, 08:11 AM
Последний пост: Forward

Перейти к форуму:


Пользователи, просматривающие эту тему: 5 Гость(ей)