VIP Savasci Plugin Yazdım Bir Bakarmısın Hata Var :( ?

notaldo

If you want this, dream it!
En iyi cevaplar
1
VIP Savasci diye bir plugin yazdım SımpleVIPPerks adlı pluginin toplu komut hali fakat adamlar saniyede bir yazıyor nasıl cooldown ya da delay ekleyebilirim buna ? Bilen varsa yardımcı olabilirmi ?

Kod:
package com.java.savasci;

import java.util.ArrayList;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class Savasci extends JavaPlugin implements Listener{
   
    ArrayList<Player> cooldown = new ArrayList<Player>();
   
    public void serverAcildiginda(){
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }
   

    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
        Player oyuncu = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("Efekt")){
            if(oyuncu.hasPermission("savasci.vip")){
            oyuncu.sendMessage(ChatColor.DARK_AQUA + "[" + ChatColor.RED + "VIP Savasci" + ChatColor.DARK_AQUA + "]" + ChatColor.DARK_GREEN + " Efektler verildi. Iyi Olan Kazansin...!");
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 900, 0),true);
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 900, 1),true);
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 900, 1),true);
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE, 900, 1),true);
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 900, 1),true);
        }
            else {
                if(oyuncu.hasPermission("savasci.oyuncu")){
                    oyuncu.sendMessage(ChatColor.DARK_AQUA + "[" + ChatColor.RED + "VIP Savasci" + ChatColor.DARK_AQUA + "]" + ChatColor.RED + " Bu komutu sadece" + ChatColor.YELLOW + " V" + ChatColor.DARK_AQUA + "I" + ChatColor.AQUA + "P" + ChatColor.RED + " ler kullanabilir.");
        }
            }
    }
        return false;
}
}
 

notaldo

If you want this, dream it!
En iyi cevaplar
1
Bilen varsa söyleyebilirmi ilk deneyimim daha acemi olabilirim sadece komutu 60 saniyede bir yazmalarını nasıl ekleyebilirim onu arıyorum.
 

notaldo

If you want this, dream it!
En iyi cevaplar
1
Sağol ama kimler devolper bilmiyorum Plugin yazmak gerçekten çok zevkli bir iş ilk yaptıgım plugini de direk koyacam eklentiler bolumune ÜCRETSİZ :D VIP Savasci ise SimpleVIPPerks in tamamen türkçe hali olcak :D İNŞALLAH
 

Krumb069

Nether Yerlisi
En iyi cevaplar
1
etiketleyememişsin ama
@GodofMilker @Krumb69 @CoffeeBeat


Sent from my iPhone using Tapatalk
oyuncuya efekt verdikten sonra şu kodu ekle:
Kod:
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
        scheduler.scheduleSyncDelayedTask(this, new Runnable() {
            @Override
            public void run() {
                cooldown.remove(oyuncu);
            }
        }, 600L);
ordaki 600L kaç tick olduğu. o haliyle 30 saniyede bir yapıyor
ve efekt vermeden önce şu kontrolü ekle:
if (cooldown.contains(oyuncu))
 

EnesMT

Demir Madencisi
En iyi cevaplar
0
etiketleyememişsin ama

oyuncuya efekt verdikten sonra şu kodu ekle:
Kod:
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
        scheduler.scheduleSyncDelayedTask(this, new Runnable() {
            @Override
            public void run() {
                cooldown.remove(oyuncu);
            }
        }, 600L);
ordaki 600L kaç tick olduğu. o haliyle 30 saniyede bir yapıyor
ve efekt vermeden önce şu kontrolü ekle:
if (cooldown.contains(oyuncu))
Anladigim Kadariyla Java Bilmiyor Tam Kodu At
 

Krumb069

Nether Yerlisi
En iyi cevaplar
1
Kod:
package com.java.savasci;

import java.util.ArrayList;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class Savasci extends JavaPlugin implements Listener{
  
    ArrayList<Player> cooldown = new ArrayList<Player>();
  
    public void serverAcildiginda(){
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }
  

    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
        Player oyuncu = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("Efekt")){
            if(oyuncu.hasPermission("savasci.vip")){
                   if (cooldown.contains(oyuncu)){
                    oyuncu.sendMessage("Bunu 30 sn'de bir kullanabilirsin!");
                    }
                else{
                
            oyuncu.sendMessage(ChatColor.DARK_AQUA + "[" + ChatColor.RED + "VIP Savasci" + ChatColor.DARK_AQUA + "]" + ChatColor.DARK_GREEN + " Efektler verildi. Iyi Olan Kazansin...!");
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 900, 0),true);
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 900, 1),true);
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 900, 1),true);
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE, 900, 1),true);
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 900, 1),true);
            cooldown.add(oyuncu);
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
scheduler.scheduleSyncDelayedTask(this, new Runnable() {
@Override
public void run() {
cooldown.remove(oyuncu);
}
}, 600L);
            }
        }
            else {
                if(oyuncu.hasPermission("savasci.oyuncu")){
                    oyuncu.sendMessage(ChatColor.DARK_AQUA + "[" + ChatColor.RED + "VIP Savasci" + ChatColor.DARK_AQUA + "]" + ChatColor.RED + " Bu komutu sadece" + ChatColor.YELLOW + " V" + ChatColor.DARK_AQUA + "I" + ChatColor.AQUA + "P" + ChatColor.RED + " ler kullanabilir.");
        }
            }
    }
        return false;
}
}
 

notaldo

If you want this, dream it!
En iyi cevaplar
1
Kod:
cooldown.remove(oyuncu);
Burda oyuncu yazan yerde final eklememi istiyor ne yapmıyım Final ekleyince neo luyor bir de söylerseniz sevinirim...

Sağolun herkese teşekkkür ederim.


@Krumb069 bi bakarmısın :)
 

notaldo

If you want this, dream it!
En iyi cevaplar
1
Tamamdır yaptım arkadaşlar sağolun cooldown ile ilgili yardımlar için...

Konuyu kapatabiliriz Teşekkürler Yardım için...
 
Üst