Guten Tag,
Ich möchte bei meinem Cops and Robbers Server ein Register Login System reinmachen dazu habe ich mir ein Filterscript gedownloaded was auch gut Funktioniert aber könnte mir wer vll noch paar Sachen hinzufügen?
Hinzugefügt werden soll:
- /stats wo man sieht wieviel Geld man hat wieviele Wanteds wie oft man gestorben ist, wie oft man jemanden umgebracht hat....
- Es sollen die Kills und Tode gespeichert werden das es mit /stats funktioniert.
Falls Möglich:
- Wie oft man schon jemanden verhaftet hat mit /ar
- Wieviele Casinos man schon ausgeraubt hat.
Hier das FS:
// Register / Login Filterscript //
#include
#include
#include
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
//Colors//
#define COLOR_SYSTEM 0xEFEFF7AA
#define green 0x33FF33AA
#define blue 0x00FFFFAA
new PLAYERLIST_authed[MAX_PLAYERS];
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print("Register / Login System");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print("\n----------------------------------");
print("Register / Login System");
print("----------------------------------\n");
}
#endif
public OnPlayerRequestSpawn(playerid)
{
if (udb_Exists(PlayerName(playerid))){
if (!PLAYERLIST_authed[playerid]){
SendClientMessage(playerid,green,"Dein Account ist bereits registriert, benutze /login [Passwort] um dich einzuloggen.");
return 0;
}
}
return 1;
}
public OnPlayerDisconnect(playerid) {
if (PLAYERLIST_authed[playerid]) {
// If someone has logged in, it saves money and score.
dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid));
dUserSetINT(PlayerName(playerid)).("score",GetPlayerScore(playerid));
dUserSetINT(PlayerName(playerid)).("Wanteds",GetPlayerWantedLevel(playerid));
}
PLAYERLIST_authed[playerid]=false;
return 1;
}
public OnPlayerConnect(playerid)
{
if (PLAYERLIST_authed[playerid]==0){
if (udb_Exists(PlayerName(playerid))){
SystemMsg(playerid,"Dein Account ist bereits registriert, benutze /login [Passwort] um dich einzuloggen.");
}
else{ SystemMsg(playerid,"Du hast noch keinen Account benutze /register [Passwort] um dich zu registrieren");
}
return 0;
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(login,5,cmdtext);
dcmd(register,8,cmdtext);
return 0;
}
stock SystemMsg(playerid,msg[]) {
if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) {
SendClientMessage(playerid,COLOR_SYSTEM,msg);
}
return 1;
}
stock PlayerName(playerid) {
new name[255];
GetPlayerName(playerid, name, 255);
return name;
}
dcmd_register(playerid,params[]) {
if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Du hast bereits einen Account.");
if (udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Du hast bereits einen Account erstellt, benutze /login [Passwort] um dich einzuloggen.");
if (strlen(params)==0) return SystemMsg(playerid,"Benutze: /register [password]");
if (udb_Create(PlayerName(playerid),params)) return SystemMsg(playerid,"Du hast deinen Account erfolgreich registriert benutze /login [Passwort].");
return true;
}
dcmd_login(playerid,params[]) {
if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Du bist bereits eingeloggt.");
if (!udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Du hast noch keinen Account, benutze /register [Passwort] um einen Account zu registrieren");
if (strlen(params)==0) return SystemMsg(playerid,"Benutze: /login [password]");
if (udb_CheckLogin(PlayerName(playerid),params)) {
SetPlayerScore(playerid,dUserINT(PlayerName(playerid)).("score"));
SetPlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money"));
SetPlayerWantedLevel(playerid,dUserINT(playerName(playerid)).("Wanteds"));
PLAYERLIST_authed[playerid]=true;
return SystemMsg(playerid,"Du hast dich erfolgreich eingeloggt.");
}
return SystemMsg(playerid,"Falsches Passwort oder Nickname!");
}</a_samp>