Hi
ich möchte bei meinem LoH Edit das Autohaus umbauen, sodass die Autos die man kaufen kann
da stehen man einsteigt und da /buycar macht.
Ich dachte mir das ist ja nicht son riesen Problem, aber es will nicht gehen.
Also es gibt eine praktische Funktion (OnPlayerBuyCar) , die beim Enter
drücken bei der Auswahl aufgerufen wird:
public OnPlayerBuyCar(playerid,Model,Preis,Autohaus)//CARSYS
{
if(IsPlayerConnected(playerid) && !Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
{
CallRemoteFunction("M_GivePlayerMoney","id",playerid,-Preis);
if(Autohaus == 0)
{
AddToBizzTill(54,Preis);
}
else if(Autohaus == 1)
{
AddToBizzTill(24,Preis);
}
else if(Autohaus == 2)
{
AddToBizzTill(21,Preis);
}
else if(Autohaus == 3)
{
AddToBizzTill(22,Preis);
}
else if(Autohaus == 4)
{
AddToBizzTill(23,Preis);
}
SetParkPlatz(playerid,Autohaus);
new name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, sizeof name);
format(str, sizeof str, "/Autos/%s%d.dtcar", name,Dtc_PlayerKey[playerid]);
new File: hFile = fopen(str, io_write);
if (hFile)
{
new var[32];
format(var, 32, "CarId=0\n");fwrite(hFile, var);
format(var, 32, "CarModel=%d\n",Model);fwrite(hFile, var);
format(var, 32, "CarPos_x=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_x]);fwrite(hFile, var);
format(var, 32, "CarPos_y=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_y]);fwrite(hFile, var);
format(var, 32, "CarPos_z=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_z]);fwrite(hFile, var);
format(var, 32, "CarRotate=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarRotate]);fwrite(hFile, var);
format(var, 32, "CarNitro=0\n");fwrite(hFile, var);
format(var, 32, "CarHyd=0\n");fwrite(hFile, var);
format(var, 32, "CarWheel=0\n");fwrite(hFile, var);
format(var, 32, "CarAusp=0\n");fwrite(hFile, var);
format(var, 32, "CarSideL=0\n");fwrite(hFile, var);
format(var, 32, "CarSideR=0\n");fwrite(hFile, var);
format(var, 32, "CarFB=0\n");fwrite(hFile, var);
format(var, 32, "CarRB=0\n");fwrite(hFile, var);
format(var, 32, "CarSpoiler=0\n");fwrite(hFile, var);
format(var, 32, "CarRoof=0\n");fwrite(hFile, var);
format(var, 32, "CarHood=0\n");fwrite(hFile, var);
format(var, 32, "CarVents=0\n");fwrite(hFile, var);
format(var, 32, "CarLamps=0\n");fwrite(hFile, var);
format(var, 32, "CarPJ=-1\n");fwrite(hFile, var);
format(var, 32, "CarC1=1\n");fwrite(hFile, var);
format(var, 32, "CarC2=1\n");fwrite(hFile, var);
format(var, 32, "Preis=%d\n",Preis);fwrite(hFile, var);
fclose(hFile);
}
OnPlayerCarLogin(playerid);
}
}
Meine Idee war jetzt das einfach über den Befehl /buycar aufzurufen.
Bisher habe ich als Test 1 Auto schon im Script drin (ID: 34)
if(strcmp(cmdtext, "/buycar") == 0)
{
new model, price;
model = GetVehicleModel(playerid);
price = GetPlayerVehiclePrice(model);
if(GetPlayerVehicleID(playerid) == 34)
{
OnPlayerBuyCar(playerid,model,price,2);
}
return 1;
}
Und das Stock GetPlayerVehiclePrice:
stock GetPlayerVehiclePrice(vehicleid)
{
new modelid;
modelid = GetVehicleModel(vehicleid);
switch(modelid)
{
case 507: return 50000;
}
return 1;
}
mfg