Jump to content

Malzahax

Members
  • Posts

    667
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Malzahax

  1. Bump

     

    finally the server is on a good stage, today we may open the test server so people will get a taste of what is going to be in near feature ( test server will run on a home pc ofc and on a beta forum just for peoples taste , live will have its own domain + own dedicated server )

  2. i would create a patch for you but since i dont have source then just take the whole file.

    /*
    * 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 2, 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, write to the Free Software
    * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    * 02111-1307, USA.
    *
    * http://www.gnu.org/copyleft/gpl.html
    */
    package net.-.gameserver.model.actor.instance;
    
    import java.util.StringTokenizer;
    
    import javolution.util.FastSet;
    
    import net.-.Config;
    import net.-.gameserver.ai.CtrlIntention;
    import net.-.gameserver.model.L2Object;
    import net.-.gameserver.model.L2World;
    import net.-.gameserver.model.entity.FactionMaps;
    import net.-.gameserver.network.serverpackets.ActionFailed;
    import net.-.gameserver.network.serverpackets.MyTargetSelected;
    import net.-.gameserver.network.serverpackets.NpcHtmlMessage;
    import net.-.gameserver.network.serverpackets.SocialAction;
    import net.-.gameserver.network.serverpackets.ValidateLocation;
    import net.-.gameserver.templates.chars.L2NpcTemplate;
    import net.-.util.StringUtil;
    import net.-.util.Rnd;
    
    /**
    * 
    * @author Evillus
    *
    */
    
    public class L2FactTeleporterInstance extends L2NpcInstance
    {
        public L2FactTeleporterInstance(int objectId, L2NpcTemplate template)
        {
            super(objectId, template);
        }
    
    public static FastSet<L2TpFlagInstance> _tpTeam1Flags = new FastSet<L2TpFlagInstance>();
    public static FastSet<L2TpFlagInstance> _tpTeam2Flags = new FastSet<L2TpFlagInstance>();
    public static FastSet<L2TpFlagInstance> _not_captured = new FastSet<L2TpFlagInstance>();
    public static FastSet<L2ProtectorInstance> _guards = new FastSet<L2ProtectorInstance>();
    public static FastSet<L2NpcInstance> _blazers = new FastSet<L2NpcInstance>();
    public static FastSet<L2GrandBossInstance> _bosses = new FastSet<L2GrandBossInstance>();
    
        @Override
        public void onBypassFeedback(L2PcInstance player, String command)
        {
    	StringTokenizer st = new StringTokenizer(command, " ");
    	String actualCommand = st.nextToken();
    	int val = 0;
    	if (st.countTokens() >= 1)
    		val = Integer.valueOf(st.nextToken());
    
    	if (actualCommand.equalsIgnoreCase("teletoflag"))
    		teleToFlag(val,player);
    	else if (actualCommand.equalsIgnoreCase("teletoloc"))
    		teleToLoc(player);
    	else
    		super.onBypassFeedback(player, command);
        }
    
    public void teleToFlag(int objId, L2PcInstance player)
    {
    	L2Object object = L2World.getInstance().findObject(objId);
    	if (object != null && object instanceof L2TpFlagInstance) {
    		L2TpFlagInstance flagbase = (L2TpFlagInstance) object;
    		if (player.getFactionId() == flagbase.getFlagFactionId())
    			player.teleToLocation(flagbase.getX() + 50,flagbase.getY(),flagbase.getZ());
    	}
    	else {
    		player.sendMessage("Base location is not accessable due to occupation.");
    		return;
    	}
    }
    
    public void teleToLoc(L2PcInstance player)
    {
    	player.teleToLocation(89547,85559,-2766);
    }
    
    @Override
        public void onAction(L2PcInstance player)
        {
    	if (this != player.getTarget()) {
    		player.setTarget(this);
    		player.sendPacket(new MyTargetSelected(getObjectId(), player.getLevel() - getLevel()));
    		player.sendPacket(new ValidateLocation(this));
    	} 
    	else if (isInsideRadius(player, INTERACTION_DISTANCE, false, false)) {
    		SocialAction sa = new SocialAction(this, Rnd.get(8));
    		broadcastPacket(sa);
    		player.setCurrentFolkNPC(this);
    		showMessageWindow(player);
    		player.sendPacket(ActionFailed.STATIC_PACKET);
    	}
    	else {
    		player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
    		player.sendPacket(ActionFailed.STATIC_PACKET);
    	}
        }
    
        private void showMessageWindow(L2PcInstance player)
        {
    	NpcHtmlMessage html = new NpcHtmlMessage(1);
    	final StringBuilder strBuffer = StringUtil.startAppend(3500, "<html><title>Faction Teleporter</title><body><center>");
    	if (player.getFactionId() == 0) {
    		strBuffer.append("SHIT HAPPENS");
    		strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    	    strBuffer.append("Please chose your faction and then come back!<br>");
    		strBuffer.append("I am sure, that Faction manager will help you.<br>");
    	}
    	else if (FactionMaps.isVoting()) {
    		strBuffer.append("Map voting is in progress.<br>");
    		strBuffer.append("Try again in <font color=\"LEVEL\">1 minute.</font><br>");
    	}
    	else if (player.isInOlympiadMode()) {
    		strBuffer.append("SHIT HAPPENS");
    		strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    	    strBuffer.append("I can't teleport you, because you're participating in olympiad!<br>");
    	}
    	else {
    		strBuffer.append("<img src=\"l2font-e.replay_logo-e\" width=258 height=60 align=left>");
    		strBuffer.append("Current map is: <font color=\"LEVEL\">" + FactionMaps.getMapName() + "</font><br>");
    		strBuffer.append("Voting for the next map will begin in: " + FactionMaps.getDelayUntilVoting() + "<br>");
    		strBuffer.append("Unoccupyable flags belonging to <font color=\"LEVEL\">%faction%</font> faction:<br>");
    		strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    		switch (player.getFactionId()) {
    			case 1:
    				for (L2TpFlagInstance unFlag : _tpTeam1Flags)
    				{
    					if (unFlag.isUnoccupayable() == 1)
    						strBuffer.append("<button value=\"" + unFlag.getFlagName() + "\" action=\"bypass -h npc_%objectId%_teletoflag " + unFlag.getObjectId() + "\" width=135 height=21 back=\"L2UI_CH3.bigbutton3_over\" fore=\"L2UI_CH3.bigbutton3\">");
    				}
    				break;
    			case 2:
    				for (L2TpFlagInstance unFlag : _tpTeam2Flags)
    				{
    					if (unFlag.isUnoccupayable() == 1)
    						strBuffer.append("<button value=\"" + unFlag.getFlagName() + "\" action=\"bypass -h npc_%objectId%_teletoflag " + unFlag.getObjectId() + "\" width=135 height=21 back=\"L2UI_CH3.bigbutton3_over\" fore=\"L2UI_CH3.bigbutton3\">");
    				}
    				break;
    			default:
    				strBuffer.append("No Flags found.");
    				break;
    		}
    		strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    		strBuffer.append("Flags occupied by <font color=\"LEVEL\">%faction%</font> faction:<br>");
    		switch (player.getFactionId()) {
    			case 1:
    				for (L2TpFlagInstance unFlag : _tpTeam1Flags)
    				{
    					if (unFlag.isUnoccupayable() == 0)
    						strBuffer.append("<button value=\"" + unFlag.getFlagName() + "\" action=\"bypass -h npc_%objectId%_teletoflag " + unFlag.getObjectId() + "\" width=135 height=21 back=\"L2UI_CH3.bigbutton3_over\" fore=\"L2UI_CH3.bigbutton3\">");
    				}
    				break;
    			case 2:
    				for (L2TpFlagInstance unFlag1 : _tpTeam2Flags)
    				{
    					if (unFlag1.isUnoccupayable() == 0)
    						strBuffer.append("<button value=\"" + unFlag1.getFlagName() + "\" action=\"bypass -h npc_%objectId%_teletoflag " + unFlag1.getObjectId() + "\" width=135 height=21 back=\"L2UI_CH3.bigbutton3_over\" fore=\"L2UI_CH3.bigbutton3\">");
    				}
    				break;
    			default:
    				strBuffer.append("No Flags found.");
    				break;
    		}
    	}
    	strBuffer.append("<button value=\"Nobless: Flame of Spendor Barakiel\" action=\"bypass -h npc_%objectId%_teletoloc\" width=135 height=21 back=\"L2UI_CH3.bigbutton3_over\" fore=\"L2UI_CH3.bigbutton3\">");
    	strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    	strBuffer.append("</center></body></html>");
    	html.setHtml(strBuffer.toString());
    	html.replace("%objectId%", String.valueOf(getObjectId()));
    	if (player.getFactionId() == 1)
    		html.replace("%faction%", Config.FACTION_TEAM1_NAME);
    	else if (player.getFactionId() == 2)
    		html.replace("%faction%", Config.FACTION_TEAM2_NAME);
    	else
    		html.replace("%faction%", "No Faction");
    	html.replace("%npcname%", getName());
    	player.sendPacket(html);
        }
    }

     

    i focking love you troll

  3. /*
    * 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 2, 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, write to the Free Software
    * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    * 02111-1307, USA.
    *
    * http://www.gnu.org/copyleft/gpl.html
    */
    package net.-.gameserver.model.actor.instance;
    
    import java.util.StringTokenizer;
    
    import javolution.util.FastSet;
    
    import net.-.Config;
    import net.-.gameserver.ai.CtrlIntention;
    import net.-.gameserver.model.L2Object;
    import net.-.gameserver.model.L2World;
    import net.-.gameserver.model.entity.FactionMaps;
    import net.-.gameserver.network.serverpackets.ActionFailed;
    import net.-.gameserver.network.serverpackets.MyTargetSelected;
    import net.-.gameserver.network.serverpackets.NpcHtmlMessage;
    import net.-.gameserver.network.serverpackets.SocialAction;
    import net.-.gameserver.network.serverpackets.ValidateLocation;
    import net.-.gameserver.templates.chars.L2NpcTemplate;
    import net.-.util.StringUtil;
    import net.-.util.Rnd;
    
    /**
    * 
    * @author Evillus
    *
    */
    
    public class L2FactTeleporterInstance extends L2NpcInstance
    {
        public L2FactTeleporterInstance(int objectId, L2NpcTemplate template)
        {
            super(objectId, template);
        }
    
    public static FastSet<L2TpFlagInstance> _tpTeam1Flags = new FastSet<L2TpFlagInstance>();
    public static FastSet<L2TpFlagInstance> _tpTeam2Flags = new FastSet<L2TpFlagInstance>();
    public static FastSet<L2TpFlagInstance> _not_captured = new FastSet<L2TpFlagInstance>();
    public static FastSet<L2ProtectorInstance> _guards = new FastSet<L2ProtectorInstance>();
    public static FastSet<L2NpcInstance> _blazers = new FastSet<L2NpcInstance>();
    public static FastSet<L2GrandBossInstance> _bosses = new FastSet<L2GrandBossInstance>();
    
        @Override
        public void onBypassFeedback(L2PcInstance player, String command)
        {
    	StringTokenizer st = new StringTokenizer(command, " ");
    	String actualCommand = st.nextToken();
    	int val = 0;
    	if (st.countTokens() >= 1)
    		val = Integer.valueOf(st.nextToken());
    
    	if (actualCommand.equalsIgnoreCase("teletoflag"))
    		teleToFlag(val,player);
    	else
    		super.onBypassFeedback(player, command);
        }
    
    public void teleToFlag(int objId, L2PcInstance player)
    {
    	L2Object object = L2World.getInstance().findObject(objId);
    	if (object != null && object instanceof L2TpFlagInstance) {
    		L2TpFlagInstance flagbase = (L2TpFlagInstance) object;
    		if (player.getFactionId() == flagbase.getFlagFactionId())
    			player.teleToLocation(flagbase.getX() + 50,flagbase.getY(),flagbase.getZ());
    	}
    	else {
    		player.sendMessage("Base location is not accessable due to occupation.");
    		return;
    	}
    }
    
    @Override
        public void onAction(L2PcInstance player)
        {
    	if (this != player.getTarget()) {
    		player.setTarget(this);
    		player.sendPacket(new MyTargetSelected(getObjectId(), player.getLevel() - getLevel()));
    		player.sendPacket(new ValidateLocation(this));
    	} 
    	else if (isInsideRadius(player, INTERACTION_DISTANCE, false, false)) {
    		SocialAction sa = new SocialAction(this, Rnd.get(8));
    		broadcastPacket(sa);
    		player.setCurrentFolkNPC(this);
    		showMessageWindow(player);
    		player.sendPacket(ActionFailed.STATIC_PACKET);
    	}
    	else {
    		player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
    		player.sendPacket(ActionFailed.STATIC_PACKET);
    	}
        }
    
        private void showMessageWindow(L2PcInstance player)
        {
    	NpcHtmlMessage html = new NpcHtmlMessage(1);
    	final StringBuilder strBuffer = StringUtil.startAppend(3500, "<html><title>Faction Teleporter</title><body><center>");
    	if (player.getFactionId() == 0) {
    		strBuffer.append("SHIT HAPPENS");
    		strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    	    strBuffer.append("Please chose your faction and then come back!<br>");
    		strBuffer.append("I am sure, that Faction manager will help you.<br>");
    	}
    	else if (FactionMaps.isVoting()) {
    		strBuffer.append("Map voting is in progress.<br>");
    		strBuffer.append("Try again in <font color=\"LEVEL\">1 minute.</font><br>");
    	}
    	else if (player.isInOlympiadMode()) {
    		strBuffer.append("SHIT HAPPENS");
    		strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    	    strBuffer.append("I can't teleport you, because you're participating in olympiad!<br>");
    	}
    	else {
    		strBuffer.append("<img src=\"l2font-e.replay_logo-e\" width=258 height=60 align=left>");
    		strBuffer.append("Current map is: <font color=\"LEVEL\">" + FactionMaps.getMapName() + "</font><br>");
    		strBuffer.append("Voting for the next map will begin in: " + FactionMaps.getDelayUntilVoting() + "<br>");
    		strBuffer.append("Unoccupyable flags belonging to <font color=\"LEVEL\">%faction%</font> faction:<br>");
    		strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    		switch (player.getFactionId()) {
    			case 1:
    				for (L2TpFlagInstance unFlag : _tpTeam1Flags)
    				{
    					if (unFlag.isUnoccupayable() == 1)
    						strBuffer.append("<button value=\"" + unFlag.getFlagName() + "\" action=\"bypass -h npc_%objectId%_teletoflag " + unFlag.getObjectId() + "\" width=135 height=21 back=\"L2UI_CH3.bigbutton3_over\" fore=\"L2UI_CH3.bigbutton3\">");
    				}
    				break;
    			case 2:
    				for (L2TpFlagInstance unFlag : _tpTeam2Flags)
    				{
    					if (unFlag.isUnoccupayable() == 1)
    						strBuffer.append("<button value=\"" + unFlag.getFlagName() + "\" action=\"bypass -h npc_%objectId%_teletoflag " + unFlag.getObjectId() + "\" width=135 height=21 back=\"L2UI_CH3.bigbutton3_over\" fore=\"L2UI_CH3.bigbutton3\">");
    				}
    				break;
    			default:
    				strBuffer.append("No Flags found.");
    				break;
    		}
    		strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    		strBuffer.append("Flags occupied by <font color=\"LEVEL\">%faction%</font> faction:<br>");
    		switch (player.getFactionId()) {
    			case 1:
    				for (L2TpFlagInstance unFlag : _tpTeam1Flags)
    				{
    					if (unFlag.isUnoccupayable() == 0)
    						strBuffer.append("<button value=\"" + unFlag.getFlagName() + "\" action=\"bypass -h npc_%objectId%_teletoflag " + unFlag.getObjectId() + "\" width=135 height=21 back=\"L2UI_CH3.bigbutton3_over\" fore=\"L2UI_CH3.bigbutton3\">");
    				}
    				break;
    			case 2:
    				for (L2TpFlagInstance unFlag1 : _tpTeam2Flags)
    				{
    					if (unFlag1.isUnoccupayable() == 0)
    						strBuffer.append("<button value=\"" + unFlag1.getFlagName() + "\" action=\"bypass -h npc_%objectId%_teletoflag " + unFlag1.getObjectId() + "\" width=135 height=21 back=\"L2UI_CH3.bigbutton3_over\" fore=\"L2UI_CH3.bigbutton3\">");
    				}
    				break;
    			default:
    				strBuffer.append("No Flags found.");
    				break;
    		}
    	}
    	strBuffer.append("<img src=\"L2UI_CH3.onscrmsg_pattern01_2\" width=300 height=32 align=left>");
    	strBuffer.append("</center></body></html>");
    	html.setHtml(strBuffer.toString());
    	html.replace("%objectId%", String.valueOf(getObjectId()));
    	if (player.getFactionId() == 1)
    		html.replace("%faction%", Config.FACTION_TEAM1_NAME);
    	else if (player.getFactionId() == 2)
    		html.replace("%faction%", Config.FACTION_TEAM2_NAME);
    	else
    		html.replace("%faction%", "No Faction");
    	html.replace("%npcname%", getName());
    	player.sendPacket(html);
        }
    }

     

     

    i just need both teams to got a new button on this Gatekeeper named [Nobless Boss] and when player press it to teleport them on x=89547 y=-85559 z= -2766

     

     

    (IT WORKS LIKE A NORMAL GK :p JUST ADD ME THE BUTTON WITH THE CORDS CAUSE I DONT KNOW HOW!)

  4. we implemented a new vote reward system that gives you an opportunity to choose 1 of the 3 suggested rewards.

    We changed the enchant system to PvP Scroll .. What that means? After 1 pvp you got 20% chance to get a scroll of enchant (server checks your gear so it will give you normal or blessed scroll for your gear)

    Also we implemented a new gatekeeper for the Nobless raid boss that gives an instant nobless status to the party/player that hunted it..

    Last but not least, we set buff slots to 24

     

    We detailed the Closed beta test cause we still implement / fix

    ~ Sincerely yours Malzahax L2 RvB supporter / GM

  5. Ένα pack θέλω. Δεν θέλω και τίποτα το σπουδαίο. Εμένα πάντως ένας μου είπε θα με το κάνει free αλλά δεν μπορώ να περιμένω 1 μήνα. Λείπει στο εξωτερικό και θα γυρίσει σε 1 μήνα. Δεν μπορώ να περιμένω 1 μήνα.

     

    1n logo pou kapios tha ginei malakas apla gia na sou ftiaksei 1 pack free?

  6. Γεια σας παιδιά. Θέλω κάποιος να μου κάνει ένα pack. Μιλάμε για Interlude. Όπως είναι το L2jFrozen ή το L2jKatara(L2 Leviticus). Θέλω να έχω ένα δικό μου pack γιατί θέλω να τον δώσω σε εταιρία και θέλω να έχω δικό μου. Για περισσότερες πληροφορίες στείλτε μου PM..

    $?

×
×
  • Create New...