DS - News

Bem Vindo a DS - News


Participe do fórum, é rápido e fácil

DS - News

Bem Vindo a DS - News

DS - News

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
DS - News



    PC BANG POINT

    Conf17
    Conf17
    Membro VIP
    Membro VIP


    Mensagens : 8
    Data de inscrição : 07/11/2010

    PC BANG POINT Empty PC BANG POINT

    Mensagem por Conf17 29/8/2011, 12:24

    Código:
    Index: /Gs folder/java/l2justice/com/gameserver/services/FService.java
    ===================================================================
    --- /Gs folder/java/l2justice/com/gameserver/services/FService.java (revision 2928)
    +++ /Gs folder/java/l2justice/com/gameserver/services/FService.java (revision 2031)
    @@ -72,5 +72,5 @@

    + public static final String EVENT_PC_BANG_POINT_FILE = "./config/custom/pcBang.properties";

    Index: /Gs folder/java/l2justice/com/gameserver/PcPoint.java
    ===================================================================
    --- /Gs folder/java/l2justice/com/gameserver/PcPoint.java (revision 2031)
    +++ /Gs folder/java/l2justice/com/gameserver/PcPoint.java (revision `2031)
    @@ -0,0 +1,78 @@
    +package l2justice.com.gameserver;
    +
    +import java.util.logging.Logger;
    +
    +import net.sf.l2j.Config;
    +import net.sf.l2j.gameserver.model.L2World;
    +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    +import net.sf.l2j.gameserver.network.SystemMessageId;
    +import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
    +import net.sf.l2j.util.Rnd;
    +
    +
    +/**
    + * @author Anumis
    + */
    +
    +public class PcPoint implements Runnable
    +{
    + Logger _log = Logger.getLogger(PcPoint.class.getName());
    + private static PcPoint _instance;
    +
    + public static PcPoint getInstance()
    + {
    + if(_instance == null)
    + {
    + _instance = new PcPoint();
    + }
    +
    + return _instance;
    + }
    +
    + private PcPoint()
    + {
    + _log.info("PcBang point event started.");
    + }
    +
    + @Override
    + public void run()
    + {
    +
    + int score = 0;
    + for(L2PcInstance activeChar: L2World.getInstance().getAllPlayers())
    + {
    +
    + if(activeChar.getLevel() > Config.PCB_MIN_LEVEL )
    + {
    + score = Rnd.get(Config.PCB_POINT_MIN, Config.PCB_POINT_MAX);
    +
    + if(Rnd.get(100) <= Config.PCB_CHANCE_DUAL_POINT)
    + {
    + score *= 2;
    +
    + activeChar.addPcBangScore(score);
    +
    + SystemMessage sm = new SystemMessage(SystemMessageId.DOUBLE_POINTS_YOU_GOT_$51_GLASSES_PC);
    + sm.addNumber(score);
    + activeChar.sendPacket(sm);
    + sm = null;
    +
    + activeChar.updatePcBangWnd(score, true, true);
    + }
    + else
    + {
    + activeChar.addPcBangScore(score);
    +
    + SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECEVIED_$51_GLASSES_PC);
    + sm.addNumber(score);
    + activeChar.sendPacket(sm);
    + sm = null;
    +
    + activeChar.updatePcBangWnd(score, true, false);
    + }
    + }
    +
    + activeChar = null;
    + }
    + }
    +}
    Index: /Gs folder/java/net/sf/l2j/Config.java
    ===================================================================
    --- /Gs folder/java/net/sf/l2j/Config.java (revision 2028)
    +++ /Gs folder/java/net/sf/l2j/Config.java (revision 2031)
    @@ -1687,55 +1687,48 @@
    public static int HPH_INTERVALOFDOOROFALTER;
    public static int HPH_TIMEOFLOCKUPDOOROFALTAR;
    + //============================================================
    + public static boolean PCB_ENABLE;
    + public static int PCB_MIN_LEVEL;
    + public static int PCB_POINT_MIN;
    + public static int PCB_POINT_MAX;
    + public static int PCB_CHANCE_DUAL_POINT;
    + public static int PCB_INTERVAL;

    //============================================================
    + public static void loadPCBPointConfig()
    {

    + final String PCB_POINT = FService.EVENT_PC_BANG_POINT_FILE;

    + _log.info("Loading: " + PCB_POINT + ".");
    + try
    + {
    + Properties pcbpSettings = new Properties();
    + InputStream is = new FileInputStream(new File(PCB_POINT));
    + pcbpSettings.load(is);
    + is.close();

    + PCB_ENABLE = Boolean.parseBoolean(pcbpSettings.getProperty("PcBangPointEnable", "true"));
    + PCB_MIN_LEVEL = Integer.parseInt(pcbpSettings.getProperty("PcBangPointMinLevel", "20"));
    + PCB_POINT_MIN = Integer.parseInt(pcbpSettings.getProperty("PcBangPointMinCount", "20"));
    + PCB_POINT_MAX = Integer.parseInt(pcbpSettings.getProperty("PcBangPointMaxCount", "1000000"));

    + if(PCB_POINT_MAX < 1)
    + {
    + PCB_POINT_MAX = Integer.MAX_VALUE;
    + }

    + PCB_CHANCE_DUAL_POINT = Integer.parseInt(pcbpSettings.getProperty("PcBangPointDualChance", "20"));
    + PCB_INTERVAL = Integer.parseInt(pcbpSettings.getProperty("PcBangPointTimeStamp", "900"));
    + }
    + catch(Exception e)
    + {
    + e.printStackTrace();
    + throw new Error("Failed to Load " + PCB_POINT + " File.");
    + }

    + }
    + //============================================================
    +

    Index: /Gs folder/java/net/sf/l2j/gameserver/clientpackets/MultiSellChoose.java
    ===================================================================
    --- /Gs folder/java/net/sf/l2j/gameserver/clientpackets/MultiSellChoose.java (revision 107)
    +++ /Gs folder/java/net/sf/l2j/gameserver/clientpackets/MultiSellChoose.java (revision 2031)
    @@ -200,4 +200,9 @@
    {
    player.sendPacket(new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW));
    + return;
    + }
    + if(e.getItemId() == 65436 && e.getItemCount() * _amount > player.getPcBangScore())
    + {
    + player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
    return;
    }
    Index: /Gs folder/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java
    ===================================================================
    --- /Gs folder/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 1726)
    +++ /Gs folder/java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 2031)
    @@ -144,4 +144,5 @@
    // activeChar.closeNetConnection();
    }
    +
    if (activeChar.isGM())
    {
    @@ -373,4 +374,5 @@
    activeChar.checkAllowedSkills();
    }
    +
    // send user info again .. just like the real client sendPacket(ui);
    if ((activeChar.getClanId() != 0) && (activeChar.getClan() != null))
    @@ -396,4 +398,8 @@
    notifyCastleOwner(activeChar);
    activeChar.onPlayerEnter();
    + if(Config.PCB_ENABLE)
    + {
    + activeChar.showPcBangWindow();
    + }
    TvTEvent.onLogin(activeChar);
    PcColorTable.getInstance().process(activeChar);
    Index: /Gs folder/java/net/sf/l2j/gameserver/network/serverpackets/ExPCCafePointInfo.java
    ===================================================================
    --- /Gs folder/java/net/sf/l2j/gameserver/network/serverpackets/ExPCCafePointInfo.java (revision 7)
    +++ /Gs folder/java/net/sf/l2j/gameserver/network/serverpackets/ExPCCafePointInfo.java (revision 2031)
    @@ -15,4 +15,6 @@
    package net.sf.l2j.gameserver.network.serverpackets;

    +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    +

    @@ -25,13 +27,36 @@
    {
    private static final String _S__FE_31_EXPCCAFEPOINTINFO = "[S] FE:31 ExPCCafePointInfo";
    - private int _unk1, _unk2, _unk3, _unk4, _unk5 = 0;

    - public ExPCCafePointInfo(int val1, int val2, int val3, int val4, int val5)
    + private L2PcInstance _character;
    + private int m_AddPoint;
    + private int m_PeriodType;
    + private int RemainTime;
    + private int PointType;
    +
    + public ExPCCafePointInfo(L2PcInstance user, int modify, boolean add, int hour, boolean _double)
    {
    - _unk1 = val1;
    - _unk2 = val2;
    - _unk3 = val3;
    - _unk4 = val4;
    - _unk5 = val5;
    + _character = user;
    + m_AddPoint = modify;
    +
    + if(add)
    + {
    + m_PeriodType = 1;
    + PointType = 1;
    + }
    + else
    + {
    + if(add && _double)
    + {
    + m_PeriodType = 1;
    + PointType = 0;
    + }
    + else
    + {
    + m_PeriodType = 2;
    + PointType = 2;
    + }
    + }
    +
    + RemainTime = hour;
    }

    @@ -41,9 +66,9 @@
    writeC(0xFE);
    writeH(0x31);
    - writeD(_unk1);
    - writeD(_unk2);
    - writeC(_unk3);
    - writeD(_unk4);
    - writeC(_unk5);
    + writeD(_character.getPcBangScore());
    + writeD(m_AddPoint);
    + writeC(m_PeriodType);
    + writeD(RemainTime);
    + writeC(PointType);
    }

    @@ -56,3 +81,4 @@
    return _S__FE_31_EXPCCAFEPOINTINFO;
    }
    +
    }
    Index: /Gs folder/java/net/sf/l2j/gameserver/network/SystemMessageId.java
    ===================================================================
    --- /Gs folder/java/net/sf/l2j/gameserver/network/SystemMessageId.java (revision 1926)
    +++ /Gs folder/java/net/sf/l2j/gameserver/network/SystemMessageId.java (revision 2031)
    @@ -3873,5 +3873,7 @@
    DEATH_PENALTY_LIFTED(1917),
    DUNGEON_EXPIRES_IN_S1_MINUTES(1918),
    - S1(3000);
    + S1(3000),
    + DOUBLE_POINTS_YOU_GOT_$51_GLASSES_PC(3001),
    + YOU_RECEVIED_$51_GLASSES_PC(3002);

    private int _id;
    Index: /Gs folder/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
    ===================================================================
    --- /Gs folder/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 2029)
    +++ /Gs folder/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 2031)
    @@ -93,5 +93,4 @@
    import net.sf.l2j.gameserver.model.L2Clan;
    import net.sf.l2j.gameserver.model.L2ClanMember;
    import net.sf.l2j.gameserver.model.L2Effect;
    import net.sf.l2j.gameserver.model.L2Fishing;
    @@ -152,4 +151,5 @@
    import net.sf.l2j.gameserver.network.L2GameClient;
    import net.sf.l2j.gameserver.network.SystemMessageId;
    +import net.sf.l2j.gameserver.network.serverpackets.ExPCCafePointInfo;
    import net.sf.l2j.gameserver.network.serverpackets.L2GameServerPacket;
    import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
    @@ -234,6 +234,6 @@
    private static final String RESTORE_SKILL_SAVE = "SELECT skill_id,skill_level,effect_count,effect_cur_time, reuse_delay FROM character_skills_save WHERE char_obj_id=? AND class_index=? AND restore_type=? ORDER BY buff_index ASC";
    private static final String DELETE_SKILL_SAVE = "DELETE FROM character_skills_save WHERE char_obj_id=? AND class_index=?";
    - private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?, men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=? ,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=? ,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=? ,wantspeace=?,base_class=?,onlinetime=?,in_jail=?,jail_timer=?,newbie=?,nobless=?, power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=? ,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?, event_points=?,coupon=?,donator=?,death_penalty_level=?,koof=?,noob=?,idiot=? WHERE obj_id=?";
    - private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, in_jail, jail_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,event_points,coupon, donator,death_penalty_level,koof,noob,idiot FROM characters WHERE obj_id=?";
    + private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?, men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=? ,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=? ,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=? ,wantspeace=?,base_class=?,onlinetime=?,in_jail=?,jail_timer=?,newbie=?,nobless=?, power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=? ,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?, event_points=?,coupon=?,donator=?,death_penalty_level=?,koof=?,noob=?,idiot=?,pc_point=? WHERE obj_id=?";
    + private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, in_jail, jail_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,event_points,coupon, donator,death_penalty_level,koof,noob,idiot,pc_point FROM characters WHERE obj_id=?";
    private static final String RESTORE_CHAR_SUBCLASSES = "SELECT class_id,exp,sp,level,class_index FROM character_subclasses WHERE char_obj_id=? ORDER BY class_index ASC";
    private static final String ADD_CHAR_SUBCLASS = "INSERT INTO character_subclasses (char_obj_id,class_id,exp,sp,level,class_index) VALUES (?,?,?,?,?,?)";
    @@ -382,4 +382,6 @@
    /** The Experience of the L2PcInstance before the last Death Penalty */
    private long _expBeforeDeath;
    + /** PC BANG POINT */
    + private int pcBangPoint = 0;
    /**
    * The Karma of the L2PcInstance (if higher than 0, the name of the L2PcInstance appears in red)
    @@ -6722,4 +6724,5 @@
    player.setCoupon(rset.getInt("coupon"));
    player.setDeathPenaltyBuffLevel(rset.getInt("death_penalty_level"));
    + player.pcBangPoint = rset.getInt("pc_point");
    // Add the L2PcInstance object in _allObjects
    // L2World.getInstance().storeObject(player);
    @@ -7105,5 +7108,6 @@
    statement.setInt(61, isNoob() ? 1 : 0);
    statement.setInt(62, isIdiot() ? 1 : 0);
    - statement.setInt(63, getObjectId());
    + statement.setInt(63, getPcBangScore());
    + statement.setInt(64, getObjectId());

    @@ -13002,9 +13006,32 @@
    return (DM._started && _inEventDM) || (CTF._started && _inEventCTF) || (VIP._started && _inEventVIP) (Zombie._started && _ZombieZ) || && !isGM();
    }*/

    + public int getPcBangScore()
    + {
    + return pcBangPoint;
    + }
    +
    + public void reducePcBangScore(int to)
    + {
    + pcBangPoint -= to;
    + updatePcBangWnd(to, false, false);
    + }
    +
    + public void addPcBangScore(int to)
    + {
    + pcBangPoint += to;
    + }
    +
    + public void updatePcBangWnd(int score, boolean add, boolean duble)
    + {
    + ExPCCafePointInfo wnd = new ExPCCafePointInfo(this, score, add, 24, duble);
    + sendPacket(wnd);
    + }
    +
    + public void showPcBangWindow()
    + {
    + ExPCCafePointInfo wnd = new ExPCCafePointInfo(this, 0, false, 24, false);
    + sendPacket(wnd);
    + }
    }
    Index: /Gs folder/java/net/sf/l2j/gameserver/GameServer.java
    ===================================================================
    --- /Gs folder/java/net/sf/l2j/gameserver/GameServer.java (revision 1999)
    +++ /Gs folder/java/net/sf/l2j/gameserver/GameServer.java (revision 2031)
    @@ -24,7 +24,9 @@
    import java.util.logging.Logger;

    +import l2justice.com.gameserver.PcPoint;
    import l2justice.com.gameserver.ai.special.manager.AILoader;
    import l2justice.com.gameserver.powerpak.PowerPak;
    import l2justice.com.gameserver.util.sql.SQLQueue;
    +

    import org.mmocore.network.*;

    @@ -575,4 +572,9 @@
    {
    OnlinePlayers.getInstance();
    + }
    + if(Config.PCB_ENABLE)
    + {
    + System.out.println("############PCB_ENABLE################");
    + ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(PcPoint.getInstance(), Config.PCB_INTERVAL * 1000, Config.PCB_INTERVAL * 1000);
    }
    Util.printSection("L2JJustice EventManager");
    @@ -612,4 +614,5 @@
    // Initialize config
    Config.load();
    + Config.loadPCBPointConfig();
    ExternalConfig.loadconfig();
    gameServer = new GameServer();
    Index: /Gs folder/java/config/Custom/pcBang.properties
    ===================================================================
    --- /Gs folder/java/config/Custom/pcBang.properties (revision 2031)
    +++ /Gs folder/java/config/Custom/pcBang.properties (revision 2031)
    @@ -0,0 +1,17 @@
    +#============================================================#
    +# PC Bang Point -#
    +#-------------------------------------------------------------#
    +PcBangPointEnable = True
    +
    +PcBangPointMinLevel = 20
    +
    +PcBangPointMinCount = 20
    +PcBangPointMaxCount = 1000000
    +
    +PcBangPointDualChance = 20
    +
    +PcBangPointTimeStamp = 900

    Adicionar essas duas linhas em systemmsg-e na sua system.
    Código:
    3001    1      a,Your PC Bang Point had doubled.\0    0      22      AA      EE      FF      a,      a,      8      0      5      1      0      a,Your PC Bang Point had doubled.\0    a,none\0
    3002    1      a,You recevied PC Bang Point.\0 0      22      AA      EE      FF      a,      a,      8      0      5      1      0      a,You recevied PC Bang Point.\0 a,none\0

    Código:

    Eu não tenho FService.java arquivo para eu passei este passo

    se o eclipse de erro show com PcPoint.java na linha

                  for(L2PcInstance activeChar: L2World.getInstance().getAllPlayers())

    então alterar esta linha para

                  for(L2PcInstance activeChar: L2World.getInstance().getAllPlayers().values())


    Link Do Codigo

      Tópicos semelhantes

      -

      Data/hora atual: 28/3/2024, 21:18