Anfängerfehler - getplayername

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
  • hm ich woltle gerade mal was tolles machen, nämlich wenn man kill eingibt, dass man nicht nur stirbit, sondern auch inm Chat steht, wer gestorben ist!


    hier mal der code


    EDIT: benutze SAMP 0.3 RC6_2 als server, und als client RC6_1


    if (strcmp("/kill", cmdtext, true, 10) == 0)
    {
    new str[256]; new sname[256];
    GetPlayerName(playerid, sname, 256);
    format(str, 256, "%s %s", sname, cmdtext[4]);
    SendClientMessageToAll(0xF67A00FF, "%s hat sich selbst getötet!");
    SetPlayerHealth(playerid, 0);
    return 1;
    }


    Compile verläuft ohne Errors und ohne Warnings.


    Problem bis jetzt war, dass dabei immer der Server crasht.
    ich probiers grad mit dem Code.


    Anschiened mahct das %s probleme, hab ich da vlt was falsch definiert?

  • if(!strcmp(cmdtext,"/kill"))
    {
    new _str[64], _name[16];
    GetPlayerName(playerid, _name, sizeof(_name));
    format(_str, sizeof(_str), "%s hat sich selbst getoetet.", _name);
    SendClientMessageToAll(0xFF00FFFF, _str);
    SetPlayerHealth(playerid, 0.0);
    return 1;
    }



    Have fun.


    // btw: Gewöhn dir diese übertriebenen String-Sizes ab.

  • hm hatte die stringsize aus nem tutorial übernommen, hab mir auch schon gedacht, warum so rießig ;)


    thx, konnte ohne Probleme compilieren.


    Noch ein paar fragen dazu,
    für was sind die _ bei name, und str?
    Einfach für die Übersicht?
    Dann für was ist sizeof(_str) oder sizeof(_name) gedacht, wird da die Maximallänge bestimmt(was man davor angegeben hat)?

  • Ich hab die Unterstriche einfach gemacht damit es nicht mit anderen (möglicherweise) vorher erstellten gleichnamigen globalen Variablen in Konflikt kommt.


    Die "sizeof(_str)" und "sizeof(_name)" Angaben geben die MAXIMALE Länge der ausgegeben Strings an. Man könnte auch einfach 64 bzw. 16 hinschreiben.
    Gibts auch hier nach zu lesen:
    Format - SA:MP Wiki