Ich habe jetzt folgendes:
der Befehl zum scheine geben
ocmd:giveschein(playerid,params[])
{
new pID,schein[24],pname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
GetPlayerName(pID,pname,sizeof(pname));
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pMember] != 8) return SendClientMessage(playerid,Grau,"Du bist kein Fahrlehrer!");
if(sscanf(params,"us",pID,schein))
{
SendClientMessage(playerid,Grau,"Benutze: /giveschein [playerid/PartOfName] [Schein]");
SendClientMessage(playerid,Grau,"Scheine: Auto, Motorrad, Flug, Angel, Boot, Waffe1, Waffe2");
return 1;
}
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Grau,"Der angegebene Spieler ist nicht Onlien!");
if(!strcmp(schein, "Auto", true))
{
if(PlayerInfo[pID][pLevel] < 1) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!");
new string[128];
format(string,sizeof(string),"Fahrlehrer %s hat dir den Autoschein gegeben.",name);
SendClientMessage(pID,Blau,string);
format(string,sizeof(string),"Du hast %s den Autoschein gegeben.",pname);
SendClientMessage(playerid,Blau,string);
PlayerInfo[pID][pAuto] = 1;
return 1;
}
else if(!strcmp(schein, "Motorrad", true))
{
if(PlayerInfo[pID][pLevel] < 2) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!");
new string[128];
format(string,sizeof(string),"Fahrlehrer %s hat dir den Motorradschein gegeben.",name);
SendClientMessage(pID,Blau,string);
format(string,sizeof(string),"Du hast %s den Motorradschein gegeben.",pname);
SendClientMessage(playerid,Blau,string);
PlayerInfo[pID][pBike] = 1;
return 1;
}
else if(!strcmp(schein, "Flug", true))
{
if(PlayerInfo[pID][pLevel] < 3) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!");
new string[128];
format(string,sizeof(string),"Fahrlehrer %s hat dir den Flugschein gegeben.",name);
SendClientMessage(pID,Blau,string);
format(string,sizeof(string),"Du hast %s den Flugschein gegeben.",pname);
SendClientMessage(playerid,Blau,string);
PlayerInfo[pID][pFlug] = 1;
return 1;
}
else if(!strcmp(schein, "Angel", true))
{
if(PlayerInfo[pID][pLevel] < 1) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!");
new string[128];
format(string,sizeof(string),"Fahrlehrer %s hat dir den Angelschein gegeben.",name);
SendClientMessage(pID,Blau,string);
format(string,sizeof(string),"Du hast %s den Angelschein gegeben.",pname);
SendClientMessage(playerid,Blau,string);
PlayerInfo[pID][pAngel] = 1;
return 1;
}
else if(!strcmp(schein, "Boot", true))
{
if(PlayerInfo[pID][pLevel] < 3) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!");
new string[128];
format(string,sizeof(string),"Fahrlehrer %s hat dir den Bootsschein gegeben.",name);
SendClientMessage(pID,Blau,string);
format(string,sizeof(string),"Du hast %s den Bootsschein gegeben.",pname);
SendClientMessage(playerid,Blau,string);
PlayerInfo[pID][pBoot] = 1;
return 1;
}
else if(!strcmp(schein, "Waffe1", true))
{
if(PlayerInfo[pID][pLevel] < 4) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!");
new string[128];
format(string,sizeof(string),"Fahrlehrer %s hat dir den Waffenschein 1 gegeben.",name);
SendClientMessage(pID,Blau,string);
format(string,sizeof(string),"Du hast %s den Waffenschein 1 gegeben.",pname);
SendClientMessage(playerid,Blau,string);
PlayerInfo[pID][pWaffe1] = 1;
return 1;
}
else if(!strcmp(schein, "Waffe2", true))
{
if(PlayerInfo[pID][pLevel] < 6) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!");
new string[128];
format(string,sizeof(string),"Fahrlehrer %s hat dir den Waffenschein 2 gegeben.",name);
SendClientMessage(pID,Blau,string);
format(string,sizeof(string),"Du hast %s den Waffenschein 2 gegeben.",pname);
SendClientMessage(playerid,Blau,string);
PlayerInfo[pID][pWaffe2] = 1;
return 1;
}
else return SendClientMessage(playerid,Grau,"Ungültige Auswahl");
}
Alles anzeigen
und hier das speichern:
public Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
dini_IntSet(Spielerdatei,"Adminlevel",0);
dini_IntSet(Spielerdatei,"Leader",0);
dini_IntSet(Spielerdatei,"Warn",0);
dini_IntSet(Spielerdatei,"Premium",0);
dini_IntSet(Spielerdatei,"Level",1);
dini_IntSet(Spielerdatei,"Geld",10000);
dini_IntSet(Spielerdatei,"Skin",1);
dini_IntSet(Spielerdatei,"Fraktion",0);
dini_IntSet(Spielerdatei,"Member",0);
dini_IntSet(Spielerdatei,"Rank",0);
dini_IntSet(Spielerdatei,"Respect",0);
dini_IntSet(Spielerdatei,"Alter",0);
dini_IntSet(Spielerdatei,"Geschlecht",0);
dini_IntSet(Spielerdatei,"Autoschein",0);
dini_IntSet(Spielerdatei,"Motorradschein",0);
dini_IntSet(Spielerdatei,"Bootschein",0);
dini_IntSet(Spielerdatei,"Angelschein",0);
dini_IntSet(Spielerdatei,"Flugschein",0);
dini_IntSet(Spielerdatei,"Waffenschein 1",0);
dini_IntSet(Spielerdatei,"Waffenschein 2",0);
SendClientMessage(playerid,Gruen,"Du hast dich erfolkreich registriert.");
SetPlayerSkin(playerid,1);
SetPlayerScore(playerid,1);
GivePlayerMoney(playerid,10000);
return 1;
}
public Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),true))
{
SpielerLaden(playerid);
SendClientMessage(playerid,Gruen,"Du hast dich erfolgreich eingeloggt.");
PlayerInfo[playerid][pEingeloggt] = 1;
return 1;
}
else
{
SendClientMessage(playerid,Rot,"SERVER: Das Passwort stimmt mit dem Account nicht überein.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gib bitte dein Passwort ein.","Login","Abbrechen");
return 1;
}
}
public SpielerLaden(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
PlayerInfo[playerid][pAdminlevel] = dini_Int(Spielerdatei,"Adminlevel");
PlayerInfo[playerid][pRespect] = dini_Int(Spielerdatei,"Respect");
PlayerInfo[playerid][pFraktion] = dini_Int(Spielerdatei,"Fraktion");
PlayerInfo[playerid][pLeader] = dini_Int(Spielerdatei,"Leader");
PlayerInfo[playerid][pMember] = dini_Int(Spielerdatei,"Member");
PlayerInfo[playerid][pRank] = dini_Int(Spielerdatei,"Rang");
PlayerInfo[playerid][pPremium] = dini_Int(Spielerdatei,"Premium");
PlayerInfo[playerid][pSkin] = dini_Int(Spielerdatei,"Skin");
PlayerInfo[playerid][pWarn] = dini_Int(Spielerdatei,"Warn");
PlayerInfo[playerid][pAlter] = dini_Int(Spielerdatei,"Alter");
PlayerInfo[playerid][pGeschlecht] = dini_Int(Spielerdatei,"Geschlecht");
PlayerInfo[playerid][pAuto] = dini_Int(Spielerdatei,"Autoschein");
PlayerInfo[playerid][pBike] = dini_Int(Spielerdatei,"Motorradschein");
PlayerInfo[playerid][pBoot] = dini_Int(Spielerdatei,"Bootschein");
PlayerInfo[playerid][pAngel] = dini_Int(Spielerdatei,"Angelschein");
PlayerInfo[playerid][pFlug] = dini_Int(Spielerdatei,"Flugschein");
PlayerInfo[playerid][pWaffe1] = dini_Int(Spielerdatei,"Waffenschein 1");
PlayerInfo[playerid][pWaffe2] = dini_Int(Spielerdatei,"Waffenschein 2");
if(PlayerInfo[playerid][pPremium] > 0)
{
SendClientMessage(playerid,Gelb,"** Du bist mit einem Premiumaccount eingeloggt!");
}
if(PlayerInfo[playerid][pAdminlevel] > 0)
{
new info[256];
format(info,sizeof(info),"** Du bist als %s eingeloggt!",AdminRank(playerid));
SendClientMessage(playerid,Gelb,info);
}
if(PlayerInfo[playerid][pLeader] > 0)
{
new info[256];
format(info,sizeof(info),"** Du bist als Leader der Fraktion %s eingeloggt!",LeaderRank(playerid));
SendClientMessage(playerid,Gelb,info);
}
return 1;
}
public SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",PlayerInfo[playerid][pAdminlevel]);
dini_IntSet(Spielerdatei,"Respect",PlayerInfo[playerid][pRespect]);
dini_IntSet(Spielerdatei,"Fraktion",PlayerInfo[playerid][pFraktion]);
dini_IntSet(Spielerdatei,"Leader",PlayerInfo[playerid][pLeader]);
dini_IntSet(Spielerdatei,"Member",PlayerInfo[playerid][pMember]);
dini_IntSet(Spielerdatei,"Rang",PlayerInfo[playerid][pRank]);
dini_IntSet(Spielerdatei,"Premium",PlayerInfo[playerid][pPremium]);
dini_IntSet(Spielerdatei,"Warn",PlayerInfo[playerid][pWarn]);
dini_IntSet(Spielerdatei,"Alter",PlayerInfo[playerid][pAlter]);
dini_IntSet(Spielerdatei,"Geschlecht",PlayerInfo[playerid][pGeschlecht]);
dini_IntSet(Spielerdatei,"Autoschein",PlayerInfo[playerid][pAuto]);
dini_IntSet(Spielerdatei,"Motorradschein",PlayerInfo[playerid][pBike]);
dini_IntSet(Spielerdatei,"Angelschein",PlayerInfo[playerid][pAngel]);
dini_IntSet(Spielerdatei,"Flugschein",PlayerInfo[playerid][pFlug]);
dini_IntSet(Spielerdatei,"Bootschein",PlayerInfo[playerid][pBoot]);
dini_IntSet(Spielerdatei,"Waffenschein 1",PlayerInfo[playerid][pWaffe1]);
dini_IntSet(Spielerdatei,"Waffenschein 2",PlayerInfo[playerid][pWaffe2]);
return 1;
}
public ResetVariablen(playerid)
{
PlayerInfo[playerid][pAdminlevel] = 0;
PlayerInfo[playerid][pPremium] = 0;
PlayerInfo[playerid][pFraktion] = 0;
PlayerInfo[playerid][pLeader] = 0;
PlayerInfo[playerid][pRank] = 0;
PlayerInfo[playerid][pMember] = 0;
PlayerInfo[playerid][pEingeloggt] = 0;
PlayerInfo[playerid][pSkin] = 0;
PlayerInfo[playerid][pRespect] = 0;
PlayerInfo[playerid][pAlter] = 0;
PlayerInfo[playerid][pGeschlecht] = 0;
PlayerInfo[playerid][pLevel] = 0;
PlayerInfo[playerid][pGeld] = 0;
PlayerInfo[playerid][pAuto] = 0;
PlayerInfo[playerid][pBike] = 0;
PlayerInfo[playerid][pBoot] = 0;
PlayerInfo[playerid][pFlug] = 0;
PlayerInfo[playerid][pAngel] = 0;
PlayerInfo[playerid][pWaffe1] = 0;
PlayerInfo[playerid][pWaffe2] = 0;
return 1;
}
Alles anzeigen
Ich habe auch gedacht das dass bei OnPlayerStateChange rein kommt da hab ich bis jetzt das:
if(newstate == PLAYER_STATE_DRIVER)
{
if(PlayerInfo[playerid][pAuto] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Grau,"Du hast keinen Autoführerschein!");
return 1;
}
if(PlayerInfo[playerid][pBike] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein!");
return 1;
}
if(PlayerInfo[playerid][pFlug] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Grau,"Du hast keinen Flugschein!");
return 1;
}
if(PlayerInfo[playerid][pBoot] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Grau,"Du hast keinen Bootsschein!");
return 1;
}
}
Alles anzeigen
mir ist bewusst dass da noch die abfrage fehlt welches Fahrzeug es ist aber ich versteh noch nicht so ganz wie ich das schreibe.