Ah, beim Einsteigen? Das habe ich vergessen, dem Spieler auch eine Nachricht zu senden, sorry.
Das wäre dann so:
C
if(newstate == PLAYER_STATE_DRIVER)
{
if(!IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
{
TextDrawShowForPlayer(playerid, Speedo[playerid]);
//SetTimerEx("Speedometer", 100, 1, "d", playerid);
//Ich habe diesen Timer auskommentiert, da er jedes mal gestartet würde,
//wenn du in ein Fahrzeug einsteigst, das einen Tacho hat, sprich irgendwann
//hast du 1000 Timer am Laufen, von denen jeder 10x pro Sekunde aufgerufen
//wird. Deine CPU wird dir das nicht danken ;)
//Also besser so:
speedoTimer[playerid] = SetTimerEx("Speedometer", 100, 1, "d", playerid);
//Und den Timer auch wieder beenden, wenn der Speedometer nicht mehr angezeigt wird.
//Oder noch besser ist es, einen einzigen globalen Timer mit einer Schleife durch
//alle Spieler zu machen, der Timer wird dann bei OnGameModeInit gestartet.
if(IsABike(GetPlayerVehicleID(playerid)))
{
timer2[playerid] = SetTimerEx("TankTimer",60000,1,"i",playerid);
}
else
{
timer2[playerid] = SetTimerEx("TankTimer",20000,1,"i",playerid);
}
}
//Hier der Code für die Roller:
new veh = GetPlayerVehicleID(playerid);
for(new i=0; i<sizeof(rentroller); i++)
{
if(veh == rentroller[i])
{
if(rentBlocked[i] == -1)
{
SendClientMessage(playerid,0xF60000F6,"Dieses Fahrzeug kannst du mieten! Tippe /rentcar, wenn du nicht möchtest, dann /verlassen.");
SendClientMessage(playerid,0xF60000F6,"Das Auto wird nach 30 Minuten respawnt.");
TogglePlayerControllable(playerid,0);
}
else if(rentBlocked[i] != playerid)
{
SendClientMessage(playerid,0xF60000F6,"Dieses Fahrzeug gehört bereits einem Spieler.");
RemovePlayerFromVehicle(playerid);
}
else
{
SendClientMessage(playerid, 0xF60000F6, "Willkommen.");
}
break;
}
}
}
Alles anzeigen