Package l2p.gameserver.model

Examples of l2p.gameserver.model.L2Player


  }

  @Override
  public void onIntentionPickUp(L2Object object)
  {
    L2Player actor = getActor();
    if(actor == null)
    {
      return;
    }
    if(actor.getSittingTask())
    {
      setNextAction(nextAction.PICKUP, object, null, false, false);
      return;
    }
    else if(actor.isSitting())
    {
      actor.sendPacket(Msg.YOU_CANNOT_MOVE_WHILE_SITTING);
      clientActionFailed();
      return;
    }
    super.onIntentionPickUp(object);
  }
View Full Code Here


  }

  @Override
  protected void thinkAttack(boolean checkRange)
  {
    L2Player actor = getActor();
    if(actor == null)
    {
      return;
    }
    if(actor.isInFlyingTransform())
    {
      setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
      return;
    }
    super.thinkAttack(checkRange);
View Full Code Here

  }

  @Override
  public void Attack(L2Object target, boolean forceUse, boolean dontMove)
  {
    L2Player actor = getActor();
    if(actor == null)
    {
      return;
    }
    if(actor.isInFlyingTransform())
    {
      actor.sendActionFailed();
      return;
    }
    if(!FloodProtector.tryPerformAction(actor, Action.ATTACK))
    {
      actor.sendActionFailed();
      return;
    }
    if(actor.getSittingTask())
    {
      setNextAction(nextAction.ATTACK, target, null, forceUse, false);
      actor.sendActionFailed();
      return;
    }
    else if(actor.isSitting())
    {
      actor.sendPacket(Msg.YOU_CANNOT_MOVE_WHILE_SITTING);
      clientActionFailed();
      return;
    }
    super.Attack(target, forceUse, dontMove);
  }
View Full Code Here

  }

  @Override
  public void Cast(L2Skill skill, L2Character target, boolean forceUse, boolean dontMove)
  {
    L2Player actor = getActor();
    if(actor == null)
    {
      return;
    }
    if(!skill.altUse() && !(skill.getSkillType() == L2Skill.SkillType.CRAFT && Config.ALLOW_TALK_WHILE_SITTING))
    // Если в этот момент встаем, то использовать скилл когда встанем
    {
      if(actor.getSittingTask())
      {
        setNextAction(nextAction.CAST, skill, target, forceUse, dontMove);
        clientActionFailed();
        return;
      }
      // если сидим - скиллы нельзя использовать
      else if(actor.isSitting())
      {
        if(skill.getSkillType() == L2Skill.SkillType.TRANSFORMATION)
        {
          actor.sendPacket(Msg.YOU_CANNOT_TRANSFORM_WHILE_SITTING);
        }
        else
        {
          actor.sendPacket(Msg.YOU_CANNOT_MOVE_WHILE_SITTING);
        }
        clientActionFailed();
        return;
      }
    }
View Full Code Here

  }

  @Override
  protected void onEvtAttacked(L2Character attacker, int damage)
  {
    L2Player actor = getActor();
    if(actor == null)
    {
      return;
    }
    // notify the tamed beast of attacks
    if(actor.getTrainedBeast() != null)
    {
      actor.getTrainedBeast().onOwnerGotAttacked(attacker);
    }
    super.onEvtAttacked(attacker, damage);
  }
View Full Code Here

      {
        setIntention(CtrlIntention.AI_INTENTION_ATTACK, actor.getPlayer(), null);
      }
      return;
    }
    L2Player owner = actor.getPlayer();
    if(owner == null || owner.isAlikeDead() || actor.getDistance(owner) > 4000 || !owner.isConnected())
    {
      super.onIntentionActive();
      return;
    }
    if(actor.isFollow())
View Full Code Here

  {
    if(param.length < 1)
    {
      throw new IllegalArgumentException();
    }
    L2Player player = (L2Player) getSelf();
    if(player == null)
    {
      return;
    }
    int instancedZoneId = Integer.parseInt(param[0]);
    InstancedZoneManager izm = InstancedZoneManager.getInstance();
    FastMap<Integer, InstancedZone> izs = izm.getById(instancedZoneId);
    if(izs == null)
    {
      player.sendPacket(Msg.SYSTEM_ERROR);
      return;
    }
    InstancedZone iz = izs.get(0);
    assert iz != null;
    String name = iz.getName();
    int timelimit = iz.getTimelimit();
    boolean dispellBuffs = iz.isDispellBuffs();
    int min_level = iz.getMinLevel();
    int max_level = iz.getMaxLevel();
    int minParty = iz.getMinParty();
    int maxParty = iz.getMaxParty();
    if(!player.isInParty())
    {
      player.sendPacket(Msg.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER);
      return;
    }
    if(player.getParty().isInReflection())
    {
      if(player.getLevel() < min_level || player.getLevel() > max_level)
      {
        player.sendPacket(new SystemMessage(SystemMessage.C1S_LEVEL_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addName(player));
        return;
      }
      if(player.isCursedWeaponEquipped())
      {
        player.sendPacket(new SystemMessage(SystemMessage.C1S_QUEST_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addName(player));
        return;
      }
      Reflection old_ref = player.getParty().getReflection();
      if(old_ref != null)
      {
        if(!iz.equals(old_ref.getInstancedZone()))
        {
          player.sendMessage("Your party is in instanced zone already.");
          return;
        }
        if(!Config.ALT_KAMALOKA_LIMITS.equalsIgnoreCase("Leader") && izm.getTimeToNextEnterInstance(name, player) > 0)
        {
          player.sendPacket(new SystemMessage(SystemMessage.C1_MAY_NOT_RE_ENTER_YET).addName(player));
          return;
        }
        if(player.getLevel() < min_level || player.getLevel() > max_level)
        {
          player.sendPacket(new SystemMessage(SystemMessage.C1S_LEVEL_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addName(player));
          return;
        }
        player.teleToLocation(old_ref.getTeleportLoc(), old_ref.getId());
        if(dispellBuffs)
        {
          for(L2Effect e : player.getEffectList().getAllEffects())
          {
            if(!e.getSkill().isOffensive() && !e.getSkill().getName().startsWith("Adventurer's "))
            {
              e.exit();
            }
          }
          if(player.getPet() != null)
          {
            for(L2Effect e : player.getPet().getEffectList().getAllEffects())
            {
              if(!e.getSkill().isOffensive() && !e.getSkill().getName().startsWith("Adventurer's "))
              {
                e.exit();
              }
            }
          }
        }
        return;
      }
    }
    if(!player.getParty().isLeader(player))
    {
      player.sendPacket(Msg.ONLY_A_PARTY_LEADER_CAN_TRY_TO_ENTER);
      return;
    }
    if(player.getParty().getMemberCount() > maxParty)
    {
      player.sendPacket(Msg.YOU_CANNOT_ENTER_DUE_TO_THE_PARTY_HAVING_EXCEEDED_THE_LIMIT);
      return;
    }
    for(L2Player member : player.getParty().getPartyMembers())
    {
      if(member.getLevel() < min_level || member.getLevel() > max_level)
      {
        SystemMessage sm = new SystemMessage(SystemMessage.C1S_LEVEL_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addName(member);
        member.sendPacket(sm);
        player.sendPacket(sm);
        return;
      }
      if(!player.isInRange(member, 500))
      {
        member.sendPacket(Msg.ITS_TOO_FAR_FROM_THE_NPC_TO_WORK);
        player.sendPacket(Msg.ITS_TOO_FAR_FROM_THE_NPC_TO_WORK);
        return;
      }
    }
    if(Config.ALT_KAMALOKA_LIMITS.equalsIgnoreCase("Leader"))
    {
      if(izm.getTimeToNextEnterInstance(name, player) > 0)
      {
        player.sendPacket(new SystemMessage(SystemMessage.C1_MAY_NOT_RE_ENTER_YET).addName(player));
        return;
      }
    }
    else
    {
      for(L2Player member : player.getParty().getPartyMembers())
      {
        if(izm.getTimeToNextEnterInstance(name, member) > 0)
        {
          player.sendPacket(new SystemMessage(SystemMessage.C1_MAY_NOT_RE_ENTER_YET).addName(member));
          return;
        }
      }
    }
    Reflection r = new Reflection(iz);
    r.setInstancedZoneId(instancedZoneId);
    for(InstancedZone i : izs.values())
    {
      if(r.getReturnLoc() == null)
      {
        r.setReturnLoc(i.getReturnCoords());
      }
      if(r.getTeleportLoc() == null)
      {
        r.setTeleportLoc(i.getTeleportCoords());
      }
      r.FillSpawns(i.getSpawnsInfo());
      r.FillDoors(i.getDoors());
    }
    if(minParty <= 1) // для соло инстансов без босса флаг ставится при входе
    {
      player.setVar(name, String.valueOf(System.currentTimeMillis()));
    }
    for(L2Player member : player.getParty().getPartyMembers())
    {
      if(dispellBuffs)
      {
        for(L2Effect e : member.getEffectList().getAllEffects())
        {
          if(!e.getSkill().isOffensive() && !e.getSkill().getName().startsWith("Adventurer's "))
          {
            e.exit();
          }
        }
        if(member.getPet() != null)
        {
          for(L2Effect e : member.getPet().getEffectList().getAllEffects())
          {
            if(!e.getSkill().isOffensive() && !e.getSkill().getName().startsWith("Adventurer's "))
            {
              e.exit();
            }
          }
        }
      }
      member.setVar("backCoords", r.getReturnLoc().toXYZString());
      member.teleToLocation(iz.getTeleportCoords(), r.getId());
    }
    player.getParty().setReflection(r);
    r.setParty(player.getParty());
    if(timelimit > 0)
    {
      r.startCollapseTimer(timelimit * 60 * 1000L);
      player.getParty().broadcastToPartyMembers(new SystemMessage(SystemMessage.THIS_DUNGEON_WILL_EXPIRE_IN_S1_MINUTES).addNumber(timelimit));
    }
  }
View Full Code Here

  public void repair(String[] var)
  {
    if(var.length == 1)
    {
      String name = var[0];
      L2Player activeChar = (L2Player) getSelf();
      if(!activeChar.getAccountChars().containsValue(name))
      {
        show("You can't repair character not on same account!", activeChar);
        return;
      }
      if(activeChar.getName().equalsIgnoreCase(name))
      {
        show("You can't repair yourself!", activeChar);
        return;
      }
      if(L2World.getPlayer(name) != null)
      {
        show("This character is in game now. Please wait until it 'll be dropped.", activeChar);
        return;
      }
      for(Entry<Integer, String> entry : activeChar.getAccountChars().entrySet())
      {
        int obj_id = entry.getKey();
        String char_name = entry.getValue();
        if(!name.equalsIgnoreCase(char_name))
        {
          continue;
        }
        int karma = mysql.simple_get_int("karma", "characters", "`obj_Id`=" + obj_id);
        if(karma > 0)
        {
          mysql.set("UPDATE `characters` SET `x`='17144', `y`='170156', `z`='-3502', `heading`='0' WHERE `obj_Id`='" + obj_id + "' LIMIT 1");
        }
        else
        {
          mysql.set("UPDATE `characters` SET `x`='0', `y`='0', `z`='0', `heading`='0' WHERE `obj_Id`='" + obj_id + "' LIMIT 1");
          mysql.set("UPDATE `items` SET `loc`='WAREHOUSE', `loc_data`='0' WHERE `loc`='PAPERDOLL' AND `owner_id`=" + obj_id);
        }
        mysql.set("DELETE FROM `character_variables` WHERE `obj_id`='" + obj_id + "' AND `type`='user-var' AND `name`='reflection' LIMIT 1");
        show(activeChar.isLangRus() ? "Персонаж успешно отремонтирован. Все вещи перемешены на склад." : "Sucessfully repaired. All inventory moved to warehouse.", activeChar);
        break;
      }
    }
  }
View Full Code Here

      "Produces the following effects when a critical attack occurs: the target is slowed, decrease MP consumption for skill use, and increase Max MP/Max CP. Enhances damage done to the target during PvP.",
      "400/142", "Crossbow"}};

  public void getweapon(String[] var)
  {
    L2Player player = (L2Player) getSelf();
    if(player == null)
    {
      return;
    }
    int item = Integer.parseInt(var[0]);
    if(item < 6611 && item > 6621 || item < 9388 && item > 9390)
    {
      System.out.println(player.getName() + " tried to obtain non hero item using hero weapon service. Ban him!");
      return;
    }
    if(player.isHero())
    {
      for(String heroItem[] : HERO_ITEMS)
      {
        int itemId = Integer.parseInt(heroItem[0]);
        if(player.getInventory().getItemByItemId(itemId) != null || player.getWarehouse().countOf(itemId) > 0)
        {
          return;
        }
      }
      additem(item);
View Full Code Here

    {
      String[] data = fullString.split(" ");
      if(data.length == 5)
      {
        String playerName = data[1];
        L2Player player = L2World.getPlayer(playerName);
        if(player != null)
        {
          teleportCharacter(player, new Location(Integer.parseInt(data[2]), Integer.parseInt(data[3]), Integer.parseInt(data[4])), activeChar);
        }
      }
    }
    else if(fullString.startsWith("admin_recall_char_menu"))
    {
      try
      {
        String targetName = fullString.substring(23);
        L2Player player = L2World.getPlayer(targetName);
        teleportCharacter(player, activeChar.getLoc(), activeChar);
      }
      catch(StringIndexOutOfBoundsException e)
      {
      }
    }
    else if(fullString.startsWith("admin_goto_char_menu"))
    {
      try
      {
        String targetName = fullString.substring(21);
        L2Player player = L2World.getPlayer(targetName);
        teleportToCharacter(activeChar, player);
      }
      catch(StringIndexOutOfBoundsException e)
      {
      }
    }
    else if(fullString.equals("admin_kill_menu"))
    {
      L2Object obj = activeChar.getTarget();
      StringTokenizer st = new StringTokenizer(fullString);
      if(st.countTokens() > 1)
      {
        st.nextToken();
        String player = st.nextToken();
        L2Player plyr = L2World.getPlayer(player);
        if(plyr != null)
        {
          activeChar.sendMessage("You kicked " + plyr.getName() + " from the game.");
        }
        else
        {
          activeChar.sendMessage("Player " + player + " not found in game.");
        }
        obj = plyr;
      }
      if(obj != null && obj.isCharacter())
      {
        L2Character target = (L2Character) obj;
        target.reduceCurrentHp(target.getMaxHp() + 1, activeChar, null, true, true, true, false);
      }
      else
      {
        activeChar.sendPacket(Msg.INVALID_TARGET);
      }
    }
    else if(fullString.startsWith("admin_kick_menu"))
    {
      StringTokenizer st = new StringTokenizer(fullString);
      if(st.countTokens() > 1)
      {
        st.nextToken();
        String player = st.nextToken();
        L2Player plyr = L2World.getPlayer(player);
        if(plyr != null)
        {
          plyr.logout(false, false, true, true);
        }
        if(plyr != null)
        {
          activeChar.sendMessage("You kicked " + plyr.getName() + " from the game.");
        }
        else
        {
          activeChar.sendMessage("Player " + player + " not found in game.");
        }
      }
    }
    else if(fullString.startsWith("admin_ban_menu"))
    {
      StringTokenizer st = new StringTokenizer(fullString);
      if(st.countTokens() > 1)
      {
        st.nextToken();
        String player = st.nextToken();
        L2Player plyr = L2World.getPlayer(player);
        if(plyr != null)
        {
          plyr.setAccountAccesslevel(-100, "admin_ban_menu", -1);
          plyr.logout(false, false, true, true);
        }
      }
    }
    else if(fullString.startsWith("admin_unban_menu"))
    {
      StringTokenizer st = new StringTokenizer(fullString);
      if(st.countTokens() > 1)
      {
        st.nextToken();
        String player = st.nextToken();
        L2Player plyr = L2World.getPlayer(player);
        if(plyr != null)
        {
          plyr.setAccountAccesslevel(0, "admin_unban_menu", 0);
        }
      }
    }
    activeChar.sendPacket(new NpcHtmlMessage(5).setFile("data/html/admin/charmanage.htm"));
    return true;
View Full Code Here

TOP

Related Classes of l2p.gameserver.model.L2Player

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.