Plugini Kişiye Özel Çalıştırma.

blade20090999

Kızıltaş Madencisi
En iyi cevaplar
0
Benim istediğim şey şu . Her oyuncu girdiğinde ona rasgele bir sayı verilicek . ve /sayımne yazınca sayısı gözükücek ben bunu yapmaya çalıştım fakat girerken join eventinde 1 sayı veriyor fakat. 2. ci oyuncu gelince ilk giren oyuncunun sayısıda 2.ci ile aynı oluyor neden ?
 

Kralimben

Lapis Toplayıcısı
En iyi cevaplar
0
Öyle bir denk gelmiştir ki 2. girene de 1 diye rastgele sayı vermiştir. :D Farklı kişilere aynı sayı verilmesini bir şekilde önlemeye çalış ben bilmiyorum.
 

blade20090999

Kızıltaş Madencisi
En iyi cevaplar
0
hayır garanti farklı geliyor problem ztn o değil :) Benim problemim join eventinde 2 kodunda değişmesi yada 3 kişi girince 3 nün ki aynı olması.bak söle acıklayım 1. 2 sayısını aldı 2. girdi 3 sayısını aldı 1. ide 3 sayısını alıo 3 . girince diyelim 4 sayısını aldı 1 ve 2. ide 4 sayısını alıo otomatikmen değişio.
 

Dangers58

Demir Madencisi
En iyi cevaplar
0
hayır garanti farklı geliyor problem ztn o değil :) Benim problemim join eventinde 2 kodunda değişmesi yada 3 kişi girince 3 nün ki aynı olması.bak söle acıklayım 1. 2 sayısını aldı 2. girdi 3 sayısını aldı 1. ide 3 sayısını alıo 3 . girince diyelim 4 sayısını aldı 1 ve 2. ide 4 sayısını alıo otomatikmen değişio.
Sen Nası Sayı Vermeyi Başardın
 

IRFN

Sonoyuncu.Network
En iyi cevaplar
0
Denemesini yapmadım, ancak %90 sorunsuz çalışır.

PHP:
    HashMap<String,Integer> oyuncuSayi = new HashMap <String, Integer>();
   
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e){
        int sayi = 1;
        oyuncuSayi.put(e.getPlayer().getName(), sayi);
        sayi = sayi++;
    }
   
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("sayımne")) {
        Player oyuncu = (Player) sender;
        oyuncu.sendMessage("§3Sizin sayınız: §6" oyuncuSayi.get(oyuncu.getName()));
        return true;
    }
    return false;
}
 

blade20090999

Kızıltaş Madencisi
En iyi cevaplar
0
Denemesini yapmadım, ancak %90 sorunsuz çalışır.

PHP:
    HashMap<String,Integer> oyuncuSayi = new HashMap <String, Integer>();
 
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e){
        int sayi = 1;
        oyuncuSayi.put(e.getPlayer().getName(), sayi);
        sayi = sayi++;
    }
 
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("sayımne")) {
        Player oyuncu = (Player) sender;
        oyuncu.sendMessage("§3Sizin sayınız: §6" oyuncuSayi.get(oyuncu.getName()));
        return true;
    }
    return false;
}
Benim anlamak istediğim mantık .Elbette doğrudur sen yazdıysan güvenim tam.Burda oyuncu adıyla bizim kodumuzu özleşdiriyorsun deme :) yada ben yanlıs söylediysem açıklarmısın ?
Ben her oyuncunun adında config dosyasında bir bölüm açarak bunu aştım ama cok ugrastırdı daha basit muhtemelen bu bana analatırmısın ? nasıl çalıştığını
 

KaanGunlu

Işık Taşı Madencisi
En iyi cevaplar
0
Scoreboard ile her girişte oyuncuya rastgele bir sayı versen ?
 

Dangers58

Demir Madencisi
En iyi cevaplar
0
Scoreboard ile her girişte oyuncuya rastgele bir sayı versen ?
O nası Olcak :D[DOUBLEPOST=1418495533,1418495493][/DOUBLEPOST]
Denemesini yapmadım, ancak %90 sorunsuz çalışır.

PHP:
    HashMap<String,Integer> oyuncuSayi = new HashMap <String, Integer>();
  
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e){
        int sayi = 1;
        oyuncuSayi.put(e.getPlayer().getName(), sayi);
        sayi = sayi++;
    }
  
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("sayımne")) {
        Player oyuncu = (Player) sender;
        oyuncu.sendMessage("§3Sizin sayınız: §6" oyuncuSayi.get(oyuncu.getName()));
        return true;
    }
    return false;
}
Maalesef Olmuyor
oyuncu.sendMessage("§3Sizin sayınız: §6" oyuncuSayi.get(oyuncu.getName()));
Bu Yer Hatalı
 

IRFN

Sonoyuncu.Network
En iyi cevaplar
0
Benim anlamak istediğim mantık .Elbette doğrudur sen yazdıysan güvenim tam.Burda oyuncu adıyla bizim kodumuzu özleşdiriyorsun deme :) yada ben yanlıs söylediysem açıklarmısın ?
Ben her oyuncunun adında config dosyasında bir bölüm açarak bunu aştım ama cok ugrastırdı daha basit muhtemelen bu bana analatırmısın ? nasıl çalıştığını
En üstte bir HashMap oluşturduk, bu hashmap ile ikili değerleri birbiriyle eşleştirebiliyoruz.
HashMap'lerde key - value (anahtar - değer) ilişkisi vardır, bunu bir araştırın. Yani her şey için config'e gerek yok, ancak HashMap bir oturum içerisinde geçerlidir, siz sunucuyu kapatıp açtığınızda yeniden herkese 1'den başlayarak sayı verip, ram'de tutacaktır. HashMap'i ara ara config'e kaydetmek de mümkün illa ki bu sayılar sonsuza kadar bende kalsın diyorsan.
Ha benim tavsiyem, Config yerine mysql'e kaydetmek eğer yılbaşı çekilişi falan düşünüyorsan sunucunda.

Şimdi kodları baştan yazacağım, bu sefer yanına yorum da ekleyeceğim anlayabilmen için.

Evet, düzenledim, ancak burada düzensiz dururdu diye pastebin'e yapıştırdım.
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Link açılmazsa;
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.


O nası Olcak :D[DOUBLEPOST=1418495533,1418495493][/DOUBLEPOST]
Maalesef Olmuyor
oyuncu.sendMessage("§3Sizin sayınız: §6" oyuncuSayi.get(oyuncu.getName()));
Bu Yer Hatalı
Yeni kodda o kısmı düzelttim, string ve java kodu arasına + koymayı unutmuşum.
 

Dangers58

Demir Madencisi
En iyi cevaplar
0
En üstte bir HashMap oluşturduk, bu hashmap ile ikili değerleri birbiriyle eşleştirebiliyoruz.
HashMap'lerde key - value (anahtar - değer) ilişkisi vardır, bunu bir araştırın. Yani her şey için config'e gerek yok, ancak HashMap bir oturum içerisinde geçerlidir, siz sunucuyu kapatıp açtığınızda yeniden herkese 1'den başlayarak sayı verip, ram'de tutacaktır. HashMap'i ara ara config'e kaydetmek de mümkün illa ki bu sayılar sonsuza kadar bende kalsın diyorsan.
Ha benim tavsiyem, Config yerine mysql'e kaydetmek eğer yılbaşı çekilişi falan düşünüyorsan sunucunda.

Şimdi kodları baştan yazacağım, bu sefer yanına yorum da ekleyeceğim anlayabilmen için.

Evet, düzenledim, ancak burada düzensiz dururdu diye pastebin'e yapıştırdım.
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Link açılmazsa;
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.



Yeni kodda o kısmı düzelttim, string ve java kodu arasına + koymayı unutmuşum.
Şimdi Config Halinde Tutma Sağlandı mı
 

GodofMilker

Nether Yerlisi
En iyi cevaplar
0
En üstte bir HashMap oluşturduk, bu hashmap ile ikili değerleri birbiriyle eşleştirebiliyoruz.
HashMap'lerde key - value (anahtar - değer) ilişkisi vardır, bunu bir araştırın. Yani her şey için config'e gerek yok, ancak HashMap bir oturum içerisinde geçerlidir, siz sunucuyu kapatıp açtığınızda yeniden herkese 1'den başlayarak sayı verip, ram'de tutacaktır. HashMap'i ara ara config'e kaydetmek de mümkün illa ki bu sayılar sonsuza kadar bende kalsın diyorsan.
Ha benim tavsiyem, Config yerine mysql'e kaydetmek eğer yılbaşı çekilişi falan düşünüyorsan sunucunda.

Şimdi kodları baştan yazacağım, bu sefer yanına yorum da ekleyeceğim anlayabilmen için.

Evet, düzenledim, ancak burada düzensiz dururdu diye pastebin'e yapıştırdım.
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Link açılmazsa;
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.



Yeni kodda o kısmı düzelttim, string ve java kodu arasına + koymayı unutmuşum.
Arkadaş rastgele bir sayı istiyor sanırım.Anladığım kadarıyla bu 1 sayısını veriyor ilk giren oyuncuya 2.'ye 2 100.'ye 100 1002.'ye 1002 diye.
Bu arada HashMap ne tam olarak bir açıklasa biri <-<
 

KaanGunlu

Işık Taşı Madencisi
En iyi cevaplar
0
Arkadaş rastgele bir sayı istiyor sanırım.Anladığım kadarıyla bu 1 sayısını veriyor ilk giren oyuncuya 2.'ye 2 100.'ye 100 1002.'ye 1002 diye.
Bu arada HashMap ne tam olarak bir açıklasa biri <-<
1. x geliyormuş 2. oyuncu girince ona y geliyormuş ama 1. oyuncununkide x iken 2. oyuncu girince y oluyormuş diyor sanırım.
 

GodofMilker

Nether Yerlisi
En iyi cevaplar
0
1. x geliyormuş 2. oyuncu girince ona y geliyormuş ama 1. oyuncununkide x iken 2. oyuncu girince y oluyormuş diyor sanırım.
// Burada da sayıyı 1 miktar arttırıyoruz, sebebi de bir sonraki oyuncuya aynı sayıyı değil, bir üst sayıyı vermesi. // Bu sayı en üstteki "sayi" değişkenini etkileyecektir.
Kısmı <-< 1. oyuncuya 2 2. oyuncuya 3 gelir her şekilde bu böyle olur :(
 
Üst