Hallo Breadfish,
Ich habe mich nun dazu entschlossen, ein Selfmade zu scripten. Ich bin noch am lernen und stehe nun vor dem Problem, das die Fraktion in der man ist nicht geladen wird.
#define fraktname1 "LSPD"
#define fraktname2 "FBI"
#define fraktname3 "Medics"
#define fraktname4 "Oamt"
#define fraktname5 "Staat"
#define fraktname6 "News"
#define fraktname7 "Fahrschule"
#define fraktname8 "Gang1"
#define fraktname9 "Gang2"
#define fraktname10 "Gang3"
enum spieler_daten
{
Deld,
Wanted,
Skin,
Eingeloggt,
pAdmin,
Kills,
Tode,
Fraktion
}
new PlayerInfo[MAX_PLAYERS][spieler_daten];
public OnPlayerDisconnect(playerid, reason)
{
new pName[MAX_PLAYER_NAME], string[56] ;
GetPlayerName(playerid, pName, sizeof(pName));
switch (reason)
{
case 0: format(string, sizeof(string), "%s hat den Server verlassen. (Verbindung verloren)", pName);
case 1: format(string, sizeof(string), "%s hat den Server verlassen. (Verlassen)", pName);
case 2: format(string, sizeof(string), "%s hat den Server verlassen. (Kick/Ban)", pName);
}
SendClientMessageToAll (COLOR_GRAD2, string);
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"/Accounts/%s.txt",pname);
if(fexist(accFormat) && PlayerInfo[playerid][Eingeloggt])
{
dini_IntSet(accFormat,"Deld",GetPlayerMoney(playerid));
dini_IntSet(accFormat,"Wanted",PlayerInfo[playerid][Wanted]);
dini_IntSet(accFormat,"Skin",PlayerInfo[playerid][Skin]);
dini_IntSet(accFormat,"Kills",PlayerInfo[playerid][Kills]);
dini_IntSet(accFormat,"Tode",PlayerInfo[playerid][Tode]);
dini_IntSet(accFormat,"Fraktion",PlayerInfo[playerid][Fraktion]);
}
PlayerInfo[playerid][Eingeloggt] = 0;
PlayerInfo[playerid][Skin] = 0;
return 1;
}
dcmd_stats(playerid,params[])
{
if(InFrakt(playerid,1))
{
#pragma unused params
new name[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, name, sizeof(name));
new fraktname[64];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:{fraktname="Keine";}
case 1:{fraktname=fraktname1;}
case 2:{fraktname=fraktname2;}
case 3:{fraktname=fraktname3;}
case 4:{fraktname=fraktname4;}
case 5:{fraktname=fraktname5;}
case 6:{fraktname=fraktname6;}
case 7:{fraktname=fraktname7;}
case 8:{fraktname=fraktname8;}
case 9:{fraktname=fraktname9;}
case 10:{fraktname=fraktname10;}
}
format(string,sizeof(string),"Name: %s\nLevel: %d\nGeld: %d\nAdminlevel: %d\nKills: %d\nTode: %d\nFraktion: %s",name,GetPlayerScore(playerid),GetPlayerMoney(playerid),PlayerInfo[playerid][pAdmin],PlayerInfo[playerid][Kills],PlayerInfo[playerid][Tode],fraktname);
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Deine Stats",string,"Ok","Abbrechen");
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"geht nich");
return 1;
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"/Accounts/%s.txt",pname);
if(response)
{
switch(dialogid)
{
case DIALOG_LOGIN:
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
{
SetPlayerMoney(playerid,dini_Int(accFormat,"Geld"));
PlayerInfo[playerid][Wanted] = dini_Int(accFormat,"Wanted");
PlayerInfo[playerid][Skin] = dini_Int(accFormat,"Skin");
SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
PlayerInfo[playerid][pAdmin] = dini_Int(accFormat, "AdminLevel");
PlayerInfo[playerid][Kills] = dini_Int(accFormat, "Kills");
PlayerInfo[playerid][Tode] = dini_Int(accFormat, "Tode");
PlayerInfo[playerid][Fraktion] = dini_Int(accFormat, "Fraktion");
PlayerInfo[playerid][Eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
}
case DIALOG_REG:
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
dini_Create(accFormat);
dini_Set(accFormat,"Passwort",inputtext);
dini_IntSet(accFormat, "AdminLevel" , 0);
PlayerInfo[playerid][pAdmin] = 0;
PlayerInfo[playerid][Eingeloggt] = 1;
PlayerInfo[playerid][Fraktion] = 0;
PlayerInfo[playerid][Skin] = 167;
SetPlayerMoney(playerid,10000);
SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
}
}
}
else
{
switch(dialogid)
{
case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
}
}
return 1;
}
Also bekomme keine Errors/Warnings. In den Scriptfiles steht Fraktion 1, bei /stats steht keine Fraktion und ein Befehl der nur die Fraktion 1 machen kann kann ich mit der Fraktion 1 nicht machen. Hoffe ihr könnt mir helfen.Nehme an da ist ein Fehler beim Login, finde ihn aber nicht
Mfg
Edit: Wird nun in den /stats angezeogt
Edit: Problem gelöst 8-)