Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Mozna dodac tylko jednego stringa do if'ow?


Zientez

Rekomendowane odpowiedzi

Opublikowano

Witam mozna w tym kodzie zrobic tak, aby tylko raz bylo player.sendMessage(niemahajsu)? Czy to musi byc pod kazdym if'em gdzie sprawdza czy gracz ma hajs?

Potrzebuje szybkiej odpowiedzi zalezy mi na czasie. Daje lajki limit 15 i 5 gwiazdek w profilu.

http://pastebin.com/P3YdXT0L

PS: sorry za takie tabowanie, ale tak wkleilo

Opublikowano

Sprawdz czy wiadomość została wysłana, jeżeli tak to nic niech nie wysyła.

 1. Utworzyć ArrayListe<String> do której będziesz wpisywać nick z graczem któremu wyświetlił się komunikat.
 2. Przed wyświetleniem kolejnego komunikatu sprawdzasz czy lista zawera nick gracza
 3. Jeśli zawiera nie wyświetlasz wiadomości a jeśli nie zawiera to wyświetlasz wiadomość po czym dodajesz nick gracza do listy.

Opublikowano

@TheMajster Zrobisz przyklad (zedytujesz ten moj kod i dodasz te array liste?) i podasz na pastebin? Dam limita i 5 stars

 

Nie wiem czy mnie zrozumieliscie z tymi ifami bo napisalem tak kosmicznie, ze xD...

Kiedys jak przegladalem mpcforum natknalem sie na jeden plugin i OtekPlay gosciowi mowil co robi zle:

 

 

Wiec skoro juz troche piszesz , dam pare rad  ;)

@EventHandler
  public void drop(InventoryClickEvent event)
  {
    if (event.getInventory().getName().contains("§bDrop"))
    {
      Player player = (Player)event.getWhoClicked();
      event.setCancelled(true);
      if ((event.getCurrentItem().getType() == Material.DIAMOND_ORE) && (event.getCurrentItem().getItemMeta().getDisplayName().contains("§6Diamenty")))
      {
        player.closeInventory();
        event.setCancelled(true);
      }
      if ((event.getCurrentItem().getType() == Material.EMERALD_ORE) && (event.getCurrentItem().getItemMeta().getDisplayName().contains("§6Szmaragdy")))
      {
        player.closeInventory();
        event.setCancelled(true);
      }
      if ((event.getCurrentItem().getType() == Material.IRON_ORE) && (event.getCurrentItem().getItemMeta().getDisplayName().contains("§6Zelazo")))
      {
        player.closeInventory();
        event.setCancelled(true);
      }
      if ((event.getCurrentItem().getType() == Material.GOLD_ORE) && (event.getCurrentItem().getItemMeta().getDisplayName().contains("§6Zloto")))
      {
        player.closeInventory();
        event.setCancelled(true);
      }
      if ((event.getCurrentItem().getType() == Material.COBBLESTONE) && (event.getCurrentItem().getItemMeta().getDisplayName().contains("§cCobble")))
      {
        player.chat("/cobble");
        player.closeInventory();
        event.setCancelled(true);
      }
    }
  }
Po co wszedzie anulujesz event? , wystarczy raz na koncu  :) i zamykac eq , 

I w moim kodzie mozna tak zrobic, ze stringa player.sendMessage(niemahajsu); gdzies wrzucic na koniec if'ow i aby pokazywal sie komunikat jak gracz nie ma pieniedzy?

@OtekPlay da rade czy nie da rady..

Ktos odpowie czy mozna tak czy nie mozna? jesli mozna zrobi ktos przykladzik?

Opublikowano

Masz tu łatwiejszy sposób

public Map<UUID, String> map = Maps.newHashMap();
 
String niemahasju = "cos tam";
if(!map.containsKey(PLAYER_UUID || map.get(PLAYER_UUID) < niemahasju){
// WYSWIETLASZ WIADOMOSC
map.put(PLAYER_UUID, niemahasju);
return;
}
Opublikowano

@TheMajster Znaczy mi chodzi o to czy mozna na koncu dodac tylko jednego stringa i zeby sie wiadomosc wyswietlala dla tych co nie maja hajsu. nie chce, aby w kazdym ifie bylo else { ble ble. ten twoj przyklad umozliwia to o czym mowie?

Opublikowano

zaraz dokoncze pisać :?

 

pewnie że można musiał byś pokąbinować z ifami :)

 

ale ty to jakoś dziwnie robisz dla każdego if przyporządkowujesz od razu jakiś przedmiot :( później aby coś dodać musisz napisać kolejny kawałek kodu

ogólnie to nie wiem do czego ma to być plugin ? na sklepy jeśli tak i ten sklep będzie statyczny (tzn tworzysz go w configu , jako np adminShop)

to wtedy zrób osobną klasę przechowującą informację o przedmiocie np

public class Przedmiot {

String nazwa;

List<String> lore;

Material material;

byte b;

double buyPrice;

 

 

i teraz przykładowo (hoć ja bym pokusił się o hashMap) jak kolega wyżej napisał  List<Przedmiot> listaPrzedmiotow

// jesli gracz kliknal w wybrene pole w wybrenym inventory

i wtedy for(Przedmiot p : listaPrzedmiotow) {

//sprawdzasz czy klikniety przedmiot ma taka sama nazwe jak ktorys z przedmiotow w liscie

if (p.getName == e.getcurrentItem bla bla) {

//jesli nazwy sie zgadzaja sprawdz teraz cene

if (player.getMoney.hasEnough(p.getBuyPrice) {

// jesli sie zgadza to np tworzysz kopie jakiegos tam przedmiotu czy kupujesz czy cokolwiek innego

else {

System.out.println("Ojoj brak pieniędzy");

return/break;

}

}

}

}

tabow nie dodam bo znowu uzuję opcji 'zapisz zmiany"

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...