array is to small bekomme Fehler nicht weg

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, ich scripte zur Zeit an einem Reportsystem und habe schon einen Error, doch ich glaube ich habe alles richtig gemacht, doch trotzdem
    stimmt hier irgendwas nicht, ich weiß nicht weiter, vielleicht könnt ihr helfen.


    C:\Users\Steffen\Desktop\[GER]Sunshine Reallife\gamemodes\SuN.pwn(45144) : error 047: array sizes do not match, or destination array is too small


    Der array kann nicht zu klein sein, er ist auf 1024.
    Hier ist die Errorzeile



    Ticket[playerid][TicketText] = string;


    Hier die formatierung des strings


    format(string,sizeof(string),"%s",inputtext);


    Hier ist der ganze Befehl, brauche hilfe, was mache ich falsch.


    if(dialogid==DIALOG_REPORT)
    {
    new string[1024];
    if(!response)return ErrorMsg(playerid,"Entweder hast du nichts in das Fenster eingetragen, oder du hast auf Abbruch geklickt. Versuche es erneut.");
    Ticket[playerid][TicketOwner]=SpielerName(playerid);
    if(strlen(inputtext)<10)return ErrorMsg(playerid,"Wir möchten Ihnen gerne helfen, geben sie bitte etwas längeres ein, damit wir es dir gegenüber leichter haben.");
    format(string,sizeof(string),"%s",inputtext);
    SendClientMessage(playerid,COLOR_WHITE,"");
    SendClientMessage(playerid,COLOR_YELLOW,"Deine Supportanfrage wurde an das SuN Supporterteam weitergeleitet, der nächste freie Supporter wird sich dir annhemen.");
    SendClientMessage(playerid,COLOR_YELLOW,"Habe noch ein bisschen gedult, denn wir wollen allen Spielern möglichst guten Support bieten.");
    SendClientMessage(playerid,COLOR_YELLOW,"Falls du etwas anderes Fragen möchtest, nutze /cancelreport um ihn abzubrechen.");
    SendClientMessage(playerid,COLOR_WHITE,"");
    Ticket[playerid][TicketText] = string;
    Ticket[playerid][TicketArt]=1;
    Ticket[playerid][TicketStatus]=1;
    ForEachPlayer(i)
    {
    if(PlayerInfo[i][pAdminlevel]>1)
    {
    SendClientMessage(i,COLOR_YELLOW,"|- Ein neuer Report ist nun verfügbar -|");
    format(string,sizeof(string),"Reportanfrage: Ersteller: %s | SpielerID: %i | Frage: %s",SpielerName(playerid),playerid,inputtext);
    SendClientMessage(i,COLOR_YELLOW,string);
    SendClientMessage(i,COLOR_YELLOW,"/annehmen zum annehmen oder /entfernen zum entfernen oder /reports um alle Reports zu sehen.");
    }
    }
    }

  • Wie meinst du das jetzt ?
    Ich habe es so gescriptet.


    enum TicketStats
    {
    TicketOwner[MAX_PLAYER_NAME],
    TicketText[256],
    TicketArt,
    TicketStatus,
    TicketBearbeiter[MAX_PLAYERS]
    };


    ocmd:report(playerid)
    {
    if(Ticket[playerid][TicketStatus]!=0)return ErrorMsg(playerid,"Du hast bereits ein Report geschrieben, wenn du ihn abbrechen möchtest geb /cancelreport ein");
    ShowPlayerDialog(playerid,DIALOG_REPORT,DIALOG_STYLE_INPUT,"Sunshine Revival Reportsystem","Bitte gebe hier in das Feld deine Frage ein:","Senden","Abbruch");
    return 1;
    }


    So, ist da denn irgendetwas gegen auszusetzen ?