Maxo 4 Опубликовано 16 марта, 2015 Сборка First Team (Hi5) Есть такой конфиг, выдача награды за Пвп/ПК # Система награды за ПВП PkPvPKillEnable = True //SERVICES_PK_PVP_KILL_ENABLEPvPKillRewardCount = 1 //SERVICES_PVP_KILL_REWARD_COUNTPvPkillRewardItem = 4037 //SERVICES_PVP_KILL_REWARD_COUNTPkKillRewardCount = 1 //SERVICES_PK_KILL_REWARD_COUNTPkkillRewardItem = 4037 //SERVICES_PK_KILL_REWARD_ITEM # Выдавать ли участником Пвп/ПК награду из одного IPPkPvPTieifSameIP = True //SERVICES_PK_PVP_TIE_IF_SAME_IP не в каком варианте не хочет давать награду, вот код, который отвечает за выдачу public final void doKillInPeace(final Player killer) // Check if the L2Player killed haven't Karma { if(_karma <= 0 && (_event == null || _event.checkPvP(killer, this))) { if(Config.SERVICES_PK_PVP_KILL_ENABLE) { if(Config.SERVICES_PK_PVP_TIE_IF_SAME_IP) { if(this.getIP() == null ? killer.getIP() != null : !this.getIP().equals(killer.getIP())) ItemFunctions.addItem(killer, Config.SERVICES_PK_KILL_REWARD_ITEM, Config.SERVICES_PK_KILL_REWARD_COUNT, true); } else ItemFunctions.addItem(killer, Config.SERVICES_PK_KILL_REWARD_ITEM, Config.SERVICES_PK_KILL_REWARD_COUNT, true); } doPurePk(killer); } else { if(Config.SERVICES_PK_PVP_KILL_ENABLE) { if(Config.SERVICES_PK_PVP_TIE_IF_SAME_IP) { if(this.getIP() == null ? killer.getIP() != null : !this.getIP().equals(killer.getIP())) ItemFunctions.addItem(killer, Config.SERVICES_PVP_KILL_REWARD_ITEM, Config.SERVICES_PVP_KILL_REWARD_COUNT, true); } else ItemFunctions.addItem(killer, Config.SERVICES_PVP_KILL_REWARD_ITEM, Config.SERVICES_PVP_KILL_REWARD_COUNT, true); } killer.setPvpKills(killer.getPvpKills() + 1); } } Никак не пойму, почему всё таки награду не дают, если есть идеии подскажите пожайлусто Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NerfPl0x 38 Опубликовано 16 марта, 2015 if(this.getIP() == null ? killer.getIP() != null : !this.getIP().equals(killer.getIP()))Может потому, что ты с 1 компа пробуешь ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Maxo 4 Опубликовано 16 марта, 2015 if(this.getIP() == null ? killer.getIP() != null : !this.getIP().equals(killer.getIP()))Может потому, что ты с 1 компа пробуешь ? 1. ну в конфиге я прописал PkPvPTieifSameIP = True 2. вообще закоменнтил оставил только так if(Config.SERVICES_PK_PVP_KILL_ENABLE) { ItemFunctions.addItem(killer, Config.SERVICES_PVP_KILL_REWARD_ITEM, Config.SERVICES_PK_KILL_REWARD_COUNT, true); } всё равно не даёт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NerfPl0x 38 Опубликовано 16 марта, 2015 (изменено) Тогда не знаю. На фрозене (interlude) у меня код выглядит вот так, может чем поможет) private void addItemReward(final L2PcInstance targetPlayer) { // IP check if (targetPlayer.getClient() != null && targetPlayer.getClient().getConnection() != null) { if (targetPlayer.getClient().getConnection().getInetAddress() != getClient().getConnection().getInetAddress()) { if (targetPlayer.getKarma() > 0 || targetPlayer.getPvpFlag() > 0) // killing target pk or in pvp { if (Config.PVP_REWARD_ENABLED) { final int item = Config.PVP_REWARD_ID; final L2Item reward = ItemTable.getInstance().getTemplate(item); final int amount = Config.PVP_REWARD_AMOUNT; getInventory().addItem("Winning PvP", Config.PVP_REWARD_ID, Config.PVP_REWARD_AMOUNT, this, null); sendMessage("Вы получаете " + amount + reward.getName() + " за убийство"); } if (!Config.FORCE_INVENTORY_UPDATE) { InventoryUpdate iu = new InventoryUpdate(); iu.addItem(_inventory.getItemByItemId(Config.PVP_REWARD_ID)); sendPacket(iu); iu = null; } } else // target is not pk and not in pvp ---> PK KILL { if (Config.PK_REWARD_ENABLED) { final int item = Config.PK_REWARD_ID; final L2Item reward = ItemTable.getInstance().getTemplate(item); final int amount = Config.PK_REWARD_AMOUNT; getInventory().addItem("Winning PK", Config.PK_REWARD_ID, Config.PK_REWARD_AMOUNT, this, null); sendMessage("You have earned " + amount + " item(s) of " + reward.getName() + "."); } if (!Config.FORCE_INVENTORY_UPDATE) { InventoryUpdate iu = new InventoryUpdate(); iu.addItem(_inventory.getItemByItemId(Config.PK_REWARD_ID)); sendPacket(iu); iu = null; } } } else { this.sendMessage("Фарм оконами карается баном"); LOGGER.warn("PVP POINT FARM ATTEMPT: " + this.getName() + " and " + targetPlayer.getName() + ". SAME IP."); } } } Изменено 16 марта, 2015 пользователем NerfPl0x 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
StreLpower 10 Опубликовано 17 марта, 2015 Мне кажется вместо ItemFunctions надо подставить player Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Maxo 4 Опубликовано 17 марта, 2015 нет сама функция ItemFunctions.addItem(killer, Config.SERVICES_PVP_KILL_REWARD_ITEM, Config.SERVICES_PK_KILL_REWARD_COUNT, true); заработала, после шаманство, но сам код не коректный, особенно когда в дело включаеться ИП, капаю дальше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pro100Sata 0 Опубликовано 3 декабря, 2018 В 17.03.2015 в 18:56, Maxo сказал: нет сама функция ItemFunctions.addItem(killer, Config.SERVICES_PVP_KILL_REWARD_ITEM, Config.SERVICES_PK_KILL_REWARD_COUNT, true); заработала, после шаманство, но сам код не коректный, особенно когда в дело включаеться ИП, капаю дальше Разобрался? Можешь рассказать в чем проблема? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты