Àlso ich hab
new HappyHour;
Das Happy Hour gestartet wird mit Timer und so...
So jetzt hab ich:
if(HappyHour == 1)//1 = Happy Hour ist an 0 hab ich unten noch
{
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/H_trains.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/H_pilots.txt");
...
Aber der Gamemode wird immer ohne Happy Hour gestartet Warum nur ???
Ist doch alles richtig oder ?
Bin am verzweifeln :( Autos laden nicht Warum nur ?
- SplInTeC
- 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
-
-
Hallo,
Ich glaube es liegt daran, dass die Variable beim Start des Gamemodes auf 0 gesetzt wird. Du must bei public OnGamemodeInit einfach die Variable auf 1 setzen, weil ja abgefragt wird ob die Variable auf 1 ist.
HappyHour = 1;
Um das noch hübscher zu machen, kannst du es einrichten, dass du HappyHour mittels eines Befehls wieder deaktivieren kannst.
Gruß. Brandon.
-
Denke geht auch so
-
Ich hab aber einen Timer drin der soll nach einer Stunde die Variable auf 1 setzten dies Tut er aber nicht ..
-
Also dann solltest du mal die Funktion posten, die vom Timer ausgelöst wird und den Code des Timers.
Ohne passendem Code kann dir keiner helfen.
Gruß. Lincoln (Brandon).
-
forward HappyHourBeta(playerid);
new HappyHour;
new HappyHourTimer;OnGameModeInIt
HappyHourTimer = SetTimer("HappyHourBeta", 3600000, true);Public
public HappyHourBeta(playerid)
{
if(HappyHour == 0)
{
HappyHour = 1;
new string[256];
new string2[256];
format(string,sizeof(string),"Happy Hour startet. 250 Panzer und 10 Hunter werden in San Andreas platziert.", playerid);
format(string2,sizeof(string2),"Der Server restartet.", playerid);
SendClientMessageToAll(0xFF0000FF,string);
SendClientMessageToAll(0xFF0000FF,string2);
SendRconCommand("gmx");
printf("-------->Happy Hour Startet.<--------");
SendRconCommand("mapname |>->Happy Hour<-<|");
HappyHour = 1;
}
return 1;
} -
public HappyHourBeta(playerid)
{
if(HappyHour == 0)
{
HappyHour = 1;
new string[256];
new string2[256];
format(string,sizeof(string),"Happy Hour startet. 250 Panzer und 10 Hunter werden in San Andreas platziert.", playerid);
format(string2,sizeof(string2),"Der Server restartet.", playerid);
SendClientMessageToAll(0xFF0000FF,string);
SendClientMessageToAll(0xFF0000FF,string2);
SendRconCommand("gmx");
printf("-------->Happy Hour Startet.<--------");
SendRconCommand("mapname |>->Happy Hour<-<|");
HappyHour = 1;
}
return 1;
}
GMX = server restart/naechster gamemode aus der ini wird geladen = nach gmx kommt nur noch OnGameModeExit und das wars mit dem Gamemode. Selbstverstaendlich ist danach nichts mehr mit HappyHour. -
So dann schaun wir mal.
Also zu guter Erst, ist es bei dieser Funktion sinnfrei die Variable "playerid" mit einzubeziehen, da du ja sowieso keine Spieler-ID bei HappyHourBeta brauchst.
forward HappyHourBeta();
HappyHourTimer = SetTimer("HappyHourBeta", 3600000, true);
Da ist alles korrekt soweit, aber wenn du playerid als spezielle Variable gebraucht hättest, dann hättest du auf SetTimerEx(...) zurückgreifen müssen, ist hier aber nicht nötig.Dann nochmal ersetzen:
public HappyHourBeta()
{
if(HappyHour == 0)
...Aber wie mein Vorposter schon sagte, hat das wenig mit dem Laden von Fahrzeugen zu tun, da GMX der Serverrestart ist. Das must du nochmal überarbeiten glaub ich.
Gruß. Lincoln.
-
Aber der Gamemode muss doch restarten damit er die anderen Autos lödt oder nicht ?
-
Nein, weil wenn du den Gamemode neustartest ist die Variable wieder auf 0 und nichts mit HappyHour.
Du must auch nicht unbedingt die Fahrzeuge laden, du kannst diese auch einfach per CreateVehicle(...) erstellen, dazu muss man nicht neustarten.
Gruß. Lincoln.
-
breadfish.de
Hat das Thema geschlossen.