Hm, das passt eigentlich alles.
Debugge den Code bitte mal so:
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
printf("Spieler %d in Fahrzeug", playerid);
for(new i = 0; i < sizeof(ShowCars); i++)
{
printf("i: %d | vehicleid: %d | ShowCars: %d", i, vehicleid, ShowCars[i]);
if(vehicleid == ShowCars[i])
{
printf("Level: %d", PlayerInfo[playerid][pLevel]);
if(PlayerInfo[playerid][pLevel] < 2)
{
SendClientMessage(playerid,COLOR_GREY,"Du musst Level 3 sein um dir ein Fahrzeug kaufen zu können!");
return RemovePlayerFromVehicle(playerid);
}
printf("Model: %d", GetVehicleModel(vehicleid));
printf("Name: %s", VehicleName[GetVehicleModel(vehicleid)-400]);
printf("Preis: %d", AutohausVehicle[i][AhPreis]);
format(string,sizeof(string),"Möchten Sie das Fahrzeug: {FF8200} %s\n{FFFFFF}Für {FF8200} %d$ {FFFFFF}kaufen?",VehicleName[GetVehicleModel(vehicleid)-400],AutohausVehicle[i][AhPreis]);
printf("string: %s", string);
ShowPlayerDialog(playerid,DIALOG_AUTOHAUS_KAUF,DIALOG_STYLE_MSGBOX,"{FF8200}Autohaus{FFFFFF}",string,"Kaufen","Abbruch");
printf("Angezeigt.");
return true;
}
}
printf("Ende");
}
Was steht dann im Log, wenn du in ein solches Fahrzeug einsteigst?