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

dodawanie do configu int


Entify

Rekomendowane odpowiedzi

Opublikowano

czemu to nie dziala?

powinno caly czas odejmowac 1 od obecnego "lvltonext", zadnych errorow.

kod:

	  public void onLvlNext(BlockBreakEvent e){
		  Player p = e.getPlayer();
		  if (e.getBlock().getType() == Material.STONE){
			  int nowlvltonext = ETools.getInstance().getConfig().getInt("stats."+p.getName()+".lvltonext");
			  int nowlvl = ETools.getInstance().getConfig().getInt("stats."+p.getName()+".lvl");
			  int matchnowlvltonext = nowlvltonext-1;
			  int matchnowlvl = nowlvl+1;
			  ETools.getInstance().getConfig().options().copyDefaults(true);
			  ETools.getInstance().getConfig().set("stats."+p.getName()+".lvltonext", matchnowlvltonext);
			  ETools.getInstance().saveConfig();
			  if (nowlvl == Integer.valueOf(1)){
				  if (nowlvltonext == 0){
					  ETools.getInstance().getConfig().options().copyDefaults(true);
					  ETools.getInstance().getConfig().set("stats."+p.getName()+".lvl", matchnowlvl);
					  ETools.getInstance().getConfig().set("stats."+p.getName()+".lvltonext", Integer.valueOf(600));
					  ETools.getInstance().saveConfig();
					  Bukkit.broadcastMessage(Util.fixColor("&8>> &7Gracz &3"+p.getName()+" &7awansowal na: &b2 poziom&7!"));
					  p.sendMessage(Util.fixColor("&8>> &7Awansowales na: &32 poziom&7! Gratulacje."));
				  }
				  
			  }
		  }
	  }

 

 

 

JAVA <3

 

Opublikowano
					  ETools.getInstance().getConfig().set("stats."+p.getName()+".lvltonext", Integer.valueOf(600));

po co cały czas dajesz Integer.valueOf :? gdybyś dał samego inta też by przeszło nie pisząc o tym że int można bezproblemowo rzutować na Integer (czepiam się)

			  ETools.getInstance().getConfig().options().copyDefaults(true);

możesz zapisać FileConfiguration fc = Etools.getInstance.getConfig; a potem uzywac cs.save/open/load/blabla ale to tylko dla wygody, jak nie chcesz z tego korzystać twoja sprawa.

					  Bukkit.broadcastMessage(Util.fixColor("&8>> &7Gracz &3"+p.getName()+" &7awansowal na: &b2 poziom&7!"));

tego to już całkiem nie rozumie  po co ta cała java po co to całe api od bukkita... ChatColor dla bardziej zaawansowanych ChatComponent ale nie to to już jest magia nie z tej ziemi.

ilu graczy masz zamiar upchać do tego jednego configu :? co ile jest update tego configu tzn co ile średnio gracze będą zdobywać poziom.. i pomyśl czy jest to dobre rozwiązanie. bo zapisując config zapisujesz cały config na nowo ! a co za tym idzie wszystkie wartości jakie są dodane były dodane i te co były wczytane, jednym słowem WSZYSTKO

wracając do tematu nie widzę błędu. może zdebuguj :/ , albo podaj co ci zapisuje o ile cokolwiek.

takie rzeczy powinieneś trzymać w pamięci tak długa jak gracz jest online i zapisywać jak wychodzi+jakiś interwall > szybciej > bezpieczniej > wygodniej , możesz skorzystać z jakiejś bazy SQL, SQLite jest darmowy i powinien starczyć chyba, tak myślę ,

Opublikowano
13 godzin temu, damianq20 napisał:

					  ETools.getInstance().getConfig().set("stats."+p.getName()+".lvltonext", Integer.valueOf(600));

po co cały czas dajesz Integer.valueOf :? gdybyś dał samego inta też by przeszło nie pisząc o tym że int można bezproblemowo rzutować na Integer (czepiam się)


			  ETools.getInstance().getConfig().options().copyDefaults(true);

możesz zapisać FileConfiguration fc = Etools.getInstance.getConfig; a potem uzywac cs.save/open/load/blabla ale to tylko dla wygody, jak nie chcesz z tego korzystać twoja sprawa.


					  Bukkit.broadcastMessage(Util.fixColor("&8>> &7Gracz &3"+p.getName()+" &7awansowal na: &b2 poziom&7!"));

tego to już całkiem nie rozumie  po co ta cała java po co to całe api od bukkita... ChatColor dla bardziej zaawansowanych ChatComponent ale nie to to już jest magia nie z tej ziemi.

ilu graczy masz zamiar upchać do tego jednego configu :? co ile jest update tego configu tzn co ile średnio gracze będą zdobywać poziom.. i pomyśl czy jest to dobre rozwiązanie. bo zapisując config zapisujesz cały config na nowo ! a co za tym idzie wszystkie wartości jakie są dodane były dodane i te co były wczytane, jednym słowem WSZYSTKO

wracając do tematu nie widzę błędu. może zdebuguj :/ , albo podaj co ci zapisuje o ile cokolwiek.

takie rzeczy powinieneś trzymać w pamięci tak długa jak gracz jest online i zapisywać jak wychodzi+jakiś interwall > szybciej > bezpieczniej > wygodniej , możesz skorzystać z jakiejś bazy SQL, SQLite jest darmowy i powinien starczyć chyba, tak myślę ,

ale omg, ja tu przyszedlem z czyms innym a nie zebys mnie pouczal, gdzie ja napisalem ze ja tak bede mial?

dawno mam juz zmienione, chcialem tylko stestowac czy to bedzie dzialac (to co zrobilem)

 

poza tym problem rozwiazany

i mam taki kod juz od dawna:

	  @EventHandler
	  public void onLvlNext(BlockBreakEvent e){
		  Player p = e.getPlayer();
		  if (e.getBlock().getType() == Material.STONE){
			  int nowlvltonext = ETools.getInstance().getConfig().getInt("stats."+p.getName()+".lvltonext");
			  int nowlvl = ETools.getInstance().getConfig().getInt("stats."+p.getName()+".lvl");
			  int matchnowlvltonext = nowlvltonext-1;
			  int matchnowlvl = nowlvl+1;
			  ETools.getInstance().getConfig().options().copyDefaults(true);
			  ETools.getInstance().getConfig().set("stats."+p.getName()+".lvltonext", matchnowlvltonext);
			  ETools.getInstance().saveConfig();
			  if (nowlvltonext == 0){
				  ETools.getInstance().getConfig().options().copyDefaults(true);
				  ETools.getInstance().getConfig().set("stats."+p.getName()+".lvl", matchnowlvl);
				  ETools.getInstance().getConfig().set("stats."+p.getName()+".lvltonext", 300*matchnowlvl);
				  ETools.getInstance().saveConfig();
				  String lvl = Integer.toString(matchnowlvl);
				  String msg1 = LangManager.LVL_UP_MSG_TO_ALL;
				  msg1 = msg1.replace("{PLAYER}", p.getName());
				  msg1 = msg1.replace("{LVL}", lvl);
				  Bukkit.broadcastMessage(Util.fixColor(msg1));
				  String msg2 = LangManager.LVL_UP_MSG_TO_PLAYER;
				  msg2 = msg2.replace("{LVL}", lvl);
				  p.sendMessage(Util.fixColor(msg2));
			  }
		}
	}

 

Cytat

tego to już całkiem nie rozumie  po co ta cała java po co to całe api od bukkita... ChatColor dla bardziej zaawansowanych ChatComponent ale nie to to już jest magia nie z tej ziemi.

fixColor nie sluzy tylko za zmienianie & na paragraf, ale >> na » |  i * na • 

Cytat

u graczy masz zamiar upchać do tego jednego configu :? co ile jest update tego configu tzn co ile średnio gracze będą zdobywać poziom.. i pomyśl czy jest to dobre rozwiązanie. bo zapisując config zapisujesz cały config na nowo ! a co za tym idzie wszystkie wartości jakie są dodane były dodane i te co były wczytane, jednym słowem WSZYSTKO

wracając do tematu nie widzę błędu. może zdebuguj :/ , albo podaj co ci zapisuje o ile cokolwiek.

takie rzeczy powinieneś trzymać w pamięci tak długa jak gracz jest online i zapisywać jak wychodzi+jakiś interwall > szybciej > bezpieczniej > wygodniej , możesz skorzystać z jakiejś bazy SQL, SQLite jest darmowy i powinien starczyć chyba, tak myślę ,

config.yml ma zamiar zastepowac users.yml, w configu nie bede trzymal nic oprocz stats.gracz...

lang.yml juz stworzone i tam trzymam wszysko

poza tym, kiedys mam zamiar zrobic to sqlite/mysql + mozliwosc .yml

na razie z .yml mi latwiej i wiecej sie ucze.

 

 

JAVA <3

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...