[jTool] Alle Befehle auslesen | j_cmdsAuslesen.vbs

  • Funktioniert leider immer noch nicht...

    Spoiler anzeigen
    if(!strcmp(cmdtext, "beziehen", true))
    {
    if(!IsPlayerInRangeOfPoint(playerid,3.5,2178.7417,-1775.7045,13.5380)) return SendClientMessage(playerid,COLOR_GREY," Du bist nicht beim Gerät zum beziehen eines Motel-Zimmers...");
    new house=GetPVarInt(playerid,"SpielerUnterkunft");
    if(house<=-2) return SendClientMessage(playerid,COLOR_GREY," Du beziehst bereits dieses Motel...");
    if(house!=-1) return SendClientMessage(playerid,COLOR_GREY," Du musst deine vorhandene Unterkunft verkaufen...");
    format(FormatString,FormatStringLength,"Für einen Tag beziehen(%d$)\nFür drei Tage beziehen (%d$)\nFür sieben Tage beziehen(%d$)\nFür vierzehn Tage beziehen(%d$)\nFür dreißig Tage beziehen(%d$)",1*MAX_MOTEL_COST,3*MAX_MOTEL_COST,7*MAX_MOTEL_COST,14*MAX_MOTEL_COST,30*MAX_MOTEL_COST);
    return ShowPlayerDialogEx(playerid,MotelDialog,DIALOG_STYLE_LIST,"LosSantos - Motel / Dauer",FormatString,"Akzeptieren","Zurück");
    }
    if(!strcmp(cmdtext, "ausziehen", true))
    {
    if(!IsPlayerInRangeOfPoint(playerid,3.5,2178.7417,-1775.7045,13.5380)) return SendClientMessage(playerid,COLOR_GREY," Du bist nicht beim Gerät zum ausziehen eines Motel-Zimmers...");
    new house=GetPVarInt(playerid,"SpielerUnterkunft"),betrag=MAX_MOTEL_COST*(GetPVarInt(playerid,"SpielerMotelDauer")-gettime())/24/60/60;
    if(house>-1) return SendClientMessage(playerid,COLOR_GREY," Du hast kein Motel bezogen, sondern besitzt ein Haus...");
    if(house==-1) return SendClientMessage(playerid,COLOR_GREY," Du beziehst derzeit kein Motel...");
    GivePlayerMoney(playerid,betrag);
    SetPVarInt(playerid,"SpielerUnterkunft",-1); SetPVarInt(playerid,"SpielerMotelDauer",0);
    format(FormatString,FormatStringLength, "* Du bist aus dem Motel ausgezogen und hast den Schlüssel abgegeben! RestBetrag: %d$",betrag);
    return SendClientMessage(playerid, COLOR_RED, FormatString);
    }
    if(!strcmp(cmdtext, "gotocoords", true))
    {
    if(GetPVarInt(playerid,"SpielerAdmin")<MAX_ADMIN_LEVEL) return SendRightError(playerid,MAX_ADMIN_LEVEL);
    new Float:X, Float:Y, Float:Z,int;
    if(sscanf(CacheString, "fffd", X, Y, Z,int)) return SendClientMessage(playerid, COLOR_RED, "Verwendung: /gotocoords [X] [Y] [Z] [Int]");
    SetPlayerPos(playerid,X, Y, Z);
    SetPlayerInterior(playerid,int);
    return 1;
    }
    if(!strcmp(cmdtext,"gmx",false))
    {
    if(GetPVarInt(playerid,"SpielerAdmin")<MAX_ADMIN_LEVEL) return SendRightError(playerid,MAX_ADMIN_LEVEL);
    SendClientMessage(playerid,COLOR_YELLOW,"GameMode Restart eingeleitet...");
    gSASGameModeRestart = true;
    SecureGameModeExit();
    return 1;
    }
    format(FormatString,FormatStringLength," Der Befehl '/%s' ist nicht vorhanden...", cmdtext);
    SendClientMessage(playerid,COLOR_GREY,FormatString);
    return 1;

  • Bei den Befehlen fehlt der Slash "/".
    if(!strcmp(cmdtext, "beziehen", true))
    zu:
    if(!strcmp(cmdtext, "/beziehen", true))


    Sonst wird es nicht als Befehl erkannt, da viele dies so als Unterbefehle nutzen.
    Einfach: STRG+H => cmdtext, " zu cmdtext, "/


    Dann geht es. ;)

    sigsmall_winter.png

  • Bei mir passiert aber vieles als Dialog macht es dann Probleme? Auch meine ganzen Includes sind so aufgebaut bzw werden da keine Befehle gezeigt.


    Du kannst diese Änderung ja auch in einer Kopie machen, den Code von mir lässt du ja eh nur 1x drüberlaufen.
    Hast du in den Includes auch Befehle? Wenn ja, musst du diese zu .pwn umbenennen, oder in meinem Code das ".pwn" danach zu ".inc" ändern und nochmal ausführen.


    Ich rate dir aber, in einer Kopie deines Server-Ordner zu arbeiten, falls du was kaputt machst. ;)

    sigsmall_winter.png


  • Hallo Jeffry, ich hab dein Tool mal mit meinem GM ausprobiert und nach ein paar sekunden tauchte dieses Fesnster auf.


    Windows Script Host


    Skript: C:\Users\*****\Desktop\Neuer Ordner\jtool.vbs
    Zeile: 100
    Zeichen: 45
    Fehler: Ungültiger Prozedurablauf oder ungültiges Argument 'Mid'
    Code: 800A00005
    Quelle: Laufzeitfehler in Microsoft VBScript

  • hast du das Programm noch?

    Ja, aber wie ich sehe funktioniert der Download noch, nur die Bilder die ich als Buttons hinterlegt hatte sind weg. Ich werde das heute Abend prüfen, warum die weg sind, denn die Bilder sind eigentlich online, die liegen auf meinem Webhost.


    Der Download im Anhang sollte funktionieren, alternativ kannst du auch direkt den Quellcode aus der Anleitung nutzen.

    sigsmall_winter.png

  • Das Tool hat anscheinend Probleme Befehle mit mehreren "Sschreibformen" auszulesen

    Wenn ich nur diesen Code, den du geschickt hast, in eine .pwn Datei packe und das Tool ausführe, funktioniert alles.
    Sicher, dass es an der Stelle liegt?


    Code
    1. ----29.04.2018 12:52:07----
    2. /aw
    3. /awhisper

    sigsmall_winter.png

  • Ne sicher bin ich nicht.. Habs mal aufs GNE Script angewendet, da krieg ich auch den Fehler: https://imgur.com/a/sZwneOn
    Er gibt mir alle Befehle bis /explode aus:


  • Er gibt mir alle Befehle bis /explode aus:

    Das Problem ist diese Zeile:
    format(string, sizeof(string), "AdmCMD: %s wurde gesprengt von %s",giveplayer, sendername);
    Hier erkennt das Tool "CMD:" als Befehl.


    Ich müsste da noch die eine oder andere Plausi-Prüfung mit aufnehmen, das werde ich mir bei Gelegenheit anschauen.
    Für eine schnelle Lösung in deinem Fall:
    Ersetze mit "STRG+H" alle "AdmCMD:" mit "AdmCxD:", und lasse dann das Tool drüber laufen. Dann klappt die Ausgabe.

    sigsmall_winter.png