Hallo Leute,
eben ein kleines Problem. Ich speichere einen Inputtext via String und Dini in einer Ini-Datei in den Scriptfiles.
In einem Dialog möchte ich nun den gespeicherten String auslesen, folgendermaßen gehe ich dabei vor:
new Spielerdatei[64], Name[MAX_PLAYER_NAME], Text[256];
GetPlayerName(playerid, Name, sizeof Name);
format(Spielerdatei, sizeof Spielerdatei, "/Pfad/%s.ini", Spielername(playerid));
format(Text, sizeof Text, "Text und so weiter und so fort. %s", dini_Get(Spielerdatei, "Name"));
ShowPlayerDialog(playerid, DIALOG_TEST, DIALOG_STYLE_INPUT, "Test", Text, "Weiter", "Beenden");
So weit, so gut. Hier taucht kein Problem auf, der Name wird ausgelesen und Ingame wiedergegeben.
Mir ist diese Variante schlicht weg zu unübersichtlich und zu lang.
Diese sollte, meiner Meinung nach Abhilfe schaffen:
stock Acc_Get(playerid, Zeile[])
{
new Spielerdatei[64], Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof Name);
format(Spielerdatei, sizeof Spielerdatei, "/Pfad/%s.ini", Spielername(playerid));
dini_Get(Spielerdatei, Zeile);
return 1;
}
Wie wende ich das ganze nun an? Seht her:
new Text[256];
format(Text, sizeof Text, "Text und so weiter und so fort. %s", Acc_Get(playerid, "Name"));
ShowPlayerDialog(playerid, DIALOG_TEST, DIALOG_STYLE_INPUT, "Test", Text, "Weiter", "Beenden");
Pff, denkt sich das Script jetzt. Was wird ausgegeben? Der Spielername, der mit Spielername(playerid), abgefragt wird. Dazu kommt noch, dass Hex-Codes verschoben werden ...
Wo liegt aber nun der Fehler?
MfG
Eliot Ness