Abend.. ich hab mal wieder ein Problem, und weiß nicht weiter..
Ich hab n "Dynamisches" Frakcarsystem, und kann Autos auch erstellen, Speichern und Parken..
Problem ist jetzt.. ich hab 15 Fraktionen. von 1-9 kann ich alle Autos soweit gut parken und alles.. sobald ich aber mit 10-15 anfang, kommen einige Autos auf einen gleichen punkt, oder verdoppeln sich..
ich schick euch mal EINIGE codes..
#define MAX_FRAKTION 30
#define MAX_FRAKTCARS 50
new LSPDcar[MAX_FRAKTCARS];
new SecretServicecar[MAX_FRAKTCARS];
new Cripzcar[MAX_FRAKTCARS];
new Bloodzcar[MAX_FRAKTCARS];
new Vagoscar[MAX_FRAKTCARS];
new Aztecascar[MAX_FRAKTCARS];
new Yakuzacar[MAX_FRAKTCARS];
new Terrorcar[MAX_FRAKTCARS];
new LCNcar[MAX_FRAKTCARS];
new Armycar[MAX_FRAKTCARS];
new Hitmancar[MAX_FRAKTCARS];
new FBIcar[MAX_FRAKTCARS];
new Mediccar[MAX_FRAKTCARS];
new SRFcar[MAX_FRAKTCARS];
new Newscar[MAX_FRAKTCARS];
enum Fraktcars
{
modelid,
Float:fposx,
Float:fposy,
Float:fposz,
Float:fposa,
cc1,
cc2,
}
new Fraktautos[MAX_FRAKTCARS][50][Fraktcars];
bei OnGameModInit..
for(new i=0;i<MAX_FRAKTCARS;i++) //Geht alle Zahlen von 0 bis die zahl die bei MAX_FRAKTCARS steht
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/LSPD/%d.ini",i); //Solltet ihr wissen ;)
if(dini_Exists(Fraktauto))
{
Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
Fraktautos[i][1][cc1] = dini_Int(Fraktauto,"cc1");
Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
LSPDcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],Fraktautos[i][1][cc1],Fraktautos[i][1][cc2],-1);
SetVehicleNumberPlate(LSPDcar[i],"LSPD");
}
}
for(new i=0;i<MAX_FRAKTCARS;i++)
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SecretService/%d.ini",i); //Solltet ihr wissen ;)
if(dini_Exists(Fraktauto))
{
Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
Fraktautos[i][1][cc1] = dini_Int(Fraktauto,"cc1");
Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
SecretServicecar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],Fraktautos[i][1][cc1],Fraktautos[i][1][cc2],-1);
SetVehicleNumberPlate(SecretServicecar[i],"SeSe");
}
}
for(new i=0;i<MAX_FRAKTCARS;i++)
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Cripz/%d.ini",i); //Solltet ihr wissen ;)
if(dini_Exists(Fraktauto))
{
Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
Fraktautos[i][1][cc1] = dini_Int(Fraktauto,"cc1");
Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
Cripzcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],Fraktautos[i][1][cc1],Fraktautos[i][1][cc2],-1);
SetVehicleNumberPlate(Cripzcar[i],"Cripz");
}
}
for(new i=0;i<MAX_FRAKTCARS;i++)
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Bloodz/%d.ini",i); //Solltet ihr wissen ;)
if(dini_Exists(Fraktauto))
{
Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
Fraktautos[i][1][cc1] = dini_Int(Fraktauto,"cc1");
Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
Bloodzcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],Fraktautos[i][1][cc1],Fraktautos[i][1][cc2],-1);
SetVehicleNumberPlate(Bloodzcar[i],"Bloodz");
}
}und so weiter
OnGameModeExit
for(new i=0;i<MAX_FRAKTCARS;i++)
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SAPD/%d.ini",i);
if(dini_Exists(Fraktauto))
{
dini_IntSet(Fraktauto,"modelid",Fraktautos[i][1][modelid]);
dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
dini_IntSet(Fraktauto,"cc1",Fraktautos[i][1][cc1]);
dini_IntSet(Fraktauto,"cc2",Fraktautos[i][1][cc2]);
}
}
for(new i=0;i<MAX_FRAKTCARS;i++)
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SecretService/%d.ini",i); //Solltet ihr wissen ;)
if(dini_Exists(Fraktauto))
{
dini_IntSet(Fraktauto,"modelid",Fraktautos[i][1][modelid]);
dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
dini_IntSet(Fraktauto,"cc1",Fraktautos[i][1][cc1]);
dini_IntSet(Fraktauto,"cc2",Fraktautos[i][1][cc2]);
}
}
for(new i=0;i<MAX_FRAKTCARS;i++)
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Cripz/%d.ini",i); //Solltet ihr wissen ;)
if(dini_Exists(Fraktauto))
{
dini_IntSet(Fraktauto,"modelid",Fraktautos[i][1][modelid]);
dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
dini_IntSet(Fraktauto,"cc1",Fraktautos[i][1][cc1]);
dini_IntSet(Fraktauto,"cc2",Fraktautos[i][1][cc2]);
}
} und so weiter..
if(strcmp(cmdtext,"/fpark",true) == 0 || strcmp(cmdtext,"/fparken",true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new veh=GetPlayerVehicleID(playerid);
new Float:x,Float:y,Float:z,Float:a;
for(new i=0;i<MAX_FRAKTCARS;i++)
{
if(veh==LSPDcar[i])
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/LSPD/%d.ini",i);
GetVehiclePos(LSPDcar[i],x,y,z);
GetVehicleZAngle(LSPDcar[i],a);
Fraktautos[i][1][fposx]=x;
Fraktautos[i][1][fposy]=y;
Fraktautos[i][1][fposz]=z;
Fraktautos[i][1][fposa]=a;
dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
}
}
for(new i=0;i<MAX_FRAKTCARS;i++)
{
if(veh==SecretServicecar[i])
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SecretService/%d.ini",i);
GetVehiclePos(SecretServicecar[i],x,y,z);
GetVehicleZAngle(SecretServicecar[i],a);
Fraktautos[i][1][fposx]=x;
Fraktautos[i][1][fposy]=y;
Fraktautos[i][1][fposz]=z;
Fraktautos[i][1][fposa]=a;
dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
}
}
for(new i=0;i<MAX_FRAKTCARS;i++)
{
if(veh==Cripzcar[i])
{
new Fraktauto[200];
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Cripz/%d.ini",i);
GetVehiclePos(Cripzcar[i],x,y,z);
GetVehicleZAngle(Cripzcar[i],a);
Fraktautos[i][1][fposx]=x;
Fraktautos[i][1][fposy]=y;
Fraktautos[i][1][fposz]=z;
Fraktautos[i][1][fposa]=a;
dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
}
} Und so weiter
ocmd:createfcar(playerid,params[])
{
new fraktid;
new mid;
new c1,c2;
if(sscanf(params,"iiii",fraktid,mid,c1,c2)) //Wenn der z.b. nur "/createfcar" eingibt
{
SendClientMessage(playerid,COLOR_GRAU,"/createfcar [Frakt-ID][Model-ID][Farbe][Farbe]"); //Müsst ihr für euren Server ändern
SendClientMessage(playerid,COLOR_GRAU,"Fraktion 1:LSPD, Fraktion 2:SecretService, Fraktion 3:Cripz, Fraktion 4:Bloodz, Fraktion 5:Vagos");
SendClientMessage(playerid,COLOR_GRAU,"Fraktion 6:Aztecas, Fraktion 7:Yakuza, Fraktion 8:Terroristen, Fraktion 9:LCN, Fraktion 10: Army");
SendClientMessage(playerid,COLOR_GRAU,"Fraktion 11:Hitman, Fraktion 12:FBI, Fraktion 13:Medic, Fraktion 14:SRF, Fraktion 15:News");
}
else
{
if(fraktid < 1 || fraktid > 15)return SendClientMessage(playerid,COLOR_GRAU,"Frakt-ID kann nicht über 6 oder unter 1 sein.");
if(mid < 400 || mid > 611)return SendClientMessage(playerid,COLOR_GRAU,"Model-ID kann nicht über 611 oder unter 400 sein."); //Da die Vehicles nur von 400-611 gehen
CreateFCar(playerid,fraktid,mid,c1,c2); //wird gleich gezeigt was das ist...
}
return 1;
}
{
dini_Create(Fraktauto); //Er Createt die Datei
dini_IntSet(Fraktauto,"modelid",mid);
dini_FloatSet(Fraktauto,"FPosX",x);
dini_FloatSet(Fraktauto,"FPosY",y);
dini_FloatSet(Fraktauto,"FPosZ",z);
dini_FloatSet(Fraktauto,"FPosA",a);
dini_IntSet(Fraktauto,"cc1",c1);
dini_IntSet(Fraktauto,"cc2",c2);
Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
Fraktautos[i][1][cc1] = dini_Int(Fraktauto,"cc1");
Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
LSPDcar[i] = CreateVehicle(mid,x,y,z,a,c1,c2,-1);
PutPlayerInVehicle(playerid,LSPDcar[i],0);
return 1;
}
}
else if(fraktid==2)
{
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SecretService/%d.ini",i);
if(!dini_Exists(Fraktauto))
{
dini_Create(Fraktauto); //Er Createt die Datei
dini_IntSet(Fraktauto,"modelid",mid);
dini_FloatSet(Fraktauto,"FPosX",x);
dini_FloatSet(Fraktauto,"FPosY",y);
dini_FloatSet(Fraktauto,"FPosZ",z);
dini_FloatSet(Fraktauto,"FPosA",a);
dini_IntSet(Fraktauto,"cc1",c1);
dini_IntSet(Fraktauto,"cc2",c2);
Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
Fraktautos[i][1][cc1] = dini_Int(Fraktauto,"cc1");
Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
SecretServicecar[i] = CreateVehicle(mid,x,y,z,a,c1,c2,-1);
PutPlayerInVehicle(playerid,SecretServicecar[i],0);
return 1;
}
}
else if(fraktid==3)
{
format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Cripz/%d.ini",i);
if(!dini_Exists(Fraktauto))
{
dini_Create(Fraktauto); //Er Createt die Datei
dini_IntSet(Fraktauto,"modelid",mid);
dini_FloatSet(Fraktauto,"FPosX",x);
dini_FloatSet(Fraktauto,"FPosY",y);
dini_FloatSet(Fraktauto,"FPosZ",z);
dini_FloatSet(Fraktauto,"FPosA",a);
dini_IntSet(Fraktauto,"cc1",c1);
dini_IntSet(Fraktauto,"cc2",c2);
Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
Fraktautos[i][1][cc1] = dini_Int(Fraktauto,"cc1");
Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
Cripzcar[i] = CreateVehicle(mid,x,y,z,a,c1,c2,-1);
PutPlayerInVehicle(playerid,Cripzcar[i],0);
return 1;
}
} Und so weiter..
Seht ihr da irgendwo n fatalen fehler?? ich find nämlich nach 2 stunden keinen..
edit: Einige Sachen entfernt. (anfragen wegen Copy&Paste fehler -.-!, versuchts slbst)