Inspiriert von Runcorn bzw durch diesen Thread: [HILFE] User name problem hab ich mich mal fix an eine klitzekleine Include gesetzt.
Hinweis: Es geht sicherlich besser, aber das war ein 5min-Projekt und es sollte nur funktionieren.
Was ist checkname.inc?
Das ist recht schnell erklärt:
Spieler A registriert sich mit dem Namen "Spieler".
Spieler B will sich mit dem Namen "spieler" registrieren, wird aber gekickt, da es schon "Spieler" gibt.
Funktionen
RegisterPlayerName(playerid, dininame) - Fügt zur Dini-Datei den Spielername in korrekter Groß- und Kleinschreibung hinzu
CheckPlayerName(playerid) - Prüft den Spielername und ruft nach Bedarf RegisterPlayer(playerid) und LogPlayerIn(playerid) auf.
Voraussetzungen
Die Funktionen RegisterPlayer(playerid, dininame[]) und LogPlayerIn(playerid, dininame[]) müssen vorhanden sein. Diese dürfen in der Include gern anders genannt werden.
Zudem muss die Datei für den Spieler so wie der Spieler heißen, nur alles klein geschrieben. So wird also aus "PlAyEr" "player.txt".
Und natürlich muss die dini.inc inkludiert sein.
Ein kleines How-To
In RegisterPlayer(playerid, dininame[]) muss die Funktion RegisterPlayerName(playerid, dininame[]) aufgerufen werden, um den Spielernamen einzutragen.
CheckPlayerName(playerid) wird am besten in OnPlayerConnect noch vor jeglichen Login-Funktionen aufgerufen.
Ein Mini-Beispiel:
#include <checkname>
public OnPlayerConnect(playerid)
{
CheckPlayerName(playerid);
return 1;
}
//...
stock RegisterPlayer(playerid, dininame[])
{
dini_Create(dininame); //RegisterPlayer wird nur aufgerufen, wenn die Datei nicht existiert.
//...
RegisterPlayerName(playerid, dininame);
return 1;
}
stock LogPlayerIn(playerid, dininame[])
{
ShowPlayerDialog(); //...
return 1;
}
Beim obigen Beispiel beinhaltet dininame[] den Namen der Spielerdatei.
Download
Zum Download gibt es die Include hier: http://download.riditt.de/checkname.inc und auf Pastebin findet man sie hier: http://pastebin.com/uTca8t3M
Ich würde sagen, dass das alles war. Bei Fragen stehe ich selbstverständlich zur Verfügung. Viel Spaß und tschüss.