Hey,
Wie mache ich das wenn man keinen Account hat bzw nicht registriert ist eine Meldung kommt wenn man auf "Spawn" drückt z.B. Du musst dich erster registrieren und man nicht Spawnen kann.
Wenn man schon einen Account hat geht dies dann kommt eine Meldung wenn man "Spawn" drückt.
Aber wenn man keinen Account hat kann man Spawn drücken -.-
Hier der FS:
// Register / Login Filterscript //
#include <a_samp>
#include <dudb>
#include <dutils>
#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));
}
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"));
PLAYERLIST_authed[playerid]=true;
return SystemMsg(playerid,"Du hast dich erfolgreich eingeloggt.");
}
return SystemMsg(playerid,"Falsches Passwort oder Nickname!");
}