Skocz do zawartości
  • 0

"Zmienne" w pluginie


KrejzolekPRO

Pytanie

Witam, od niedawna uczę się pisać pluginy do Minecrafta. Na razie szło fajnie, szybko się uczyłem. Wczoraj postanowiłem stworzyć swój plugin na ranking. Ale pojawił się problem, chciałem przy każdym zabójstwie gracza dodać do jego zmiennej 1, ale nie potrafię stworzyć takiej zmiennej. Nie umiem. Ogólnie chodzi o to, aby ktoś mi wytłumaczył jak tworzyć "zmienne graczowe". Na innym forum, pan Olids pokazał mi sposób z HashMap, ale nie pokazał mi, jak, np. dodać coś do tej zmiennej, odjąć etc.

Kod wyglądał tak:

[importy i reszta]

public class Ranks extends JavaPlugin implements Listener {
	
	HashMap<UUID , Integer> ranking = new HashMap<>();
	public void onDeath(PlayerDeathEvent e){
		Player a = e.getEntity().getKiller();
		Player v = e.getEntity();
		if(ranking.get(a.getUniqueId()) == null){
			//teraz moje próby:
			//ranking.get(a.getUniqueId()).add...
			//ranking.get(a.getUniqueId()).set...itd
		}
	}
}

 

Odnośnik do komentarza
https://skript.pl/temat/17639-zmienne-w-pluginie/
Udostępnij na innych stronach

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, Libter napisał:

W onDeath:


		Player v = e.getEntity();
		Player a = v.getKiller();
		UUID uuid = a.getUniqueId();
		if (!ranking.contains(uuid)) {
			ranking.put(uuid, 0);
		}
		ranking.put(uuid, ranking.get(uuid) + 1);

 

Okej, zrozumiałem już co nieco. teraz tak. Mam kod:

public boolean onCommand(CommandSender s, Command cmd, String label, String[] args) {
		if(cmd.getName().equalsIgnoreCase("ranking")){
			UUID uuid = ((Player) s).getUniqueId();
			if(args.length == 0){
				if(!ranking.containsKey(uuid)){
					ranking.put(uuid, 500);
				}
				else{
					s.sendMessage("§7Twoj ranking: §6" + ranking.get(uuid) + "");
				}
			}
			else if(args[0] == "dodaj"){
				ranking.put(uuid, ranking.get(uuid) + 25);
			}
		}
		return true;
	}

Trochę, źle zrozumiałeś. Chodziło o dodanie do całej "zmiennej" 25, a nie do wiadomości.

Odnośnik do komentarza
https://skript.pl/temat/17639-zmienne-w-pluginie/#findComment-120680
Udostępnij na innych stronach

  • 0
47 minut temu, KrejzolekPRO napisał:

Trochę, źle zrozumiałeś. Chodziło o dodanie do całej "zmiennej" 25, a nie do wiadomości.

Do kogo piszesz? Kod, który podawałem nie dodaje 25, a tym bardziej do "wiadomości". 

Odnośnik do komentarza
https://skript.pl/temat/17639-zmienne-w-pluginie/#findComment-120683
Udostępnij na innych stronach

  • 0
Teraz, Ixidi napisał:

Czyli o co Ci chodzi? :x

Chodzi o to, że chcę stworzyć zmienna, która będzie przechowywać statystyki gracza.

W skrypcie by to było tak:

on death:

    add 1 to {zabojstwa::%attacker%}

    add 1 to {smierci::%victim%}

    add 25 to {ranking::%attacker%}

Edytowane przez KrejzolekPRO
Odnośnik do komentarza
https://skript.pl/temat/17639-zmienne-w-pluginie/#findComment-120710
Udostępnij na innych stronach

  • 0

Zacznijmy od tego, że musisz wybrać rodzaj zapisu. Możesz do pliku, bazy danych SQL, czy nawet do MongoDB. Serio, możliwości masz bez liku. Ja osobiście, na start, poleciłbym Tobie zrobienie coś na bazie zapisu do plików. Jako iż nie jestem teraz przy komputerze, to podeśle Tobie gotowy source-code z pluginu na gildie autorstwa Kamilkime. Nie jest on najlepszy i ma masę błędów, jednak on pomoże Tobie idealnie zrozumieć, jak zrobić taką prymitywną formę zapisu. Link do niego masz tutaj: https://github.com/Kamilkime/YTGuilds

Zacznij od przeglądania Main.java, i śledz to, co kod robi. Jak wrócę do domu, to napiszę Tobie przykładowy plugin na ranking, z omówieniem wszystkich elementów i napiszę post w tym temacie.

Odnośnik do komentarza
https://skript.pl/temat/17639-zmienne-w-pluginie/#findComment-120713
Udostępnij na innych stronach

  • 0
Teraz, Wizzard napisał:

Zacznijmy od tego, że musisz wybrać rodzaj zapisu. Możesz do pliku, bazy danych SQL, czy nawet do MongoDB. Serio, możliwości masz bez liku. Ja osobiście, na start, poleciłbym Tobie zrobienie coś na bazie zapisu do plików. Jako iż nie jestem teraz przy komputerze, to podeśle Tobie gotowy source-code z pluginu na gildie autorstwa Kamilkime. Nie jest on najlepszy i ma masę błędów, jednak on pomoże Tobie idealnie zrozumieć, jak zrobić taką prymitywną formę zapisu. Link do niego masz tutaj: https://github.com/Kamilkime/YTGuilds

Zacznij od przeglądania Main.java, i śledz to, co kod robi. Jak wrócę do domu, to napiszę Tobie przykładowy plugin na ranking, z omówieniem wszystkich elementów i napiszę post w tym temacie.

Dzięki bardzo. Czekam.

Odnośnik do komentarza
https://skript.pl/temat/17639-zmienne-w-pluginie/#findComment-120716
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...