Datei auslegen und ausgeben

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


    mein Vorhaben ist simpel, jedoch klappt es mir trotz allem nicht :D


    public GetData(playerid, slotname[])
    {
    new slotid;
    for(new s; s<arraynr; s++)
    {
    if(!strfind(dataarray[s], slotname, true))
    {
    slotid = s;
    }
    }
    format(userfile,sizeof(userfile), "%s/%s.%s", PATH, PlayerName(playerid), TYPE);
    new File:Get = fopen(userfile, io_read), nr=0, Line[128], output[25];
    while(fread(Get, Line))
    {
    if(nr IS slotid)
    {
    Line[strlen(Line) - 1] = 0;
    format(output,sizeof(output), "%s", Line);
    }
    nr++;
    }
    fclose(Get);
    return output;
    }


    Soweit stimmt alles, jedoch erhalte ich immer diese Meldung:


    error 090: public functions may not return arrays (symbol "GetData")


    Wie verklicker ich jetz Pawn dass er das durchgehen lassen soll?


    MfG, Projumper


    PS: Wusste nicht wo rein damit, und ich dachte hier sei es am besten aufgehoben ;)

    GermanCityOfDreams
    Programmierstatus bis zur Alpha: 50%
    http://www.gaintex.de
    Bei Problemen helfe ich auch gern über ICQ, meine Nummer ist in meinem Profil zu finden ;)

  • forward GetData(playerid, slotname[]);


    Steht alles drin, Variablen stimmen!


    Er will nur nicht returnen mit dem string, weil er meint dass es eventuell keiner ist :(


    Gruß, Deagle

    GermanCityOfDreams
    Programmierstatus bis zur Alpha: 50%
    http://www.gaintex.de
    Bei Problemen helfe ich auch gern über ICQ, meine Nummer ist in meinem Profil zu finden ;)

  • Doch, das Script meint es eben schon, das ist ja der Knackpunkt. Public Functions KÖNNEN ohne Tag nur Integer returnen, aber um Arrays bzw. Strings zu returnen hilft auch kein Tag, du musst einfach das public weglassen.

  • Dank dir, habe es jetzt mit Stock gemacht, und er zeigt mir nichts mehr an, Danke ;)


    //EDIT:


    Schade, ich hatte gehofft es ginge ...


    Jetzt scheterts am explode :(


    new exp = GetData(playerid, "Myspawn"), array[5][10];
    explode(exp, array, ',');
    SetPlayerPos(playerid, exp[0], exp[1], exp[2]);
    SetPlayerFacingAngle(playerid, exp[3]);


    stock explode(string[], dest[][], token = ' ', max = sizeof (dest), ml = sizeof (dest[])) // from YSI (Y_less)


    KAnn mir bitte jemand nochmal helfen? Tut mir leid, ich bin ein hoffnunfsloser fall ^^


    Danke und Gruß, Deagle

    GermanCityOfDreams
    Programmierstatus bis zur Alpha: 50%
    http://www.gaintex.de
    Bei Problemen helfe ich auch gern über ICQ, meine Nummer ist in meinem Profil zu finden ;)

    Einmal editiert, zuletzt von Deagle ()

  • new exp[128];
    format(exp, sizeof exp, "%s", GetData(playerid, "Myspawn"));


    Anstatt der bisherigen Zuweisung.

  • Woah Gott, wie kann ich nur so dumm sein X(


    Tausend Dank nochmal ...


    Ohne dich wär ich gleich ausgerastet ^^.


    MfG, Deagle

    GermanCityOfDreams
    Programmierstatus bis zur Alpha: 50%
    http://www.gaintex.de
    Bei Problemen helfe ich auch gern über ICQ, meine Nummer ist in meinem Profil zu finden ;)