L2J_CE

Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
L2J_CE

L2J_CE Server


Участников: 3

    Предложения[core]

    ArtiShok
    ArtiShok


    Сообщения : 1144
    Дата регистрации : 2010-03-10

    Предложения[core] Empty Предложения[core]

    Сообщение  ArtiShok Вт Мар 16, 2010 4:46 pm

    Сказка, не могли бы вы добавить в сборку:

    Что бы избежать юзанья бага с саб классом я использую этот скрип что бы обезвредить всё оружие и доспехи с заменой класса.
    model/actor/instance/L2PcInstance.java

    Код:
    /**
            * Changes the character's class based on the given class index.
            * <BR><BR>
            * An index of zero specifies the character's original (base) class,
            * while indexes 1-3 specifies the character's sub-classes respectively.
            * 
            * @param classIndex
            */
            public boolean setActiveClass(int classIndex)
            {
    +              L2ItemInstance chest = getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST);
    +              if (chest != null)
    +              {
    +                     
    +                              L2ItemInstance[] unequipped = +getInventory().unEquipItemInBodySlotAndRecord(chest.getItem().getBodyPart());
    +                              InventoryUpdate iu = new InventoryUpdate();
    +                              for (L2ItemInstance element : unequipped)
    +                                      iu.addModifiedItem(element);
    +                              sendPacket(iu);
    +                     
    +              }
    +             
    +              L2ItemInstance head = getInventory().getPaperdollItem(Inventory.PAPERDOLL_HEAD);
    +              if (head != null)
    +              {
    +                     
    +                              L2ItemInstance[] unequipped = +getInventory().unEquipItemInBodySlotAndRecord(head.getItem().getBodyPart());
    +                              InventoryUpdate iu = new InventoryUpdate();
    +                              for (L2ItemInstance element : unequipped)
    +                                      iu.addModifiedItem(element);
    +                              sendPacket(iu);
    +                     
    +              }
    +             
    +              L2ItemInstance gloves = getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES);
    +              if (gloves != null)
    +              {
    +                     
    +                              L2ItemInstance[] unequipped = +getInventory().unEquipItemInBodySlotAndRecord(gloves.getItem().getBodyPart());
    +                              InventoryUpdate iu = new InventoryUpdate();
    +                              for (L2ItemInstance element : unequipped)
    +                                      iu.addModifiedItem(element);
    +                              sendPacket(iu);
    +                     
    +              }
    +             
    +              L2ItemInstance feet = getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET);
    +              if (feet != null)
    +              {
    +                     
    +                              L2ItemInstance[] unequipped = +getInventory().unEquipItemInBodySlotAndRecord(feet.getItem().getBodyPart());
    +                              InventoryUpdate iu = new InventoryUpdate();
    +                              for (L2ItemInstance element : unequipped)
    +                                      iu.addModifiedItem(element);
    +                              sendPacket(iu);
    +                     
    +              }
    +             
    +              L2ItemInstance legs = getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS);
    +              if (legs != null)
    +              {
    +                     
    +                              L2ItemInstance[] unequipped = +getInventory().unEquipItemInBodySlotAndRecord(legs.getItem().getBodyPart());
    +                              InventoryUpdate iu = new InventoryUpdate();
    +                              for (L2ItemInstance element : unequipped)
    +                                      iu.addModifiedItem(element);
    +                              sendPacket(iu);
    +                     
    +              }
    +             
    +              L2ItemInstance rhand = getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
    +              if (rhand != null)
    +              {
    +                     
    +                              L2ItemInstance[] unequipped = +getInventory().unEquipItemInBodySlotAndRecord(rhand.getItem().getBodyPart());
    +                              InventoryUpdate iu = new InventoryUpdate();
    +                              for (L2ItemInstance element : unequipped)
    +                                      iu.addModifiedItem(element);
    +                              sendPacket(iu);
    +                     
    +              }
    +             
    +              L2ItemInstance lhand = getInventory().getPaperdollItem(Inventory.PAPERDOLL_LHAND);
    +              if (lhand != null)
    +              {
    +                     
    +                              L2ItemInstance[] unequipped = +getInventory().unEquipItemInBodySlotAndRecord(lhand.getItem().getBodyPart());
    +                              InventoryUpdate iu = new InventoryUpdate();
    +                              for (L2ItemInstance element : unequipped)
    +                                      iu.addModifiedItem(element);
    +                              sendPacket(iu);
    +                     
    +              }
    Взято с la2base.ru
    Решение со Лже Гмами.
    Этот патч позволит вам банить гма если он будет пытаться дать права тому кто не гм.

    Код:
    Index: D:/Workspace/GameServer_Clean/java/config/options.properties
    ===================================================================
    --- D:/Workspace/GameServer_Clean/java/config/options.properties        (revision 708)
    +++ D:/Workspace/GameServer_Clean/java/config/options.properties        (working copy)
    @@ -168,6 +168,8 @@
     L2WalkerRevision  = 552
     # Ban account if account using l2walker and is not GM, AllowL2Walker = False
     AutobanL2WalkerAcc = False
    +# Ban Edited Player and Corrupt GM if a GM edits a NON GM character.
    +GMEdit = False
     
     
     # =================================================================
    Index: D:/Workspace/GameServer_Clean/java/net/sf/l2j/Config.java
    ===================================================================
    --- D:/Workspace/GameServer_Clean/java/net/sf/l2j/Config.java  (revision 708)
    +++ D:/Workspace/GameServer_Clean/java/net/sf/l2j/Config.java  (working copy)
    @@ -520,6 +520,9 @@
            public static boolean          AUTOBAN_L2WALKER_ACC;
            /** Revision of L2Walker */
            public static int                      L2WALKER_REVISION;
    +     
    +      /** GM Edit allowed on Non Gm players? */
    +      public static boolean            GM_EDIT;
     
            /** Allow Discard item ?*/
            public static boolean          ALLOW_DISCARDITEM;
    @@ -1127,6 +1130,7 @@
                                    ALLOW_L2WALKER_CLIENT            = L2WalkerAllowed.valueOf(optionsSettings.getProperty("AllowL2Walker", "False"));
                                    L2WALKER_REVISION                        = Integer.parseInt(optionsSettings.getProperty("L2WalkerRevision", "537"));
                                    AUTOBAN_L2WALKER_ACC                  = Boolean.valueOf(optionsSettings.getProperty("AutobanL2WalkerAcc", "False"));
    +                              GM_EDIT                                                = Boolean.valueOf(optionsSettings.getProperty("GMEdit", "False"));
                                   
                                    ACTIVATE_POSITION_RECORDER      = Boolean.valueOf(optionsSettings.getProperty("ActivatePositionRecorder", "False"));
                             
    Index: D:/Workspace/GameServer_Clean/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminExpSp.java
    ===================================================================
    --- D:/Workspace/GameServer_Clean/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminExpSp.java      (revision 708)
    +++ D:/Workspace/GameServer_Clean/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminExpSp.java      (working copy)
    @@ -29,6 +29,8 @@
     import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
     import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage;
     import net.sf.l2j.gameserver.serverpackets.SystemMessage;
    +import net.sf.l2j.gameserver.util.IllegalPlayerAction;
    +import net.sf.l2j.gameserver.util.Util;
     
     /**
      * This class handles following admin commands:
    @@ -222,8 +224,24 @@
                                    smA.addString("Wrong Number Format");
                                    activeChar.sendPacket(smA);
                            }
    -                      if(expval != 0 || spval != 0)
    +                      /**
    +                        * Anti-Corrupt GMs Protection.
    +                        * If GMEdit enabled, a GM won't be able to Add Exp or SP to any other
    +                        * player that's NOT  a GM character. And in addition.. both player and
    +                        * GM WILL be banned.
    +                        */
    +                      if(Config.GM_EDIT && (expval != 0 || spval != 0)&& !player.isGM())
                            {
    +                              //Warn the player about his inmediate ban.
    +                              player.sendMessage("A GM tried to edit you in "+expval+" exp points and in "+spval+" sp points.You will both be banned.");
    +                              Util.handleIllegalPlayerAction(player,"The player "+player.getName()+" has been edited. BAN!!", IllegalPlayerAction.PUNISH_KICKBAN);
    +                              //Warn the GM about his inmediate ban.
    +                              player.sendMessage("You tried to edit "+player.getName()+" by "+expval+" exp points and "+spval+". You both be banned now.");
    +                              Util.handleIllegalPlayerAction(activeChar,"El GM "+activeChar.getName()+" ha editado a alguien. BAN!!", IllegalPlayerAction.PUNISH_KICKBAN);
    +                              _log.severe("GM "+activeChar.getName()+" tried to edit "+player.getName()+". They both have been Banned.");
    +                      }
    +                      else if(expval != 0 || spval != 0)
    +                        {
                                    //Common character information
                                    SystemMessage sm = new SystemMessage(614);
                                    sm.addString("Admin is adding you "+expval+" xp and "+spval+" sp.");
    Взято с la2base.ru


    Последний раз редактировалось: ArtiShok (Вт Мар 16, 2010 4:55 pm), всего редактировалось 1 раз(а)
    ArtiShok
    ArtiShok


    Сообщения : 1144
    Дата регистрации : 2010-03-10

    Предложения[core] Empty Re: Предложения[core]

    Сообщение  ArtiShok Вт Мар 16, 2010 4:49 pm

    Классно бы было если еще такое добавите с выводом в конфиги:
    Многие возможно помнят сервер Infinity в котором убив определенное количество людей в пвп убийца получал свечение Героя,а когда его убивали оно пропадало.

    Скрипт тестировался и работает 100%

    Код:
    Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 1901)
    +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy)
    @@ -488,6 +488,11 @@

    private boolean _noble = false;
    private boolean _hero = false;
    +
    + /** Special hero aura values */
    + private int heroConsecutiveKillCount = 0;
    + private boolean isPermaHero = false;
    + private boolean isPVPHero = false;

    /** The L2FolkInstance corresponding to the last Folk wich one the player talked. */
    private L2FolkInstance _lastFolkNpc = null;
    @@ -1971,6 +1976,13 @@
    public void setPvpKills(int pvpKills)
    {
    _pvpKills = pvpKills;
    +
    + // Set hero aura if pvp kills > 100
    + if (pvpKills > 100)
    + {
    + isPermaHero = true;
    + setHeroAura(true);
    + }
    }

    /**
    @@ -4678,6 +4690,14 @@

    stopRentPet();
    stopWaterTask();
    +
    + // Remove kill count for special hero aura if total pvp < 100
    + heroConsecutiveKillCount = 0;
    + if (!isPermaHero)
    + {
    + setHeroAura(false);
    + sendPacket(new UserInfo(this));
    + }
    return true;
    }

    @@ -4897,6 +4917,13 @@
    {
    // Add karma to attacker and increase its PK counter
    setPvpKills(getPvpKills() + 1);
    +
    + // Increase the kill count for a special hero aura
    + heroConsecutiveKillCount++;
    +
    + // If heroConsecutiveKillCount > 4 (5+ kills) give hero aura
    + if(heroConsecutiveKillCount > 4)
    + setHeroAura(true);

    // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
    sendPacket(new UserInfo(this));
    @@ -8715,6 +8742,22 @@
    {
    return _blockList;
    }
    +
    + public void reloadPVPHeroAura()
    + {
    + sendPacket(new UserInfo(this));
    + }
    +
    + public void setHeroAura (boolean heroAura)
    + {
    + isPVPHero = heroAura;
    + return;
    + }
    +
    + public boolean getIsPVPHero()
    + {
    + return isPVPHero;
    + }

    public void setHero(boolean hero)
    {
    Index: java/net/sf/l2j/gameserver/serverpackets/UserInfo.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/serverpackets/UserInfo.java (revision 1901)
    +++ java/net/sf/l2j/gameserver/serverpackets/UserInfo.java (working copy)
    @@ -337,7 +337,7 @@

    writeD(_activeChar.getClanCrestLargeId());
    writeC(_activeChar.isNoble() ? 1 : 0); //0x01: symbol on char menu ctrl+I
    - writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA)) ? 1 : 0); //0x01: Hero Aura
    + writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) || _activeChar.getIsPVPHero()) ? 1 : 0); //0x01: Hero Aura

    writeC(_activeChar.isFishing() ? 1 : 0); //Fishing Mode
    writeD(_activeChar.getFishx()); //fishing x

    Дополнительная информация:

    + // Set hero aura if pvp kills > 100
    + if (pvpKills > 100)

    Собрав 100 очков вы получите херо ауру,также как если бы вы зайдёте в игру и будете иметь 100 пвп,то после 101 пвп получите херо ауру

    + // If heroConsecutiveKillCount > 4 (5+ kills) give hero aura
    + if(heroConsecutiveKillCount > 4)
    Взято с la2base.ru

    Если можно то еще:

    Сейчас я вам роскажу как сделать так что бы Вещи которые ломаются ломались не на 0 а на указаное вами значения (+ конфиг)

    и так идем в
    Код:
    javanetsfl2jgameserverclientpackets

    И открываем там Файл: RequestEnchantItem.java
    Ищем там строку: 422423 Ищем такой ТЕКСТ:
    Код:
    item.setEnchantLevel(0);
                                    item.updateDatabase();

    Изменяем текст на такой:
    Код:
    item.setEnchantLevel(Config.Cancel_ENCHANT);
                                    item.updateDatabase();

    Потом идём в
    Код:
     javanetsfl2j

    Открываем Файл: Config.java
    и добавляем там такие строки:
    Код:
    //enchant
            public static int                          Cancel_ENCHANT;

    и ищем ENCHANT_CONFIG_FILE
    и добавляем ниже:
    Код:
    Cancel_ENCHANT = Integer.parseInt(enchantSettings.getProperty("EnchantCancel", "0"));

    и на последок добавляем в файле Configenchant.ini
    Код:
    # При не удачном точении вещь слетает на указаное значение
    # По умолчанию 0
    EnchantCancel = 0

    Где 0 ставим значение к которому хотим что бы слетали вещи к примеру "10"
    Взято с la2base.ru

    Так же есть предложение:
    Хтмл дропа разбивать на несколько страниц(к примеру у гранд боссов я не могу посмотреть потому что слишком длинный хтмл, или не могу посмотреть какой у человека бафф если есть фулл бафф)
    avatar
    amatory09


    Сообщения : 53
    Дата регистрации : 2010-03-26

    Предложения[core] Empty 1

    Сообщение  amatory09 Чт Апр 01, 2010 11:45 pm

    Так и чё со всем этим делать?
    ArtiShok
    ArtiShok


    Сообщения : 1144
    Дата регистрации : 2010-03-10

    Предложения[core] Empty Re: Предложения[core]

    Сообщение  ArtiShok Чт Апр 01, 2010 11:48 pm

    amatory09 пишет:Так и чё со всем этим делать?
    ну сказка уже добавил много)
    plavik
    plavik


    Сообщения : 184
    Дата регистрации : 2010-03-08
    Возраст : 32
    Откуда : Дагестан

    Предложения[core] Empty Re: Предложения[core]

    Сообщение  plavik Пт Апр 02, 2010 4:10 pm

    ArtiShok пишет:Классно бы было если еще такое добавите с выводом в конфиги:
    Многие возможно помнят сервер Infinity в котором убив определенное количество людей в пвп убийца получал свечение Героя,а когда его убивали оно пропадало.

    Скрипт тестировался и работает 100%

    Код:
    Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 1901)
    +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy)
    @@ -488,6 +488,11 @@

    private boolean _noble = false;
    private boolean _hero = false;
    +
    + /** Special hero aura values */
    + private int heroConsecutiveKillCount = 0;
    + private boolean isPermaHero = false;
    + private boolean isPVPHero = false;

    /** The L2FolkInstance corresponding to the last Folk wich one the player talked. */
    private L2FolkInstance _lastFolkNpc = null;
    @@ -1971,6 +1976,13 @@
    public void setPvpKills(int pvpKills)
    {
    _pvpKills = pvpKills;
    +
    + // Set hero aura if pvp kills > 100
    + if (pvpKills > 100)
    + {
    + isPermaHero = true;
    + setHeroAura(true);
    + }
    }

    /**
    @@ -4678,6 +4690,14 @@

    stopRentPet();
    stopWaterTask();
    +
    + // Remove kill count for special hero aura if total pvp < 100
    + heroConsecutiveKillCount = 0;
    + if (!isPermaHero)
    + {
    + setHeroAura(false);
    + sendPacket(new UserInfo(this));
    + }
    return true;
    }

    @@ -4897,6 +4917,13 @@
    {
    // Add karma to attacker and increase its PK counter
    setPvpKills(getPvpKills() + 1);
    +
    + // Increase the kill count for a special hero aura
    + heroConsecutiveKillCount++;
    +
    + // If heroConsecutiveKillCount > 4 (5+ kills) give hero aura
    + if(heroConsecutiveKillCount > 4)
    + setHeroAura(true);

    // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
    sendPacket(new UserInfo(this));
    @@ -8715,6 +8742,22 @@
    {
    return _blockList;
    }
    +
    + public void reloadPVPHeroAura()
    + {
    + sendPacket(new UserInfo(this));
    + }
    +
    + public void setHeroAura (boolean heroAura)
    + {
    + isPVPHero = heroAura;
    + return;
    + }
    +
    + public boolean getIsPVPHero()
    + {
    + return isPVPHero;
    + }

    public void setHero(boolean hero)
    {
    Index: java/net/sf/l2j/gameserver/serverpackets/UserInfo.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/serverpackets/UserInfo.java (revision 1901)
    +++ java/net/sf/l2j/gameserver/serverpackets/UserInfo.java (working copy)
    @@ -337,7 +337,7 @@

    writeD(_activeChar.getClanCrestLargeId());
    writeC(_activeChar.isNoble() ? 1 : 0); //0x01: symbol on char menu ctrl+I
    - writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA)) ? 1 : 0); //0x01: Hero Aura
    + writeC((_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) || _activeChar.getIsPVPHero()) ? 1 : 0); //0x01: Hero Aura

    writeC(_activeChar.isFishing() ? 1 : 0); //Fishing Mode
    writeD(_activeChar.getFishx()); //fishing x

    Дополнительная информация:

    + // Set hero aura if pvp kills > 100
    + if (pvpKills > 100)

    Собрав 100 очков вы получите херо ауру,также как если бы вы зайдёте в игру и будете иметь 100 пвп,то после 101 пвп получите херо ауру

    + // If heroConsecutiveKillCount > 4 (5+ kills) give hero aura
    + if(heroConsecutiveKillCount > 4)
    Взято с la2base.ru

    Если можно то еще:

    Сейчас я вам роскажу как сделать так что бы Вещи которые ломаются ломались не на 0 а на указаное вами значения (+ конфиг)

    и так идем в
    Код:
    javanetsfl2jgameserverclientpackets

    И открываем там Файл: RequestEnchantItem.java
    Ищем там строку: 422423 Ищем такой ТЕКСТ:
    Код:
    item.setEnchantLevel(0);
                                    item.updateDatabase();

    Изменяем текст на такой:
    Код:
    item.setEnchantLevel(Config.Cancel_ENCHANT);
                                    item.updateDatabase();

    Потом идём в
    Код:
     javanetsfl2j

    Открываем Файл: Config.java
    и добавляем там такие строки:
    Код:
    //enchant
            public static int                          Cancel_ENCHANT;

    и ищем ENCHANT_CONFIG_FILE
    и добавляем ниже:
    Код:
    Cancel_ENCHANT = Integer.parseInt(enchantSettings.getProperty("EnchantCancel", "0"));

    и на последок добавляем в файле Configenchant.ini
    Код:
    # При не удачном точении вещь слетает на указаное значение
    # По умолчанию 0
    EnchantCancel = 0

    Где 0 ставим значение к которому хотим что бы слетали вещи к примеру "10"
    Взято с la2base.ru

    Так же есть предложение:
    Хтмл дропа разбивать на несколько страниц(к примеру у гранд боссов я не могу посмотреть потому что слишком длинный хтмл, или не могу посмотреть какой у человека бафф если есть фулл бафф)
    ]


    я уже делал такую строку в своей темке арчи если ты не заметил ) и сказка ет уже реализовал))
    avatar
    amatory09


    Сообщения : 53
    Дата регистрации : 2010-03-26

    Предложения[core] Empty Re: Предложения[core]

    Сообщение  amatory09 Сб Апр 03, 2010 6:04 pm

    А свечения в пвп как героя добавили или это план на будущее?
    plavik
    plavik


    Сообщения : 184
    Дата регистрации : 2010-03-08
    Возраст : 32
    Откуда : Дагестан

    Предложения[core] Empty Re: Предложения[core]

    Сообщение  plavik Сб Апр 03, 2010 6:49 pm

    просто зделали и все

      Текущее время Пт Окт 04, 2024 7:24 am