Hatt jemand vllt ein script von einer Batterie also wen der wargen Licht anhat das den die Batterie runtergeht und ab ca.2 Volt kann man den Mototr und Das Licht nicht mehr starten ich habe überhaupt kein Plan
wen die Batterie noch 3Volt hat kann man alles starten und durchs fahren Lädt die sich wiedr auf
Ich bitte dringend um Hilfe da Ich in der Sufu rein garnichts gefunden habe.
Bitte Bitte
Mfg: Gurkie
Batterie system
- Gurkie94
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Fahrzeug bezogene Timer verwenden die bei Licht an ab ner bestimmten Sekunde -- zählen.
Und dann einfache Abfragen, aber ist das nicht argh ressourcen fressend für jedes Fahrzeug welches Licht anhat einen Timer zu bauen? -
Nehmen wir mal an auf deinem Server sind 60 Leute, von 60 Leuten besitzen 50 ein Auto, bzw mehrere Autos. Gehen wir mal davon aus, jeder hat 2 Autos, macht zusammen 100 Autos = 100 Timer + die Fraktionsfahrzeuge dazu..
-
Gurke ich würde nach gefahrenen Kilometern zählen z.B. nach 100 km lässt du eine Zahl immer weniger in einer Datei zählen.
Nur wie du das wieder "aufladen" willst ... ich sehe vorläufig keinen Sinn, da ein Auto ja immer fährt ^^...
-
ja aber das muss doch irgendwie gehen sonst über ein timer und wen das auto steht und licht an is geht die zahl runter aber ich habe kp wie ich das scripten soll
ZitatNur wie du das wieder "aufladen" willst ... ich sehe vorläufig keinen Sinn, da ein Auto ja immer fährt ^^...
in Real kann die autobatterie leer gehen wen Man Radio oder licht anlässt den kann man sie ersetzen oder aufladen alles kein problem nur das er es abzieht ich habe kp wie ich das zur hölle machen soll
-
Dann wähl meine Variante mit einem Timer und wenn x Sekunden abgelaufen sind dann ziehste so und so viel ab... wenn es <= 3 ist dann lässt du einfach das Fahrzeug freezen oder so ^^..
-
Du nimmst einfach einen GLOBALEN Timer und fragst alle X Sekunden ab also im Timer Callback ob der Spieler in einem Fahrzeug ist, ob das Licht/der Motor an ist!
Lg
-
kannst du mal ein Beispiel scripten bitte
-
Du nimmst einfach einen GLOBALEN Timer und fragst alle X Sekunden ab also im Timer Callback ob der Spieler in einem Fahrzeug ist, ob das Licht/der Motor an ist!
Lg
Aber er möchte ja, wenn das Auto steht, dass der Timer läuft wenn ja soll ja etwas passieren ^^...
Ich denke halt an einem Timer, der Zählt wenn sich das Fahrzeug nicht mehr bewegt, und wenn X Sekunden zusammen gekommen sind, dass es X Batterie abzieht - und wenn es fährt dann wird der timer resetet, und die Batterie wieder befüllt natürlich auch nach X Sekunden fahrt :D. -
Aber er möchte ja, wenn das Auto steht, dass der Timer läuft wenn ja soll ja etwas passieren ^^...
Ich denke halt an einem Timer, der Zählt wenn sich das Fahrzeug nicht mehr bewegt, und wenn X Sekunden zusammen gekommen sind, dass es X Batterie abzieht - und wenn es fährt dann wird der timer resetet, und die Batterie wieder befüllt natürlich auch nach X Sekunden fahrt :D.Eine Autobatterie im Realen Leben 'startet' auch nicht erst wenn der Wagen steht
Er setzt einfach einen globalen Timer unter OnGameModeInit, dann lässt er im Timer Callback einfach abfragen, ob das Fahrzeug an ist, dann wird eine globale spieler variable um 1 erhöht oder wenn er sie oben auf 100 setzt um 1 gesenkt (--; / ++; ), dann fragt er darunter ab, den status der batteriem, ist sie 0 oder was weiß ich, dann schaltet er den motor ab und setzt ne variable, dass der motor aus ist, der timer wird für den spieler gestppt da das Fahrzeug aus ist.
MfG
-
Eine Autobatterie im Realen Leben 'startet' auch nicht erst wenn der Wagen steht
Er setzt einfach einen globalen Timer unter OnGameModeInit, dann lässt er im Timer Callback einfach abfragen, ob das Fahrzeug an ist, dann wird eine globale spieler variable um 1 erhöht oder wenn er sie oben auf 100 setzt um 1 gesenkt (--; / ++; ), dann fragt er darunter ab, den status der batteriem, ist sie 0 oder was weiß ich, dann schaltet er den motor ab und setzt ne variable, dass der motor aus ist, der timer wird für den spieler gestppt da das Fahrzeug aus ist.
MfG
Das stimmt schon, aber im realen Leben hast du die Lichtmaschine, die immer läuft sobald der Motor an ist
Ich denke einfach, dass es die einfache Variante ist, wie ich mir so das vorgestellt habe, mit dem stehenden Timer und wenn das Licht an ist kann man den Timer * 2 machen oder so ^^... ist denke ich mir mal das einfache :b -
ja mit den abfragen das habe ich beim tank schon nicht hinbekommen er hat es den immer auf ein anderes fahrzeug übernommen
ich weiß nicht wie ich das machen soll ich bräuchte ein anfang -
new Vehicle = GetPlayerVehicleID(playerid);
Damit kannst du zum Beispiel anfangen^^... hab mir genaues grad nicht dadrüber gedacht... Ich guck mal, dass ich dir einen besseren anfang geben kann :b
-
damit sagt du ja vehicle ist das auto wo er drin ist aber wen er in keinem car ist woher weiß er den welches auto er abziehen muss?
-
Leute, so wie ich es gesagt habe ist es die ressourcendsparendste/einfachste/sauberste Methode.
So sieht bsp. mein Tacho / Bezin System aus.forward BenzinVerlust();
public BenzinVerlust()
{
for(new i;i<MAX_PLAYERS;i++)
{
new x = GetPlayerVehicleID(i);
if(IsPlayerInAnyVehicle(i) && GetPlayerState(i)==PLAYER_STATE_DRIVER)
{
if(Motor[x] == 1 && !IsABike(x))
{
//------------> Tank wird geupdatet
vTank[x]++;
if(vTank[x]==Verlust)//Alle X Sek. wird der Tank verringert
{
Tank[x]--;
vTank[x]=0;
}
if (Tank[x]<1)
{
Tank[x] = 0;
GetVehicleParamsEx(x,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(x,0,lights,alarm,doors,bonnet,boot,objective);
Motor[x] = 0;
GameTextForPlayer(i, "~r~Tank leer!~n~~g~Ruf einen Mechaniker!", 1000, 5);
}
}
//---------> Fahrzeugname
new string[20];
format(string,sizeof(string),"%s",GetVehicleName(x));
PlayerTextDrawSetString(i,TachoTank[20],string);
//---------> Km/h Anzeige wird geupdatet
new string2[10];
format(string2,sizeof (string2),"%d Km/h",GetPlayerSpeed(i));
PlayerTextDrawSetString(i,TachoTank[ 1],string2);
//---------> Schloss wird geupdatet
if(Schloss[x] == 0)
{
PlayerTextDrawColor(i,TachoTank[ 2], 16711935);
PlayerTextDrawColor(i,TachoTank[ 4], 16711935);
PlayerTextDrawColor(i,TachoTank[ 5], 16711935);
PlayerTextDrawColor(i,TachoTank[ 6], 16711935);
PlayerTextDrawShow(i, TachoTank[ 2]);
PlayerTextDrawShow(i, TachoTank[ 4]);
PlayerTextDrawShow(i, TachoTank[ 5]);
PlayerTextDrawShow(i, TachoTank[ 6]);
}
if(Schloss[x] == 1)
{
PlayerTextDrawColor(i,TachoTank[ 2], -16776961);
PlayerTextDrawColor(i,TachoTank[ 4], -16776961);
PlayerTextDrawColor(i,TachoTank[ 5], -16776961);
PlayerTextDrawColor(i,TachoTank[ 6], -16776961);
PlayerTextDrawShow(i, TachoTank[ 2]);
PlayerTextDrawShow(i, TachoTank[ 4]);
PlayerTextDrawShow(i, TachoTank[ 5]);
PlayerTextDrawShow(i, TachoTank[ 6]);
}
//---------> Tankanzeige wird geupdatet
if(Tank[x] == 100){}
if(Tank[x] == 90){}
if(Tank[x] == 85){}
if(Tank[x] <= 80){PlayerTextDrawHide(i, TachoTank[ 3]);}else PlayerTextDrawShow(i, TachoTank[ 3]);
if(Tank[x] <= 75){PlayerTextDrawHide(i, TachoTank[ 3]);}else PlayerTextDrawShow(i, TachoTank[ 3]);
if(Tank[x] <= 70){PlayerTextDrawHide(i, TachoTank[ 3]);}else PlayerTextDrawShow(i, TachoTank[ 3]);
if(Tank[x] <= 65){PlayerTextDrawHide(i, TachoTank[ 7]);}else PlayerTextDrawShow(i, TachoTank[ 7]);
if(Tank[x] <= 60){PlayerTextDrawHide(i, TachoTank[ 8]);}else PlayerTextDrawShow(i, TachoTank[ 8]);
if(Tank[x] <= 55){PlayerTextDrawHide(i, TachoTank[ 9]);}else PlayerTextDrawShow(i, TachoTank[ 9]);
if(Tank[x] <= 50){PlayerTextDrawHide(i, TachoTank[10]);}else PlayerTextDrawShow(i, TachoTank[10]);
if(Tank[x] <= 45){PlayerTextDrawHide(i, TachoTank[11]);}else PlayerTextDrawShow(i, TachoTank[11]);
if(Tank[x] <= 40){PlayerTextDrawHide(i, TachoTank[12]);}else PlayerTextDrawShow(i, TachoTank[12]);
if(Tank[x] <= 35){PlayerTextDrawHide(i, TachoTank[13]);}else PlayerTextDrawShow(i, TachoTank[13]);
if(Tank[x] <= 30){PlayerTextDrawHide(i, TachoTank[14]);}else PlayerTextDrawShow(i, TachoTank[14]);
if(Tank[x] <= 25){PlayerTextDrawHide(i, TachoTank[15]);}else PlayerTextDrawShow(i, TachoTank[15]);
if(Tank[x] <= 20){PlayerTextDrawHide(i, TachoTank[16]);}else PlayerTextDrawShow(i, TachoTank[16]);
if(Tank[x] <= 15){PlayerTextDrawHide(i, TachoTank[17]);}else PlayerTextDrawShow(i, TachoTank[17]);
if(Tank[x] <= 10){PlayerTextDrawHide(i, TachoTank[18]);}else PlayerTextDrawShow(i, TachoTank[18]);
if(Tank[x] == 5){PlayerTextDrawHide(i, TachoTank[19]);} else PlayerTextDrawShow(i, TachoTank[19]);
}
//------------> Wenn er nicht in einem Fahrzeug ist und nicht der Fahrer ist
else
{
PlayerTextDrawHide(i, TachoTank[ 0]);
PlayerTextDrawHide(i, TachoTank[ 1]);
PlayerTextDrawHide(i, TachoTank[ 2]);
PlayerTextDrawHide(i, TachoTank[ 3]);
PlayerTextDrawHide(i, TachoTank[ 4]);
PlayerTextDrawHide(i, TachoTank[ 5]);
PlayerTextDrawHide(i, TachoTank[ 6]);
PlayerTextDrawHide(i, TachoTank[ 7]);
PlayerTextDrawHide(i, TachoTank[ 8]);
PlayerTextDrawHide(i, TachoTank[ 9]);
PlayerTextDrawHide(i, TachoTank[10]);
PlayerTextDrawHide(i, TachoTank[11]);
PlayerTextDrawHide(i, TachoTank[12]);
PlayerTextDrawHide(i, TachoTank[13]);
PlayerTextDrawHide(i, TachoTank[14]);
PlayerTextDrawHide(i, TachoTank[15]);
PlayerTextDrawHide(i, TachoTank[16]);
PlayerTextDrawHide(i, TachoTank[17]);
PlayerTextDrawHide(i, TachoTank[18]);
PlayerTextDrawHide(i, TachoTank[19]);
PlayerTextDrawHide(i, TachoTank[20]);
}
}
return 1;
}Lg
-
was sind das alles für Textraws ?
das geht aber nur wen einer drin sitzt
-
breadfish.de
Hat das Thema geschlossen.