Spielername im Dialog anzeigen?

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
  • ist sowas möglich?


    Also sowas in der Art wie:



    new sname = GetPlayerName(playerid);
    ShowPlayerDialog(playerid,BOX,0,"Beispiel",sname,"OK","Abbrechen");


    Wäre dankbar für Hilfe :D

  • new sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sname,sizeof sname);

  • new sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sname,sizeof sname);

    Muss man dort nicht erst nen String schreiben?
    new string [20];
    new sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sname,sizeof sname);
    format(string, sizeof(string), "%s", sname);
    ShowPlayerDialog(playerid,BOX,0,"Beispiel",string,"OK","Abbrechen");
    Ungetestet Und ich weis nicht obs so funktioniert



    MfG Firer

  • Wenn so funktioniert sollte, dann müsste
    GetPlayerName(playerid,sname,sizeof sname);
    aber zu
    GetPlayerName(playerid,sname,sizeof(sname);
    Oder?


    in dem Fall hättest du aber eine ) vergessen oder?^^


    also


    GetPlayerName(playerid,sname,sizeof(sname));


    oder sehe ich das falsch?^^


    Ich werd alle vorschläge mal testen und mich dann melden :)


    thx

  • Wie Firerfran schon sagt, so wirds klappen.
    So kannste aus dem GF auch Geld und Level anzeigen lassen z.b


    new string [20];
    new sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sname,sizeof sname);
    format(string, sizeof(string), "SpielerName [%s] \n SpielerLevel [%d]", sname,pLevel);
    ShowPlayerDialog(playerid,BOX,0,"Beispiel",string,"OK","Abbrechen");

  • öhm hab kein GF^^


    Selfmade ftw^^


    also hab ma


    GetPlayerName(playerid,sname,sizeof sname);


    und


    GetPlayerName(playerid,sname,sizeof (sname));


    getestet... klappt beides aber kommt dazu noch Unknown Command^^


    werde das von firerfan ma testen ;)


    danke leute

  • funzt einwandfrei...


    Danke euch allen für die schnelle Hilfe :D


    €dit// Das mit dem Unknown Command was ich oben geschrieben hab, könnt ihr vergessen ;)
    lag daran, dass ich kein return drin hatte :rolleyes::whistling:^^


    also die varianten von goldfish und grex funktionieren auch :) dabei spielt es keine Rolle ob es in () steht oder nicht :thumbup:


    und danke an neophoenix, sehr nützlich :thumbup:




    NOCHMAL EDIT://


    Also ich hab noch ein Problem und zwar sieht meine Funktion so aus


    new string [256];
    new sname = dini_Int(accFormat,"Name");
    new gebd = dini_Float(accFormat,"Geburtsdatum");
    format(string, sizeof(string), "Name: %s \nGeburtsdatum: %d", sname,gebd);
    ShowPlayerDialog(playerid,BLA,0,"BLA",string,"OK","Abbrechen");


    aber er zeigt es nicht an.... kann mir da jemand helfen?

    2 Mal editiert, zuletzt von Virus ()

  • public OnPlayercommand(..)
    {
    return 1; // auf 1 setzen
    }

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • ne also der Dialog wird angezeigt... nur dann steht da sowas wie


    Name:
    Geburtsdatum: *



    das * steht für komisches Zeichen was ich net nachmachen kann Oo

  • nicht?
    hmm was dann?^^


    aber weiter hilft mir das auch nicht, da der name auch nicht angezeigt wird


    EDIT:// Weiß keiner Rat?



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if (strcmp("/bla", cmdtext, true) == 0)
    {
    new string [256];
    new sname = dini_Int(accFormat,"Name");
    new gebd = dini_Int(accFormat,"Geburtsdatum");
    if(Spieler[playerid][geschlecht] == 1)
    format(string, sizeof(string), "Name: %s \nGeburtsdatum: %s", sname,gebd);
    ShowPlayerDialog(playerid,BLA,0,"Bla",string,"OK","Abbrechen");
    return 1;
    }
    return 0;
    }


    So das ist mein kompletter Command... kann mir jemand helfen? was ist daran falsch?


    Bitte bitte kann mir jemand helfen?
    is wirklich dringend :(

    2 Mal editiert, zuletzt von Virus ()

  • OMG dreimal selber beitrag in Themen wo das net reingehört... DU GEHÖRST GEBANNT UND DEIN RECHNER VERNICHTET -.-


    in dem Error steht genau was du machen sollst, wenn du das net verstehst dann biste entweder zu dumm oder 10 jahre alt und darfst das game eh net spielen -.-

  • Du liest den String des Namens mit dini_Int aus.
    dini_Int liest einen String aus der Datei und gibt den als Int wieder.


    Du brauchst
    1. einen String, in dem du den Namen speichern kannst: new sname[24];
    2. eine andere Funktion und zwar: dini_Get(accFormat,"Name");


    /edit: UND!!
    das Geburtsdatum ist auch ein String und kein Float :)

    Einmal editiert, zuletzt von niHiLiSm ()

  • hmm wenn ichs so mache dann bekomm ich n error.


    new sname[24];
    sname = dini_Get(accFormat,"Name");//<--- error in dieser Zeile


    error:
    error 047: array sizes do not match, or destination array is too small


    Tut mir leid aber ich hänge schon 2 Wochen an dem Problem... komme einfach net weiter mitm GM.


    Muss ich das denn so machen wie oben?
    oder doch anders?
    Bitte HILFE! :S

    Einmal editiert, zuletzt von Virus ()

  • nochmal etwas zu sizeof,
    sizeof var
    //und
    sizeof(var)ist das gleiche, weil sizeof ein keyword und keine funktion ist...
    genauso wiereturn 1
    //und
    return(1)