Wenn du nur den letzten PayDay-Wert anzeigen lassen willst, dann kannst du das relativ einfach mit einem Spielerarray machen:
Dort wo dem Spieler das PayDay-Geld gegeben wird:
Und dann der Befehl:
Wenn du nur den letzten PayDay-Wert anzeigen lassen willst, dann kannst du das relativ einfach mit einem Spielerarray machen:
Dort wo dem Spieler das PayDay-Geld gegeben wird:
Und dann der Befehl:
Ahh ja, gettime arbeitet mit Sekunden, habe es mit GetTickCount vertauscht.
Zu
Und nochmal der Hinweis:
Lasse die Vollzitate, es macht doch keinen Sinn, dass zwei mal der gleiche Text hintereinander da steht. Ich habe es schon gesehen, dass diese Vollzitate samt Code von Mods entfernt wurden, also unterlasse es bitte und nutze nur den ANTWORTEN Button, das reicht, ist übersichtlicher und du bekommst keine Verwarnung.
Kannst du bitte diese sinnlosen Voll-Zitate samt Code unterlassen? Das siehst du doch selbst, dass das abartig aussieht.
Zum Problem:
Wie siehst dein Code zu dem Timer CheckRentCars aus?
Den ganzen Code bitte, nicht nur die Textdraws.
Dann ja.
EDIT:
Erledigt. Das Array war zu klein.
Poste bitte deinen ganzen Code, das macht keinen Sinn so. Da ist bestimmt woanders ein Fehler, der das verursacht.
3.
Dass dann diese Anweisung ausgeführt wird, mit dem Beenden der vorherigen Funktion, und der Wert, den diese Anweisung zurück gibt, dann zurück gegeben wird (falls es irgendwo abgefragt wird).
Meistens sagt man:
return 1 = Alles ok
return 0 = Fehler
(Nicht immer so)
Den Funktionsaufruf im return muss man nicht machen, man kann ihn auch vor das return 1; schreiben, das ist oftmals nur Stilsache.
Dann entferne die andere. Zwei mal geht es auf jeden Fall nicht.
1.)
Zeile 7 in dem Code: Da fehlt "playerid" bei TextDrawShowForPlayer.
2.)
Jetzt hast du die Deklaration zwei mal. Entferne eine der "new Text:Textdraw"s.
1.
Alles was den Hook betrifft, und den Code, der zu der Warnung gehört.
2.
Nein, CallLocalFunction ruft nur publics auf.
3.
Das beendet die Ausführung der Funktion (etc) an genau der Stelle.
1. Die "new"-Deklaration ist immer noch falsch, schaue dir den vorherigen Post an, wie das aussehen soll.
2. Wo hast du das stehen? Lösche es. Entfernen tust du die Textdraws ja mit der Schleife die ich dir vorhin gepostet habe.
Nein, das "Text:" brauchst du nur bei der Deklaration (new).
Erkläre bitte genauer, wenn möglich mit einem Beispiel, was du vor hast.
Entweder das "new Textdraws" zu "new Textdraw" ändern, oder anstatt "Textdraw" "Textdraws" schreiben.
Musst es eben an deine Deklaration (new) anpassen.
Korrekt, genau so.
Achte darauf, die alten Variablen (Textdraw1, Textdraw2, ...) zu entfernen, dann siehst du durch Errors, dass du eins vergessen hast, falls das vorkommen sollte.
Zeile 9 nach der "5" fehlt eine ")".
Ah, beim Einsteigen? Das habe ich vergessen, dem Spieler auch eine Nachricht zu senden, sorry.
Das wäre dann so:
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