Hey Leute
Ich hatte vor in meinen GF Edit ein System einzubauen das sich die Fraktionen die Cars selbst kaufen Müssen
ich habe dazu Folgendes Als Grundlage LINK
Ich habe es so Verändert
// bei den anderen enums
enum fCar_System
{
aID,
aModel,
Float:aX,
Float:aY,
Float:aZ,
Float:aAngle,
aTeam,
}
// bei Gamemodeinit
for(new i = 1; i < MAX_VEHICLES; i++)
{
new string[32];
format(string, sizeof(string), "%d.car", i);
if(fexist(string))
{
LadeFahrzeug(i);
CreateVehicle(CarInfo[i][aModel], CarInfo[i][aX], CarInfo[i][aY], CarInfo[i][aZ], CarInfo[i][aAngle],0, 0, -1);
}
}
// EXTRA
public SpeicherFahrzeug(carid)
{
if(carid <= 0)
{
return 1;
}
CarInfo[carid][aModel] = GetVehicleModel(carid);
new str[25];
format(str, sizeof(str), "%d.car", carid);
dini_Create(str);
{
dini_IntSet(str,"ID",CarInfo[carid][aID]);
dini_FloatSet(str,"aX", CarInfo[carid][aX]);
dini_FloatSet(str,"aY", CarInfo[carid][aY]);
dini_FloatSet(str,"aZ", CarInfo[carid][aZ]);
dini_FloatSet(str,"aAngle", CarInfo[carid][aAngle]);
dini_IntSet(str,"Model",CarInfo[carid][aModel]);
dini_IntSet(str,"Team",CarInfo[carid][aTeam]);
}
return 1;
}
public LadeFahrzeug(carid)
{
new str[25];
format(str, sizeof(str), "%d.car", carid);
if(carid == 0)
{
return 1;
}
if(fexist(str))
{
CarInfo[carid][aID] = dini_Int(str, "ID");
CarInfo[carid][aX] = dini_Float(str, "aX");
CarInfo[carid][aY] = dini_Float(str, "aY");
CarInfo[carid][aZ] = dini_Float(str, "aZ");
CarInfo[carid][aAngle] = dini_Float(str, "aAngle");
CarInfo[carid][aModel] = dini_Int(str, "Model");
CarInfo[carid][aTeam] = dini_Int(str, "Team");
}
return 1;
}
public GueltigesFahrzeug(carid)
{
if(carid >= 400 && carid <= 611)
{
return 1;
}
return 0;
}
bei PLAYER_STATE_DRIVER
if(CarInfo[VID][aTeam] == 5)
{
if(PlayerInfo[playerid][pLeader] != 5 || PlayerInfo[playerid][pMember] != 5)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_GREY, " Du bist kein Mitglied der Cripz");
}
}
//bei Command text
if(strcmp(cmd, "/buyfcar", true) == 0)
{
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "BENUTZUNG: /veh [modelid(400-611)]");
return 1;
}
new carid, Float:x, Float:y, Float:z, Float:angle, pname[MAX_PLAYER_NAME];
GetPlayerPos(playerid, x,y,z);
GetPlayerFacingAngle(playerid, angle);
carid = strval(tmp);
if(GueltigesFahrzeug(carid))
{
GetPlayerName(playerid,pname,sizeof(pname));
new id = CreateVehicle(carid, x+2,y,z,angle+4,0,0,-1);
CarInfo[id][aID] = id;
CarInfo[id][aX] = x;
CarInfo[id][aY] = y;
CarInfo[id][aZ] = z;
CarInfo[id][aAngle] = angle;
CarInfo[id][aModel] = carid;
CarInfo[id][aTeam] = PlayerInfo[playerid][pLeader];
SpeicherFahrzeug(id);
SendClientMessage(playerid, COLOR_RED, "Car gespawnt!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "IDs von 400 bis 611 sind nur erlaubt!");
}
return 1;
}
Wenn ihr keinen Überblick habt folgendes ...
Wenn ein Spieler ein auto unter /buyfcar erstellt wird das fahrzeug mit dem wert aTeam = [pLeader] Heißt die Fraktions ID erstellt
wenn ein Spieler einsteigt wird gefragt ob er zur Fraktion (5) gehört
wenn ja passiert nichts
wenn nein wird er mit ner nachricht rausgeschmissen
/////////////////////////////////////////////////////////////7
Bis hierher Funktioniert ja noch alles
ABER
sobalt ich nenn Serverrestart mache lädt er zwar die autos aber wenn jemadn einsteigt ist es egal welche Frak er lässt jeden rein
Ich hoffe mal jemad konnte mein Problem Verstehen
und mir dabei helfen