Skocz do zawartości

LikeIkeOne (Nupix)

Użytkownik
  • Ilość zawartości

    51
  • Rejestracja

  • Ostatnia wizyta

Treść opublikowana przez LikeIkeOne (Nupix)

  1. troche odkop, ale.. jak ci tak bardzo zależy, to możesz anulować event i odpalać customowe inventory na wzór skrzyni, gdzie można zmienić nazwę z pobranymi itemami od enderchest'a lub customowego yamla, a po jego zamknięciu zapisywać stan.
  2. 1. Mozesz sprobowac jeszcze z nanoTime() (pamietaj ze zeby z niego zrobic milisekunde musisz podzielić przez 1,000,000). Millis i nanoTime to chyba najlepsze sposoby na timer, a działać tak ci moze dlatego bo pewnie masz serwer na swoim kompie lub moze idealnie konczysz timer kiedy sa równe liczby 2. Właśnie czysto matematycznie się nie zgadza Skoro startujesz z 0 lvlu, to do pierwszego potrzebujesz 7xp'a, podstawiając 7 do równania wychodzi pod koniec, że 7 chcesz podzielic przez 10, a w związku z tym, że są to int'y, to nie mają nigdy nic po przecinku, czyli zamiast 0,7xp'a, daje mu 0xp. Błędne koło Spróbuj z większym procentem albo baw się if'ami, wiedząc, że dopiero od 3 lvl'a potrzebny exp > 10 i będzie działać. Powodzonka
  3. Siedze w 7 bo pisze pluginsy jeszcze pod starsze wersje gry
  4. public Map<String, BukkitTask> lista = new HashMap<String, BukkitTask>(); @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(cmd.getName().equalsIgnoreCase("komenda")) { /*Pobiera komende, ignorujac wielkosci liter*/ final Player p = (Player) sender; /*ustawia zmienna gracza ktory wykonal komende*/ if(lista.containsKey(p.getName())) { /*Jezeli na liscie znajduje sie gracz*/ p.sendMessage("Odczekaj 30 sekund przed kolejnym uzyciem!"); return true; /*Wyskakuje ze musi odczekac, konczy komende*/ } else { /*Jezeli nie ma go w liscie, tzn. moze uzyc komende*/ BukkitTask task = Bukkit.getScheduler().runTaskLater(main.getInst(), new Runnable(){ /*Tworzy licznik czekania zapisujac go jako zadanie pod zmienna task*/ public void run() { ((BukkitTask)lista.remove(p.getName())).cancel(); /*Usuwa gracza z listy blokujacej komende, konczy zadanie*/ } }, 30*20); /*za liczbe 30 dajemy za ile sekund ma byc wykonany void run powyzej*/ lista.put(p.getName(), task); /*Gdy uzyje komende po wlaczeniu timera dodaje go do listy blokady wraz z jego zadaniem (zmienna task)*/ /* Tresc komendy */ } } return false; } Wykonane to wszystko oczywiscie w executorze,a nie w mainie Co do drugiego to wystarczy znów uzyc tego samego Schedulera juz nawet bez listy, odpowiada on wlasnie temu odczekaniu np. 30 sekund
  5. Polecam się pobawić BukkitTaskiem, zrobic liste String gracza i jego Task, po uzyciu komendy dodac go do niej a potem odpowiednim schedulerem ustawic ze po 30 sekundach ((30*20)w tickach) usuwa go z niej. Jak bedzie wykonywac to po prostu szuka Keya w liscie z jego nickiem, taki standardzik, chyba nie muszę tłumaczyc. pozderki
  6. Sęk własnie w tym, że ten sklep to tylko przykład bo ogólnie projekt jest bardziej rozbudowany
  7. Witam hej czesc wrocilem D: Krótko i na temat: Co sądzicie o tym (ponieważ pracuję nad projektem), aby dane nie zachowywac ciągle w RAM'ie serva jako zmienne tylko współpracować z plikami YAML? Przykład: Zamiast mieć ciągle zajęty na RAM {coins::%player%} = 100, robić dla przykładu, że zapisujemy na starcie wartość coinsów w .yml. Kiedy gracz wchodzi na serwer to dopiero wtedy powstaje jego wartosc {coins::%player%} pobierana z pliku. Gra sobie, zarabia, kupuje rzeczy itd. Następnie kiedy wychodzi jego wartosc {coins::%player%} nadpisuje się na starą wartość w pliku a sama zmienna się usuwa Wydaje mi się, że to spoko rozwiązanie, jak sądzicie?
  8. LikeIkeOne (Nupix)

    Mini gra

    Dodaj na skype: likeikeone.tajne i sie dogadamy
  9. 1. Zamiast ,,to close and run" daj ,,to close then run" 2. Zamiast ,,run command" daj ,,execute player command"
  10. Ponoć skripty jest łatwo napisać ;]
  11. 1. nikt ci za darmo sk na takie wyspy nie napisze 2. czy naprawde poziom ludzi piszacych sk az tak spadl? stwierdzam to po wczesniejszych ,,pomocnikach"
  12. ja jebix napisałem jako pierwszy. at 18:00: [TAB]execute console command "prezent" Jaki błąd wywala?
  13. at 18:00 [TAB]execute console command "prezent
  14. a to nie taby czy cos? bo na telefonie pisalem, ale spk potem wejde na kompa i zobacze
  15. Szkoda, że tylko zedytował mój kod Tutaj masz też poprawiony i mniej lagujący bo działa gdy gracz wejdzie na trawe a nie gdy tylko sie ruszy .. options: dest: 2 #obszar niszczony przez mine damarea: 4 #obszar w ktorym gracze otrzymaja obraznia damage: 5 #ile serc ma odjac wybuch on walking on grass: if block 2 down player is daylight sensor: loop blocks in radius {@dest} of player: set loop-block to air loop all players in radius {@damarea} around event-location: damage loop-player by {@damage} make fake explosion at event-location
  16. options: dest: 2 #obszar niszczony przez mine damarea: 4 #obszar w ktorym gracze otrzymaja obraznia damage: 5 #ile serc ma odjac wybuch on grass: if block 2 down player is daylight sensor: create fake explosion at event-location loop blocks in radius {@dest} around of event-location: set loop-block to air loop all players in radius {@damarea} around event-location: damage loop-player by {@damage} Nie testowane ale powinno działać D: Może plusik? ;c
  17. ma byc ,,on any move:" a tamto dodac po ,,chance of 50%", wgl spaby ten sk na mine potem jak bede mial czas to napisze
  18. można jeszcze dodać troche realistyczności ,, create fake explosion at player"
  19. on death of zombie: chance of 0.15%: drop 1 sponge named "&eSpongebob" with lore "&c&lCO ONI CI ZROBILI?" at victim chance of 0.05%: drop 1 <nazwa itemu> named "&c&lArtefakt Neurona" with lore "&2&lAztecki? Nie." at victim Czekam na plusiki D:
  20. variables: {auto::msg} = 1 options: msg1: Wiadomosc1 msg2: Wiadomosc2 msg3: Wiadomosc3 msg4: Wiadomosc4 msg5: Wiadomosc5 msg6: Wiadomosc6 msg7: Wiadomosc7 czas: 3 #co ile minut every {@czas} minutes: send "{@msg%{auto::msg}%}" add 1 to {auto::msg} if {auto::msg} > 7: set {auto::msg} to 1
  21. wot? musi działac D: edit: aaa już wiem XD ,, if player is holding Chest named "&7Zagadkowa Skrzynia": " zamien na if player is holding Chest named "&7&lZagadkowa Skrzynia":" zapomniałem o "&l" w nazwie skrzyni D:
  22. on rightclick on chest or enderchest or (skrzynia pułapka, zapomniałem angielskiej nazwy): [TAB]if player is holding Chest named "&7Zagadkowa Skrzynia": [TAB][TAB]cancel event
  23. bo to nie ma być ,,excute" tylko ,,execute"
×
×
  • Dodaj nową pozycję...