Hallo Community!
Wenn ich eine Fraktion erstelle wird "MAX_FRAKT" ausgefürt.
Aber ich will nur das eine Fraktion erstellt wird und nicht 24..
#define MAX_FRAKT 25
public CreateFraktion(fname[35],Float:x,Float:y,Float:z,waffe,munition)
{
new datei[128];
for(new i=0; i<MAX_FRAKT; i++)
{
format(datei,sizeof(datei),"/Fraktionsystem/Fraktionen/%i.ini",i);
if(!fexist(datei))
{
dini_Create(datei);
dini_Set(datei,"Name",fname);
dini_FloatSet(datei,"SpawnX",x);
dini_FloatSet(datei,"SpawnY",y);
dini_FloatSet(datei,"SpawnZ",z);
dini_IntSet(datei,"Waffe",waffe);
dini_IntSet(datei,"Munition",munition);
return LadeFraktion(i);
}
}
return 1;
}
public LadeFraktion(id)
{
new datei[128];
format(datei,sizeof(datei),"/Fraktionsystem/Fraktionen/%i.ini",id);
format(fInfo[id][f_name],35,"%s",dini_Get(datei,"Name"));
fInfo[id][f_x] = dini_Float(datei,"SpawnX");
fInfo[id][f_y] = dini_Float(datei,"SpawnY");
fInfo[id][f_z] = dini_Float(datei,"SpawnZ");
fInfo[id][f_waffe] = dini_Int(datei,"Waffe");
fInfo[id][f_muni] = dini_Int(datei,"Munition");
fInfo[id][f_pickup] = CreatePickup(1239,1,fInfo[id][f_x],fInfo[id][f_y],fInfo[id][f_z],0);
new string[128];
format(string,128,"--> Fraktion Spawn <--\nFraktion: %s\nFraktionsID: %d",fInfo[id][f_name],id);
fInfo[id][f_label] = Create3DTextLabel(string,COLOR_GRAU,fInfo[id][f_x],fInfo[id][f_y],fInfo[id][f_z],5.0,0,0);
return 1;
}
ocmd:ferstellen(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
new Float:x,Float:y,Float:z;
new fraktname[35],waffe,muni;
for(new i=0; i<MAX_FRAKT; i++)
{
if(sscanf(params,"s[120]ii",fraktname,waffe,muni))return SendClientMessage(playerid, COLOR_GRAU," Verwendung: /ferstellen [fraktions-name] [waffenID] [munition]");
{
if(waffe <0||waffe >46)return SendClientMessage(playerid,COLOR_GRAU," FEHLER: Du kannst nur eine Waffe zwischen 0-46 wählen!");
if(muni <0||muni >500)return SendClientMessage(playerid,COLOR_GRAU," FEHLER: Du kannst nur eine Munition zwischen 0-500 wählen!");
GetPlayerPos(playerid,x,y,z);
CreateFraktion(fraktname,x,y,z,waffe,muni);
print(fraktname);
}
}
}
else
{
SendClientMessage(playerid,COLOR_GRAU," FEHLER: Du bist kein Admin!");
}
return 1;
}
ocmd:fdelete(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
for(new i=0; i<MAX_FRAKT; i++)
{
if(IsPlayerInRangeOfPoint(playerid,2.5,fInfo[i][f_x],fInfo[i][f_y],fInfo[i][f_z]))
{
new datei[264];
format(datei,sizeof(datei),"/Fraktionsystem/Fraktionen/%i.ini",i);
if(dini_Exists(datei))
{
dini_Remove(datei);
KillFraktion(i);
printf("Fraktion %d wurde gelöscht.",i);
}
}
else
{
SendClientMessage(playerid, COLOR_ROT," FEHLER: Du bist nicht in der nähe einer Fraktion!");
}
}
}
else
{
SendClientMessage(playerid,COLOR_GRAU," FEHLER: Du bist kein Admin!");
}
return 1;
}