Hallo,
Da alles, was ich bisher versucht hatte nicht klappt, möchte ich hier jetzt mal nachfragen.
Also ich möchte, dass das Wetter in einem Public, sprich public Wetter()//Für die,die nicht wissen was ich meine entweder auf die Wetterid
2,19,8 oder 1 gesetzt wird.
Die entscheidung soll aber durch "Zufall" entschieden werden.
Vorbestimmtes Wetter
- KTP
- 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
-
-
public Wetter()
{
new rand = random(6); //Hier dann die Zahl ändern, die ihr als "case" habt.
switch(rand)
{
case 0:
{
SetWeather(1//wetterid);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
return 1;
}
case 1:
{
SetWeather(9//Wetterid);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 2:
{
SetWeather(19//wetterid);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 3:
{
SetWeather(22//wetterid);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 4:
{
SetWeather(8//Wetterid);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 5:
{
SetWeather(5//wetterid);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 6:
{
SetWeather(2//wetterid);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
return 1;
}
}
return 1;
}Versuch mal das
und nicht vergessen die noch rewinzubauen
//Wetter
SetTimer("Wetter",1000*60*60,1); //Alle 60min.forward Wetter();
-
Klappt nicht, muss nicht bei random eine 7 hin? Sind mit der Null Sieben Zahlen
Oder habe ich was vergessen? -
Was genau klappt denn nicht?
-
Der Code, der ändert nicht das Wetter.
-
so wie ich den dahin gemacht habe
so ist der genau uas meinen script der ändert alle 60min das wetter änder mal die ids alle auf schlechtes wetter
dann wirste merken das der geht
-
Klappt nicht, muss nicht bei random eine 7 hin? Sind mit der Null Sieben Zahlen
Oder habe ich was vergessen?
Was is ja lustig finde ist das du innerhalb von 20 min sagen kannst ob es funkt oder nicht.. dabei ist der Timer auf 60 min eingestellt. Und bei mir gehts(habe den Timer auf 5 min geändert) -
random(6);
ab da wird von 0-6 gerechnet also gibst du oben auch 6 an da die 0 automatisch ist
-
Hab den Timer bei mir auf eine Sekunde gestellt, FcKölnFanKaster du Schlaumeier, aber bei mir klappt es nicht.
-
wenn du den auf 1ne sekunde stellst dann überforderst du den sozugagen mach mal
1000*60*2 und warte mal ab
wenn du probleme dabei hast, melde dich via pn dann mache ich dir das per teamviewer
-
Es wird ja nichtmal die Nachricht "Das Wetter hat sich verändert" angezeigt, also daran liegt es nicht.
Ich schicke mal alles Codes.forward Wetter();
SetTimer("Wetter",1000*60*2,1);
public Wetter()
{
new rand = random(6);
switch(rand)
{
case 0:
{
SetWeather(1);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 1:
{
SetWeather(9);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 2:
{
SetWeather(19);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 3:
{
SetWeather(22);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 4:
{
SetWeather(8);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 5:
{
SetWeather(5);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
case 6:
{
SetWeather(2);
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
}
}
return 1;
}Vielleicht habe ich ja einen Fehler gemacht und merke es nicht.
-
also ich bin jetzt nicht der beste scripter... bin es halt auch noch am lernen.. aber muss bei
new rand = random(6);nicht so aussehen ?
new rand = random(7);Edit: Rechtschreibung
-
Ketchup, versuch mal 7, bei mir im selfmade mache ich auch immer eine zahl mehr[für die 0], bei mir klappt es immer nur so...
-
Wollt doch schon sagen
-
Einerseits musst du die random erhöhen, da random eine Zahl von 0 bis max-1 liefert. Also wenn du random 6 machst 0-5.
Dann kannst du den SendClient auch einmal unten rein posten, dann haste schonmal wieder weniger Byte in deinem Code.public Wetter()
{
new rand = random(7);
switch(rand)
{
case 0:
{
SetWeather(1);
}
case 1:
{
SetWeather(9);
}
case 2:
{
SetWeather(19);
}
case 3:
{
SetWeather(22);
}
case 4:
{
SetWeather(8);
}
case 5:
{
SetWeather(5);
}
case 6:
{
SetWeather(2);
}
}
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
return 1;
}Soweit sollte der Code funktionieren. Ein Fehler, den ich mir vorstellen könnte ist, dass du den SetTimer in den falschen Public gesetzt hast. Wo istn der SetTimer drin?
-
Habe das ja auch versucht, klappt aber auch nicht.
-
Und wo haste den SetTimer reingebaut ? Also der Public.
Vllt wird der Public Wetter ja gar nicht erst aufterufen.Aber das lässt sich ganz einfach durch nen logeintrag festestellen.
public Wetter()
{
print("Wetter Public aufgerufen"); // Den hier reinbaun und dann in der server log nach dem Eintrag 'Wetter Public aufgerufen' suchen.
new rand = random(7);
switch(rand)
{
case 0:
{
SetWeather(1);
}
case 1:
{
SetWeather(9);
}
case 2:
{
SetWeather(19);
}
case 3:
{
SetWeather(22);
}
case 4:
{
SetWeather(8);
}
case 5:
{
SetWeather(5);
}
case 6:
{
SetWeather(2);
}
}
SendClientMessageToAll(0x33AA33AA,"Das Wetter hat sich Verändert.");
return 1;
} -
breadfish.de
Hat das Thema geschlossen.