Hey Leute,
mir jemand ein Fraktionssystem gemacht habe auch alles verstanden aber es klappt nicht so richtig.
Wenn ich Spawn coordis eingebe passiert einfach nichts sondern dan kommt der Spawn Button wieder!
Code:
forward SpielerSpeichern(playerid);
public SpielerSpeichern(playerid)
{
GetPlayerName(playerid, Name, sizeof( Name));
format(Datei,sizeof(Datei),"/Spieler/%s.ini",Name);
if(!fexist(Datei)) //fexist = file exists = Datei existiert?
{
dini_Create(Datei);
dini_Set(Datei,"Passwort",SInfo[playerid][Passwort]);
dini_IntSet(Datei,"Geld",40000);
dini_IntSet(Datei,"Skin",23);
dini_IntSet(Datei,"Level",1);
dini_IntSet(Datei,"Adminlevel",0);
dini_IntSet(Datei,"gebannt",0);
dini_IntSet(Datei,"Fraktion",0);
dini_IntSet(Datei,"Rang",0);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte Tippe dein Passwort ein, um dich zu einzuloggen","Einloggen","Abbrechen");
}
else
{
dini_IntSet(Datei,"Geld",SInfo[playerid][pGeld]);
dini_IntSet(Datei,"Skin", GetPlayerSkin(playerid));
dini_IntSet(Datei,"Level",GetPlayerScore(playerid));
dini_IntSet(Datei,"Adminlevel",SInfo[playerid][Adminlevel]);
dini_IntSet(Datei,"gebannt",SInfo[playerid][gebannt]);
dini_IntSet(Datei,"Fraktion",SInfo[playerid][Fraktion]);
dini_IntSet(Datei,"Rang",SInfo[playerid][Rang]);
}
return 1;
}
forward SpielerLaden(playerid);
public SpielerLaden(playerid)
{
GetPlayerName(playerid, Name, sizeof( Name));
format(Datei,sizeof(Datei),"/Spieler/%s.ini",Name);
SInfo[playerid][pGeld] = dini_Int(Datei,"Geld");
SInfo[playerid][pskin] = dini_Int(Datei, "Skin");
SetPlayerScore(playerid,dini_Int(Datei,"Level"));
SInfo[playerid][Adminlevel] = dini_Int(Datei,"AdminLevel");
SInfo[playerid][gebannt] = dini_Int(Datei,"gebannt");
SInfo[playerid][Fraktion] = dini_Int(Datei,"Fraktion");
SInfo[playerid][Rang] = dini_Int(Datei,"Rang");
SetSpawnInfo( playerid,0,SInfo[playerid][pskin],1721.3622,-1627.8937,20.2129,136.8591,0,0,0,0,0,0); //XYZ Ändern Muss gemacht werde sonst wirst du bei 0.3D Gekickt!
SpielerSpawn(playerid);
if(SInfo[playerid][gebannt]==1)
{
SendClientMessage(playerid,0xF50000FF,"Du bist doch vom Server gebannt");
Kick(playerid);
}
return 1;
}
forward SpielerSpawn(playerid);
public SpielerSpawn(playerid)
{
new frakid = SInfo[playerid][Fraktion];
SetSpawnInfo(playerid,0,SInfo[playerid][pskin],Fraktionsspawn[frakid][0],Fraktionsspawn[frakid][1],Fraktionsspawn[frakid][2],Fraktionsspawn[frakid][3],0,0,0,0,0,0);
SetPlayerInterior(playerid,Fraktionspawnint[frakid][0]);
SetPlayerVirtualWorld(playerid,Fraktionsspawnvw[frakid][0]);
SpawnPlayer(playerid);
return 1;
}
new fraktionstext[][] = {
"Zivilisten",
"LSPD",
"FBI",
"Army"
};
new Float:Fraktionsspawn[][4] = {
{0.0,0.0,0.0,0.0}, //Zivi
{0.0,0.0,0.0,0.0}, //LSPD
{0.0,0.0,0.0,0.0}, //FBI
{0.0,0.0,0.0,0.0} //ARMY
};
new Fraktionspawnint[][1] = {
0, //Zivilist
0, //LSPD
0, //FBI
0 //ARMY
};
new Fraktionsspawnvw[][1] = {
0, //Zivilist
0, //LSPD
0, //FBI
0 //ARMY
};
enum Spielerdaten
{
pGeld,
Passwort[32],
pskin,
Adminlevel,
gebannt,
Fraktion,
Rang
}
new SInfo[MAX_PLAYERS][Spielerdaten];
dcmd_makeleader(playerid,params[])
{
new frakid,pID;
if(IsPlayerAnAdmin(playerid,4))
{
SendClientMessage(playerid,0xF50000FF,"Du bist kein Admin oder dein Rang ist zu klein!.");
}
else
{
if(sscanf(params,"ui",pID,frakid))
{
SendClientMessage(playerid,0xF50000FF,"Tippe: /makeleader [playerid][frakid].");
}
else if(frakid < 0 || frakid > 3)
{
SendClientMessage(playerid,0xF50000FF,"Die frakid muss zwischen 0 und 3 liegen.");
}
else if(pID == INVALID_PLAYER_ID)
{
SendClientMessage(playerid,0xF50000FF,"Diesen Spieler gibt es nicht.");
}
else
{
SInfo[pID][Fraktion] = frakid;
SInfo[pID][Rang] = 12;
format(str,sizeof(str),"Admin %s hat dich zum Leader der %s ernannt.",SpielerName(playerid),fraktionstext[frakid]);
SendClientMessage(pID,0xF50000FF,str);
format(str,sizeof(str),"Du hast %s zum Leader der %s ernannt.",SpielerName(pID),fraktionstext[frakid]);
SendClientMessage(playerid,0xF50000FF,str);
if(frakid == 0)
{
SInfo[pID][Rang] = 0;
}
SpielerSpeichern(pID);
return 1;
}
return 1;
}
return 1;
}
Hoffe es kann wer helfen
Mfg
Moritt