Jump to content
  • 0

[Help] pano sto system message...


Question

Posted

shot00000nj.png

 

Paizei na kserei kaneis pos tha mporousa na afereso autes tis duo upogrammismenes grammes pou exei stin eikona?

Se pio arxeio tou pack prepei na psakso???

Euxaristo!

Recommended Posts

  • 0
Posted

Me teamviewer?

KAi den mporo na sou stilo kai pm...

Den mou vgazei epiloges...

 

katevase auto pou s edwsa kai tha eisai gg dn tha sto 3ana vgazei chekareto kai pes m.

  • 0
Posted

Mpa filaraki ta idia mou kanei....

Ekana ena serach kai mesa sto palio systemmsg-e.dat pou eixe alla den vrika tpt gia na allaxtei...

pisteuo oti einai kati mesa apo to pack... :/

  • 0
Posted

Mpa filaraki ta idia mou kanei....

Ekana ena serach kai mesa sto palio systemmsg-e.dat pou eixe alla den vrika tpt gia na allaxtei...

pisteuo oti einai kati mesa apo to pack... :/

 

den nomizo na ftei to pack apo to systemmsg-e.dat einai ...

  • 0
Posted

Ksereis giati sou to leo auto?

Epidi otan katevazeis ena pack l2j sou vgazei ena L2jServer kati pou einai perasmena apo autous...

Eno otan paizeis se l2 off den sou vgazei kati tetio...

Eno to system kai stis 2 periptoseis paramanei idio... katalaves ti thelo na po??

Nomizo pos einai mesa apo ta arxeia tis java.. alla einai tooosa pou den ksero pou anikei auto...

  • 0
Posted

Tha kano mia anazitisei kai ekei an einai... makari na vro tpt...

εκεί ειναι,απλά δεν είναι σε αυτή την μορφή.

κάνε ποστ εδώ το enterworld.java σου.

  • 0
Posted
// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov  Date: 05/05/2012 15:24:54
// Home Page: http://members.fortunecity.com/neshkov/dj.html  http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   EnterWorld.java

package com.l2jserver.gameserver.network.clientpackets;

import com.l2jserver.Config;
import com.l2jserver.gameserver.*;
import com.l2jserver.gameserver.cache.HtmCache;
import com.l2jserver.gameserver.communitybbs.Manager.RegionBBSManager;
import com.l2jserver.gameserver.datatables.*;
import com.l2jserver.gameserver.instancemanager.*;
import com.l2jserver.gameserver.model.*;
import com.l2jserver.gameserver.model.actor.appearance.PcAppearance;
import com.l2jserver.gameserver.model.actor.instance.L2ClassMasterInstance;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.entity.*;
import com.l2jserver.gameserver.model.entity.clanhall.AuctionableHall;
import com.l2jserver.gameserver.model.entity.clanhall.SiegableHall;
import com.l2jserver.gameserver.model.item.instance.L2ItemInstance;
import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
import com.l2jserver.gameserver.model.itemcontainer.PcWarehouse;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.network.L2GameClient;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.communityserver.CommunityServerThread;
import com.l2jserver.gameserver.network.communityserver.writepackets.WorldInfo;
import com.l2jserver.gameserver.network.serverpackets.*;
import com.l2jserver.gameserver.util.Broadcast;
import com.l2jserver.util.Base64;
import java.io.UnsupportedEncodingException;
import java.util.*;
import java.util.logging.Logger;
import javolution.util.FastList;
import javolution.util.FastMap;

// Referenced classes of package com.l2jserver.gameserver.network.clientpackets:
//            L2GameClientPacket

public class EnterWorld extends L2GameClientPacket
{

    public EnterWorld()
    {
    }

    public TaskPriority getPriority()
    {
        return TaskPriority.PR_URGENT;
    }

    protected void readImpl()
    {
        readB(new byte[32]);
        readD();
        readD();
        readD();
        readD();
        readB(new byte[32]);
        readD();
        for(int i = 0; i < 5; i++)
        {
            for(int o = 0; o < 4; o++)
                tracert[i][o] = readC();

        }

    }

    protected void runImpl()
    {
        L2PcInstance activeChar = ((L2GameClient)getClient()).getActiveChar();
        if(activeChar == null)
        {
            _log.warning("EnterWorld failed! activeChar returned 'null'.");
            ((L2GameClient)getClient()).closeNow();
            return;
        }
        String adress[] = new String[5];
        for(int i = 0; i < 5; i++)
            adress[i] = (new StringBuilder()).append(tracert[i][0]).append(".").append(tracert[i][1]).append(".").append(tracert[i][2]).append(".").append(tracert[i][3]).toString();

        LoginServerThread.getInstance().sendClientTracert(activeChar.getAccountName(), adress);
        ((L2GameClient)getClient()).setClientTracert(tracert);
        if(Config.RESTORE_PLAYER_INSTANCE)
        {
            activeChar.setInstanceId(InstanceManager.getInstance().getPlayerInstance(activeChar.getObjectId()));
        } else
        {
            int instanceId = InstanceManager.getInstance().getPlayerInstance(activeChar.getObjectId());
            if(instanceId > 0)
                InstanceManager.getInstance().getInstance(instanceId).removePlayer(activeChar.getObjectId());
        }
        if(L2World.getInstance().findObject(activeChar.getObjectId()) != null && Config.DEBUG)
            _log.warning((new StringBuilder()).append("User already exists in Object ID map! User ").append(activeChar.getName()).append(" is a character clone.").toString());
        if(activeChar.isGM())
        {
            if(Config.GM_STARTUP_INVULNERABLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invul", activeChar.getAccessLevel()))
                activeChar.setIsInvul(true);
            if(Config.GM_STARTUP_INVISIBLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invisible", activeChar.getAccessLevel()))
                activeChar.getAppearance().setInvisible();
            if(Config.GM_STARTUP_SILENCE && AdminCommandAccessRights.getInstance().hasAccess("admin_silence", activeChar.getAccessLevel()))
                activeChar.setSilenceMode(true);
            if(Config.GM_STARTUP_DIET_MODE && AdminCommandAccessRights.getInstance().hasAccess("admin_diet", activeChar.getAccessLevel()))
            {
                activeChar.setDietMode(true);
                activeChar.refreshOverloaded();
            }
            if(Config.GM_STARTUP_AUTO_LIST && AdminCommandAccessRights.getInstance().hasAccess("admin_gmliston", activeChar.getAccessLevel()))
                GmListTable.getInstance().addGm(activeChar, false);
            else
                GmListTable.getInstance().addGm(activeChar, true);
            if(Config.GM_GIVE_SPECIAL_SKILLS)
                GMSkillTable.getInstance().addSkills(activeChar, false);
            if(Config.GM_GIVE_SPECIAL_AURA_SKILLS)
                GMSkillTable.getInstance().addSkills(activeChar, true);
        }
        if(activeChar.getCurrentHp() < 0.5D)
            activeChar.setIsDead(true);
        boolean showClanNotice = false;
        Iterator i$;
        if(activeChar.getClan() != null)
        {
            activeChar.sendPacket(new PledgeSkillList(activeChar.getClan()));
            notifyClanMembers(activeChar);
            notifySponsorOrApprentice(activeChar);
            AuctionableHall clanHall = ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan());
            if(activeChar.getClan().getLeaderName().equals(activeChar.getName()) && activeChar.getClan().getHasCastle() > 0 && Config.ANNOUNCE_CASTLE_LORD && !activeChar.isGM())
            {
                String castlename = "";
                switch(activeChar.getClan().getHasCastle())
                {
                case 1: // '\001'
                    castlename = "Gludio";
                    break;

                case 2: // '\002'
                    castlename = "Dion";
                    break;

                case 3: // '\003'
                    castlename = "Giran";
                    break;

                case 4: // '\004'
                    castlename = "Oren";
                    break;

                case 5: // '\005'
                    castlename = "Aden";
                    break;

                case 6: // '\006'
                    castlename = "Innadril";
                    break;

                case 7: // '\007'
                    castlename = "Goddard";
                    break;

                case 8: // '\b'
                    castlename = "Rune";
                    break;

                case 9: // '\t'
                    castlename = "Schuttgart";
                    break;
                }
                Broadcast.toAllOnlinePlayers(new CreatureSay(1, 18, "", (new StringBuilder()).append("Clan Manager: ").append(activeChar.getName()).append(" the lord of ").append(castlename).append(" castle has logged into the game.").toString()));
            }
            if(clanHall != null && !clanHall.getPaid())
                activeChar.sendPacket(SystemMessageId.PAYMENT_FOR_YOUR_CLAN_HALL_HAS_NOT_BEEN_MADE_PLEASE_MAKE_PAYMENT_TO_YOUR_CLAN_WAREHOUSE_BY_S1_TOMORROW);
            i$ = SiegeManager.getInstance().getSieges().iterator();
            do
            {
                if(!i$.hasNext())
                    break;
                Siege siege = (Siege)i$.next();
                if(siege.getIsInProgress())
                    if(siege.checkIsAttacker(activeChar.getClan()))
                    {
                        activeChar.setSiegeState((byte)1);
                        activeChar.setSiegeSide(siege.getCastle().getCastleId());
                    } else
                    if(siege.checkIsDefender(activeChar.getClan()))
                    {
                        activeChar.setSiegeState((byte)2);
                        activeChar.setSiegeSide(siege.getCastle().getCastleId());
                    }
            } while(true);
            i$ = FortSiegeManager.getInstance().getSieges().iterator();
            do
            {
                if(!i$.hasNext())
                    break;
                FortSiege siege = (FortSiege)i$.next();
                if(siege.getIsInProgress())
                    if(siege.checkIsAttacker(activeChar.getClan()))
                    {
                        activeChar.setSiegeState((byte)1);
                        activeChar.setSiegeSide(siege.getFort().getFortId());
                    } else
                    if(siege.checkIsDefender(activeChar.getClan()))
                    {
                        activeChar.setSiegeState((byte)2);
                        activeChar.setSiegeSide(siege.getFort().getFortId());
                    }
            } while(true);
            i$ = CHSiegeManager.getInstance().getConquerableHalls().values().iterator();
            do
            {
                if(!i$.hasNext())
                    break;
                SiegableHall hall = (SiegableHall)i$.next();
                if(hall.isInSiege() && hall.isRegistered(activeChar.getClan()))
                {
                    activeChar.setSiegeState((byte)1);
                    activeChar.setSiegeSide(hall.getId());
                    activeChar.setIsInHideoutSiege(true);
                }
            } while(true);
            sendPacket(new PledgeShowMemberListAll(activeChar.getClan(), activeChar));
            sendPacket(new PledgeStatusChanged(activeChar.getClan()));
            if(activeChar.getClan().getHasCastle() > 0)
                CastleManager.getInstance().getCastleByOwner(activeChar.getClan()).giveResidentialSkills(activeChar);
            if(activeChar.getClan().getHasFort() > 0)
                FortManager.getInstance().getFortByOwner(activeChar.getClan()).giveResidentialSkills(activeChar);
            showClanNotice = activeChar.getClan().isNoticeEnabled();
        }
        if(TerritoryWarManager.getInstance().getRegisteredTerritoryId(activeChar) > 0)
        {
            if(TerritoryWarManager.getInstance().isTWInProgress())
                activeChar.setSiegeState((byte)1);
            activeChar.setSiegeSide(TerritoryWarManager.getInstance().getRegisteredTerritoryId(activeChar));
        }
        if(SevenSigns.getInstance().isSealValidationPeriod() && SevenSigns.getInstance().getSealOwner(3) != 0)
        {
            int cabal = SevenSigns.getInstance().getPlayerCabal(activeChar.getObjectId());
            if(cabal != 0)
                if(cabal == SevenSigns.getInstance().getSealOwner(3))
                    activeChar.addSkill(com.l2jserver.gameserver.datatables.SkillTable.FrequentSkill.THE_VICTOR_OF_WAR.getSkill());
                else
                    activeChar.addSkill(com.l2jserver.gameserver.datatables.SkillTable.FrequentSkill.THE_VANQUISHED_OF_WAR.getSkill());
        } else
        {
            activeChar.removeSkill(com.l2jserver.gameserver.datatables.SkillTable.FrequentSkill.THE_VICTOR_OF_WAR.getSkill());
            activeChar.removeSkill(com.l2jserver.gameserver.datatables.SkillTable.FrequentSkill.THE_VANQUISHED_OF_WAR.getSkill());
        }
        if(Config.ENABLE_VITALITY && Config.RECOVER_VITALITY_ON_RECONNECT)
        {
            float points = (Config.RATE_RECOVERY_ON_RECONNECT * (float)(System.currentTimeMillis() - activeChar.getLastAccess())) / 60000F;
            if(points > 0.0F)
                activeChar.updateVitalityPoints(points, false, true);
        }
        if(activeChar.getPvpKills() >= Config.PVP_AMOUNT1 && Config.PVP_COLOR_SYSTEM_ENABLED)
            updatePvPColor(activeChar.getPvpKills(), activeChar);
        if(activeChar.getPkKills() >= Config.PK_AMOUNT1 && Config.PK_COLOR_SYSTEM_ENABLED)
            updatePkColor(activeChar.getPkKills(), activeChar);
        activeChar.checkRecoBonusTask();
        activeChar.broadcastUserInfo();
        activeChar.getMacros().sendUpdate();
        sendPacket(new ItemList(activeChar, false));
        activeChar.queryGameGuard();
        sendPacket(new ExGetBookMarkInfoPacket(activeChar));
        sendPacket(new ShortCutInit(activeChar));
        activeChar.sendPacket(ExBasicActionList.getStaticPacket(activeChar));
        activeChar.sendSkillList();
        activeChar.sendPacket(new HennaInfo(activeChar));
        Quest.playerEnter(activeChar);
        if(!Config.DISABLE_TUTORIAL)
            loadTutorial(activeChar);
        Iterator i$ = QuestManager.getInstance().getAllManagedScripts().iterator();
        do
        {
            if(!i$.hasNext())
                break;
            Quest quest = (Quest)i$.next();
            if(quest != null && quest.getOnEnterWorld())
                quest.notifyEnterWorld(activeChar);
        } while(true);
        activeChar.sendPacket(new QuestList());
        if(Config.PLAYER_SPAWN_PROTECTION > 0)
            activeChar.setProtection(true);
        activeChar.spawnMe(activeChar.getX(), activeChar.getY(), activeChar.getZ());
        activeChar.getInventory().applyItemSkills();
        if(L2Event.isParticipant(activeChar))
            L2Event.restorePlayerEventStatus(activeChar);
        if(Config.L2JMOD_ALLOW_WEDDING)
        {
            engage(activeChar);
            notifyPartner(activeChar, activeChar.getPartnerId());
        }
        if(activeChar.isCursedWeaponEquipped())
            CursedWeaponsManager.getInstance().getCursedWeapon(activeChar.getCursedWeaponEquippedId()).cursedOnLogin();
        activeChar.updateEffectIcons();
        activeChar.sendPacket(new EtcStatusUpdate(activeChar));
        activeChar.sendPacket(new ExStorageMaxCount(activeChar));
        sendPacket(new FriendList(activeChar));
        SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.FRIEND_S1_HAS_LOGGED_IN);
        sm.addString(activeChar.getName());
        quest = activeChar.getFriendList().iterator();
        do
        {
            if(!quest.hasNext())
                break;
            int id = ((Integer)quest.next()).intValue();
            L2Object obj = L2World.getInstance().findObject(id);
            if(obj != null)
                obj.sendPacket(sm);
        } while(true);
        activeChar.sendPacket(SystemMessageId.WELCOME_TO_LINEAGE);
        activeChar.sendMessage(getText("V2VsY29tZSB0byBSMSBTeXN0ZW1zLg==\n"));
        activeChar.sendMessage(getText("Q3JlZGl0czogTDJKU2VydmVyICYgaW5zYW5leEQu\n"));
        SevenSigns.getInstance().sendCurrentPeriodMsg(activeChar);
        Announcements.getInstance().showAnnouncements(activeChar);
        if(showClanNotice)
        {
            NpcHtmlMessage notice = new NpcHtmlMessage(1);
            notice.setFile(activeChar.getHtmlPrefix(), "data/html/clanNotice.htm");
            notice.replace("%clan_name%", activeChar.getClan().getName());
            notice.replace("%notice_text%", activeChar.getClan().getNotice().replaceAll("\r\n", "<br>"));
            notice.disableValidation();
            sendPacket(notice);
        } else
        if(Config.SERVER_NEWS)
        {
            String serverNews = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/servnews.htm");
            if(serverNews != null)
                sendPacket(new NpcHtmlMessage(1, serverNews));
        }
        if(Config.PETITIONING_ALLOWED)
            PetitionManager.getInstance().checkPetitionMessages(activeChar);
        if(activeChar.isAlikeDead())
            sendPacket(new Die(activeChar));
        activeChar.onPlayerEnter();
        sendPacket(new SkillCoolTime(activeChar));
        sendPacket(new ExVoteSystemInfo(activeChar));
        sendPacket(new ExNevitAdventPointInfoPacket(0));
        sendPacket(new ExNevitAdventTimeChange(-1));
        sendPacket(new ExShowContactList(activeChar));
        L2ItemInstance arr$[] = activeChar.getInventory().getItems();
        int len$ = arr$.length;
        for(int i$ = 0; i$ < len$; i$++)
        {
            L2ItemInstance i = arr$[i$];
            if(i.isTimeLimitedItem())
                i.scheduleLifeTimeTask();
            if(i.isShadowItem() && i.isEquipped())
                i.decreaseMana(false);
        }

        arr$ = activeChar.getWarehouse().getItems();
        len$ = arr$.length;
        for(int i$ = 0; i$ < len$; i$++)
        {
            L2ItemInstance i = arr$[i$];
            if(i.isTimeLimitedItem())
                i.scheduleLifeTimeTask();
        }

        if(DimensionalRiftManager.getInstance().checkIfInRiftZone(activeChar.getX(), activeChar.getY(), activeChar.getZ(), false))
            DimensionalRiftManager.getInstance().teleportToWaitingRoom(activeChar);
        if(activeChar.getClanJoinExpiryTime() > System.currentTimeMillis())
            activeChar.sendPacket(SystemMessageId.CLAN_MEMBERSHIP_TERMINATED);
        if(activeChar.getInventory().getItemByItemId(9819) != null)
        {
            Fort fort = FortManager.getInstance().getFort(activeChar);
            if(fort != null)
            {
                FortSiegeManager.getInstance().dropCombatFlag(activeChar, fort.getFortId());
            } else
            {
                int slot = activeChar.getInventory().getSlotFromItem(activeChar.getInventory().getItemByItemId(9819));
                activeChar.getInventory().unEquipItemInBodySlot(slot);
                activeChar.destroyItem("CombatFlag", activeChar.getInventory().getItemByItemId(9819), null, true);
            }
        }
        if(!activeChar.isGM() && activeChar.isInsideZone((byte)2) && (!activeChar.isInSiege() || activeChar.getSiegeState() < 2))
            activeChar.teleToLocation(com.l2jserver.gameserver.instancemanager.MapRegionManager.TeleportWhereType.Town);
        if(Config.ALLOW_MAIL && MailManager.getInstance().hasUnreadPost(activeChar))
            sendPacket(ExNoticePostArrived.valueOf(false));
        RegionBBSManager.getInstance().changeCommunityBoard();
        CommunityServerThread.getInstance().sendPacket(new WorldInfo(activeChar, null, (byte)2));
        TvTEvent.onLogin(activeChar);
        if(Config.WELCOME_MESSAGE_ENABLED)
            activeChar.sendPacket(new ExShowScreenMessage(Config.WELCOME_MESSAGE_TEXT, Config.WELCOME_MESSAGE_TIME));
        L2ClassMasterInstance.showQuestionMark(activeChar);
        if(CTF._savePlayers.contains(activeChar.getName()))
            CTF.addDisconnectedPlayer(activeChar);
        int birthday = activeChar.checkBirthDay();
        if(birthday == 0)
            activeChar.sendPacket(SystemMessageId.YOUR_BIRTHDAY_GIFT_HAS_ARRIVED);
        else
        if(birthday != -1)
        {
            sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_S1_DAYS_UNTIL_YOUR_CHARACTERS_BIRTHDAY);
            sm.addString(Integer.toString(birthday));
            activeChar.sendPacket(sm);
        }
        if(!activeChar.getPremiumItemList().isEmpty())
            activeChar.sendPacket(new ExNotifyPremiumItem());
    }

    private void engage(L2PcInstance cha)
    {
        int _chaid = cha.getObjectId();
        Iterator i$ = CoupleManager.getInstance().getCouples().iterator();
        do
        {
            if(!i$.hasNext())
                break;
            Couple cl = (Couple)i$.next();
            if(cl.getPlayer1Id() == _chaid || cl.getPlayer2Id() == _chaid)
            {
                if(cl.getMaried())
                    cha.setMarried(true);
                cha.setCoupleId(cl.getId());
                if(cl.getPlayer1Id() == _chaid)
                    cha.setPartnerId(cl.getPlayer2Id());
                else
                    cha.setPartnerId(cl.getPlayer1Id());
            }
        } while(true);
    }

    private void notifyPartner(L2PcInstance cha, int partnerId)
    {
        if(cha.getPartnerId() != 0)
        {
            int objId = cha.getPartnerId();
            try
            {
                L2PcInstance partner = L2World.getInstance().getPlayer(objId);
                if(partner != null)
                    partner.sendMessage("Your Partner has logged in.");
                partner = null;
            }
            catch(ClassCastException cce)
            {
                _log.warning((new StringBuilder()).append("Wedding Error: ID ").append(objId).append(" is now owned by a(n) ").append(L2World.getInstance().findObject(objId).getClass().getSimpleName()).toString());
            }
        }
    }

    private void notifyClanMembers(L2PcInstance activeChar)
    {
        L2Clan clan = activeChar.getClan();
        if(clan != null)
        {
            clan.getClanMember(activeChar.getObjectId()).setPlayerInstance(activeChar);
            SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBER_S1_LOGGED_IN);
            msg.addString(activeChar.getName());
            clan.broadcastToOtherOnlineMembers(msg, activeChar);
            msg = null;
            clan.broadcastToOtherOnlineMembers(new PledgeShowMemberListUpdate(activeChar), activeChar);
        }
    }

    private void notifySponsorOrApprentice(L2PcInstance activeChar)
    {
        if(activeChar.getSponsor() != 0)
        {
            L2PcInstance sponsor = L2World.getInstance().getPlayer(activeChar.getSponsor());
            if(sponsor != null)
            {
                SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOUR_APPRENTICE_S1_HAS_LOGGED_IN);
                msg.addString(activeChar.getName());
                sponsor.sendPacket(msg);
            }
        } else
        if(activeChar.getApprentice() != 0)
        {
            L2PcInstance apprentice = L2World.getInstance().getPlayer(activeChar.getApprentice());
            if(apprentice != null)
            {
                SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOUR_SPONSOR_C1_HAS_LOGGED_IN);
                msg.addString(activeChar.getName());
                apprentice.sendPacket(msg);
            }
        }
    }

    public void updatePvPColor(int pvpKillAmount, L2PcInstance activeChar)
    {
        if(Config.PVP_COLOR_SYSTEM_ENABLED)
        {
            if(activeChar.isGM())
                return;
            if(pvpKillAmount >= Config.PVP_AMOUNT1 && pvpKillAmount < Config.PVP_AMOUNT2)
                activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT1);
            else
            if(pvpKillAmount >= Config.PVP_AMOUNT2 && pvpKillAmount < Config.PVP_AMOUNT3)
                activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT2);
            else
            if(pvpKillAmount >= Config.PVP_AMOUNT3 && pvpKillAmount < Config.PVP_AMOUNT4)
                activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT3);
            else
            if(pvpKillAmount >= Config.PVP_AMOUNT4 && pvpKillAmount < Config.PVP_AMOUNT5)
                activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT4);
            else
            if(pvpKillAmount >= Config.PVP_AMOUNT5)
                activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT5);
        }
    }


  • 0
Posted

Kai auto

    public void updatePkColor(int pkKillAmount, L2PcInstance activeChar)
    {
        if(Config.PK_COLOR_SYSTEM_ENABLED)
        {
            if(activeChar.isGM())
                return;
            if(pkKillAmount >= Config.PK_AMOUNT1 && pkKillAmount < Config.PVP_AMOUNT2)
                activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT1);
            else
            if(pkKillAmount >= Config.PK_AMOUNT2 && pkKillAmount < Config.PVP_AMOUNT3)
                activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT2);
            else
            if(pkKillAmount >= Config.PK_AMOUNT3 && pkKillAmount < Config.PVP_AMOUNT4)
                activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT3);
            else
            if(pkKillAmount >= Config.PK_AMOUNT4 && pkKillAmount < Config.PVP_AMOUNT5)
                activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT4);
            else
            if(pkKillAmount >= Config.PK_AMOUNT5)
                activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT5);
        }
    }

    private String getText(String string)
    {
        try
        {
            String result = new String(Base64.decode(string), "UTF-8");
            return result;
        }
        catch(UnsupportedEncodingException e)
        {
            return null;
        }
    }

    private void loadTutorial(L2PcInstance player)
    {
        QuestState qs = player.getQuestState("255_Tutorial");
        if(qs != null)
            qs.getQuest().notifyEvent("UC", null, player);
    }

    public String getType()
    {
        return "[C] 11 EnterWorld";
    }

    protected boolean triggersOnActionRequest()
    {
        return false;
    }

    private static final String _C__11_ENTERWORLD = "[C] 11 EnterWorld";
    private static Logger _log = Logger.getLogger(com/l2jserver/gameserver/network/clientpackets/EnterWorld.getName());
    private final int tracert[][] = new int[5][4];

}

  • 0
Posted

κάνε delete αυτά

activeChar.sendMessage(getText("V2VsY29tZSB0byBSMSBTeXN0ZW1zLg==\n"));
        activeChar.sendMessage(getText("Q3JlZGl0czogTDJKU2VydmVyICYgaW5zYW5leEQu\n"));

Guest
This topic is now closed to further replies.


  • Posts

    • ✔ We offer more services than listed. Prices of goods may vary depending on country, warranty, phone number, and other factors. We are available 24/7. ⠀⠀⠀⠀⠀⠀⣀⣠⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⣴⡿⠋⠉⠉⠻⢿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠹⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠈⣿⡄⠀⠀⠀⠀⠀⠀⢸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠸⣷⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⢀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢻⣇⠀⠀⠀⠀⠀⢸⣿⣿⡿⠿⠿⠟⠛⠛⠻⢿⣿⣶⣄⠀⠀⠀ ⠀⠀⠀⠀⠀⢈⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣤⣤⣤⠀⠈⠻⣿⣇⠀⠀ ⠀⠀⠀⠀⢀⣾⡏⠀⠀⠀⠀⠀⠀⠀⣴⡿⠋⠉⠀⠀⠀⠀⠀⠀⠀⢹⡿⠀⠀ ⠀⠀⣀⣤⣼⣿⠀⠀⠀⠀⠀⠀⠀⢸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣷⣄⠀ ⢠⣾⠟⠋⠉⠋⠀⠀⠀⠀⠀⠀⠀⠈⣿⣦⣀⣀⣀⣤⣤⣶⣶⠿⠋⠁⢹ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡟⢉⣿⠋⠉⠉⠉⠁⠀⠀⠀⠀⢸⣿⠀ ⢸⣿⠀⠀⠀⠀⠀⢀⣀⣀⣤⣴⠿⠋⠀⠘⣷⡀⠀⠀⠀⠀⠀⠀⢀⣴⣿⠏⠀ ⢸⣿⡄⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠀⠀⣸⣿⢶⣤⣤⣴⡶⠿⠛⠙⣿ ⠈⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⣽⣿⠀ ⠀⠘⣿⣆⠀⠀⠀⠀⣠⣤⡀⠀⠀⠀⠀⠈⠻⣧⣀⡀⠀⠀⠀⣀⣠⣴⡿⠇⠀ ⠀⠀⠘⢿⣿⣦⣤⣴⡿⠻⠿⣷⣦⣤⣤⣤⣴⣾⣿⡿⠿⠿⠿⠟⠛⠉⠀⠀⠀ ⠀⠀⠀⠀⠀⠀
    • Frozen is more popular coz adm can edit npc from client side and no need dig in xml and etc  )
    • Your work is as good as your arrogance. If you didn't break 10 systems to fix 1, I would recommend aCis. Yes, I use aCis and I fixed a lot of things that you left aside to reorganize and rename things. You insist on recommending your broken public project. Don't do that because there are many people who dream of owning a server, and in aCis 409 every dream is broken. I've seen many people break things by using this. aCis 409 doesn't work at the basics. Water movement and flying movements are broken, which is the basics. Seven Sings is completely broken, Sieges need fixing, and worst of all, level 3 and 4 clan quests are bugged, besides other quests that you intentionally broke and still recommend. You are an excellent programmer, but your arrogance in feeling superior to everyone is killing you. Happy New Year to you, and be more transparent and honest when recommending this. I'm not sharing the corrections I made, nor my Geodata system, precisely because of your arrogance. I'll soon post a video of my Geoengine system, which you spent 12 years on and didn't finish. I can send you a list of everything you need to fix, but you're too arrogant for that because you're a superior God and don't accept advice from mortals.
    • Changelog   All notable changes to this project will be documented in this file. [English Version](#english-version) | [Versión en Español](#versión-en-español)   ---   English Version   [1.1.3] - 2026-01-05   Added   Donation System Integration - Integrated comprehensive donation panel into the main CMS - Implemented direct donation system without requiring user login - Added automatic coin crediting directly to character inventory - Created new React component for donation interface with modern design - Implemented real-time coin calculation based on payment method and currency - Added support for multiple payment gateways:   - MercadoPago (ARS)   - PayPal (USD, BRL, EUR)   - PagSeguro (BRL) - Developed new backend endpoint for processing direct donations - Implemented character validation system before payment processing - Added automatic webhook handling for payment confirmations - Created comprehensive logging system for all donation transactions - Implemented bonus system for bulk coin purchases - Added donation history tracking and management   Vote Reward System - Integrated vote reward panel into the CMS - Implemented multi-topsite voting system - Added automatic reward delivery upon vote verification - Created vote tracking and cooldown management - Implemented anti-fraud measures for vote validation - Added vote history and statistics for users - Developed admin panel for vote reward configuration - Implemented automatic vote verification through topsite APIs   Database Enhancements - Created new table structure for donation management (`site_donations`) - Added `auto_credit` field for automatic coin delivery - Implemented balance tracking system (`site_balance`) - Created conversion and transfer logging tables - Added comprehensive indexing for performance optimization - Implemented transaction history tracking   Frontend Improvements - Developed new donation panel component with consistent site design - Added multi-language support (Spanish, English, Portuguese) - Implemented form validation and error handling - Created responsive design for mobile and desktop - Added real-time price calculation display - Implemented loading states and user feedback messages   Backend Infrastructure - Created secure API endpoints for donation processing - Implemented webhook system for payment gateway integration - Added comprehensive error logging and debugging tools - Developed configuration management system - Implemented security measures for sensitive data handling - Added support for sandbox and production environments   Documentation - Created comprehensive production setup guide - Developed security checklist for deployment - Added database setup scripts with detailed instructions - Created API integration documentation - Developed troubleshooting guides - Added configuration examples for all payment gateways   Changed - Updated navigation system to include donation and vote panels - Modified routing to support new panel pages - Enhanced translation system with new text strings - Improved error handling across the application - Updated proxy configuration for backend communication   Security - Implemented credential protection in configuration files - Added example configuration files without sensitive data - Created .htaccess rules for protecting sensitive directories - Implemented webhook signature validation - Added SQL injection prevention measures - Implemented session security enhancements   Technical Details - React 19.2.0 for frontend components - TypeScript for type safety - Vite 6.2.0 for build tooling - PHP 7.4+ for backend processing - SQL Server 2012+ for database management - Integration with MercadoPago SDK - RESTful API architecture   ---   Versión en Español   [1.1.3] - 2026-01-05   Agregado   Integración del Sistema de Donaciones - Integración completa del panel de donaciones al CMS principal - Implementación de sistema de donaciones directas sin requerir inicio de sesión - Agregada acreditación automática de coins directamente al inventario del personaje - Creación de nuevo componente React para interfaz de donaciones con diseño moderno - Implementación de cálculo de coins en tiempo real según método de pago y moneda - Agregado soporte para múltiples pasarelas de pago:   - MercadoPago (ARS)   - PayPal (USD, BRL, EUR)   - PagSeguro (BRL) - Desarrollo de nuevo endpoint backend para procesamiento de donaciones directas - Implementación de sistema de validación de personajes antes del procesamiento de pago - Agregado manejo automático de webhooks para confirmaciones de pago - Creación de sistema completo de logs para todas las transacciones de donación - Implementación de sistema de bonos para compras de coins en volumen - Agregado seguimiento y gestión de historial de donaciones   Sistema de Recompensas por Votación - Integración del panel de recompensas por votación al CMS - Implementación de sistema de votación multi-topsite - Agregada entrega automática de recompensas al verificar votos - Creación de seguimiento de votos y gestión de tiempos de espera - Implementación de medidas anti-fraude para validación de votos - Agregado historial de votos y estadísticas para usuarios - Desarrollo de panel administrativo para configuración de recompensas - Implementación de verificación automática de votos mediante APIs de topsites   Mejoras en Base de Datos - Creación de nueva estructura de tablas para gestión de donaciones (`site_donations`) - Agregado campo `auto_credit` para entrega automática de coins - Implementación de sistema de seguimiento de balance (`site_balance`) - Creación de tablas de registro de conversiones y transferencias - Agregada indexación completa para optimización de rendimiento - Implementación de seguimiento de historial de transacciones   Mejoras en Frontend - Desarrollo de nuevo componente de panel de donaciones con diseño consistente - Agregado soporte multi-idioma (Español, Inglés, Portugués) - Implementación de validación de formularios y manejo de errores - Creación de diseño responsive para móvil y escritorio - Agregada visualización de cálculo de precios en tiempo real - Implementación de estados de carga y mensajes de retroalimentación al usuario   Infraestructura Backend - Creación de endpoints API seguros para procesamiento de donaciones - Implementación de sistema de webhooks para integración con pasarelas de pago - Agregadas herramientas completas de registro de errores y depuración - Desarrollo de sistema de gestión de configuración - Implementación de medidas de seguridad para manejo de datos sensibles - Agregado soporte para entornos sandbox y producción   Documentación - Creación de guía completa de configuración para producción - Desarrollo de checklist de seguridad para despliegue - Agregados scripts de configuración de base de datos con instrucciones detalladas - Creación de documentación de integración de APIs - Desarrollo de guías de solución de problemas - Agregados ejemplos de configuración para todas las pasarelas de pago   Modificado - Actualización del sistema de navegación para incluir paneles de donación y votación - Modificación del enrutamiento para soportar nuevas páginas de paneles - Mejora del sistema de traducciones con nuevas cadenas de texto - Mejora del manejo de errores en toda la aplicación - Actualización de configuración de proxy para comunicación con backend   Seguridad - Implementación de protección de credenciales en archivos de configuración - Agregados archivos de configuración de ejemplo sin datos sensibles - Creación de reglas .htaccess para proteger directorios sensibles - Implementación de validación de firma de webhooks - Agregadas medidas de prevención de inyección SQL - Implementación de mejoras de seguridad en sesiones   Detalles Técnicos - React 19.2.0 para componentes frontend - TypeScript para seguridad de tipos - Vite 6.2.0 para herramientas de construcción - PHP 7.4+ para procesamiento backend - SQL Server 2012+ para gestión de base de datos - Integración con SDK de MercadoPago - Arquitectura API RESTful   ---   Migration Notes / Notas de Migración   For Existing Installations / Para Instalaciones Existentes   **English:** If you are upgrading from a previous version, please follow these steps: 1. Backup your database before applying any changes 2. Run the database migration script (`database_setup.sql`) 3. Update your configuration file with new settings 4. Configure payment gateway credentials 5. Test the donation flow in sandbox mode before going to production 6. Review the security checklist before deployment   **Español:** Si está actualizando desde una versión anterior, siga estos pasos: 1. Realice una copia de seguridad de su base de datos antes de aplicar cambios 2. Ejecute el script de migración de base de datos (`database_setup.sql`) 3. Actualice su archivo de configuración con las nuevas opciones 4. Configure las credenciales de las pasarelas de pago 5. Pruebe el flujo de donaciones en modo sandbox antes de pasar a producción 6. Revise el checklist de seguridad antes del despliegue   ---   Known Issues / Problemas Conocidos   **English:** - Webhook notifications may experience delays during high traffic periods - Some payment gateways require manual configuration of webhook URLs - Character names are case-sensitive in the donation form   **Español:** - Las notificaciones de webhook pueden experimentar retrasos durante períodos de alto tráfico - Algunas pasarelas de pago requieren configuración manual de URLs de webhook - Los nombres de personajes son sensibles a mayúsculas/minúsculas en el formulario de donación   ---   Roadmap / Hoja de Ruta   Planned Features / Características Planeadas   **English:** - Admin dashboard for donation management - Automated refund processing - Subscription-based donations - Gift card system - Enhanced reporting and analytics - Mobile application support   **Español:** - Panel administrativo para gestión de donaciones - Procesamiento automatizado de reembolsos - Donaciones basadas en suscripción - Sistema de tarjetas de regalo - Reportes y análisis mejorados - Soporte para aplicación móvil   ---   Contributors / Contribuidores   This release includes contributions from the development team focused on creating a secure, user-friendly donation and voting system integrated seamlessly with the existing CMS.   Este lanzamiento incluye contribuciones del equipo de desarrollo enfocado en crear un sistema de donaciones y votación seguro y fácil de usar, integrado perfectamente con el CMS existente.   ---   Support / Soporte   **English:** For issues, questions, or feature requests, please refer to: - `PRODUCTION_SETUP_GUIDE.md` for setup instructions - `SECURITY_CHECKLIST.md` for security guidelines - `DONATION_DIRECT_SYSTEM.md` for technical documentation   **Español:** Para problemas, preguntas o solicitudes de características, consulte: - `PRODUCTION_SETUP_GUIDE.md` para instrucciones de configuración - `SECURITY_CHECKLIST.md` para pautas de seguridad - `DONATION_DIRECT_SYSTEM.md` para documentación técnica   ---   License / Licencia   This project maintains its original licensing terms. Please refer to the LICENSE file for details.   Este proyecto mantiene sus términos de licencia originales. Consulte el archivo LICENSE para más detalles.   ---   **Last Updated / Última Actualización:** January 5, 2026   **Version / Versión:** 1.1.3
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and 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..

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock