Parameter gibt nen falschen text zurück

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
  • Hallo liebe user
    ich habe mal ein command mit nem parameter gemacht blos er zeigt nicht an was ich im parameter geschrieben habe sonder den befehl



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[128];
    new idx;
    new SpielerName[MAX_PLAYER_NAME];
    new SpielerDatei[64];
    new PText[128];
    if(strcmp(cmd, "/registrieren", true) == 0)
    {
    if(Eingeloggt[playerid] == 1)
    {
    SendClientMessage(playerid,Grün,"Du bist doch schon Eingeloggt =)");
    return 1;
    }
    GetPlayerName(playerid,SpielerName,sizeof (SpielerName));
    format(SpielerDatei,sizeof (SpielerDatei),"Accounts/%s",SpielerName);
    if(dini_Exists(SpielerDatei))
    {
    SendClientMessage(playerid,Rot,"Dieser Benutzername ist leider schon vergeben bitte wähle mit /nametauschen einen neuen");
    NamenTauschErlauben[playerid] = 1;
    return 1;
    }
    PText = strtok(cmdtext, idx);
    if (!strlen(PText))
    {
    SendClientMessage(playerid,Rot,"Verwendung : /registrieren [Passwort]");
    return 1;
    }
    new Text[128];
    Text = PText;
    new GlueckwunschText[128];
    format(GlueckwunschText,sizeof (GlueckwunschText),"Vielen Dank für deine Registrierung dein Passwort lautet %s",Text);
    SendClientMessage(playerid,HellGrün,GlueckwunschText);
    return 1;
    }
    return 0;
    }

  • Ich glaube du hast "cmd = strtok(cmdtext, idx);" vergessen. Das gehört unter "new PText[128];".


    Außerdem, wieso ein neuer String "Text", wenn er doch dasselbe ist, wie PText. Also eine überflüssige Variable.


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • jo du hast das vergessen irgendwie sieht der code genauso aus wie meiner nur das da was fehlt hier ist dein berichtigter code



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[128];
    new idx;
    new SpielerName[MAX_PLAYER_NAME];
    new SpielerDatei[64];
    new PText[128];
    cmd = strtok(cmdtext, idx);
    if(strcmp(cmd, "/registrieren", true) == 0)
    {
    if(Eingeloggt[playerid] == 1)
    {
    SendClientMessage(playerid,Grün,"Du bist doch schon Eingeloggt =)");
    return 1;
    }
    GetPlayerName(playerid,SpielerName,sizeof (SpielerName));
    format(SpielerDatei,sizeof (SpielerDatei),"Accounts/%s",SpielerName);
    if(dini_Exists(SpielerDatei))
    {
    SendClientMessage(playerid,Rot,"Dieser Benutzername ist leider schon vergeben bitte wähle mit /nametauschen einen neuen");
    NamenTauschErlauben[playerid] = 1;
    return 1;
    }
    PText = strtok(cmdtext, idx);
    if (!strlen(PText))
    {
    SendClientMessage(playerid,Rot,"Verwendung : /registrieren [Passwort]");
    return 1;
    }
    new GlueckwunschText[128];
    format(GlueckwunschText,sizeof (GlueckwunschText),"Vielen Dank für deine Registrierung dein Passwort lautet %s",PText);
    SendClientMessage(playerid,HellGrün,GlueckwunschText);
    return 1;
    }
    return 0;
    }


    RFT