Pomoc dotycząca zmiennych

Dyskusja w 'Archiwum' rozpoczęta przez użytkownika MixSie, Lut 12, 2012.

Status tematu:
Brak możliwości dodawania odpowiedzi.
  1. MixSie
    Offline

    MixSie Nowicjusz

    Wiadomości:
    1
    Polubienia:
    0
    Punkty:
    1
    A więc tak, chce stworzyć plugin który poprzez komendę
    /dajlvl "tutaj jakaś liczba odpowiadająca za lvl" da nam lvl jaki
    został napisany.
    Wiem że trzeba zastosować zmienne aczkolwiek dopiero się uczę i muszę
    poznać jakiś przykład by wiedzieć co zrobić.
    Możecie mnie jakoś naprowadzić? Bez tego mój plugin będzie bezsensu
    a chcę się czegoś poduczyć.

    Z góry dziękuje

    Jak widzicie mój plugin w obecnej postaci jest bezsensu, co mam zrobić
    by uzyskać powyższy efekt?
    Kod (text):
    1. public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args) {
    2. if ((sender instanceof Player)) {
    3. if (((Player)sender).hasPermission("dajlvl.command") && command.getName().equalsIgnoreCase("dajlvl")) {
    4. if (lastCured.containsKey((Player) sender) && lastCured.get((Player) sender) + 10*60*1000 > System.currentTimeMillis()) {
    5. sender.sendMessage(ChatColor.GREEN+"[DajLvL]"+ChatColor.RED+"Musisz poczekac 10 minut by uzyc komendy");
    6. return true;
    7. } else {
    8. Player s = (Player)sender;
    9. s.setLevel(1);
    10. sender.sendMessage(ChatColor.RED + "====================================================");
    11. sender.sendMessage(ChatColor.GREEN + "Otrzymales "+tutajilelvlsobiedodal+ " Exp'a !");
    12. sender.sendMessage(ChatColor.RED + "====================================================");                                
    13. return true;
    14. }
    15. }
    16. sender.sendMessage(ChatColor.GOLD + "Nie masz uprawnien do uzywania tej komendy!");
    17. return true;
    18. }
    19. return false;
    20. }
    21. }
    Prościej
    Kod (text):
    1. Bukkit.getServer().broadcastMessage(ChatColor.RED + CHCE ZEBY TUTAJ POJAWIALA SIE WIADOMOSC KTORA GRAC WPISZE);
    2.  
    3. tzn, na przkład mamy komende /pisz, i chce zrobić ze gdy napiszemy "/pisz jestem fajny" to to się wpisze do broadcastMessage,
    4. lecz nie potrafię tego zrobić
     
  2. Marcin Majewski
    Offline

    Marcin Majewski Użytkownik

    Wiadomości:
    64
    Polubienia:
    31
    Punkty:
    28
    Nie rozumiem? Mogę po polsku? Chodzi Ci że nie wiesz jak zastosować zmienne "globalne" ?
     
  3. MixSie
    Offline

    MixSie Nowicjusz

    Wiadomości:
    1
    Polubienia:
    0
    Punkty:
    1
    Hmm to jeszcze jaśniej.
    Jak uzyskać efekt żeby móc robić coś takiego

    /pisz "tutaj piszemy tekst i on sie wysyla"
    Po prostu to co wpiszemy podczas gry zostanie wysłane na globalny czat, chodzi o ten tekst
    po pisz
     
  4. Marcin Majewski
    Offline

    Marcin Majewski Użytkownik

    Wiadomości:
    64
    Polubienia:
    31
    Punkty:
    28
    Kod (text):
    1. String[] args)
    Kod (text):
    1.  
    2. /komenda args[0] args[1] args[2] args[3] args[4] args[5] args[6]
     
  5. MixSie
    Offline

    MixSie Nowicjusz

    Wiadomości:
    1
    Polubienia:
    0
    Punkty:
    1
    Ok, dziękuje Ci, nie wiedziałem że to aż takie łatwe.
    Jak masz czas to weź zrób poradnik do odczytywania informacji z config.yml.

    Na przykład coś takiego jak automessage, przyda mi się
     
  6. Marcin Majewski
    Offline

    Marcin Majewski Użytkownik

    Wiadomości:
    64
    Polubienia:
    31
    Punkty:
    28
    this.getConfig().getString("blebleble");
     
  7. MixSie
    Offline

    MixSie Nowicjusz

    Wiadomości:
    1
    Polubienia:
    0
    Punkty:
    1
    Jeszcze jedna sprawa
    Kod (text):
    1. Bukkit.getServer().broadcastMessage(ChatColor.AQUA + "[InfoVIP] "+ChatColor.RED+args[0]);
    gdy napisze w grze /pisz elo to normalnie działa, aczkolwiek gdy napisze /pisz elo ziom to pokazuje się tylko słowo elo.
    Próbowałem dodawać kolejne argumenty i doszedłem do 2, później były błędy
     
  8. Marcin Majewski
    Offline

    Marcin Majewski Użytkownik

    Wiadomości:
    64
    Polubienia:
    31
    Punkty:
    28
    Pisałem na szybko:
    Kod (text):
    1.  
    2. public static String arrayToString(String[] a, String separator) {
    3.     StringBuffer result = new StringBuffer();
    4.     if (a.length > 0) {
    5.         result.append(a[0]);
    6.         for (int i=1; i<a.length; i++) {
    7.             result.append(separator);
    8.             result.append(a[i]);
    9.         }
    10.     }
    11.     return result.toString();
    12. }
     
Status tematu:
Brak możliwości dodawania odpowiedzi.