Firmen Name ändern

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 Leute,


    ich habe ein Problem mit dem Befehl zum ändern von Firmen Namen.
    Wenn ich /firmenname Dedi eingebe funktionierts ja aber ich möchte gerne das ich auch
    den Namen "Dedi verkauft" machen kann also mit leerzeichen dazwischen
    wie geht das?
    hier der Befehl:

    if(strcmp(cmd, "/firmenname", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    for(new f = 0; f <= MAX_FIRMEN; f++)
    {
    if(PTP(playerid, 5.0,Firma[f][fExitX], Firma[f][fExitY], Firma[f][fExitZ]))
    {
    if(strcmp(Firma[f][fBesitzer],PlayerName(playerid), false ) != 0)
    {
    new dir[256];
    dir = strtok(cmdtext, idx);
    if (!strlen(dir))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /firmenname [Name]");
    return 1;
    }
    else
    {
    strmid(Firma[f][fName], dir, 0, strlen(dir), 255);
    format(str, sizeof(str), "Firmen Name wurde geändert: %s",Firma[f][fName]);
    OnFirmaUpdate(f);
    SendClientMessage(playerid, COLOR_WHITE, str);
    return 1;
    }
    }
    else return SendClientMessage(playerid, COLOR_WHITE, "Das ist nicht deine Firma du kannst den Namen nicht ändern.");
    }
    }
    }
    return 1;
    }


    mfg Dedi



    2 Mal editiert, zuletzt von Tomi93 ()

  • Ich frag mich eher wieso es funktioniert,denn
    if(strcmp(Firma[f][fBesitzer],PlayerName(playerid), false ) != 0)
    ist glaub ich nicht was du willst.Die Abfrage prüft ob der Besitzer nicht der Spielername ist.
    if(!strcmp(Firma[f][fBesitzer],PlayerName(playerid), false ))


    Anstatt dir kannst du auch cmdtext[12] nehmen, das müsste auch funktionieren ( Falls ich mich nicht verzählt habe ).
    Dennoch würde ich dir lieber dcmd + sscanf empfehlen, damit hättest du das Problem bestimmt schon längst gelöst ;).


    Kurze Erklärung zur 12.
    /firmenname hat 11 Zeichen + 1 Leerzeichen macht 12.Man nimmt den text der nach "/firmenname " folgt.
    if (!strlen(cmdtext[12]))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /firmenname [Name]");
    return 1;
    }
    else
    {
    strmid(Firma[f][fName], dir, 0, cmdtext[12], 128);
    format(str, sizeof(str), "Firmen Name wurde geändert: %s",Firma[f][fName]);
    OnFirmaUpdate(f);
    SendClientMessage(playerid, COLOR_WHITE, str);
    return 1;
    }

  • Goldkiller....
    .... du bist ein schatz xD
    es funktioniert^^
    und dcmd lieber nicht ich kann damit nicht umgehen habe es schon öfters probiert aber Resultat war halt naja egal^^
    so gehts halt auch
    danke für die hilfe :)