Jump to content

erodz

Members
  • Posts

    55
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by erodz

  1. omg nice man :))
  2. finally i got that:)
  3. stupid 200 posts
  4. i get error on writeD(_access.allowFixedRes() || isInsideZone(...)? 0x01 : 0x00) ... but whaterver... forrget it.... delete topic no help here
  5. yes he did, but i don;t know correct codes to add...
  6. so where is my die.java could u tell me what needs to change? /* * 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 com.l2jfrozen.gameserver.network.serverpackets; import com.l2jfrozen.gameserver.datatables.AccessLevel; import com.l2jfrozen.gameserver.datatables.sql.AccessLevels; import com.l2jfrozen.gameserver.managers.CastleManager; import com.l2jfrozen.gameserver.managers.FortManager; import com.l2jfrozen.gameserver.model.L2Attackable; import com.l2jfrozen.gameserver.model.L2Character; import com.l2jfrozen.gameserver.model.L2SiegeClan; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.entity.event.CTF; import com.l2jfrozen.gameserver.model.entity.event.DM; import com.l2jfrozen.gameserver.model.entity.event.TvT; import com.l2jfrozen.gameserver.model.entity.siege.Castle; import com.l2jfrozen.gameserver.model.entity.siege.Fort; /** * sample 0b 952a1048 objectId 00000000 00000000 00000000 00000000 00000000 00000000 format dddddd rev 377 format * ddddddd rev 417 * * @version $Revision: 1.3.3 $ $Date: 2009/04/29 00:46:18 $ */ public class Die extends L2GameServerPacket { private static final String _S__0B_DIE = "[s] 06 Die"; private int _charObjId; private boolean _fake; private boolean _sweepable; private boolean _canTeleport; private AccessLevel _access = AccessLevels.getInstance()._userAccessLevel; private com.l2jfrozen.gameserver.model.L2Clan _clan; L2Character _activeChar; /** * @param cha */ public Die(L2Character cha) { _activeChar = cha; if(cha instanceof L2PcInstance) { L2PcInstance player = (L2PcInstance) cha; _access = player.getAccessLevel(); _clan = player.getClan(); _canTeleport = !((TvT.is_started() && player._inEventTvT) || (DM.is_started() && player._inEventDM) || (CTF.is_started() && player._inEventCTF) || player.isInFunEvent() || player.isPendingRevive()); } _charObjId = cha.getObjectId(); _fake = !cha.isDead(); if(cha instanceof L2Attackable) { _sweepable = ((L2Attackable) cha).isSweepActive(); } } @Override protected final void writeImpl() { if(_fake) return; writeC(0x06); writeD(_charObjId); // NOTE: // 6d 00 00 00 00 - to nearest village // 6d 01 00 00 00 - to hide away // 6d 02 00 00 00 - to castle // 6d 03 00 00 00 - to siege HQ // sweepable // 6d 04 00 00 00 - FIXED writeD(_canTeleport ? 0x01 : 0); // 6d 00 00 00 00 - to nearest village if(_canTeleport && _clan != null) { L2SiegeClan siegeClan = null; Boolean isInDefense = false; Castle castle = CastleManager.getInstance().getCastle(_activeChar); Fort fort = FortManager.getInstance().getFort(_activeChar); if(castle != null && castle.getSiege().getIsInProgress()) { //siege in progress siegeClan = castle.getSiege().getAttackerClan(_clan); if(siegeClan == null && castle.getSiege().checkIsDefender(_clan)) { isInDefense = true; } } else if(fort != null && fort.getSiege().getIsInProgress()) { //siege in progress siegeClan = fort.getSiege().getAttackerClan(_clan); if(siegeClan == null && fort.getSiege().checkIsDefender(_clan)) { isInDefense = true; } } writeD(_clan.getHasHideout() > 0 ? 0x01 : 0x00); // 6d 01 00 00 00 - to hide away writeD(_clan.getHasCastle() > 0 || _clan.getHasFort() > 0 || isInDefense ? 0x01 : 0x00); // 6d 02 00 00 00 - to castle writeD(siegeClan != null && !isInDefense && siegeClan.getFlag().size() > 0 ? 0x01 : 0x00); // 6d 03 00 00 00 - to siege HQ } else { writeD(0x00); // 6d 01 00 00 00 - to hide away writeD(0x00); // 6d 02 00 00 00 - to castle writeD(0x00); // 6d 03 00 00 00 - to siege HQ } writeD(_sweepable ? 0x01 : 0x00); // sweepable (blue glow) writeD(_access.allowFixedRes() ? 0x01 : 0x00); // 6d 04 00 00 00 - to FIXED } /* (non-Javadoc) * @see com.l2jfrozen.gameserver.serverpackets.ServerBasePacket#getType() */ @Override public String getType() { return _S__0B_DIE; } } and requestrestartpoint.java //* * 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 com.l2jfrozen.gameserver.network.clientpackets; import java.util.logging.Logger; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.datatables.csv.MapRegionTable; import com.l2jfrozen.gameserver.managers.CastleManager; import com.l2jfrozen.gameserver.managers.ClanHallManager; import com.l2jfrozen.gameserver.managers.FortManager; import com.l2jfrozen.gameserver.model.L2SiegeClan; import com.l2jfrozen.gameserver.model.Location; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.entity.ClanHall; import com.l2jfrozen.gameserver.model.entity.event.CTF; import com.l2jfrozen.gameserver.model.entity.event.DM; import com.l2jfrozen.gameserver.model.entity.event.TvT; import com.l2jfrozen.gameserver.model.entity.siege.Castle; import com.l2jfrozen.gameserver.model.entity.siege.Fort; import com.l2jfrozen.gameserver.network.serverpackets.Revive; import com.l2jfrozen.gameserver.thread.ThreadPoolManager; import com.l2jfrozen.gameserver.util.IllegalPlayerAction; import com.l2jfrozen.gameserver.util.Util; /** * @author programmos */ public final class RequestRestartPoint extends L2GameClientPacket { private static Logger _log = Logger.getLogger(RequestRestartPoint.class.getName()); protected int _requestedPointType; protected boolean _continuation; @Override protected void readImpl() { _requestedPointType = readD(); } class DeathTask implements Runnable { L2PcInstance activeChar; DeathTask(L2PcInstance _activeChar) { activeChar = _activeChar; } @Override public void run() { if ((activeChar._inEventTvT && TvT.is_started()) || (activeChar._inEventDM && DM.is_started()) || (activeChar._inEventCTF && CTF.is_started())) { activeChar.sendMessage("You can't restart in Event!"); return; } try { Location loc = null; Castle castle = null; Fort fort = null; if (activeChar.isInJail()) { _requestedPointType = 27; } else if (activeChar.isFestivalParticipant()) { _requestedPointType = 4; } if (activeChar.isPhoenixBlessed()) activeChar.stopPhoenixBlessing(null); switch (_requestedPointType) { case 1: // to clanhall if (activeChar.getClan() != null) { if (activeChar.getClan().getHasHideout() == 0) { // cheater activeChar.sendMessage("You may not use this respawn point!"); Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " used respawn cheat.", IllegalPlayerAction.PUNISH_KICK); return; } loc = MapRegionTable.getInstance().getTeleToLocation(activeChar, MapRegionTable.TeleportWhereType.ClanHall); if (ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan()) != null && ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan()).getFunction(ClanHall.FUNC_RESTORE_EXP) != null) { activeChar.restoreExp(ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan()).getFunction(ClanHall.FUNC_RESTORE_EXP).getLvl()); } break; } loc = MapRegionTable.getInstance().getTeleToLocation(activeChar, MapRegionTable.TeleportWhereType.Town); break; case 2: // to castle Boolean isInDefense = false; castle = CastleManager.getInstance().getCastle(activeChar); fort = FortManager.getInstance().getFort(activeChar); MapRegionTable.TeleportWhereType teleportWhere = MapRegionTable.TeleportWhereType.Town; if (castle != null && castle.getSiege().getIsInProgress()) { // siege in progress if (castle.getSiege().checkIsDefender(activeChar.getClan())) { isInDefense = true; } } if (fort != null && fort.getSiege().getIsInProgress()) { // siege in progress if (fort.getSiege().checkIsDefender(activeChar.getClan())) { isInDefense = true; } } if (activeChar.getClan().getHasCastle() == 0 && activeChar.getClan().getHasFort() == 0 && !isInDefense) { // cheater activeChar.sendMessage("You may not use this respawn point!"); Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " used respawn cheat.", IllegalPlayerAction.PUNISH_KICK); return; } if (CastleManager.getInstance().getCastleByOwner(activeChar.getClan()) != null) teleportWhere = MapRegionTable.TeleportWhereType.Castle; else if (FortManager.getInstance().getFortByOwner(activeChar.getClan()) != null) teleportWhere = MapRegionTable.TeleportWhereType.Fortress; loc = MapRegionTable.getInstance().getTeleToLocation(activeChar, teleportWhere); break; case 3: // to siege HQ L2SiegeClan siegeClan = null; castle = CastleManager.getInstance().getCastle(activeChar); fort = FortManager.getInstance().getFort(activeChar); if (castle != null && castle.getSiege().getIsInProgress()) { siegeClan = castle.getSiege().getAttackerClan(activeChar.getClan()); } else if (fort != null && fort.getSiege().getIsInProgress()) { siegeClan = fort.getSiege().getAttackerClan(activeChar.getClan()); } if (siegeClan == null || siegeClan.getFlag().size() == 0) { // cheater activeChar.sendMessage("You may not use this respawn point!"); Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " used respawn cheat.", IllegalPlayerAction.PUNISH_KICK); return; } loc = MapRegionTable.getInstance().getTeleToLocation(activeChar, MapRegionTable.TeleportWhereType.SiegeFlag); break; case 4: // Fixed or Player is a festival participant if (!activeChar.isGM() && !activeChar.isFestivalParticipant()) { // cheater activeChar.sendMessage("You may not use this respawn point!"); Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " used respawn cheat.", IllegalPlayerAction.PUNISH_KICK); return; } loc = new Location(activeChar.getX(), activeChar.getY(), activeChar.getZ()); // spawn them where they died break; case 27: // to jail if (!activeChar.isInJail()) return; loc = new Location(-114356, -249645, -2984); break; default: if (activeChar.getKarma() > 0 && Config.ALT_KARMA_TELEPORT_TO_FLORAN) { loc = new Location(17836, 170178, -3507);// Floran Village break; } loc = MapRegionTable.getInstance().getTeleToLocation(activeChar, MapRegionTable.TeleportWhereType.Town); break; } // Stand up and teleport, proof dvp video. activeChar.setIsIn7sDungeon(false); activeChar.setIsPendingRevive(true); activeChar.teleToLocation(loc, true); } catch (Throwable e) { e.printStackTrace(); // _log.log(Level.SEVERE, "", e); } } } @Override protected void runImpl() { L2PcInstance activeChar = getClient().getActiveChar(); if (activeChar == null) return; if (activeChar.isFakeDeath()) { activeChar.stopFakeDeath(null); activeChar.broadcastPacket(new Revive(activeChar)); return; } else if (!activeChar.isAlikeDead()) { _log.warning("Living player [" + activeChar.getName() + "] called RestartPointPacket! Ban this player!"); return; } Castle castle = CastleManager.getInstance().getCastle(activeChar.getX(), activeChar.getY(), activeChar.getZ()); if (castle != null && castle.getSiege().getIsInProgress()) { if (activeChar.getClan() != null && castle.getSiege().checkIsAttacker(activeChar.getClan())) { // Schedule respawn delay for attacker ThreadPoolManager.getInstance().scheduleGeneral(new DeathTask(activeChar), castle.getSiege().getAttackerRespawnDelay()); activeChar.sendMessage("You will be re-spawned in " + castle.getSiege().getAttackerRespawnDelay() / 1000 + " seconds"); return; } } // run immediately (no need to schedule) new DeathTask(activeChar).run(); } @Override public String getType() { return "[C] 6d RequestRestartPoint"; } } if u could help me with that, it will be my last stupid question...thanks
  7. so i have to edit theses 2 lines ? writeD(_sweepable ? 0x01 : 0x00); // sweepable (blue glow) writeD(_access.allowFixedRes() ? 0x01 : 0x00); // 6d 04 00 00 00 - to FIXED }
  8. l2j frozen
  9. i can't find any zones.xsd
  10. ok, i was adding multifunctionzone codes in gs, added successfuly , compiled without warnings... but when i run GS i get town manager error: no such zone multifunctionzone... i checked 2 times looks all ok....
  11. ....?
  12. or maybe where is any code which can be added in RequestRestartPoint.java to make existing button ?
  13. not changing button, but adding new button
  14. hey, i'm looking for a code with makes randon respawn on die, i mean when you die in farm zone or pvp zone usually small windows come out with button "to village" so i want to get code which makes new button with "random respawn" . so players can choose go to village or random respawn in the zone:) anyone have that code? thanks
  15. what project u using?
  16. because is best, good gamplay
  17. lots of bullshit :D hah
  18. update link pls
  19. very very good man. keep going
  20. too much customs on interlude.... dont like it...
  21. 9 and 10 shares looks good :)
  22. looks nice . all buffs inside it?
×
×
  • Create New...

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