Rehber >>THELEGEND<< - Kendi banka plugininizi yapın! - Videolu!

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

>>TheLegend<<

Легенды никогда не умирают
Katılım
2 Temmuz 2016
Mesajlar
305
Elmaslar
425
Puan
15.025
Yaş
28
Discord İzni
Minecraft
THELEGEND

Discord:

>>TheLegend<<#6052

Yazarken çekmemi istediğiniz herhangi bir plugin olursa, lütfen belirtin.

(1/2)


(2/2)


Test


Kaynak kodları:
Ana.class:
JavaScript:
package tr.thelegend.basitbanka;

import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;

import net.milkbowl.vault.economy.Economy;
import tr.thelegend.basitbanka.cmds.BankaCmd;

public class Ana extends JavaPlugin {
    public static final Logger logcuamca=Logger.getLogger("Minecraft");
    public String yzr=">>TheLegend<<";
    public File d;
    public FileConfiguration c;
    public Economy econ=null;
    public File d2;
    public YamlConfiguration c2;
    public void a1() {
        c=getConfig();
        d=new File(getDataFolder(),"config.yml");
        saveDefaultConfig();
    }
    public void a2() {
        d2=new File(getDataFolder(),"bakiyeler.yml");
        c2=YamlConfiguration.loadConfiguration(d2);
    }
    public void l(String x) {
        logcuamca.log(Level.INFO,x);
    }
    private boolean ekonomiKur() {
        if (getServer().getPluginManager().getPlugin("Vault")==null) {
            return false;
        }
        RegisteredServiceProvider rsp=getServer().getServicesManager().getRegistration(Economy.class);
        if (rsp==null) {
            return false;
        }
        econ=((Economy)rsp.getProvider());
        return econ!=null;
    }
    public void cmds() {
        getCommand("banka").setExecutor(new BankaCmd(this));
    }
    public void onEnable() {
        a1();
        a2();
        cmds();
        l("===================== [ BasitBanka v1.0 ] ======================");
        l(" ");
        l(" ");
        l("Eklenti aktif ediliyor...");
        l(" ");
        l(" ");
        if (!ekonomiKur()){
            logcuamca.log(Level.SEVERE,"Vault plugini veya onunla uyumlu herhangi bir ekonomi eklentisi bulunamadi! BasitBanka v1.0 calismayacak!");
            getServer().getPluginManager().disablePlugin(this);
            return;
        }
        l("Eklenti aktif!");
        l(" ");
        l(" ");
        l("===================== [ BasitBanka v1.0 ] ======================");
    }
}

BankCmd.class:
JavaScript:
package tr.thelegend.basitbanka.cmds;

import java.io.IOException;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import tr.thelegend.basitbanka.Ana;

public class BankaCmd implements CommandExecutor {
    private Ana plugin;
    public BankaCmd(Ana plugin) {
        this.plugin=plugin;
    }
    public boolean onCommand(CommandSender gonderen, Command komut, String label, String[] args) {
        if (komut.getName().equalsIgnoreCase("banka")) {
            if (!(gonderen instanceof Player)) {
                gonderen.sendMessage("Bu komut sadece oyun icerisinde yollanabilir!");
                return false;
            }
            if (!gonderen.hasPermission("basitbanka.komutlar.banka")) {
                gonderen.sendMessage(ChatColor.RED+"Bunun icin gerekli izine sahip degilsiniz!");
                return false;
            }
            if (args.length!=2) {
                gonderen.sendMessage("§f§lLutfen argumanlari dogru girdiginizden emin olun!");
                gonderen.sendMessage("§3§l/banka §f§lcek §3§l<miktar>");
                gonderen.sendMessage("§3§l/banka §f§lyatir §3§l<miktar>");
                return true;
            }
            if ((args.length==2) && args[0].equalsIgnoreCase("cek")) {
                double miktar;
                try {
                    miktar=Double.parseDouble(args[1]);
                } catch (Exception e) {
                    gonderen.sendMessage(ChatColor.RED+"Lutfen gecerli bir miktar girin!");
                    return false;
                }
                Player o=(Player)gonderen;
                double obakiye=plugin.c2.getDouble(o.getName());
                if (miktar>obakiye) {
                    gonderen.sendMessage(ChatColor.RED+"Cekmek istediginiz miktar bakiyenizden yuksek!");
                    return false;
                }
                plugin.c2.set(o.getName(), obakiye-miktar);
                try {
                    plugin.c2.save(plugin.d2);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                plugin.econ.depositPlayer(o, miktar);
                gonderen.sendMessage("§3§lBanka hesabinizdan basariyla "+miktar+"TL para cektiniz!");
                return true;
            }
            if ((args.length==2) && args[0].equalsIgnoreCase("yatir")) {
                double miktar;
                try {
                    miktar=Double.parseDouble(args[1]);
                } catch (Exception e) {
                    gonderen.sendMessage(ChatColor.RED+"Lutfen gecerli bir miktar girin!");
                    return false;
                }
                Player o=(Player)gonderen;
                double bakiye=plugin.econ.getBalance(o);
                if (bakiye<miktar){
                    gonderen.sendMessage(ChatColor.RED+"Yatirmak istediginiz miktar sizin bakiyenizden fazla!");
                    return false;
                }
                plugin.econ.withdrawPlayer(o, miktar);
                double obakiye=plugin.c2.getDouble(o.getName());
                double ybakiye=obakiye+miktar;
                plugin.c2.set(o.getName(), ybakiye);
                try {
                    plugin.c2.save(plugin.d2);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                o.sendMessage(ChatColor.RED+"§c"+miktar+"TL hesabiniza basariyla yatirildi!");
                return true;
            }
        }
        return false;
    }
}

plugin.yml:
JavaScript:
name: BasitBanka
version: 1.0
author: thelegend
main: tr.thelegend.basitbanka.Ana
commands:
    banka:
        description: Ana komut
        usage: /banka cek/yatir <miktar>
permissions:
    basitbanka.komutlar.banka:
        description: Ana komuta erisim izini.
        default: true

vYkL7R.png

Discord: >>TheLegend<<#6052

 

Uzun zaman sonra forum içerisinde ciddi bir eklenti dersi gördüm. Bu anlatımınız için size çok teşekkür ederim. Son olarak piyasaya hoş geldiniz :)
 

Uzun zaman sonra forum içerisinde ciddi bir eklenti dersi gördüm. Bu anlatımınız için size çok teşekkür ederim. Son olarak piyasaya hoş geldiniz :)
7 senedir piyasadayım ama bu foruma ilk defa geldim, genel olarak öbüründe aktiftim.
Çok teşekkür ederim güzel yorumların için, paylaşacak daha çok derslerim ve eklentilerim var.
 

7 senedir piyasadayım ama bu foruma ilk defa geldim, genel olarak öbüründe aktiftim.
Çok teşekkür ederim güzel yorumların için, paylaşacak daha çok derslerim ve eklentilerim var.


O zaman MC-TR forumuna hoş geldiniz. Gerek samimiyetimizle gerekte hoş düşüncelerimiz ile bizleri seveceksiniz :)
 
:'( field class method isimleri allahım sana geliyorum
 
hocam plugin değilde bir skript yapmaya çalışıyorum fakat oyuncular için bir değişkende bir veri tutuyorum. ama bunu döngüye sokamıyorum örneğin her bir blok kırdıklarında kırdıkları blok sayısı 1 artıyor ama en çok kıran on kişiyi bulamıyorum yardımcı olur musunuz
 
hocam plugin değilde bir skript yapmaya çalışıyorum fakat oyuncular için bir değişkende bir veri tutuyorum. ama bunu döngüye sokamıyorum örneğin her bir blok kırdıklarında kırdıkları blok sayısı 1 artıyor ama en çok kıran on kişiyi bulamıyorum yardımcı olur musunuz
"Skript İstekleri" veya "Skript Destek" bölümünde konu açarsan yardımcı olan birisi bulabilirsin
 
Çok güzel ve başarılı bir rehber olmuş teşekkürler
 
Çok başarılı! Teşekkürler..
 
Bilmeyenler için harika ve başarılı bir rehber olmuş.
 
Gerçekten Güzel İşler Yapıyosun Adamsın Başarıların devamını dilerim
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst