Adminname ändern geht nicht

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
  • Hey,
    ich habe folgendes Problem ich würde gerne die Adminrangnamen ingame ändern ich hab nur ein Problem sobald ich den Namen eingebe gibt er ganz komische Werte wieder.
    aber keinen string so wie ich das haben will.
    hier mal der code:


    enum AdminRan{ Adminlevel_1[20],}new Adminrang[AdminRan];


    if(listitem==9)//Adminlevel_1 { adminrangin= 10; new altername, string[200]; altername = Adminrang[Adminlevel_1]; format(string,sizeof (string),"Bitte gib den gewünschten Name an.\nAktuell verwendeter Name:{6600CC} %s",altername); ShowPlayerDialog(playerid,Admineinstellungeninput_Dialog,DIALOG_STYLE_INPUT,"Adminname ändern",string,"Ändern","Abbrechen"); }



    if(adminrangin==10) { new altername = Adminrang[Adminlevel_1]; new input=strlen(inputtext); Adminrang[Adminlevel_1]=input; GetPlayerName(playerid,Name,sizeof Name); format(string,sizeof (string),"Du hast %s in: %s umgeändert.",altername,input); SendClientMessage(playerid,Gelb,string); adminrangin=0; ShowPlayerDialog(playerid,Admineinstellungen_Dialog,DIALOG_STYLE_LIST,"Adminränge ändern",Adminrangedialog,"Auswählen","Abbrechen"); }

    :D I wish you a nice day! :D

  • Hier bitte:


    if(listitem==9)//Adminlevel_1
    {
    adminrangin= 10;
    new string[128];
    format(string,sizeof (string),"Bitte gib den gewünschten Name an.\nAktuell verwendeter Name:{6600CC} %s",Adminrang[Adminlevel_1]);
    ShowPlayerDialog(playerid,Admineinstellungeninput_Dialog,DIALOG_STYLE_INPUT,"Adminname ändern",string,"Ändern","Abbrechen");
    }


    if(adminrangin==10)
    {
    new string[128];
    format(string,sizeof (string),"Du hast %s in: %s umgeändert.",Adminrang[Adminlevel_1],inputtext);
    format(Adminrang[Adminlevel_1],20,inputtext); SendClientMessage(playerid,Gelb,string); adminrangin=0;
    ShowPlayerDialog(playerid,Admineinstellungen_Dialog,DIALOG_STYLE_LIST,"Adminränge ändern",Adminrangedialog,"Auswählen","Abbrechen");
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • ok danke es geht habe aber leider noch ein Problem weiß du hier vielleicht auch die Lösung? weil ich bekomme einen falschen wert zurück,
    weil das Nummerschild schon existiert


    for(new i;i<MAX_Fahrzeuge;i++) { new alleschilder = strlen(FahrzeugInfo[i][Nummernschild]); new neuesschild = strlen(Schild); if(alleschilder ==neuesschild) { Schildvorhanden="Ja"; } else { Schildvorhanden="Nein"; } } if(!strcmp(Schildvorhanden, "Ja", true)) { SendClientMessage(playerid,Rot,"Das Nummernschild ist schon vorhanden bitte wählen Sie eine andere Nummer."); }



    //Edit: Und wie kann ich den Pawno text richtig anzeigen lassen

    :D I wish you a nice day! :D

  • Woha Junge, ich glaube du verwirrst dich total mit den Datentypen Zahl, Gleitkommazahl und Text xD Bitte zeig mir die Definition (new) von "FahrzeugInfo" mit enum Struktur und bitte zeig mir den gesamten Code von deinem Problembereich. Sonst kann ich dir schwer helfen und raten ist nicht mein Ding ^^

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • dcmd_fahrzeugerstellen(playerid,params[]){ new Schild[10],query[128],string[128],model,farbe1,farbe2,Name[MAX_PLAYER_NAME],Float:X,Float:Y,Float:Z,Float:F; if(IsPlayerAnAdmin(playerid,Adminrang[Adminlevel_FahrzeugErstellen])) { if(SpielerInfo[playerid][Admineingeloggt]==1) { if(sscanf(params,"iiis",model,farbe1,farbe2Schild)) return SendClientMessage(playerid,Weiß,"Verwendung: /fahrzeugerstellen [Model] [Farbe1] [Farbe2] [Nummernschild]"); new ID=FreieFahrzeugIDrausfinden(); if(IsPlayerInAnyVehicle(playerid)) { new VID= GetPlayerVehicleID(playerid); GetVehiclePos(VID,X,Y,Z); GetVehicleZAngle(VID,F); } else { GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,F); } GetPlayerName(playerid,Name,sizeof Name); format(string,sizeof (string),"Admin %s hat Fahrzeugmodel: %i erstellt",Name,model); Admintextspeichern(string); new Schildvorhanden[6]; for(new i;i<MAX_Fahrzeuge;i++) { new alleschilder = strlen(FahrzeugInfo[i][Nummernschild]); new neuesschild = strlen(Schild); if(alleschilder ==neuesschild) { Schildvorhanden="Ja"; } else { Schildvorhanden="Nein"; } } if(!strcmp(Schildvorhanden, "Ja", true)) { SendClientMessage(playerid,Rot,"Das Nummernschild ist schon vorhanden bitte wählen Sie eine andere Nummer."); } else { format(query,sizeof(query),"INSERT INTO fahrzeug (FahrzeugID) VALUES ('%i')",ID); mysql_query(query); mysql_free_result(); FahrzeugInfo[ID][Fahrzeugmodel]=model; FahrzeugInfo[ID][x]=X; FahrzeugInfo[ID][y]=Y; FahrzeugInfo[ID][z]=Z; FahrzeugInfo[ID][facing]=F; FahrzeugInfo[ID][Farbe1]=farbe1; FahrzeugInfo[ID][Farbe2]=farbe2; FahrzeugInfo[ID][Nummernschild]=Schild; FahrzeugInfo[ID][Fahrzeugerstellen]=SetVehicleNumberPlate(CreateVehicle(FahrzeugInfo[ID][Fahrzeugmodel],FahrzeugInfo[ID][x],FahrzeugInfo[ID][y],FahrzeugInfo[ID][z],FahrzeugInfo[ID][facing],FahrzeugInfo[ID][Farbe1],FahrzeugInfo[ID][Farbe2],0),FahrzeugInfo[ID][Nummernschild]); SendClientMessage(playerid,Hellgrün,"Fahrzeug wurde erfolgreich erstellt."); new admintext[100],SName[20]; GetPlayerName(playerid,SName,sizeof SName); format(admintext,sizeof (admintext),"Admin %s hat Auto %i erstellt",SName,ID); Admintextspeichern(admintext); } return 1; } else { SendClientMessage(playerid,Rot,NichtAdminEingeloggt); } } else { SendClientMessage(playerid,Rot,KeinAdmin); } return 1;}



    enum FahrzeugInf{ Fahrzeugerstellen, FahrzeugID, Fahrzeugmodel, Farbe1, Farbe2, Float:x, Float:y, Float:z, Float:facing,
    Nummernschild[10],}new FahrzeugInfo[MAX_Fahrzeuge][FahrzeugInf];



    Hier bitte !!

    :D I wish you a nice day! :D

  • Sollte passen ^^ Hoffe ich mal, weil dein Codeinzug bissl blöd ist.


    enum FahrzeugInf
    {
    Fahrzeugerstellen,
    FahrzeugID,
    Fahrzeugmodel,
    Farbe1,
    Farbe2,
    Float:x,
    Float:y,
    Float:z,
    Float:facing,
    Nummernschild[10],
    }
    new FahrzeugInfo[MAX_Fahrzeuge][FahrzeugInf];


    dcmd_fahrzeugerstellen(playerid,params[])
    {
    new Schild[10],string[128],model,farbe1,farbe2,Name[MAX_PLAYER_NAME],Float:X,Float:Y,Float:Z,Float:F;
    if(IsPlayerAnAdmin(playerid,Adminrang[Adminlevel_FahrzeugErstellen]))
    {
    if(SpielerInfo[playerid][Admineingeloggt]==1)
    {
    if(sscanf(params,"iiis",model,farbe1,farbe2,Schild)) return SendClientMessage(playerid,Weiß,"Verwendung: /fahrzeugerstellen [Model] [Farbe1] [Farbe2] [Nummernschild]");
    new ID=FreieFahrzeugIDrausfinden();
    if(IsPlayerInAnyVehicle(playerid))
    {
    new VID= GetPlayerVehicleID(playerid);
    GetVehiclePos(VID,X,Y,Z);
    GetVehicleZAngle(VID,F);
    }
    else
    {
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,F);
    }
    GetPlayerName(playerid,Name,sizeof Name);
    format(string,sizeof (string),"Admin %s hat Fahrzeugmodel: %i erstellt",Name,model);
    Admintextspeichern(string);
    for(new i;i<MAX_Fahrzeuge;i++)
    {
    if(strcmp(FahrzeugInfo[i][Nummernschild],Schild,false)!=0) continue;
    return SendClientMessage(playerid,Rot,"Das Nummernschild ist schon vorhanden bitte wählen Sie eine andere Nummer.");
    }
    format(string,sizeof(string),"INSERT INTO fahrzeug (FahrzeugID) VALUES ('%i')",ID);
    mysql_query(string);
    mysql_free_result();
    FahrzeugInfo[ID][Fahrzeugmodel]=model;
    FahrzeugInfo[ID][x]=X;
    FahrzeugInfo[ID][y]=Y;
    FahrzeugInfo[ID][z]=Z;
    FahrzeugInfo[ID][facing]=F;
    FahrzeugInfo[ID][Farbe1]=farbe1;
    FahrzeugInfo[ID][Farbe2]=farbe2;
    format(FahrzeugInfo[ID][Nummernschild],10,Schild);
    FahrzeugInfo[ID][Fahrzeugerstellen]=CreateVehicle(FahrzeugInfo[ID][Fahrzeugmodel],FahrzeugInfo[ID][x],FahrzeugInfo[ID][y],FahrzeugInfo[ID][z],FahrzeugInfo[ID][facing],FahrzeugInfo[ID][Farbe1],FahrzeugInfo[ID][Farbe2],0);
    SetVehicleNumberPlate(FahrzeugInfo[ID][Fahrzeugerstellen],FahrzeugInfo[ID][Nummernschild]);
    SendClientMessage(playerid,Hellgrün,"Fahrzeug wurde erfolgreich erstellt.");
    GetPlayerName(playerid,Name,sizeof Name);
    format(string,sizeof (string),"Admin %s hat Auto %i erstellt",SName,ID);
    Admintextspeichern(string);
    return 1;
    }
    else SendClientMessage(playerid,Rot,NichtAdminEingeloggt);
    }
    else SendClientMessage(playerid,Rot,KeinAdmin);
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ok schonmal danke für deine Mühe aber wenn ich ein Auto erstellen will dann sagt er mir immer das das Nummernschild schon vorhanden ist obwohl ich noch gar kein Auto auf dem Server hab


    Wie kann ich das besser mit dem Code machen?

    :D I wish you a nice day! :D

    Einmal editiert, zuletzt von Jack_Sparrow ()

  • füge mal oberhalb der Meldung "Das Nummernschild ist vorhanden" folgendes ein und gebe mir dann den Serverlog auszug.


    printf("Überprüfe Nummernschild: %s %s",FahrzeugInfo[i][Nummernschild],Schild);

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Aha, er speichert anscheinend das eingegebene Schild per Befehl nicht in den String Schild ein. Ist vl davor ein sscanf Warnung? Bzw nütze mal den neusten SSCANF, damit keine Probleme auftreten.


    http://forum.sa-mp.com/showthread.php?t=120356

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • hat das ihrgendwelche auswirkungen auf die schon geskripteten befehle?


    //edit: Ok habs gemacht aber es ändert sich nichts es gibt ja noch kein auto womit er vergleichen kann also warum zeigt er an das es das nummernschild schon gibt?

    :D I wish you a nice day! :D

    Einmal editiert, zuletzt von Jack_Sparrow ()

  • es gibt kein AUTO? xD Ja das is wieder ganz andere Sache ^^


    if(FahrzeugInfo[i][FahrzeugID]<1||strcmp(FahrzeugInfo[i][Nummernschild],Schild,false)!=0) continue;

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • ok habes eingebaut ich kann eins erstellen, aber ich kann so viele ich will mit dem gleichen kennzeichen erstellen :D


    //edit: hier das stand in der log = sscanf warning: Strings without a length are deprecated, please add a destination size.

    :D I wish you a nice day! :D

  • Also ich kann am obigen Code keinen Fehler mehr entdecken.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!