Ir para conteúdo
  • Cadastre-se
  • 0

DIVERSOS RATE VIP


Voldigoad

Pergunta

Boa Noite! bom Dia! e Boa Tarde...

Estou com Uma pequena duvida pra mi ta sendo muito confusa...

Tenho um Sistema Vip junto Com um Vip coin 2 Click da Sarada 

Com 6 coin Vip, Queria fazer o seguinte das 6 irei utilizar 5  Exemplo:  Vip 1 (10% de Rate) .Vip 2 (20% de Rate) .Vip 3 (30% de Rate)  .Vip 4 ( 40% de Rate)  E Vip 5 (com 50% de Rate).. Capite?

Não tem conhecimento sobre Mod traduzindo nao sei lé isso, Mas Consegui Arrumar O RATE Vip na Config.java eee no  L2Attackable.java 🙂

SO que nao to conseguindo encaixar ele no outro mod 😞 ta agonizante, Tipo pelo que vi so preciso encaixar ele Aqui....

===================================================================================================================

if (itemId == Config.VIP_COIN_ID1)
        {
            if (activeChar.isInOlympiadMode())
            {
                activeChar.sendMessage("This item cannot be used on Olympiad Games.");
                return;
            }
            if (activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
            {
                if (activeChar.isVip())
                {
                    long daysleft = (activeChar.getVipEndTime() - Calendar.getInstance().getTimeInMillis()) / 86400000L;
                    activeChar.setEndTime("vip", (int)(daysleft + Config.VIP_DAYS_ID1));
                    activeChar.sendMessage("Congratulations, You just received another " + Config.VIP_DAYS_ID1 + " day of VIP.");
                }
                else
                {
                    activeChar.setVip(true);
                    activeChar.setEndTime("vip", Config.VIP_DAYS_ID1);
                    activeChar.sendMessage("Congrats, you just became VIP per " + Config.VIP_DAYS_ID1 + " day.");
                }

                if (Config.ALLOW_VIP_NCOLOR && activeChar.isVip())
                    activeChar.getAppearance().setNameColor(Config.VIP_NCOLOR);

                if (Config.ALLOW_VIP_TCOLOR && activeChar.isVip()) 
                    activeChar.getAppearance().setTitleColor(Config.VIP_TCOLOR);

                activeChar.broadcastUserInfo();
                activeChar.sendPacket(new EtcStatusUpdate(activeChar));
            }
        }

==========================================================================================================================

So que nao Sei onde. Mas o menos estou perdido na activeChar.

Tem que colocar o Rate para  ativar junto com a moeda, mas tambem tem que barrar o Rate padrao do IsVip

OBG!!! 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts recomendados

  • 0

 

Assim Imagino. Porem me perdi no  arquivo VipCoin.java

-----------------------------------------------------------------------------------

Index: com/l2jfrozen/Config.java

public static int VIP_DAYS_ID3;
+public static int VIP1_ADENA_RATE;
+public static int VIP1_DROP_RATE;
+public static int VIP1_SPOIL_RATE;
+public static int VIP2_ADENA_RATE;
+public static int VIP2_DROP_RATE;
+public static int VIP2_SPOIL_RATE;
+public static int VIP3_ADENA_RATE;
+public static int VIP3_DROP_RATE;
+public static int VIP3_SPOIL_RATE;


VIP_DAYS_ID3 = Integer.parseInt(otherSettings.getProperty("VipCoinDays3", "3"));
+VIP1_ADENA_RATE = Integer.parseInt(otherSettings.getProperty("VipSilverAdenaRate", "1.2"));
+VIP1_DROP_RATE = Integer.parseInt(otherSettings.getProperty("VipSilverDropRate", "1.2"));
+VIP1_SPOIL_RATE = Integer.parseInt(otherSettings.getProperty("VipSilverSpoilRate", "1.2"));
+VIP2_ADENA_RATE = Integer.parseInt(otherSettings.getProperty("VipGoldAdenaRate", "1.3"));
+VIP2_DROP_RATE = Integer.parseInt(otherSettings.getProperty("VipGoldDropRate", "1.3"));
+VIP2_SPOIL_RATE = Integer.parseInt(otherSettings.getProperty("VipGoldSpoilRate", "1.3"));
+VIP3_ADENA_RATE = Integer.parseInt(otherSettings.getProperty("VipDiamondAdenaRate", "1.5"));
+VIP3_DROP_RATE = Integer.parseInt(otherSettings.getProperty("VipDiamondDropRate", "1.5"));
+VIP3_SPOIL_RATE = Integer.parseInt(otherSettings.getProperty("VipDiamondSpoilRate", "1.5"));

Index: com/l2jfrozen/gameserver/model/actor/L2Attackable.java
                    dropChance *= Config.DONATOR_ADENA_RATE;
                }
+                if (lastAttacker.isVip())
+                {
+                    dropChance *= Config.VIP1_ADENA_RATE;
+                }

+                if (lastAttacker.isVip())
+                {
+                    dropChance *= Config.VIP2_ADENA_RATE;
+                }

+                if (lastAttacker.isVip())
+                {
+                    dropChance *= Config.VIP3_ADENA_RATE;
+                }
            }
         }
         else if (isSweep)
        
@@ -1135,11 +1135,6 @@

                 dropChance *= Config.RATE_DROP_SPOIL;
                }
+                if (lastAttacker.isVip())
+                {
+                    dropChance *= Config.VIP1_SPOIL_RATE;
+                }

+                if (lastAttacker.isVip())
+                {
+                    dropChance *= Config.VIP2_SPOIL_RATE;
+                }

+                if (lastAttacker.isVip())
+                {
+                    dropChance *= Config.VIP3_SPOIL_RATE;
+                }
            }
         }
         else
@@ -1159,11 +1154,6 @@
                 dropChance *= Config.DONATOR_DROP_RATE;
                }
+                if (lastAttacker.isVip())
+                {
+                    dropChance *= Config.VIP1_DROP_RATE;
+                }

+                if (lastAttacker.isVip())
+                {
+                    dropChance *= Config.VIP2_DROP_RATE;
+                }

+                if (lastAttacker.isVip())
+                {
+                    dropChance *= Config.VIP3_DROP_RATE;
+            }
         }
    }
    
@@ -1338,10 +1332,6 @@
                     dropChance *= Config.DONATOR_ADENA_RATE;
                     }
+                    if (lastAttacker.isVip())
+                    {
+                        dropChance *= Config.VIP1_ADENA_RATE;
+                    }

+                    if (lastAttacker.isVip())
+                    {
+                        dropChance *= Config.VIP2_ADENA_RATE;
+                    }

+                    if (lastAttacker.isVip())
+                    {
+                        dropChance *= Config.VIP3_ADENA_RATE;
+                    }
                }
             }
             else
@@ -1361,10 +1351,6 @@
                     dropChance *= Config.DONATOR_DROP_RATE;
                    }
+                    if (lastAttacker.isVip())
+                    {
+                        dropChance *= Config.VIP1_DROP_RATE;
+                    }

+                    if (lastAttacker.isVip())
+                    {
+                        dropChance *= Config.VIP2_DROP_RATE;
+                    }

+                    if (lastAttacker.isVip())
+                    {
+                        dropChance *= Config.VIP3_DROP_RATE;
+                    }
                }
             }
Index: com/l2jfrozen/gameserver/handler/itemhandlers/VipCoin.java
 
package com.l2jfrozen.gameserver.handler.itemhandlers;

import java.util.Calendar;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.handler.IItemHandler;
import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PlayableInstance;
import com.l2jfrozen.gameserver.network.serverpackets.EtcStatusUpdate;

/**
 * 
 * @author Computer Sarada
 *
 */
public class VipCoin implements IItemHandler
{
     private static final int ITEM_IDS[] = { Config.VIP_COIN_ID1,  Config.VIP_COIN_ID2, Config.VIP_COIN_ID3, Config.VIP_COIN_ID4,  Config.VIP_COIN_ID5, Config.VIP_COIN_ID6};

    @Override
    public void useItem(final L2PlayableInstance playable, final L2ItemInstance item)
    {
        if (!(playable instanceof L2PcInstance))
            return;

        L2PcInstance activeChar = (L2PcInstance)playable;

        int itemId = item.getItemId();

        if (itemId == Config.VIP_COIN_ID1)
        {
            if (activeChar.isInOlympiadMode())
            {
                activeChar.sendMessage("This item cannot be used on Olympiad Games.");
                return;
            }
            if (activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
            {
                if (activeChar.isVip())
                {
                    long daysleft = (activeChar.getVipEndTime() - Calendar.getInstance().getTimeInMillis()) / 86400000L;
                    activeChar.setEndTime("vip", (int)(daysleft + Config.VIP_DAYS_ID1));
                    activeChar.sendMessage("Congratulations, You just received another " + Config.VIP_DAYS_ID1 + " day of VIP.");
                }
                else
                {
                    activeChar.setVip(true);
                    activeChar.setEndTime("vip", Config.VIP_DAYS_ID1);
                    activeChar.sendMessage("Congrats, you just became VIP per " + Config.VIP_DAYS_ID1 + " day.");
                }

                if (Config.ALLOW_VIP_NCOLOR && activeChar.isVip())
                    activeChar.getAppearance().setNameColor(Config.VIP_NCOLOR);

                if (Config.ALLOW_VIP_TCOLOR && activeChar.isVip()) 
                    activeChar.getAppearance().setTitleColor(Config.VIP_TCOLOR);

                activeChar.broadcastUserInfo();
                activeChar.sendPacket(new EtcStatusUpdate(activeChar));
            }
        }

        else if (itemId == Config.VIP_COIN_ID2)
        {
            if (activeChar.isInOlympiadMode())
            {
                activeChar.sendMessage("This item cannot be used on Olympiad Games.");
                return;
            }
            if (activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
            {
                if (activeChar.isVip())
                {
                    long daysleft = (activeChar.getVipEndTime() - Calendar.getInstance().getTimeInMillis()) / 86400000L;
                    activeChar.setEndTime("vip", (int)(daysleft + Config.VIP_DAYS_ID2));
                    activeChar.sendMessage("Congratulations, You just received another " + Config.VIP_DAYS_ID2 + " day of VIP.");
                }
                else
                {
                    activeChar.setVip(true);
                    activeChar.setEndTime("vip", Config.VIP_DAYS_ID2);
                    activeChar.sendMessage("Congrats, you just became VIP per " + Config.VIP_DAYS_ID2 + " day.");
                }

                if (Config.ALLOW_VIP_NCOLOR && activeChar.isVip())
                    activeChar.getAppearance().setNameColor(Config.VIP_NCOLOR);

                if (Config.ALLOW_VIP_TCOLOR && activeChar.isVip()) 
                    activeChar.getAppearance().setTitleColor(Config.VIP_TCOLOR);

                activeChar.broadcastUserInfo();
                activeChar.sendPacket(new EtcStatusUpdate(activeChar));
            }
        }

        else if (itemId == Config.VIP_COIN_ID3)
        {
            if (activeChar.isInOlympiadMode())
            {
                activeChar.sendMessage("This item cannot be used on Olympiad Games.");
                return;
            }
            if (activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
            {
                if (activeChar.isVip())
                {
                    long daysleft = (activeChar.getVipEndTime() - Calendar.getInstance().getTimeInMillis()) / 86400000L;
                    activeChar.setEndTime("vip", (int)(daysleft + Config.VIP_DAYS_ID3));
                    activeChar.sendMessage("Congratulations, You just received another " + Config.VIP_DAYS_ID3 + " day of VIP.");
                }
                else
                {
                    activeChar.setVip(true);
                    activeChar.setEndTime("vip", Config.VIP_DAYS_ID3);
                    activeChar.sendMessage("Congrats, you just became VIP per " + Config.VIP_DAYS_ID3 + " day.");
                }

                if (Config.ALLOW_VIP_NCOLOR && activeChar.isVip())
                    activeChar.getAppearance().setNameColor(Config.VIP_NCOLOR);

                if (Config.ALLOW_VIP_TCOLOR && activeChar.isVip()) 
                    activeChar.getAppearance().setTitleColor(Config.VIP_TCOLOR);

                activeChar.broadcastUserInfo();
                activeChar.sendPacket(new EtcStatusUpdate(activeChar));
            }
        }

        else if (itemId == Config.VIP_COIN_ID4)
        {
            if (activeChar.isInOlympiadMode())
            {
                activeChar.sendMessage("This item cannot be used on Olympiad Games.");
                return;
            }
            if (activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
            {
                if (activeChar.isVip())
                {
                    long daysleft = (activeChar.getVipEndTime() - Calendar.getInstance().getTimeInMillis()) / 86400000L;
                    activeChar.setEndTime("vip", (int)(daysleft + Config.VIP_DAYS_ID4));
                    activeChar.sendMessage("Congratulations, You just received another " + Config.VIP_DAYS_ID4 + " day of VIP.");
                }
                else
                {
                    activeChar.setVip(true);
                    activeChar.setEndTime("vip", Config.VIP_DAYS_ID4);
                    activeChar.sendMessage("Congrats, you just became VIP per " + Config.VIP_DAYS_ID4 + " day.");
                }

                if (Config.ALLOW_VIP_NCOLOR && activeChar.isVip())
                    activeChar.getAppearance().setNameColor(Config.VIP_NCOLOR);

                if (Config.ALLOW_VIP_TCOLOR && activeChar.isVip()) 
                    activeChar.getAppearance().setTitleColor(Config.VIP_TCOLOR);

                activeChar.broadcastUserInfo();
                activeChar.sendPacket(new EtcStatusUpdate(activeChar));
            }
        }

        else if (itemId == Config.VIP_COIN_ID5)
        {
            if (activeChar.isInOlympiadMode())
            {
                activeChar.sendMessage("This item cannot be used on Olympiad Games.");
                return;
            }
            if (activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
            {
                if (activeChar.isVip())
                {
                    long daysleft = (activeChar.getVipEndTime() - Calendar.getInstance().getTimeInMillis()) / 86400000L;
                    activeChar.setEndTime("vip", (int)(daysleft + Config.VIP_DAYS_ID5));
                    activeChar.sendMessage("Congratulations, You just received another " + Config.VIP_DAYS_ID5 + " day of VIP.");
                }
                else
                {
                    activeChar.setVip(true);
                    activeChar.setEndTime("vip", Config.VIP_DAYS_ID5);
                    activeChar.sendMessage("Congrats, you just became VIP per " + Config.VIP_DAYS_ID5 + " day.");
                }

                if (Config.ALLOW_VIP_NCOLOR && activeChar.isVip())
                    activeChar.getAppearance().setNameColor(Config.VIP_NCOLOR);

                if (Config.ALLOW_VIP_TCOLOR && activeChar.isVip()) 
                    activeChar.getAppearance().setTitleColor(Config.VIP_TCOLOR);

                activeChar.broadcastUserInfo();
                activeChar.sendPacket(new EtcStatusUpdate(activeChar));
            }
        }

        else if (itemId == Config.VIP_COIN_ID6)
        {
            if (activeChar.isInOlympiadMode())
            {
                activeChar.sendMessage("This item cannot be used on Olympiad Games.");
                return;
            }
            if (activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
            {
                if (activeChar.isVip())
                {
                    long daysleft = (activeChar.getVipEndTime() - Calendar.getInstance().getTimeInMillis()) / 86400000L;
                    activeChar.setEndTime("vip", (int)(daysleft + Config.VIP_DAYS_ID6));
                    activeChar.sendMessage("Congratulations, You just received another " + Config.VIP_DAYS_ID6 + " day of VIP.");
                }
                else
                {
                    activeChar.setVip(true);
                    activeChar.setEndTime("vip", Config.VIP_DAYS_ID6);
                    activeChar.sendMessage("Congrats, you just became VIP per " + Config.VIP_DAYS_ID6 + " day.");
                }

                if (Config.ALLOW_VIP_NCOLOR && activeChar.isVip())
                    activeChar.getAppearance().setNameColor(Config.VIP_NCOLOR);

                if (Config.ALLOW_VIP_TCOLOR && activeChar.isVip()) 
                    activeChar.getAppearance().setTitleColor(Config.VIP_TCOLOR);

                activeChar.broadcastUserInfo();
                activeChar.sendPacket(new EtcStatusUpdate(activeChar));
            }
        }
    }
    @Override
    public int[] getItemIds()
     {
             return ITEM_IDS;
     }
    }

 

Link para o comentário
Compartilhar em outros sites


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...



×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.