Hab mal kurz nen Wetter Befehl, nur ein kurzer Versuch. Wenn ich Wetterid 0 eingebe, wechselt das Wetter. Wenn ich Wetterid 1-unendlich eingebe, kommt die Meldung:
ocmd:wetter(playerid,params[])
{
if(!IstSpielerEinAdmin(playerid,3000)) return 1;
new wetterid = strval(params);
if(sscanf(params,"u",wetterid)) return SendClientMessage(playerid,Gelb,"Benutzung: /wetter [WetterID]");
if(wetterid <0) return SendClientMessage(playerid,Gelb,"Wetterid muss zwischen 0 und 45 sein!");
if(wetterid >45) return SendClientMessage(playerid,Gelb,"Wetterid muss zwischen 0 und 45 sein!");
SetWeather(wetterid);
return 1;
}
Dasif(wetterid <0 ....);
hab ich doppelt, wenn ich es so schreibe
if(wetterid <0 || >45) ....
kommen diese Errors:
C:\Dokumente und Einstellungen\Surfer\Eigene Dateien\Script GTA\Samp 0.3e Aktuelles Script\gamemodes\Version0.4.1.pwn(1861) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Surfer\Eigene Dateien\Script GTA\Samp 0.3e Aktuelles Script\gamemodes\Version0.4.1.pwn(1861) : warning 215: expression has no effect
C:\Dokumente und Einstellungen\Surfer\Eigene Dateien\Script GTA\Samp 0.3e Aktuelles Script\gamemodes\Version0.4.1.pwn(1861) : error 001: expected token: ";", but found ")"
C:\Dokumente und Einstellungen\Surfer\Eigene Dateien\Script GTA\Samp 0.3e Aktuelles Script\gamemodes\Version0.4.1.pwn(1861) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\Surfer\Eigene Dateien\Script GTA\Samp 0.3e Aktuelles Script\gamemodes\Version0.4.1.pwn(1861) : fatal error 107: too many error messages on one line
Im wesentlichen geht es mir nur um den Fehler mit
Wetter Befehl
- Uppermost
- Geschlossen
- Erledigt
-
-
Ich habs so gemacht:
if(strcmp(cmd, "/wetter", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] < 5)
{
SendClientMessage(playerid, COLOR_GRAD1, "** Du bist nicht befugt, diesen Befehl zu benutzen!");
return 1;
}
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /wetter[weatherid]");
return 1;
}
new weather;
weather= strval(tmp);
if(weather< 0||weather> 45) { SendClientMessage(playerid, COLOR_GREY, " Benutze die Wetter ID0 - 45!"); return 1; }
SetWeather(weather);
format(string, sizeof(string), "[ADMIN] %shat das Wetter auf ID %d gestellt.", sendername,weather);
ABroadCast(COLOR_LIGHTRED,string, 5);
format(string, sizeof(string), "Wetter wurd auf %d umgestellt",weather);
SendClientMessageToAll(COLOR_NICERED,string);
DefaultWeather = weather;
new y, m, d;
new h,mi,s;
getdate(y,m,d);
gettime(h,mi,s);
format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s hat das Wetter auf %d eingestellt",d,m,y,h,mi,s,sendername,weather);
AdminLog(string);
}
return 1;
} -
Werd mir mal den Befehl angucken, danke
-
ocmd:wetter(playerid,params[]) {
if(!IstSpielerEinAdmin(playerid,3000)) return 1;
new wetterid; //strval ist eig nicht nötig, da du eh sscanf verwendest
if(sscanf(params,"d",wetterid)) return SendClientMessage(playerid,Gelb,"Benutzung: /wetter [WetterID]"); //u Parameter ist für Spieler
if(wetterid <0 || wetterid >45) return SendClientMessage(playerid,Gelb,"Wetterid muss zwischen 0 und 45 sein!");
SetWeather(wetterid);
return 1;
}so sollte der Befehl ohne Probleme funktionieren. Aber ich würde nur Wetterid 0 - 20 nehmen, da die darüberliegenen meist Fehlerhaft sind (vorallem im dunkeln)
-
breadfish.de
Hat das Thema geschlossen.