Spieler am bewegen hindern Plugin?

 - (Computer, Spiele und Gaming, Java)

3 Antworten

Ersetze "String target = args[1]" mit "String target = Bukkit.getPlayer(args[1])", dann sollte es gehen, dem Target die Nachricht zu senden.

15

danke und ich habe im internet gefunden das es ein move event gibt

0
15

ich bekomme eine fehlermeldung

0
15

ich bekomme eine fehlermeldung

0

Moment mal - lt. Syntaxmeldung erwartet /move 2 Argumente. Du fragst aber nach args.length == 1.

15

Fängt java nicht mit 0 an und argument 0 ist on/off und argument q ist der name

0
53
@Huhngut

Ja, das ist so. ("q" ist offensichtlich vertippt für "1".)

(Exkurs: Im Gegensatz zu z. B. den üblichen Scriptsprachen, wo Argument 0 der Name der Scriptdatei ist.)

Aber: wie in C-"flavored" Sprachen üblich, ist die Länge eines Arrays (die Anzahl seiner Elemente) die tatsächliche Anzahl der Elemente.

Ein 2-elementiges Array wird z. B. deklariert mit

int[2] intArray;

und es hat die 2 Elemente intArray[0] und intArray[1].

(Die Länge eines Arrays über seine obere Grenze zu erklären kenne ich sonst nur aus verschiedenen BASIC-Dialekten. Letztlich eine Quelle von Eins-daneben-Fehlern bei 0-basierten Arrays.)

0
15
@PWolff

also muss ich das nicht korrigieren

0
53
@Huhngut

Noch mal:

int args[1]

führt zu einem 1-elementigen Array mit dem einzigen Element

args[0]

und zu

args.length ==> 1

.

int args[2]

führt zu einem 2-elementigen Array mit den beiden Elementen

args[0]
args[1]

und zu

args.length ==> 2

.

-----

Wenn

args.length == 1

dann führt

args[1]

zu einem Laufzeitfehler (Index out of range), weil der Index eines Arrays von 0 einschließlich bis Länge-1 einschließlich läuft. (Gleichbedeutend bis Länge ausschließlich.)

Wie viel kostet es, zum Ausprobieren mal

if (args.length == 1)

durch

if (args.length == 2)

zu ersetzen?

1

Target ist ein String.

Strings können keine Nachrichten versenden.

15

ok wie kann ich es machen das dem player der an letzter stelle des commands ist eine nachricht gesendet wird und er sich nicht bewegen kann

0
27
@Huhngut

Willst du es nicht verstehen? Wir kennen diese Bibliotheken nicht, die du verwendest. Und außerdem finde ich deine Skript Kiddie Einstellung nicht passend. Strenge dich an und schreibe selber mal etwas Code und probiere herum. Du gibst ja gleich auf und stellst hier eine Frage.

0
15
@milos2

es ist mein erster eigener code ich werde dich jetzt nicht mehr belästigen

0

Spigot Plugin, Spieler im Chat markieren?

Hi, Ich habe eine Frage zum Plugin programmieren mit der Spigot Bibliothek. Undzwar würde ich gerne wissen wie ich es machen kann, dass wenn ich einen Spielernamen (z.B.Minecrafter2001) in den Chat schreibe, dass der Name dann beim jeweiligen Spieler markiert/farbig im Chat steht. Ich habe bereits ein wenig rumprobiert mit msg.contains(spielername);, e.setCancelled(true);, und einigen weiteren Dingen, jedoch stoße ich immer wieder auf Fehler wie z.B. dass nach dem markierten die Nachricht nicht wie davor ist (Farbcodes etc.) und vieles weiteres. Deshalb wäre es nett, wenn jemand vllt. kurz beschreiben könnte wie und mit welchen Methoden, Schleifen etc. ich das am Besten machen. Danke schonmal für die Hilfe. Spigot-Version: 1.9.2, IDE: Eclipse Mars.2

...zur Frage

Probleme mit Minecraft Plugin?

Hallo, ich habe ein paar Probleme mit einem Plugin, dass ich selbst programmiert habe.

Hier wäre mein Problem: https://youtu.be/02y8WpQ0IiM

Meine Abfrage ist folgende:

@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onShopOpener(PlayerInteractAtEntityEvent e) {
    if (e.getRightClicked() instanceof Villager) {
        Villager villager = (Villager) e.getRightClicked();
        if (villager.getName() != null) {
            if (villager.getName().contains("Jäger")) {
                Jäger(e.getPlayer());
                e.getPlayer().openInventory(inv);
                e.getPlayer().sendMessage(villager.getName());
            }
        }
    }
}

Wie kann ich das fixen?
Danke schon mal im voraus

...zur Frage

Wie kann ich den Spielername zusammen mit der iDisguise API anzeigen lassen?

Hallo!

Ich arbeite an einem Plugin, dass einen Spieler per Befehl in ein Mob verfandelt. Dafür nutze ich die API von iDisguise für Spigot (1.8.3). Nun möchte ich, dass über dem Spieler (wenn er ein Mob ist) sein Name steht (Möglichst immer und nicht nur beim drauf gucken). Weiß einer wie ich das umsetzen kann? Oder kennt jemand eine andere API bzw. ein anderes Plugin (mit API) wo man den Spielernamen anzeigen lassen kann?

(Code teile wäre nett [bin anfänger])

LG Sprax2013

...zur Frage

Minecraft-PL-Code funktioniert nicht?

Hier der Code:

https://hastebin.com/akeyoroxuv.swift

Hier die Join:

    @EventHandler
public void onJoin(PlayerJoinEvent e) {
    if(PermissionsEx.getUser(e.getPlayer()).inGroup("hacking")) {
    e.getPlayer().kickPlayer("§c§lSLURIA.NET - SERVERNETZWERK \n \n §c Du wurdest für Hacking gebannt. \n \n §cZeit = §4PERMANENT \n \n §cWenn dies ein Fehler ist, melde diesen im Ts \n \n §bTs3: Sluria.net \n");
    e.getPlayer().sendMessage("HALLO");
    } else {
    e.getPlayer().sendMessage("§cWillkommen auf Sluria.Net!");
}
  }
        
}

Folgender Fehler:

Man wird nicht wenn man in der Gruppe: "hacking" ist wieder beim Join gekickt für den Bangrund. Wie soll ich das machen?

...zur Frage

Spieler Teleportieren, bevor er stirbt [Plugin]?

Auf diversen Servern wie zB. NeruxVace und MineSucht wird ein Spieler in BedWars beim Tod Teleortiert, ohne dass der Todesbildschirm erscheint, wie ist das möglich

...zur Frage

Was möchtest Du wissen?