Hallo, Ich benötige Hilfe im Thema zu Programmieren in Eclipse.
Ich programmiere aktuell ein Plugin mit dem man sich zu einem Bus senden kann.
In einer Config sind alle Bushaltestellen gelistet mit Preis Zeit zum Fahren und Position.
(Preis und Zeit kommen noch)
Der Bus ist auch gesetzt mein problem ist das wenn ein 2ter Spieler den Bus betritt und ein anderer Spieler den Bus verässt für alle Spieler die taskID beendet wird. Gibt es eine Möglichkeit diese ID so zu machen, das die sie nur für Einzelne Spieler gilt oder so... Ich bin nicht so gut im Programmieren und eher ein Anfänger. Wäre als schon wenn mir jmd helfen könnte
Lg NiciToni
Ich programmiere aktuell ein Plugin mit dem man sich zu einem Bus senden kann.
In einer Config sind alle Bushaltestellen gelistet mit Preis Zeit zum Fahren und Position.
(Preis und Zeit kommen noch)
Der Bus ist auch gesetzt mein problem ist das wenn ein 2ter Spieler den Bus betritt und ein anderer Spieler den Bus verässt für alle Spieler die taskID beendet wird. Gibt es eine Möglichkeit diese ID so zu machen, das die sie nur für Einzelne Spieler gilt oder so... Ich bin nicht so gut im Programmieren und eher ein Anfänger. Wäre als schon wenn mir jmd helfen könnte
Lg NiciToni
Der Command:
package me.nicitoni;
import java.sql.Array;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import net.milkbowl.vault.economy.Economy;
public class Stationen implements CommandExecutor {
private int taskID2;
boolean gestartet = false;
private int bustimerTask;
FileConfiguration cfg = Main.getPlugin().getConfig();
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player p = (Player) sender;
if (p.hasPermission("bus.*")) {
Economy eco = (Economy) Main.getEconomy();
if (args[0].equalsIgnoreCase("setstation")) {
cfg.set("Bushaltestellen." + args[1] + "", p.getLocation());
Main.getPlugin().saveConfig();
sender.sendMessage("§5[§fBus§5]§4: Du hast eine Bushaltestelle gesetzt §4(§5" + args[1] + "§4)");
}
if (args[0].equalsIgnoreCase("send")) {
Player target = Bukkit.getPlayer(args[2]);
String bushaltestelle = args[1];
if (cfg.isSet("Bushaltestellen." + bushaltestelle)
&& ("Bushaltestellen." + bushaltestelle != "DELETED")) {
target.sendMessage("§5[§fBus§5]§4: Du bist num im Bus nach " + bushaltestelle
+ " Du bist in 15 Sekunden da");
target.teleport((Location) cfg.get("Bus.position"));
target.setCanPickupItems(false);
target.spigot().sendMessage(ChatMessageType.ACTION_BAR,
new TextComponent(ChatColor.AQUA + "Die Fahrt beginnt"));
taskID2 = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getPlugin(), new Runnable() {
int count = 16;
@Override
public void run() {
count -= 1;
target.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(
ChatColor.AQUA + "Du bist da in §4[§f" + count + "§4 Sekunden" + "§4]"));
if (count == 0) {
target.teleport((Location) cfg.get("Bushaltestellen." + bushaltestelle + ""));
Bukkit.getScheduler().cancelTask(taskID2);
target.sendMessage("§5[§fBus§5]§4: Du bist nun angekommen das macht dann nun 15$");
Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
"money take " + target.getName() + " 15");
target.sendMessage("§4-------- Abrechnung --------");
target.sendMessage("§4-- Abrechnung wegen: Busfahrt nach --");
target.sendMessage("§4-- §b" + bushaltestelle + " §4---");
target.sendMessage("§4-- Abrechnugsinformationen -----");
target.sendMessage("§5-- Abgezogener Betrag - 15$ ");
target.sendMessage("§4-- Name des Spielers " + target.getName() + "");
target.sendMessage("§4-------- Abrechnung --------");
target.setCanPickupItems(true);
Bukkit.getScheduler().cancelTask(taskID2);
if (!eco.hasAccount(target)) {
eco.createPlayerAccount(target);
}
eco.withdrawPlayer(target, 15);
}
}
}, 0, 20);
} else {
target.sendMessage("§5[§fBus§5]§4: §fDiese Bushaltestelle gibt es nicht");
}
}
if (args[0].equalsIgnoreCase("setbus")) {
cfg.set("Bus.position", p.getLocation());
Main.getPlugin().saveConfig();
p.sendMessage("§5[§fBus§5]§4: Der Bus wurde gesetzt ");
}
if (args[0].equalsIgnoreCase("list")) {
Array Bushaltestellen = (Array) cfg.get("Bushaltestellen");
p.sendMessage(Bushaltestellen.toString());
}
if (args[0].equalsIgnoreCase("remove")) {
Bukkit.broadcastMessage("ausgeführt");
if (cfg.isSet("Bushaltestellen." + args[1])) {
cfg.set("Bushaltestellen." + args[1], "DELETED");
Main.getPlugin().saveConfig();
}
}
}
return false;
}
public void bustimerStarten(String[] args, CommandSender s) {
if (gestartet = false) {
gestartet = true;
bustimerTask = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getPlugin(), new Runnable() {
@Override
public void run() {
List<String> alle = cfg.getStringList("Bus.Fahrende.Name");
}
}, 0, 20);
}
}
}
Main Class:
package me.nicitoni;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import net.milkbowl.vault.chat.Chat;
import net.milkbowl.vault.permission.Permission;
import net.milkbowl.vault.economy.*;
public class Main extends JavaPlugin {
private static Main plugin;
String chatN = "§f[§5Security]§f:";
private static Economy econ = null;
private static Permission perms = null;
private static Chat chat = null;
public void onEnable() {
plugin = this;
System.out.println("Handschellen: Plugin wurde geladen");
getCommand("artzt").setExecutor(new Taser());
getCommand("medic").setExecutor(new Krankenwagen());
getCommand("busse").setExecutor(new Stationen());
PluginManager pm = getServer().getPluginManager();
pm.registerEvents(new KrangenwagenListener(), this);
pm.registerEvents(new Bewussltlos(), this);
pm.registerEvents(new RechungListener(), this);
}
public void onDisable() {
System.out.println("Handschellen: Plugin wurde deaktiviert ");
}
public static Main getPlugin() {
return plugin;
}
public static Economy getEconomy() {
return econ;
}
public static Permission getPermissions() {
return perms;
}
public static Chat getChat() {
return chat;
}
}