Probleme mit Commands

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
  • Tag Leute,
    habe mir heute neue Befehle erstellt.
    Allerdings werden manche einfach nicht erkannt.
    Hier mal ein CMD:
    if(strcmp(strget(cmdtext,true),"/admin vehicle",true))
    {
    new vehicle=strval(strget(cmdtext,1));
    if(admin_eingeloggt[playerid]==1)
    {
    if(IsPlayerInAnyVehicle(playerid)==0)
    {
    new Float:X,Float:Y,Float:Z,Float:R;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,R);
    CreateVehicle(vehicle,X,Y-5,Z,R,0,0,0);
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist bereits in einem Vehicle!");
    }
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }


    Nun ist es so, das er bei jedem Befehl sagt Du bist nicht als Admin eingeloggt!
    Und das sagt er sogar bei /admin login
    Es muss doch irgendwie gehen das NUR diese spezielle Rechtschreibung funktioniert oder?
    Durch diesen Fehler hat mich das Script natürlich wieder enorm zurückgeschlagen.
    Ich habe keine Ideen mehr, wie ich es beheben könnte :-x


    Gruß,
    Nicorotom

  • if(strcmp(strget(cmdtext,true),"/admin vehicle",true))
    {
    new vehicle=strval(strget(cmdtext,1));
    if(admin_eingeloggt[playerid]==1)
    {
    if(!IsPlayerInAnyVehicle(playerid)) // hier war das prob ;D
    {
    new Float:X,Float:Y,Float:Z,Float:R;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,R);
    CreateVehicle(vehicle,X,Y-5,Z,R,0,0,0);
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist bereits in einem Vehicle!");
    }
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }

  • Ja, das liegt ja nicht an dem CMD, habe es nur als Beispiel CMD gepostet.
    Ich sagte ja, dass er bei allen Befehlen plötzlich sagt, dass man nicht als Admin eingeloggt wäre.
    Er sieht anscheinend nicht so recht die Rechtschreibung.
    Den Befehl habe ich nur gepostet, damit ihr seht wie meine CMDS aufgebaut sind.
    Wie gesagt, ist es möglich das er genau auf die Rechtschreibung achtet und dann prüft ob es einen Befehl gibt, welcher genau so heißt?

  • Mein Admin Login befehl ist folgender:
    if(strcmp("/admin login",cmdtext,true)==0)
    {
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,MAX_PLAYERS);
    new FILE[128];
    format(FILE,sizeof(FILE),"/user/%s.ini",playername);
    if(admin_eingeloggt[playerid]==0)
    {
    ShowPlayerDialog(playerid,DIALOG_ADMIN_LOGIN,1,"Login","Passwort:","Abbrechen","Weiter");
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist bereits als Admin eingeloggt!");
    }
    return 1;
    }


    Der Dialog:
    if(dialogid==2)
    {
    if(response)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Passwort:","Abbrechen","Weiter");
    return SendClientMessage(playerid,RED,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,"ENTFERNT :P")==0)
    {
    new playername2[MAX_PLAYER_NAME], ausgabe2[MAX_PLAYERS];
    GetPlayerName(playerid,playername2,sizeof(playername2));
    format(ausgabe2,sizeof(ausgabe2),"%s hat sich als Adminstrator angemeldet!",playername2);
    SendClientMessageToAll(ORANGE,ausgabe2);
    admin_eingeloggt[playerid]=1;
    SetPlayerColor(playerid,PINK);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Passwort:","Abbrechen","Weiter");
    SendClientMessage(playerid,RED,"Das Passwort war Falsch!");
    }
    }
    }

    2 Mal editiert, zuletzt von Nicorotom ()

  • der Befehl ist eigentlich nur /admin enter weder du schreibst es an einander oder musst hallt ifstrlen oder so machen

  • das problem ist hier:
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Passwort:","Abbrechen","Weiter");


    du fragst aber
    if(response) ab


    vertausch mal überall "Abbrechen" mit "Weiter" also zb


    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Passwort:","Weiter","Abbrechen");

  • Das komische ist ja, ich habe mal zum versuch alles zusammengeschrieben.
    Einpaar Admin Befehle funzen, allerdings einpaar auch nicht, obwohl sie vorher gefunzt haben :-S


    Also irgendwie müsste er genau die Rechtschreibung abprüfen, anders würde mir das jetzt nicht einfallen :-x
    Ich könnte zur Not auch alle meine Befehle posten, vllt sind ja in den Befehlen selber noch Fehler.

  • if(strcmp("/admin",cmdtext,true)==0)
    {
    new x_nr[256];
    x_nr = strtok(cmdtext, idx);
    if(strcmp(x_nr,"login",true) == 0)
    {
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,MAX_PLAYERS);
    new FILE[128];
    format(FILE,sizeof(FILE),"/user/%s.ini",playername);
    if(admin_eingeloggt[playerid]==0)
    {
    ShowPlayerDialog(playerid,DIALOG_ADMIN_LOGIN,1,"Login","Passwort:","Abbrechen","Weiter");
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist bereits als Admin eingeloggt!");
    }
    }
    return 1;
    }

  • Was soll den das sein, was soll der Code bringen?


    Das Problem liegt ja nicht nur bei dem Befehl, das liegt bei allen Befehlen.
    Habe sogar schon alles zusammengeschrieben, trotzdem funzen manche nicht!


    //EDIT:
    Hier alle meine Commands:


    if (strcmp("/avehicledelete", cmdtext, true) == 0)
    {
    if(admin_eingeloggt[playerid]==1)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    DestroyVehicle(GetPlayerVehicleID(playerid));
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist in keinem Vehicle!");
    }
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }

    if(strcmp(strget(cmdtext,true),"/avehicle",true))
    {
    new vehicle=strval(strget(cmdtext,1));
    if(admin_eingeloggt[playerid]==1)
    {
    if(IsPlayerInAnyVehicle(playerid)==0)
    {
    new Float:X,Float:Y,Float:Z,Float:R;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,R);
    CreateVehicle(vehicle,X,Y-5,Z,R,0,0,0);
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist bereits in einem Vehicle!");
    }
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }

    if(strcmp("/saveloc",cmdtext,true)==0)
    {
    new string[MAX_PLAYERS];
    new Float:X,Float:Y,Float:Z,Float:FA;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,FA);
    new File:savedlocations=fopen("savedlocations.txt",io_append);
    format(string,MAX_PLAYERS,"Position: %f,%f,%f,%f \r\n",X,Y,Z,FA);
    fwrite(savedlocations,string);
    fclose(savedlocations);
    return 1;
    }

    if(strcmp("/savespawn",cmdtext,true)==0)
    {
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,MAX_PLAYERS);
    new FILE[128];
    format(FILE,sizeof(FILE),"/user/%s.ini",playername);
    new Float:X,Float:Y,Float:Z,Float:R;
    new Interior;
    new Skinid;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,R);
    Interior=GetPlayerInterior(playerid);
    Skinid=GetPlayerSkin(playerid);
    dini_FloatSet(FILE,"SavedX",X);
    dini_FloatSet(FILE,"SavedY",Y);
    dini_FloatSet(FILE,"SavedZ",Z);
    dini_FloatSet(FILE,"SavedRotation",R);
    dini_IntSet(FILE,"SavedInterior",Interior);
    dini_IntSet(FILE,"Skin",Skinid);
    return SendClientMessage(playerid,GREEN,"Spawn gespeichert!");
    }

    if(strcmp("/savecarspawn",cmdtext,true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,MAX_PLAYERS);
    new FILE[128];
    format(FILE,sizeof(FILE),"/user/%s.ini",playername);
    new filename[256];
    format(filename, sizeof(filename), "/user/%i.ini", GetPlayerVehicleID(playerid));
    SaveVehicle2(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid,GREEN,"Vehicle wurde als Privat-Car gespeichert!");
    dini_Set(filename,"Besitzer",playername);
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist in keinem Vehicle!");
    }
    return 1;
    }

    if(strcmp("/savefirmacarspawn",cmdtext,true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    ShowPlayerDialog(playerid,DIALOG_SAVE_FIRMA_CAR_SPAWN,2,"Save Firma Car Spawn","Cop\nAdac\nNews\nTrucker\nMedic\nPost\nAir Spedition","Bestätigen","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist in keinem Vehicle!");
    }
    return 1;
    }

    if(strcmp("/asetcash",cmdtext,true)==0)
    {
    if(admin_eingeloggt[playerid]==1)
    {
    ShowPlayerDialog(playerid,DIALOG_GIVE_CASH,1,"Setcash","Betrag:","Bestätigen","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }

    if(strcmp("/alogin",cmdtext,true)==0)
    {
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,MAX_PLAYERS);
    new FILE[128];
    format(FILE,sizeof(FILE),"/user/%s.ini",playername);
    if(admin_eingeloggt[playerid]==0)
    {
    ShowPlayerDialog(playerid,DIALOG_ADMIN_LOGIN,1,"Login","Passwort:","Bestätigen","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist bereits als Admin eingeloggt!");
    }
    return 1;
    }

    if(strcmp(strget(cmdtext,true),"/changepassword",true))
    {
    new newpassword=strval(strget(cmdtext,1));
    new playername[MAX_PLAYER_NAME];
    new FILE[128];
    format(FILE,sizeof(FILE),"/user/%s.ini",playername);
    dini_Unset(FILE,"passwort");
    dini_IntSet(FILE,"passwort",newpassword);
    return 1;
    }

    if(strcmp(strget(cmdtext,true),"/awhitelistadd",true))
    {
    new addplayer=strval(strget(cmdtext,1));
    if(admin_eingeloggt[playerid]==1)
    {
    new playername2[MAX_PLAYER_NAME];
    new ausgabe3[MAX_PLAYERS];
    format(playername2,sizeof(playername2),"/user/%s.ini",addplayer);
    format(ausgabe3,sizeof(ausgabe3),"%s wurde auf die Whitelist gesetzt!",addplayer);
    dini_Create(playername2);
    dini_IntSet(playername2,"Skin",0);
    dini_FloatSet(playername2,"SavedX",132.860916);
    dini_FloatSet(playername2,"SavedY",-67.794181);
    dini_FloatSet(playername2,"SavedZ",1.578125);
    dini_FloatSet(playername2,"SavedRotation",179.204895);
    dini_IntSet(playername2,"SavedInterior",0);
    dini_IntSet(playername2,"Money",50000);
    dini_IntSet(playername2,"Wanteds",0);
    dini_Set(playername2,"passwort","wechseldeinpasswort");
    dini_IntSet(playername2,"Cop",0);
    dini_IntSet(playername2,"Adac",0);
    dini_IntSet(playername2,"Medic",0);
    dini_IntSet(playername2,"News",0);
    dini_IntSet(playername2,"Post",0);
    dini_IntSet(playername2,"Trucker",0);
    dini_IntSet(playername2,"Air Spedition",0);
    SendClientMessage(playerid,GREEN,ausgabe3);
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }

    if(strcmp("/afk",cmdtext,true)==0)
    {
    new pname[MAX_PLAYER_NAME], s[100];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(s,sizeof(s),"%s ist nun AFK!",pname);
    SendClientMessageToAll(ORANGE,s);
    TogglePlayerControllable(playerid,0);
    return 1;
    }

    if(strcmp("/back",cmdtext,true)==0)
    {
    new pname[MAX_PLAYER_NAME], s[100];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(s,sizeof(s),"%s ist wieder da!",pname);
    SendClientMessageToAll(ORANGE,s);
    TogglePlayerControllable(playerid,1);
    return 1;
    }

    if(strcmp("/arepair",cmdtext,true)==0)
    {
    if(admin_eingeloggt[playerid]==1)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    RepairVehicle(GetPlayerVehicleID(playerid));
    SendClientMessage(playerid,GREEN,"Vehicle wurde repariert!");
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist in keinem Vehicle!");
    }
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }

    if(strcmp(strget(cmdtext,true),"/akick",true))
    {
    new kickplayer=strval(strget(cmdtext,1));
    if(admin_eingeloggt[playerid]==1)
    {
    Kick(kickplayer);
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }

    if(strcmp(strget(cmdtext,true),"/aban",true))
    {
    new banplayer=strval(strget(cmdtext,1));
    new banreason=strval(strget(cmdtext,2));
    new banreasonsend[100];
    if(admin_eingeloggt[playerid]==1)
    {
    format(banreasonsend,sizeof(banreasonsend),"%s",banreason);
    BanEx(banplayer,banreasonsend);
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }

    if(strcmp(strget(cmdtext,true),"/givemoney",true))
    {
    new giveplayer=strval(strget(cmdtext,1));
    new cash=strval(strget(cmdtext,2));
    if(IsPlayerConnected(giveplayer))
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(giveplayer==playerid)
    {
    SendClientMessage(playerid,RED,"Du kannst dir selber kein Geld geben!");
    }
    if(GetPlayerMoney(playerid)<cash)
    {
    SendClientMessage(playerid,RED,"Du hast nicht genug Geld!");
    }
    if(IsPlayerInRangeOfPoint(giveplayer,5,X,Y,Z))
    {
    giveplayer=strval(strget(cmdtext,1));
    cash=strval(strget(cmdtext,2));
    GivePlayerMoney(giveplayer,cash);
    GivePlayerMoney(playerid,-cash);
    ApplyAnimation(playerid,"CASINO","dealone",2,0,1,1,0,0);
    }
    else
    {
    SendClientMessage(playerid,RED,"Der Spieler steht nicht vor dir!");
    }
    }
    else
    {
    SendClientMessage(playerid,RED,"Der Spieler ist nicht online!");
    }
    return 1;
    }

    if(strcmp(strget(cmdtext,true),"/gmx ",true))
    {
    new reason=strval(strget(cmdtext,1));
    new ausgabe[128];
    if(admin_eingeloggt[playerid]==1)
    {
    format(ausgabe,sizeof(ausgabe),"Warnung! Der Server wird gleich aus folgendem Grund restartet: %s",reason);
    GameTextForAll(ausgabe,15000,6);
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist nicht als Admin eingeloggt!");
    }
    return 1;
    }

    if(strcmp("/carinfo",cmdtext,true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new filename[256];
    format(filename, sizeof(filename), "/user/%i.ini", GetPlayerVehicleID(playerid));
    new kennzeichen[128];
    new model[128];
    format(kennzeichen,sizeof(kennzeichen),"Kennzeichen: %i",GetPlayerVehicleID(playerid));
    format(model,sizeof(model),"Modelid: %i",GetVehicleModel(GetPlayerVehicleID(playerid)));
    SendClientMessage(playerid,ORANGE,"***Carinfo***");
    SendClientMessage(playerid,ORANGE,kennzeichen);
    SendClientMessage(playerid,ORANGE,model);
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist in keinem Vehicle!");
    }
    return 1;
    }

    11 Mal editiert, zuletzt von Nicorotom ()