Hallo,
ich wollte mal fragen, ob mir jemand dazu:
if(strcmp(cmd, "/login", true)==0)
{
new tmp[MAX_STRING];
if(loggedin[playerid])
{ return SendClientMessage(playerid, COLOR_RED, "Du bist bereits eingeloggt."); }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{ return SendClientMessage(playerid, COLOR_WHITE, "Benutze: /login [Passwort]"); }
if(udb_CheckLogin(PlayerName(playerid), tmp))
{
beruf[playerid] = dUserINT(PlayerName(playerid)).("Job");
berufsebene[playerid] = dUserINT(PlayerName(playerid)).("Rang");
if(dUserINT(PlayerName(playerid)).("Nitroschein") == 1)
{ nitroschein[playerid] = true; }
else
{ nitroschein[playerid] = false; }
for(new i=0; i<4; i++)
{
format(tmpstring,sizeof(tmpstring), "fschein%d", i);
if(dUserINT(PlayerName(playerid)).(tmpstring) == 1)
{ fschein[playerid][i] = true; }
}
wschein[playerid] = dUserINT(PlayerName(playerid)).("Waffenschein");
totzeit[playerid] = dUserINT(PlayerName(playerid)).("totzeit");
klingelton[playerid] = dUserINT(PlayerName(playerid)).("klingelton");
format(string,sizeof(string),"Du hast dich erfolgreich eingeloggt. Viel Spaß!");
SendClientMessage(playerid, COLOR_GREEN, string);
printf("%s hat sich erfolgreich eingeloggt.", PlayerName(playerid));
format(string, sizeof(string), "%s betritt den Server!", PlayerName(playerid));
SendClientMessageToAll(COLOR_PINK, string);
loggedin[playerid] = true;
if(dUserINT(PlayerName(playerid)).("Auszahlung")==-1)
{
new pid = playerid;
new pname[256];
new leasingbetrag, bankkonto;
pname = PlayerName(playerid);
for(new s; s<200; s++)
{
new hatleasing;
new ratenzahlung;
new string1[256];
format(string, sizeof(string),"leasing%d",s);
ratenzahlung = strval(dUser(pname).(string)) - 1;
if(ratenzahlung > 0)
{
format(string, sizeof(string), "%d", ratenzahlung);
format(string1, sizeof(string1), "leasing%d", s);
dUserSet(pname).(string1,string);
format(string, sizeof(string), "leasingbetrag%d", s);
hatleasing = strval(dUser(pname).(string));
if(hatleasing > 0 && ratenzahlung > 0)
{ leasingbetrag += hatleasing; }
if(ratenzahlung == 1)
{
format(string1, sizeof(string1), "leasingbetrag%d", s);
format(string, sizeof(string), "%d", 0);
dUserSet(pname).(string1,string);
format(string, sizeof(string), "%d", 0);
format(string1, sizeof(string1), "leasing%d", s);
dUserSet(pname).(string1,string);
}
}
}
print("Bis hierhin gehts!");
GiveFirmaMoneyEx(dUserINT(pname).("Job"), -(dUserINT(pname).("grundgehalt")));
print("Auch bis hierher?");
SendClientMessage(pid, COLOR_LIGHTBLUE,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
format(tmpstring, sizeof(tmpstring), "Bankkonto: %d $", dUserINT(pname).("konto"));
SendClientMessage(pid, COLOR_YELLOW, tmpstring);
format(tmpstring, sizeof(tmpstring), "+ Grundgehalt: %d $", dUserINT(pname).("grundgehalt"));
SendClientMessage(pid, COLOR_GREEN, tmpstring);
format(tmpstring, sizeof(tmpstring), "+ Zuschuss vom Staat: %d $", dUserINT(pname).("unterstuetzung"));
SendClientMessage(pid, COLOR_GREEN, tmpstring);
format(tmpstring, sizeof(tmpstring), "+ Eigenverdienst: %d $", dUserINT(pname).("Auszahlungsmenge"));
SendClientMessage(pid, COLOR_GREEN, tmpstring);
format(tmpstring, sizeof(tmpstring), "- Ratenzahlungen: %d $", leasingbetrag);
SendClientMessage(pid, COLOR_RED, tmpstring);
print("und bis hier?");
bankkonto = strval(dUser(pname).("konto"));
bankkonto += dUserINT(pname).("grundgehalt") + dUserINT(pname).("unterstuetzung") + dUserINT(pname).("Auszahlungsmenge") - leasingbetrag;
print("un hier?");
format(string, sizeof(string),"%d", bankkonto);
dUserSet(pname).("konto", string);
format(tmpstring, sizeof(tmpstring), "= Neuer Kontostand: %d $", dUserINT(pname).("konto"));
SendClientMessage(pid, COLOR_YELLOW, tmpstring);
SendClientMessage(pid, COLOR_LIGHTBLUE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
dUserSetINT(PlayerName(playerid)).("Auszahlung",0);
}
GameTextForPlayer(playerid, "~g~Profil erfolgreich geladen", 5000, 5);
}
else
{
GameTextForPlayer(playerid,"~r~Profil konnte nich geladen werden",5000,5);
format(string,sizeof(string),"Fehler! Das angegebene Passwort ist falsch! Bitte erneut versuchen!");
SendClientMessage(playerid, COLOR_RED, string);
format(string,sizeof(string),"%s hat ein falsches Passwort (%s) eingegeben.",PlayerName(playerid),tmp);
printf(string);
}
return 1;
}
Ein /register Befehl schreiben kann, denn zur Zeit können nur Administratoren per /adminreg einen User registrieren.
//edit: Der /adminreg Befehl:
if (strcmp(cmd, "/adminreg", true)==0)
{
new pname[256];
new tmp[256];
new pw[256];
if(IsPlayerAdmin(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "Benutze: /adminreg [Name] [passwort]");
return 1;
}
pname = tmp;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "Benutze: /adminreg [Name] [passwort]");
return 1;
}
pw = tmp;
if (!udb_Exists(pname))
{
udb_Create(pname,pw);
format(string,sizeof(string),"%s wurde erstellt. Passwort: %s",pname,pw);
SendClientMessage(playerid, COLOR_GREEN, string);
format(string,sizeof(string),"%d",0);
dUserSet(pname).("virtualworld",string);
format(string,sizeof(string),"%d",startgeld);
dUserSet(pname).("geld",string);
printf(string);
if (!udb_Exists("Member"))
{
udb_Create("Member",pw);
}
udb_Create(pname,pw);
new ma = dUserINT("Member").("Memberanzahl");
format(tmpstring,sizeof(tmpstring),"Member%d",ma);
dUserSet("Member").(tmpstring,pname);
dUserSetINT("Member").("Memberanzahl",ma + 1);
dUserSetINT(pname).("geld",15000);
format(string,sizeof(string),"t");
dUserSetINT(pname).("haus", -1);
MovePlayerIntoHouse(pname, 0);
printf("%s hat einen Account namems %s angelegt",PlayerName(playerid),pname);
}
else
{
format(string,sizeof(string),"%s wurde nicht erstellt. Grund: Existiert bereits!",pname);
SendClientMessage(playerid, COLOR_RED, string);
print(string);
}
return 1;
}
}