hallo ihr liben ich habe da ein problem ich habe ein auto haus nach einen tut gemacht aber jezt ist es so das man es weder kaufen noch bekommt den es pasirt nur das ich ge freeze werde kann da jeman helfen
#define FILTERSCRIPT
#include <a_samp>
#include <dini>
forward AutoKaufen(playerid,autoid);
#if defined FILTERSCRIPT
#define Dialog_Buycar 5000 // muss angepasst werden, falls die id schon vergeben ist.
enum AHInfo //Autohausinfo
{
Name[25],
Float:posx,
Float:posy,
Float:posz,
Float:spawnx,
Float:spawny,
Float:spawnz,
Float:spawna,
Kasse,
Besitzer[MAX_PLAYER_NAME]
}
enum AKInfo // Autokaufinfo
{
modelid,
Name[35],
Autohausname[25], // sollte den selben string haben wie oben.
Preis,
Float:posx,
Float:posy,
Float:posz,
Float:posa // die angle ist auch sehr wichtig bei einem Fahrzeug!
}
enum Ainfo //Autoinfo
{
Name[35],
modelid,
Float:HP,
Nummernschild[20],
Float:posx,
Float:posy,
Float:posz,
Float:posa,
Farbe1,
Farbe2,
Paintjob,
Spoiler,
Hood,
Roof,
Sideskirt,
Lamps,
Nitro,
Exhaust,
Wheels,
Stereo,
Hydraulics,
FrontBumper,
RearBumper,
VentRight,
VentLeft
}
new Autohaus[1][AHInfo] = {//die [1] steht für die Anzahl der Autohäuser. [AHinfo] steht für die enum.
{"Los Santos Autohaus", 500.0, -250.0, 15.25, -3.0, -50.5, 15.2, 270.5, 0, "Staat"}
};
new Buycars[3][AKInfo] = {
{402, "Buffalo", "Los Santos Autohaus", 100000,1512.1490, -1662.2415, 13.2524, 266.5963},
{496, "Blista Compact", "Los Santos Autohaus", 20000, 20.0, -5.5, 10.3, 250.0},
{422, "Bobcat", "Los Santos Autohaus", 25000, 25.5, -1.0, 9.5, 0.45}
};
const MAX_PLAYER_CARS = 2; // wir müssen definieren, wieviele Fahrzeuge man maximal haben darf. ich habe mal 2 genommen.
new Autos[MAX_PLAYERS][MAX_PLAYER_CARS][Ainfo]; // //die variable wird fürs auslesen und speichern in die datei benötigt
new Spielercar[MAX_PLAYERS][MAX_PLAYER_CARS]; //diese variable reflektiert das createte Fahrzeug.
new kaufauto[3];
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Autokauf System by Simon");
print("--------------------------------------\n");
for(new i = 0; i < sizeof Autohaus; i++) //schleife die alle autohäuser durchgeht.
{
new datei[50];
format(datei,sizeof(datei),"/Autohaeuser/%s.ini",Autohaus[i][Name]);
if(!dini_Exists(datei)) // falls es die datei nicht gibt.
{
dini_Create(datei); //datei wird createt
dini_Set(datei,"Besitzer","Staat"); // Besitzer=Staat wird in die datei geschrieben
dini_IntSet(datei,"Kasse",Autohaus[i][Kasse]); // Kasse=0 (oben festgelegt) wird in die datei geschrieben
}
//nur wird die datei ausgelesen und in die variablen geschrieben:
Autohaus[i][Kasse] = dini_Int(datei,"Kasse");
format(Autohaus[i][Besitzer],MAX_PLAYER_NAME,dini_Get(datei,"Besitzer"));
CreatePickup(1239,1,Autohaus[i][posx],Autohaus[i][posy],Autohaus[i][posz],-1);
}
for(new j = 0; j < sizeof Buycars; j++)
{
kaufauto[j] = CreateVehicle(Buycars[j][modelid],Buycars[j][posx],Buycars[j][posy],Buycars[j][posz],Buycars[j][posa],-1,-1,-1);
}
return 1;
}
public OnFilterScriptExit()
{
for(new i = 0; i < sizeof Autohaus; i++) //schleife die alle autohäuser durchgeht.
{
new datei[75];
format(datei,sizeof(datei),"/Autohaeuser/%s.ini",Autohaus[i][Name]);
dini_Set(datei,"Besitzer",Autohaus[i][Besitzer]);
dini_IntSet(datei,"Kasse",Autohaus[i][Kasse]);
}
for(new j = 0; j < sizeof Buycars; j++)
{
DestroyVehicle(kaufauto[j]);
}
return 1;
}
#endif
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
for(new i = 0; i < 3; i++)
{
new Autodatei[100],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d.ini",name,i);
if(dini_Exists(Autodatei))
{
Autos[playerid][i][modelid] = dini_Int(Autodatei,"modelid");
Autos[playerid][i][HP] = dini_Int(Autodatei,"HP");
Autos[playerid][i][Farbe1] = dini_Int(Autodatei,"Farbe1");
Autos[playerid][i][Farbe2] = dini_Int(Autodatei,"Farbe2");
Autos[playerid][i][Paintjob] = dini_Int(Autodatei,"Paintjob");
format(Autos[playerid][i][Nummernschild],20,dini_Get(Autodatei,"Nummernschild"));
Autos[playerid][i][posx] = dini_Int(Autodatei,"posx");
Autos[playerid][i][posy] = dini_Int(Autodatei,"posy");
Autos[playerid][i][posz] = dini_Int(Autodatei,"posz");
Autos[playerid][i][posa] = dini_Int(Autodatei,"posa");
Autos[playerid][i][Spoiler] = dini_Int(Autodatei,"Spoiler");
Autos[playerid][i][Wheels] = dini_Int(Autodatei,"Wheels");
Autos[playerid][i][Nitro] = dini_Int(Autodatei,"Nitro");
Autos[playerid][i][Roof] = dini_Int(Autodatei,"Roof");
Autos[playerid][i][Hood] = dini_Int(Autodatei,"Hood");
Autos[playerid][i][Sideskirt] = dini_Int(Autodatei,"Sideskirt");
Autos[playerid][i][Lamps] = dini_Int(Autodatei,"Lamps");
Autos[playerid][i][Exhaust] = dini_Int(Autodatei,"Exhaust");
Autos[playerid][i][Stereo] = dini_Int(Autodatei,"Stereo");
Autos[playerid][i][Hydraulics] = dini_Int(Autodatei,"Hydraulics");
Autos[playerid][i][VentRight] = dini_Int(Autodatei,"VentRight");
Autos[playerid][i][VentLeft] = dini_Int(Autodatei,"VentLeft");
Autos[playerid][i][FrontBumper] = dini_Int(Autodatei,"FrontBumper");
Autos[playerid][i][RearBumper] = dini_Int(Autodatei,"RearBumper");
Spielercar[playerid][i] = CreateVehicle(Autos[playerid][i][modelid],Autos[playerid][i][posx],Autos[playerid][i][posy],Autos[playerid][i][posz]+1.5,Autos[playerid][i][posa],-1,-1,-1);
SetVehicleNumberPlate(Spielercar[playerid][i],dini_Get(Autodatei,"Nummernschild"));
SetVehicleParamsForPlayer(Spielercar[playerid][i],playerid,0,0);
if(Autos[playerid][i][HP] > 250)
{
SetVehicleHealth(Spielercar[playerid][i],Autos[playerid][i][HP]);
}
else SetVehicleHealth(Spielercar[playerid][i],255.0);
if(Autos[playerid][i][Paintjob] >= 0)
{
ChangeVehiclePaintjob(Spielercar[playerid][i],Autos[playerid][i][Paintjob]);
}
if(Autos[playerid][i][Farbe1] >= 0 || Autos[playerid][i][Farbe2] >= 0)
{
ChangeVehicleColor(Spielercar[playerid][i],Autos[playerid][i][Farbe1],Autos[playerid][i][Farbe2]);
}
if(Autos[playerid][i][Spoiler] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Spoiler]); }
if(Autos[playerid][i][Hood] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Hood]); }
if(Autos[playerid][i][Roof] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Roof]); }
if(Autos[playerid][i][Sideskirt] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Sideskirt]); }
if(Autos[playerid][i][Lamps] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Lamps]); }
if(Autos[playerid][i][Nitro] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Nitro]); }
if(Autos[playerid][i][Exhaust] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Exhaust]); }
if(Autos[playerid][i][Wheels] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Wheels]); }
if(Autos[playerid][i][Stereo] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Stereo]); }
if(Autos[playerid][i][Hydraulics] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][Hydraulics]); }
if(Autos[playerid][i][FrontBumper] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][FrontBumper]); }
if(Autos[playerid][i][RearBumper] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][RearBumper]); }
if(Autos[playerid][i][VentRight] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][VentRight]); }
if(Autos[playerid][i][VentLeft] >= 1000) { AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][VentLeft]); }
}
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
for(new i = 0; i < 3; i++)
{
new Autodatei[100],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d.ini",name,i);
if(dini_Exists(Autodatei))
{
new Float:vhp;
GetVehicleHealth(Spielercar[playerid][i],vhp);
dini_IntSet(Autodatei,"Farbe1",Autos[playerid][i][Farbe1]);
dini_IntSet(Autodatei,"Farbe2",Autos[playerid][i][Farbe2]);
dini_IntSet(Autodatei,"Paintjob",Autos[playerid][i][Paintjob]);
dini_FloatSet(Autodatei,"posx",Autos[playerid][i][posx]);
dini_FloatSet(Autodatei,"posy",Autos[playerid][i][posy]);
dini_FloatSet(Autodatei,"posz",Autos[playerid][i][posz]);
dini_FloatSet(Autodatei,"posa",Autos[playerid][i][posa]);
dini_FloatSet(Autodatei,"HP",vhp);
dini_Set(Autodatei,"Nummernschild",Autos[playerid][i][Nummernschild]);
dini_IntSet(Autodatei,"Spoiler",GetVehicleComponentInSlot(Spielercar[playerid][i],0));
dini_IntSet(Autodatei,"Hood",GetVehicleComponentInSlot(Spielercar[playerid][i],1));
dini_IntSet(Autodatei,"Roof",GetVehicleComponentInSlot(Spielercar[playerid][i],2));
dini_IntSet(Autodatei,"Sideskirt",GetVehicleComponentInSlot(Spielercar[playerid][i],3));
dini_IntSet(Autodatei,"Lamps",GetVehicleComponentInSlot(Spielercar[playerid][i],4));
dini_IntSet(Autodatei,"Nitro",GetVehicleComponentInSlot(Spielercar[playerid][i],5));
dini_IntSet(Autodatei,"Exhaust",GetVehicleComponentInSlot(Spielercar[playerid][i],6));
dini_IntSet(Autodatei,"Wheels",GetVehicleComponentInSlot(Spielercar[playerid][i],7));
dini_IntSet(Autodatei,"Stereo",GetVehicleComponentInSlot(Spielercar[playerid][i],8));
dini_IntSet(Autodatei,"Hydraulics",GetVehicleComponentInSlot(Spielercar[playerid][i],9));
dini_IntSet(Autodatei,"FrontBumper",GetVehicleComponentInSlot(Spielercar[playerid][i],10));
dini_IntSet(Autodatei,"RearBumper",GetVehicleComponentInSlot(Spielercar[playerid][i],11));
dini_IntSet(Autodatei,"VentRight",GetVehicleComponentInSlot(Spielercar[playerid][i],12));
dini_IntSet(Autodatei,"VentLeft",GetVehicleComponentInSlot(Spielercar[playerid][i],13));
DestroyVehicle(Spielercar[playerid][i]);
}
}
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
for(new i = 0; i < sizeof Buycars; i++)
{
if(vehicleid == kaufauto[i])
{
new str[150];
format(str,sizeof(str),"Möchten Sie dieses Fahrzeug kaufen?\n\nName: %s\nPreis: %d", Buycars[i][Name], Buycars[i][Preis]);
TogglePlayerControllable(playerid,0);
return ShowPlayerDialog(playerid,Dialog_Buycar,DIALOG_STYLE_MSGBOX,"Autokauf",str,"Kaufen","Abbrechen");
}
else continue;
}
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid == Dialog_Buycar)
{
if(response)
{
//Geld abfrage bearbeiten!!!
new vehicleid = GetPlayerVehicleID(playerid);
for(new i = 0; i < sizeof Buycars; i++)
{
if(vehicleid == kaufauto[i])
{
new geld = GetPlayerMoney(playerid); //anpassen!!
if(geld >= Buycars[i][Preis]) //geld abfrage anpassen!"
{
new datei[100],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(datei,sizeof(datei),"/Autos/%s_Auto_0.ini",name); // verzeichnis: /scriptfiles/ordner/name_auto_id.ini
if(dini_Exists(datei))
{
new datei2[100];
format(datei2,sizeof(datei2),"/Autos/%s_Auto_1.ini",name);
if(dini_Exists(datei2))
{
SendClientMessage(playerid,0xDD0000FF,"Fehler: Sie besitzen bereits 2 Fahrzeuge!!");
TogglePlayerControllable(playerid,1);
RemovePlayerFromVehicle(playerid);
}
else AutoKaufen(playerid,1); //eigenes public
}
else AutoKaufen(playerid,0); //eigenes public
}
else
{
SendClientMessage(playerid,0xDD0000FF,"Fehler: Sie haben nicht genügend Geld!");
TogglePlayerControllable(playerid,1);
RemovePlayerFromVehicle(playerid);
}
}
}
}
else
{
TogglePlayerControllable(playerid,1);
RemovePlayerFromVehicle(playerid);
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
public AutoKaufen(playerid,autoid)
{
for(new i = 0; i < sizeof Buycars; i++)
{
if(GetPlayerVehicleID(playerid) == kaufauto[i])
{
for(new j = 0; j < sizeof Autohaus; j++)
{
if(!strcmp(Autohaus[j][Name],Buycars[i][Autohausname],true))
{
new Autodatei[100],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d.ini",name,autoid);
dini_Create(Autodatei);
dini_Set(Autodatei,"Name",Buycars[i][Name]);
dini_IntSet(Autodatei,"modelid",Buycars[i][modelid]);
dini_FloatSet(Autodatei,"HP",1000.00);
dini_FloatSet(Autodatei,"posx",Autohaus[j][spawnx]);
dini_FloatSet(Autodatei,"posy",Autohaus[j][spawny]);
dini_FloatSet(Autodatei,"posz",Autohaus[j][spawnz]);
dini_FloatSet(Autodatei,"posa",Autohaus[j][spawna]);
dini_IntSet(Autodatei,"Farbe1",-1);
dini_IntSet(Autodatei,"Farbe2",-1);
dini_IntSet(Autodatei,"Paintjob",-1);
dini_Set(Autodatei,"Nummernschild",Buycars[i][Name]);
Spielercar[playerid][autoid] = CreateVehicle(Buycars[i][modelid],Autohaus[j][spawnx],Autohaus[j][spawny],Autohaus[j][spawnz],Autohaus[j][spawna],-1,-1,-1);
SetVehicleNumberPlate(Spielercar[playerid][autoid],dini_Get(Autodatei,"Nummernschild"));
dini_IntSet(Autodatei,"Spoiler",GetVehicleComponentInSlot(Spielercar[playerid][autoid],0));
dini_IntSet(Autodatei,"Hood",GetVehicleComponentInSlot(Spielercar[playerid][autoid],1));
dini_IntSet(Autodatei,"Roof",GetVehicleComponentInSlot(Spielercar[playerid][autoid],2));
dini_IntSet(Autodatei,"Sideskirt",GetVehicleComponentInSlot(Spielercar[playerid][autoid],3));
dini_IntSet(Autodatei,"Lamps",GetVehicleComponentInSlot(Spielercar[playerid][autoid],4));
dini_IntSet(Autodatei,"Nitro",GetVehicleComponentInSlot(Spielercar[playerid][autoid],5));
dini_IntSet(Autodatei,"Exhaust",GetVehicleComponentInSlot(Spielercar[playerid][autoid],6));
dini_IntSet(Autodatei,"Wheels",GetVehicleComponentInSlot(Spielercar[playerid][autoid],7));
dini_IntSet(Autodatei,"Stereo",GetVehicleComponentInSlot(Spielercar[playerid][autoid],8));
dini_IntSet(Autodatei,"Hydraulics",GetVehicleComponentInSlot(Spielercar[playerid][autoid],9));
dini_IntSet(Autodatei,"FrontBumper",GetVehicleComponentInSlot(Spielercar[playerid][autoid],10));
dini_IntSet(Autodatei,"RearBumper",GetVehicleComponentInSlot(Spielercar[playerid][autoid],11));
dini_IntSet(Autodatei,"VentRight",GetVehicleComponentInSlot(Spielercar[playerid][autoid],12));
dini_IntSet(Autodatei,"VentLeft",GetVehicleComponentInSlot(Spielercar[playerid][autoid],13));
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,1);
//geld-=Buycars[i][Preis]; //geld system anpassen
Autohaus[j][Kasse]+=Buycars[i][Preis];
Autos[playerid][autoid][modelid] = dini_Int(Autodatei,"modelid");
Autos[playerid][autoid][HP] = dini_Int(Autodatei,"HP");
Autos[playerid][autoid][Farbe1] = dini_Int(Autodatei,"Farbe1");
Autos[playerid][autoid][Farbe2] = dini_Int(Autodatei,"Farbe2");
Autos[playerid][autoid][Paintjob] = dini_Int(Autodatei,"Paintjob");
Autos[playerid][autoid][Nummernschild] = dini_Int(Autodatei,"Nummernschild");
Autos[playerid][autoid][posx] = dini_Int(Autodatei,"posx");
Autos[playerid][autoid][posy] = dini_Int(Autodatei,"posy");
Autos[playerid][autoid][posz] = dini_Int(Autodatei,"posz");
Autos[playerid][autoid][posa] = dini_Int(Autodatei,"posa");
Autos[playerid][autoid][Spoiler] = dini_Int(Autodatei,"Spoiler");
Autos[playerid][autoid][Wheels] = dini_Int(Autodatei,"Wheels");
Autos[playerid][autoid][Nitro] = dini_Int(Autodatei,"Nitro");
Autos[playerid][autoid][Roof] = dini_Int(Autodatei,"Roof");
Autos[playerid][autoid][Hood] = dini_Int(Autodatei,"Hood");
Autos[playerid][autoid][Sideskirt] = dini_Int(Autodatei,"Sideskirt");
Autos[playerid][autoid][Lamps] = dini_Int(Autodatei,"Lamps");
Autos[playerid][autoid][Exhaust] = dini_Int(Autodatei,"Exhaust");
Autos[playerid][autoid][Stereo] = dini_Int(Autodatei,"Stereo");
Autos[playerid][autoid][Hydraulics] = dini_Int(Autodatei,"Hydraulics");
Autos[playerid][autoid][VentRight] = dini_Int(Autodatei,"VentRight");
Autos[playerid][autoid][VentLeft] = dini_Int(Autodatei,"VentLeft");
Autos[playerid][autoid][FrontBumper] = dini_Int(Autodatei,"FrontBumper");
Autos[playerid][autoid][RearBumper] = dini_Int(Autodatei,"RearBumper");
}
}
}
}
return 1;
}