Secret Experience

Secret Experience (https://secretexperience.net/index.php)
-   [Lineage] Java Mods (https://secretexperience.net/forumdisplay.php?f=636)
-   -   [L2JServer] Noblesse Armor (https://secretexperience.net/showthread.php?t=28095)

Lanterna-Verde 04-12-2010 10:00 PM

Noblesse Armor
 
1 Anexo(s)
Com este código é possível criar um set noblesse. ou seja, o player não perde os buffs quando estiver com o set equipado.
Para configurar qual set receberá este poder, Basta Modificar todos os 0 para o ID do set.
Ideal para Set Donator :D
Código:

Index: java/com/l2jserver/gameserver/Custom/ArmorNoblesse.java
===================================================================
--- java/com/l2jserver/gameserver/Custom/ArmorNoblesse.java    (revision 0)
+++ java/com/l2jserver/gameserver/Custom/ArmorNoblesse.java    (revision 0)
@@ -0,0 +1,72 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.gameserver.Custom;
+
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.itemcontainer.Inventory;
+import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
+
+/**
+ * @author Issle
+ *
+ */
+public class ArmorNoblesse
+{
+    public static final int bodyId = 0;
+    public static final int pantsId = 0;
+    public static final int glovesId = 0;
+    public static final int bootsId = 0;
+    public static final int helmetId = 0;
+   
+    public static boolean hasArmorNoblesse(L2PcInstance activeChar)
+    {
+        PcInventory inventory = activeChar.getInventory();
+       
+        int _pantsId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_LEGS);
+        int _bodyId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_CHEST);
+        int _helmetId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_HEAD);
+        int _glovesId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES);
+        int _bootsId = inventory.getPaperdollItemId(Inventory.PAPERDOLL_FEET);
+       
+        if(_pantsId != pantsId)
+            return false;
+        if(_glovesId != glovesId)
+            return false;
+        if(_bodyId != bodyId)
+            return false;
+        if(_helmetId != helmetId)
+            return false;
+        if(_bootsId != bootsId)
+            return false;
+        activeChar.sendMessage("You maintained your buffs cause of your special armor configuration.");
+        return true;
+    }
+   
+    private static void printParts(L2PcInstance activeChar, int part)
+    {
+        activeChar.sendMessage(String.valueOf(part));
+    }
+}
Index: java/com/l2jserver/gameserver/model/actor/L2Playable.java
===================================================================
--- java/com/l2jserver/gameserver/model/actor/L2Playable.java    (revision 4222)
+++ java/com/l2jserver/gameserver/model/actor/L2Playable.java    (working copy)
@@ -14,6 +14,7 @@
  */
 package com.l2jserver.gameserver.model.actor;
 
+import com.l2jserver.gameserver.Custom.ArmorNoblesse;
 import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.model.L2Effect;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -136,6 +137,10 @@
            if (getCharmOfLuck()) //remove Lucky Charm if player have Nobless blessing buff
                stopCharmOfLuck(null);
        }
+        else if(this instanceof L2PcInstance && ArmorNoblesse.hasArmorNoblesse((L2PcInstance)this))
+        {
+            //do nothing.
+        }
        else
            stopAllEffectsExceptThoseThatLastThroughDeath();

Author: Issle
==================================
Adicionado Configurações de set ao Anexo

RodolfoLopes 05-12-2010 05:50 AM

existe uma maneira de escolher id pela config nao ?

pq se muda de set vai ter que compila novamente.

GangsterMG 05-12-2010 08:57 AM

@Rodolfo !


ArmorNoblesse.java

Citação:

+import com.l2jserver.Config;
Citação:

- public static final int bodyId = 0;
- public static final int pantsId = 0;
- public static final int glovesId = 0;
- public static final int bootsId = 0;
- public static final int helmetId = 0;

+ public static final int bodyId = Config.ITEM_BODY;
+ public static final int pantsId = Config.ITEM_PANTS;
+ public static final int glovesId = Config.ITEM_GLOVES;
+ public static final int bootsId = Config.ITEM_BOOTS;
+ public static final int helmetId = Config.ITEM_HELMET;
Config.java

Citação:

+ public static int ITEM_BODY;
+ public static int ITEM_PLANTS;
+ public static int ITEM_GLOVES;
+ public static int ITEM_BOOTS;
+ public static int ITEM_HELMET;
Citação:

+ ITEM_BODY = Integer.parseInt(l2jmods.getProperty("NoblesItemBo dy","0"));
+ ITEM_PLANTS = Integer.parseInt(l2jmods.getProperty("NoblesItemPl ants", "0"));
+ ITEM_GLOVES = Integer.parseInt(l2jmods.getProperty("NoblesItemGl oves", "0"));
+ ITEM_BOOTS = Integer.parseInt(l2jmods.getProperty("NoblesItemBo ots", "0"));
+ ITEM_HELMET = Integer.parseInt(l2jmods.getProperty("NoblesItemHe lmet", "0"));
L2Jmods.properts

Citação:

#-----------------------
# Nobles Item #
#-----------------------
#Parte Helmet Set Nobles
NoblesItemHelmet = 0
#Parte Boot Set Nobless
NoblesItemBoots = 0
#Parte Gloves Set Nobles
NoblesItemGloves = 0
#Parte Plant Set Nobles
NoblesItemPlants = 0
#Parte Body Set Nobles
NoblesItemBody = 0
BY: Kinho!

mend3 05-12-2010 04:51 PM

Um modo mais simples é pegar um Set, montar ele na tabela armorsets, e add uma skill passiva pra ele via xml ^^

Mas, good shared (:

Lanin 05-12-2010 05:52 PM

Muito boa GangsterMG.

Anyway, obrigado ai Lanterna Verde pelo conteúdo, eu também tava procurando ;)

GangsterMG 05-12-2010 06:01 PM

Citação:

+ ITEM_BODY = Integer.parseInt(l2jmods.getProperty("NoblesItemBody","0"));
+ ITEM_PLANTS = Integer.parseInt(l2jmods.getProperty("NoblesItemPlants", "0"));
+ ITEM_GLOVES = Integer.parseInt(l2jmods.getProperty("NoblesItemGloves", "0"));
+ ITEM_BOOTS = Integer.parseInt(l2jmods.getProperty("NoblesItemBoots", "0"));
+ ITEM_HELMET = Integer.parseInt(l2jmods.getProperty("NoblesItemHelmet", "0"));
naum sei por que essas parte fikou com espaço la ... Mais nao tem espaço !

ManoeL-ADM 05-12-2010 06:01 PM

@all

vo tenta modificar esse mod pra ser via banco de dados ... por 1 coluna vip na tabela armor e weapon

seria bem melhor e mais pratico

RodolfoLopes 06-12-2010 02:26 PM

seria bom se desse para criar skil de nobless passiva eu ja tentei coloca passiva mas ela nao ta efeito para nao perder buffer quando morre.

mas se alguem souber esina ae pra nós mas pratico.


Horários baseados na GMT -3. Agora são 10:47 PM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.