You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Mineklex

User / Kunde

  • "Mineklex" is male
  • "Mineklex" started this thread

Posts: 25

Location: Regensburg

Occupation: [Schule]

Thanks: 2

  • Send private message

1

Wednesday, October 25th 2017, 9:46pm

Items in einer GUI in der Config speichern speichern

Hey,
Ich hätte mal eine Frage:

Wie speichere ich den die Item die in deine GUI gelegt werden also ein virtuelles Inventar. (p.openInventory(inv6))

Und wie rufe ich die Daten wieder von der Config auf? ... Um die Teams wieder in der GUI anzuzeigen..

Ich hoffe jemand hat eine Idee

Schon mal Danke im Voraus

Mit freundlichen Grüßen

Mineklex
Mit freundlichen Grüßen


Mineklex

xtrumb

User / Kunde

  • "xtrumb" is male

Posts: 2,295

Location: hier

Occupation: Fachinformatiker für Systemintegration

Thanks: 16

  • Send private message

2

Wednesday, October 25th 2017, 10:15pm

du gehst mit einer forschleife das inventar durch (inv.getSize ... ++)

und speicherst den jeweiligen Itemstack in der Config.

Mit cfg.getItemStack kannst du dir den dann wieder mit einer forschleife rausholen lassen.
Mit freundlichen Grüßen
TrueMB

Dienstleistungs Service
Unser Csgo Team

Mineklex

User / Kunde

  • "Mineklex" is male
  • "Mineklex" started this thread

Posts: 25

Location: Regensburg

Occupation: [Schule]

Thanks: 2

  • Send private message

3

Thursday, October 26th 2017, 3:56pm

Frage

Schon mal Danke ;)
Bin aber noch ein Anfänger...

Könntest du das ein bisschen genau erklären ;)

Source code

1
2
3
for (ItemStack i : inv.getContents()) {
        if (i == null || i.getType() == Material.AIR) return false;
    }

Das geht so nicht oder? und wie speichere ich das dann ab?



Ps: Wie speichere ich das ab wenn ich will das das Inventar gespeichert werden soll wenn man das Inventar schließt

Schon mal vielen vielen Danke <3
Mit freundlichen Grüßen


Mineklex

xtrumb

User / Kunde

  • "xtrumb" is male

Posts: 2,295

Location: hier

Occupation: Fachinformatiker für Systemintegration

Thanks: 16

  • Send private message

4

Friday, October 27th 2017, 2:24pm

Java source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
	public static void getKit(Player p, String kitname) {
		
		File file = new File(Main.getPlugin().getDataFolder(), "Kits.yml");
		YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
		
		ItemStack[] contentList = new ItemStack[p.getInventory().getContents().length];
		ItemStack[] armorList = new ItemStack[4];

		ConfigurationSection sectionContents = cfg.getConfigurationSection(kitname + ".Items");
		for (int i = 0; i < p.getInventory().getContents().length; i++) {
			ItemStack stack = sectionContents.getItemStack(String.valueOf(i));
			contentList[i] = stack;
		}
		
		ConfigurationSection sectionArmor = cfg.getConfigurationSection(kitname + ".Armor");
		for (int i = 0; i < p.getInventory().getArmorContents().length; i++) {
			ItemStack stack = sectionArmor.getItemStack(String.valueOf(i));
			armorList[i] = stack; 
		}
		
		p.getInventory().setContents(contentList);
		p.getInventory().setArmorContents(armorList);
		p.updateInventory();
	}

	public static void saveInFile(Player p, String kitname) {
		Inventory inv = p.getInventory();
		
		File file = new File(Main.getPlugin().getDataFolder(), "Kits.yml");
		YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
		
		ConfigurationSection sectionContents = cfg.createSection(kitname + ".Items");
		for (int i = 0; i < inv.getContents().length; i++) {
			if (inv.getContents()[i] == null) continue;
			sectionContents.set(String.valueOf(i), inv.getContents()[i]);
		}
		
		ConfigurationSection sectionArmor = cfg.createSection(kitname + ".Armor");
		for (int i = 0; i < p.getInventory().getArmorContents().length; i++) {
			if (p.getInventory().getArmorContents()[i] == null) continue;
			sectionArmor.set(String.valueOf(i), p.getInventory().getArmorContents()[i]);
		}
		
		try {
			cfg.save(file);
		} catch (IOException e) {
			e.printStackTrace();
		}
		p.getInventory().clear();
	}


Hier etwas aus meiner Kit Klasse. Versuch diese mal eigenstädig für dein GUI Inventar anzupassen.
Mit freundlichen Grüßen
TrueMB

Dienstleistungs Service
Unser Csgo Team

This post has been edited 1 times, last edit by "xtrumb" (Oct 30th 2017, 8:01am)


Mineklex

User / Kunde

  • "Mineklex" is male
  • "Mineklex" started this thread

Posts: 25

Location: Regensburg

Occupation: [Schule]

Thanks: 2

  • Send private message

5

Saturday, October 28th 2017, 10:33pm

okay danke <3
Mit freundlichen Grüßen


Mineklex

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

6

Monday, October 30th 2017, 12:23pm

Standard Standart eines Flamingos ist einbeinig.

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net