Question: A player hit another player

Discussion in 'Plugin Development' started by mikeaaaa, May 5, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    mikeaaaa

    When a Player hit another player, also PVP, and when the hearts are under 2, then he get healed.
    BUT when an OP hit a player, than the hearts get NOT healed.
    I hope you can help me. Thanks
     
  2. Offline

    MP5K

    Hello mikeaaaa,
    use the EntityDamageByEntity Event and Check if getEntity() and getDamager() are Players.
    [PSEUDO CODE]
    PHP:
    public final void onPlayerDamage(EntityDamageByEntityEvent event){
      if(
    event.isCancelled()) return;
      if(
    event.getEntity() instanceof Player && event.getDamager() instanceof Player){
        
    Player player = (Playerevent.getEntity();
        
    Player damager = (Playerevent.getDamager();
        if(
    damager.isOP()) return;
        if(
    player.getHealth() <= 2){
            
    player.setHealth(player.maxHealth());
        }
      }
    }
     
  3. Offline

    mikeaaaa

    ok danke schön :D

    nein, Ich meinte, wenn ein spieler ein spieler schlägt, und fast zum schluss der andere nur noch 1 herz hat, dass dann das leben aufgefüllt wird, doch bei einem Op nicht mehr aufgefüllt.

    PHP:
            public final void onPlayerDamage(EntityDamageByEntityEvent event){
                  if(
    event.getEntity() instanceof Player && event.getDamager() instanceof Player){
                    
    Player p = (Playerevent.getEntity();
                    
    Player damager = (Playerevent.getDamager();
                    if(
    damager.isOp()){
                    
    damager.sendMessage("§4[Plugin] Du schlägst grade ein User. Mikeaaaa wir informiert.");
                    
    System.out.println("[Plugin] Unser Op Spieler " damager.getName() + " schlägt gerade normaler User: " p.getName());
                    if (!(
    damager.isOp())){
                   
                      
    event.setCancelled(true);
                      
    damager.sendMessage("§b[Plugin] §4Du kannst hier nicht Kämpfen!");
                     
                    }
                  }
                  }
            }
                
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 1, 2016
  4. Offline

    MP5K

    try that:
    PHP:
    public final void onPlayerDamage(EntityDamageByEntityEvent event){
        if(
    event.getEntity() instanceof Player && event.getDamager() instanceof Player){
            
    Player p = (Playerevent.getEntity();
            
    Player damager = (Playerevent.getDamager();
            if(
    damager.isOp()){
                
    damager.sendMessage("§4[Plugin] Du schlägst grade ein User. Mikeaaaa wir informiert.");
                
    System.out.println("[Plugin] Unser Op Spieler " damager.getName() + " schlägt gerade normaler User: " p.getName());
                if (!(
    damager.isOp())){
                    if(
    p.getHealth() <= 2){ // if player has Less then or 1 heart
                        
    event.setCancelled(true);
                        
    damager.sendMessage("§b[Plugin] §4Du kannst hier nicht Kämpfen!");
                    }
                }
            }
        }
    }      
     
Thread Status:
Not open for further replies.

Share This Page