N´Abend!
Habe Trucks und Flugzeuge. Beide Laden Produkte.
Wenn ich einsteige will ich, dass wenn es ein Truck ist, dass angezeigt wird: x/1000 Ladung ( x = Aktuelle Ladung )
Und bei den Flugzeugen will ich, dass angezeigt wird: x/5000 Ladung ( x = Aktuelle Ladung )
Bloß wenn ich in ein Flugzeug einsteige kommt x/5000 Ladung. Passt alles.
Aber wenn ich in einen Truck einsteige kommt auch x/5000 Ladung. Hier soll aber x/1000 Ladung kommen.
Hier der Code:
Die beiden Funktionen
stock IsATruck(ii)
{
for(new i = 0; i<MAX_VEHICLES; i++)
{
if(PlayerCar[i][vid] == ii)
{
if(PlayerCar[i][JobCar] == 1)
{
if(PlayerCar[i][Job] == 1)
{
return 1;
}
}
return 1;
}
}
return 0;
}
stock IsAJobPlane(ii)
{
for(new i = 0; i<MAX_VEHICLES; i++)
{
if(PlayerCar[i][vid] == ii)
{
if(PlayerCar[i][JobCar] == 1)
{
if(PlayerCar[i][Job] == 2)
{
return 1;
}
}
return 1;
}
}
return 0;
}
Und OnPlayerStateChange:
if(IsAJobPlane(GetPlayerVehicleID(playerid)))
{
new str[128];
format(str, sizeof str, "%d/5000 Ladung", Load[GetPlayerVehicleID(playerid)]);
SendClientMessage(playerid, Green, str);
}
else if(IsATruck(GetPlayerVehicleID(playerid)))
{
new str[128];
format(str, sizeof str, "%d/1000 Ladung", Load[GetPlayerVehicleID(playerid)]);
SendClientMessage(playerid, Green, str);
}
Aber:
x/1000 Ladung UND x/5000 Ladung beim einsteigen kommt, wenn ich das so mache:
if(IsAJobPlane(GetPlayerVehicleID(playerid)))
{
new str[128];
format(str, sizeof str, "%d/5000 Ladung", Load[GetPlayerVehicleID(playerid)]);
SendClientMessage(playerid, Green, str);
}
if(IsATruck(GetPlayerVehicleID(playerid)))
{
new str[128];
format(str, sizeof str, "%d/1000 Ladung", Load[GetPlayerVehicleID(playerid)]);
SendClientMessage(playerid, Green, str);
}
Warum will das nicht?
Die Variablen passen, das hab ich geprüft.
Hilfe wäre gut =)
LG
Evil