Guten Tag Community, ich habe eine frage und die ist wie ich Öffnungszeiten für den Ammunation mache z.B Ab 12 Uhr ist Ammunatione offen bis 24 Uhr.
Wie mache ich dies?
Hilfe beim Öffnungszeiten
- Mitzu
- 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
-
-
Beim Reingehen abfragen welche Uhrzeit man hat. Ganz normale if-Anweisung und Zeitabfrage.
Wo genau kommst du nicht weiter? -
new Hour, Minute, Second;
gettime(Hour, Minute, Second);
//Und bei der Betretenabfrage
if(hour < 12) return 1; -
Bekomme ich nicht hin. Ich möchte es so machen damit
if(pickupid==ammuenter)
{
new hour,min,sec;
gettime(hour,min,sec);
if(hour < 8 || hour > 22)
SetPlayerPos(playerid,286.148986,-40.644397,1001.515625);
SetPlayerInterior(playerid,1);
GameTextForPlayer(playerid,"~g~Du hast den Ammunation betreten.",3000,3);
}
Doch bei mir kommen errors.Zeile (6289) : Variable "min" wurde mehrmals deklariert
-
Spricht doch schon für sich der Error.
min ist irgendwo anders definiert. Benenne "min" einfach zu "amin" oder "bmin" oder meinetwegen auch "cmin" um
Wenn ich mich nicht täusche, kannst du min und sec aber auch komplett weglassen, schließlich brauchst du ja nur die Stunde.
Wäre dann:
//...
new hour;
gettime(hour);
//...
Bin mir da aber nicht sicher, ansonsten halt umbenennen, wie oben beschrieben.MFG
Ben -
Ja, "min" wurde halt schonmal deklariert. Nenne "min" einfach um.
Also, dein Ammunation soll nur zwischen 22 und 8 Uhr auf sein? Also in der Nacht.
Dann mach es so:
if(pickupid == ammuenter)
{
new stunde,minute,sekunde;
gettime(stunde,minute,sekunde);
if(hour < 8 || hour > 22)
{
SetPlayerPos(playerid,286.148986,-40.644397,1001.515625);
SetPlayerInterior(playerid,1);
GameTextForPlayer(playerid,"~g~Du hast den Ammunation betreten.",3000,3);
return 1;
}
else
{
SendClientMessage(playerid, -1, "Geschlossen, Komme zwischen 22 Uhr und 8 Uhr wieder.");
return 1;
}
} -
//EDIT
Habe den Error beseitigt
-
naja wenn du "stunde" anlegst, solltest du auch "stunde" benutzen und nicht "hour".
-
Eventuell statt:
if(hour <10 || hour > 24)
//Zu
if(stunde < 10 || stunde > 24)Bin mir dabei nicht ganz sicher, ob es stimmt,
sondern es ist nur eine Arge Vermutung. -
Wenn ich zum Ammunation gehe ist der Ammunatione zu obwohl ich 14-15 Uhr gemacht habe zum Testen
if(pickupid == ammuenter)
{
new stunde,minute,sekunde;
gettime(stunde,minute,sekunde);
if(stunde < 14 || stunde > 15)
{
SetPlayerPos(playerid,286.148986,-40.644397,1001.515625);
SetPlayerInterior(playerid,1);
GameTextForPlayer(playerid,"~g~Du hast den Ammunation betreten.",3000,3);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED1, "Geschlossen, Komme zwischen 14 Uhr und 15 Uhr wieder.");
return 1;
}
} -
-
Schaue dir deinen Code nochmal genau an.
Du prüfst, ob stunde kleiner als 14 oder größer als 15 ist, wenn ja, lässt du den Spieler rein. Wenn du möchtest, das zwischen 14 Uhr und 15 Uhr geöffnet ist, ist die Uhrzeit nunmal 14 oder 15, und nicht kleiner als 14 oder größer als 15. Beide Fälle treffen nicht zu.
-
Wie mache ich das es morgen um 12 bis nachts bis 24 uhr offen ist?
-
if(stunde >= 12) {
Ist 12 - 0 Uhr. 24 Uhr ist ja = 0 Uhr.//Edit: Nein es gibt kein 25 Uhr <.<
-
if(pickupid == ammuenter)
{
new stunde,minute,sekunde;
gettime(stunde,minute,sekunde);
if(stunde>=12 || stunde==0)
{
SetPlayerPos(playerid,286.148986,-40.644397,1001.515625);
SetPlayerInterior(playerid,1);
GameTextForPlayer(playerid,"~g~Du hast den Ammunation betreten.",3000,3);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED1, "Geschlossen, Komme zwischen 12 Uhr und 24 Uhr wieder.");
return 1;
}
}//edit Fehler behoben.
-
Warum das "stunde == 0"?
Dann hat er von 0 bis um 1 auch noch auf. -
//EDIT
Ist das jetz bis 1 Uhr auch offen oder wie?
if(pickupid == ammuenter)
{
new stunde,minute,sekunde;
gettime(stunde,minute,sekunde);
if(stunde>=12 || stunde==0)
{
SetPlayerPos(playerid,286.148986,-40.644397,1001.515625);
SetPlayerInterior(playerid,1);
GameTextForPlayer(playerid,"~g~Du hast den Ammunation betreten.",3000,3);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED1, "Geschlossen, Komme zwischen 12 Uhr und 24 Uhr wieder.");
return 1;
}
}//edit Fehler behoben.
-
Wenn du noch "|| stunde == 0" reinmachst, dann ja.
Lässt du es raus, macht er um Punkt 0 Uhr dicht. -
Ich möchte ja das genau um 12 Uhr es öffnet und um 24 uhr genau schliesst.
-
Dann nimm den, den ich geschrieben habe:
if(stunde >= 12) { -
Er ist aber doch nicht bis 24 Uhr nachts. oder?