Leqo
MineKnight MMORPG
- Mesajlar
- 139
- En iyi cevaplar
- 0
- Beğeniler
- 115
- Puanları
- 490
- Ruh hali
Merhaba arkadaşlar ben oyuna ilk girişte bir oyuncuya verilen eşya tarzında bir şeyler yaptım.Eşyanın kıpırdamaması hakkında sorunum var ve karakter ölünce eşya envanterden düşüyor bunu nasıl halledebilirim.
KOD
2) Bir diğer sorun ise özel itemin yer değiştirmemesini nasıl tamamen halledicem.Benim yazdığım kodda sadece yazılı kitapların yer değiştirilmemesi oluyor.
KOD
Kod:
// OYUNCULARA GİRİŞTE YAZILI KİTAP VERME
@EventHandler
public void join(PlayerJoinEvent event) {
Player player = event.getPlayer();
String nl = "\n";
ItemStack book = new ItemStack(Material.WRITTEN_BOOK);
BookMeta bookmeta = (BookMeta) book.getItemMeta();
bookmeta.setAuthor("MineKnight");
bookmeta.setTitle(ChatColor.GOLD + "MineKnight Test Server");
ArrayList<String> pages = new ArrayList<String>();
pages.add(ChatColor.GOLD + "MineKnight" + ChatColor.RED + " Beta" + nl + ChatColor.DARK_RED + "1) " + ChatColor.DARK_GRAY + "Sunucuda ozgurce gezebilirsiniz" + nl + ChatColor.DARK_RED + "2) " + ChatColor.DARK_GRAY + "MMORPG Server" + nl + ChatColor.DARK_GREEN + "Yenilikleri bu kitapcıktan" + nl + ChatColor.DARK_GREEN + "takip edebilirsiniz.");
bookmeta.setPages(pages);
book.setItemMeta(bookmeta);
player.getInventory().setItem(0, book);
}
2) Bir diğer sorun ise özel itemin yer değiştirmemesini nasıl tamamen halledicem.Benim yazdığım kodda sadece yazılı kitapların yer değiştirilmemesi oluyor.
Kod:
// EŞYA YER DEĞİŞTİRME ENGELLEMEK ( ÖZEL İTEMLER HARİÇ )
@EventHandler
public void ClickEvent(InventoryClickEvent e) {
ItemStack clicked = e.getCurrentItem();
if (clicked.hasItemMeta()) {
if (clicked.getType() == Material.WRITTEN_BOOK) {
e.setCancelled(true);
return;
}
}
}