Ist der DL im Startpost schon aktualisiert?
![](https://breadfish.de/wcf/images/avatars/4a/11809-4a12f24b986d85abe6ccb03e4afd995460c812b0.jpg)
[jTool] Alle Befehle auslesen | j_cmdsAuslesen.vbs
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Ist der DL im Startpost schon aktualisiert?
Ja. -
Hoffe mal, dass er es diesmal auslesen kann
-
Hoffe mal, dass er es diesmal auslesen kann
Wäre gut, wenn du eine kurze Rückmeldung geben könntest, ob es geklappt hat oder nicht, bei dir.
Falls es Probleme geben sollte darfst du mir gerne ein Beispiel deines Befehls zukommen lassen, dann behebe ich das Problem. -
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.
-
Bei mir passiert aber vieles als Dialog macht es dann Probleme? Auch meine ganzen Includes sind so aufgebaut bzw werden da keine Befehle gezeigt.
-
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.
-
Hat geklappt danke
-
Danke klappt 666 Befehle^^ Teufelszahl
-
-
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 -
Kannst du bitte deine Zeile 100 mir mal schicken?
Und warum ist das bei dir Zeile 100? Hast du was geändert? -
-
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.
-
-
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? -
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:Code
Alles anzeigenif(strcmp(cmd, "/chairsit", true) == 0) { LoopingAnim(playerid,"BAR","dnk_stndF_loop",4.0,1,0,0,0,0); return 1; } if(strcmp(cmd, "/dance", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp) || strlen(tmp) > 2) { SendClientMessage(playerid,COLOR_GRAD1,"Benutzung: /dance [1-4]"); return 1; } dancestyle = strval(tmp); if(dancestyle < 1 || dancestyle > 4) { SendClientMessage(playerid,COLOR_GRAD1,"Benutzung: /dance [1-4]"); return 1; } if(dancestyle == 1) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1); } else if(dancestyle == 2) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2); } else if(dancestyle == 3) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3); } else if(dancestyle == 4) { SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE4); } return 1; } if(strcmp(cmd, "/explode", true) == 0) { GetPlayerName(playerid, sendername, sizeof(sendername)); tmp = strtok(cmdtext, idx); if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1339) { SendClientMessage(playerid, COLOR_GREY, "/explode [Playerid]"); return 1; } giveplayerid = strval(tmp); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin]) { SendClientMessage(playerid, COLOR_GRAD1, "FEHLER!"); return 1; } if(IsPlayerConnected(giveplayerid)) { if(PlayerInfo[playerid][pAdmin] >= 1339) { if(IsPlayerConnected(giveplayerid)) { format(string, sizeof(string), "AdmCMD: %s wurde gesprengt von %s",giveplayer, sendername); ABroadCast(COLOR_LIGHTRED,string,1); //SendClientMessageToAll(COLOR_DBLUE, string); SetPlayerHealth(giveplayerid, 10); new Float:boomx, Float:boomy, Float:boomz; GetPlayerPos(giveplayerid,boomx, boomy, boomz); CreateExplosion(boomx, boomy , boomz, 7, 10); new PlayerName[30]; GetPlayerName(playerid, PlayerName, 30); printf("[Command] %s has used /explode to explode %s", PlayerName, giveplayer); } else { format(string, sizeof(string), "%d is not an active player.", giveplayerid); SendClientMessage(playerid, COLOR_RED, string); } } else { SendClientMessage(playerid, COLOR_RED, "Du kannst diesen Befehl nicht benutzen!"); } } else { SendClientMessage(playerid, COLOR_RED, "Du musst eingelogt sein um den Befehl nutzen zu können!"); } return 1; } //Noobhilfe if(strcmp(cmd,"/guide",true)==0) { if(IsPlayerConnected(playerid)) { if(IsPlayerInRangeOfPoint(playerid,2.0,490.7159,-1519.1860,20.3347)) { ShowMenuForPlayer(Navigation, playerid); SendClientMessage(playerid, COLOR_GREY, "*Um einen Checkpoint auszuschalten Tippe /chilfe."); } else { SendClientMessage(playerid, COLOR_GREY, "Du musst am Zivispawn sein."); } } return 1; } if(strcmp(cmd,"/chilfe",true)==0) { if(IsPlayerConnected(playerid)) { DisablePlayerCheckpoint(playerid); SendClientMessage(playerid, COLOR_GREY, "*Touristenhilfe ausgeschaltet!"); } return 1; }
-
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. -