Wie groß muss ein Array sein um ein InputText weiterzugeben?

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
  • Guten Abend,
    ich sitze hier vor einem kleinen Problem,
    bzw. eigentlich ist mein Problem groß,
    scheinbar zu groß für einen 512er Array...
    ...ich möchte einen InputText weitergeben,
    doch bekomme immer die Error das der
    Array-Size angeblich nicht passen würde.


    Da ich gerade ein neues SelfMade mache,
    um GodFather endlich den Rest zu geben und
    es abzuschießen, bitte ich dringlichst um Hilfe.


    Liebe Grüße Thomas

  • @ Martez: habe ich schon (8192) nur ums zu Testen ob er dann immernoch zu klein ist, ja war er...


    mal ein wenig code:

    enum SInfo
    {
    Text1[512],
    Grund[512]
    }
    new SpielerInfo[MAX_PLAYERS][SInfo];
    dann der Inhaltvom Callback OnDialogresponse

    SpielerInfo[playerid][Grund] = listitem;
    SpielerInfo[playerid][Text1] = inputtext;

    the last but not the least, die stelle wos ausgelesen wird,
    und gecleart wird

    if(SpielerInfo[playerid][Grund] == 1) return dini_Set(str,"Grund","Cheater");
    if(SpielerInfo[playerid][Grund] == 2) return dini_Set(str,"Grund","Verstoß");
    if(SpielerInfo[playerid][Grund] == 3) return dini_Set(str,"Grund","Bug");
    dini_Set(str,"Text1",SpielerInfo[playerid][Text1]);
    SpielerInfo[playerid][Grund] = 0;


  • SpielerInfo[playerid][Text1] = inputtext;
    //Mach das zu:
    strmid(SpielerInfo[playerid][Text1] ,inputtext,0,strlen(inputtext),sizeof(SpielerInfo[playerid][Text1]));
    // strmid ist folgendermaßen aufgebaut:
    //strmid(Zielstring, Quellstring, Anfang, Ende, Maximales Ende);


    /edit:
    SpielerInfo[playerid][Grund] = listitem;

    Was soll das denn darstellen? Du versuchst, ein Integer (listitem) in einen String oder Array zu packen, ohne diesen zu indexieren...
    -> Das muss so aussehen:
    enum SInfo
    { Text1[512],
    Grund // KEIN Array, wenn man es so wie du nutzt
    new SpielerInfo[MAX_PLAYERS][SInfo];

  • Inputtext ist 128 Zeichen lang (in etwa, soweit ich weiß).
    Um einen String eine Variable zu bekommen immer format(string,sizeof string,"%s",inputtext) //In diesem Fall dein Beispiel nehmen, das geht am schnellsten und einfachsten, oder du nimmst die Methode mit strmid.

  • Ja, 1. ist das viel zu groß! Da verbrauchst du viel zu viel Resourccen. [128] reicht.
    Und sonst, endweder mit der Methode von RealGamer (strmid) oder die Methode von BloodyEric (format).

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|