So fangen wir mal ein
Problem 1
Eine Fraktion zu erstellen ist ja nicht sonderlich schwer ... nur ist mein Problem wenn ich jemanden Invite(Bei meinem Script /einladen) dann wird das nicht in der Account Datei von der Person gespeichert(Also muss ich es manuell eintragen, Arbeite mit Dini) auch andere Dinge z.B /makeadmin werden dort nicht Abgespeichert und ich versteh nicht ganz wo man was eintragen muss und wie man es eintragen muss (Bei denn ganzen Stocks) Damit es sich überhaupt Speichert,
Geld wird auch nicht Abgespeichert :<.
Hier mal mein Register,LoadAccount,Login,OnPlayerDisconnect und mein enum Player_Info:
// Playerinfo //
enum Player_Info
{
AdminLevel,
Pass[255],
Money,
Kills,
Leader,
Fraktion,
Member
}
new PlayerInfo[MAX_PLAYERS][Player_Info];
// PlayerInfo Ende //
stock 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);
SendClientMessage(playerid,BLAU,"Dein Account wurde in unserer Datenbank eingetragen.");
SendClientMessage(playerid,BLAU,"Bitte gebe dein Passwort an keinen weiter!");
SendClientMessage(playerid,BLAU,"Für die Befehle tippst du /hilfe ein.");
GivePlayerMoney(playerid,50000);
SetPlayerScore(playerid,0);
SetPVarInt(playerid,"loggedin",1);
dini_IntSet(Spielerdatei,"Geld",50000);
dini_IntSet(Spielerdatei,"AdminLevel",0);
dini_IntSet(Spielerdatei,"Leader",PlayerInfo[playerid][Leader]);
dini_IntSet(Spielerdatei,"Member",PlayerInfo[playerid][Member]);
dini_IntSet(Spielerdatei,"Fraktion",PlayerInfo[playerid][Fraktion]);
ShowPlayerDialog(playerid, Geburtsdatum, DIALOG_STYLE_INPUT, "Alter","Bitte gebe dein Alter an.{FF0000}\n\nBeispiel: DD.MM.YYYY.","Weiter","Disconnect");
return 1;
}
// Stock Ende //
stock 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(gettime()<dini_Int(Spielerdatei,"timeban"))
{
SendClientMessage(playerid,ROT,"Du bist aus dem Spiel ausgeschlossen!");
Kick(playerid);
return 1;
}
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
LoadAccount(playerid);
SendClientMessage(playerid,BLAU,"Du hast dich erfolgreich eingeloggt.");
return 1;
}
else
{
SendClientMessage(playerid,BLAU,"Falsches Passwort.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
return 1;
}
}
// Stock Ende //
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
PlayerInfo[playerid][AdminLevel] = dini_Int(Spielerdatei,"AdminLevel");
PlayerInfo[playerid][Leader] = dini_Int(Spielerdatei, "Leader");
PlayerInfo[playerid][Member] = dini_Int(Spielerdatei, "Member");
PlayerInfo[playerid][Fraktion] = dini_Int(Spielerdatei, "Fraktion");
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist aus dem Spiel ausgeschlossen!");
SendClientMessage(playerid,ROT,"Kontaktiere den Support für weitere Hilfe!");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}
// Stock Ende //
public OnPlayerDisconnect(playerid, reason)
{
// Dini @Disconnect //
if(GetPVarInt(playerid,"loggedin")==1)
{
SpielerSpeichern(playerid);
}
return 1;
}
// Disconnect Ende //
Problem 2
Ich habe immer 2 Probleme bei meinen Fraktions Cars:
1tens:
Entweder kann keiner damit Fahren(Egal ob die FraktionsID`s übereinstimmen also meine FraktionsID ist 2 und die des Autos auch 2 (Im Script halt))
Oder
Jeder kann damit Fahren
Hier meine Cars und die Abfrage:
// FraktionsCars //
new GROVEcar[19];
// PlayerInfo //
enum Player_Info
{
AdminLevel,
Pass[255],
Money,
Kills,
Leader,
Fraktion,
Member
}
new PlayerInfo[MAX_PLAYERS][Player_Info];
// Ende //
// Autos //
GROVEcar[1] = AddStaticVehicle(541,2441.2813,-1664.4513,13.1392,268.7804,153,153); // bullet
GROVEcar[2] = AddStaticVehicle(411,2447.6506,-1664.4220,13.1477,269.5190,153,153); // Infernus
GROVEcar[3] = AddStaticVehicle(541,2441.6687,-1654.0344,13.0692,269.6196,153,153); // Bullet
GROVEcar[4] = AddStaticVehicle(411,2449.0388,-1653.7119,13.0913,270.2771,153,153); // Infernus
GROVEcar[5] = AddStaticVehicle(400,2498.5063,-1685.4333,13.5330,89.8143,153,153); // Landstalker
GROVEcar[6] = AddStaticVehicle(400,2491.9255,-1685.5632,13.6030,272.5652,153,153); // Landstalker
GROVEcar[7] = AddStaticVehicle(535,2505.9004,-1693.7302,13.3205,1.0655,153,153); // Slamvan
GROVEcar[8] = AddStaticVehicle(451,2473.0732,-1690.8744,13.1270,358.7981,153,153); // Turismo
GROVEcar[9] = AddStaticVehicle(451,2468.4485,-1669.9634,13.0058,9.5138,153,153); // Turismo
GROVEcar[10] = AddStaticVehicle(451,2471.3440,-1678.2826,13.0215,24.5518,153,153); // Turismo
GROVEcar[11] = AddStaticVehicle(412,2460.7456,-1671.8430,13.3379,9.7976,153,153); // voodo
GROVEcar[12] = AddStaticVehicle(522,2515.9045,-1664.5116,13.3413,97.9098,153,153); // NRG
GROVEcar[13] = AddStaticVehicle(522,2516.4785,-1667.1714,13.4977,96.3789,153,153); // NRG
GROVEcar[14] = AddStaticVehicle(487,2461.4666,-1714.0533,13.7035,91.2329,153,153); // Maverick
GROVEcar[15] = AddStaticVehicle(536,2516.6130,-1672.5364,13.6864,58.8865,153,153); // Blade
GROVEcar[17] = AddStaticVehicle(560,2479.5791,-1653.6495,13.0966,93.2550,153,153); // Sultan
GROVEcar[18] = AddStaticVehicle(560,2486.7019,-1653.2056,13.1063,88.7719,153,153); // Sultan
SetVehicleNumberPlate(GROVEcar[0],"Grove Street");
SetVehicleNumberPlate(GROVEcar[1],"Grove Street");
SetVehicleNumberPlate(GROVEcar[2],"Grove Street");
SetVehicleNumberPlate(GROVEcar[3],"Grove Street");
SetVehicleNumberPlate(GROVEcar[4],"Grove Street");
SetVehicleNumberPlate(GROVEcar[5],"Grove Street");
SetVehicleNumberPlate(GROVEcar[6],"Grove Street");
SetVehicleNumberPlate(GROVEcar[7],"Grove Street");
SetVehicleNumberPlate(GROVEcar[8],"Grove Street");
SetVehicleNumberPlate(GROVEcar[9],"Grove Street");
SetVehicleNumberPlate(GROVEcar[10],"Grove Street");
SetVehicleNumberPlate(GROVEcar[11],"Grove Street");
SetVehicleNumberPlate(GROVEcar[12],"Grove Street");
SetVehicleNumberPlate(GROVEcar[13],"Grove Street");
SetVehicleNumberPlate(GROVEcar[14],"Grove Street");
SetVehicleNumberPlate(GROVEcar[15],"Grove Street");
SetVehicleNumberPlate(GROVEcar[16],"Grove Street");
SetVehicleNumberPlate(GROVEcar[17],"Grove Street");
SetVehicleNumberPlate(GROVEcar[18],"Grove Street");
// Autos Ende //
// Hier kommt meine Abfrage //
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER)
{
for(new i=0; i<sizeof(GROVEcar); i++)
{
if(GetPlayerVehicleID(playerid)==GROVEcar[i])
{
if(GetPVarInt(playerid,"Fraktion")!=2)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Du gehörst nicht zur Grove Street.");
}
}
}
}
return 1;
}
// Abfrage Ende //
Problem 3:
Schon oben genannt!
Problem 4:
Ich habe zwar bereits die allmächtige SuFu genutzt aber ... Mehhhhh ... ich würde gerne mal wissen wie man das ganze Aufbauen muss usw. ein Anfang wäre ja mal das Luxus Autohaus aus Godfather(Will ich nicht in meinem Script sondern nur als Beispiel damit ich selber Autohäuser machen kann).
Ich hoffe ihr könnt mir helfen :>
MfG HellYeah :>