Hallo
3 Anregungen:
1.) Stringlänge
hOwner[255],
hPreis[255],
Owner symbolisiert ja den Spielernamen, dieser hat die Länge von MAX_PLAYER_NAME, sprich 24. Das betrifft dann auch so etwas:
GetPlayerName(playerid, name, 255);
Und warum speicherst Du hPreis als String und nicht Integer ? Solltest Du Cents verwenden,was ich bei solchen Summen nicht denke, speichere den Wert lieber multipliziert mit 100, Stichwort Eurocent
2.) Ausgabelänge
Wie oben, aber diesmal geht es darum, dass SendClientMessage maximal 128 Zeichen ausgeben kann, sprich eine grössere Stringlänge reine Verschwendung ist:
format(string, sizeof(string), "Bitte benutze /chouse [Geld] [HausID].");
if ( sscanf(params, "ii", preis, interior) ) { SendClientMessage(playerid, error, string);
Was, sofern es nicht formatiert wird, auch grad so geschrieben werden kann:
if ( sscanf(params, "ii", preis, interior) ) SendClientMessage(playerid, error, "Bitte benutze /chouse [Geld] [HausID].");
else
{
...
}
3.) Funktionen
Du musst nicht jede Funktion forward'en, es sei denn sie wird von einem Timer aufgerufen oder es wird explizit verlangt. Das kann dann so aussehen:
Foobar911(int problem)
{
problem = 42 * 42;
return problem;
}
Gruss