Hey,
kann mir einer sagen wie ich das behebe : sscanf warning: Strings without a length are deprecated, please add a destination size danach crasht immer der server

sscanf warning: Strings without a length are deprecated, please add a destination size
- Pablo_Lopez
- 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
-
-
In sscanf, dort wo du zum Beispiel "iifds" und so stehen hast, sort muss bei s die Länge angegeben werden.
"s[32]"
Falls du nicht weißt wo, poste den Code.
-
Oder du nutzt einfach die ältere Version von SSCANF..
lg
-
Beitrag von heyhooo ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Ich habe sscanf 2
Jeffry: Das habe ich zuletzt reingemacht
Code
Alles anzeigenocmd:ban(playerid,params[]) { new pID,reason[64],string[128]; if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!"); if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER:/ban [SPIELER/ID][GRUND]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: Dieser Spieler ist nicht Online!"); format(string,sizeof(string),"SERVER: %s wurde vom Administrator %s vom Server gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason); SendClientMessageToAll(ROT,string); SetPVarInt(pID,"Gebant",1); return Kick(pID); } ocmd:unban(playerid,p[]) { new pID[16],pfad[32],string[128]; if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!"); if(sscanf(p,"s",pID))return SendClientMessage(playerid,ROT,"FEHLER:/unban [SPIELER]"); format(pfad,32,"/Accounts/%s.txt",pID); //Anpassen auf deine Accountdaten if(dini_Int(pfad,"Gebant") != 1)return SendClientMessage(playerid,ROT,"FEHLER: Dieser Spieler ist nicht gebannt worden!"); // Anpassen auf deine Speicherart format(string,sizeof(string),"SERVER: %s wurde vom Administrator %s entbannt.",pID,SpielerName(playerid)); SendClientMessageToAll(ROT,string); return dini_IntSet(pfad,"Gebannt",0); } ocmd:ipban(playerid,params[]) { new pID,reason[64],string[128]; if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!"); if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER:/ipban [SPIELER/ID][GRUND]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: Dieser Spieler ist nicht Online!"); format(string,sizeof(string),"SERVER: %s' IP wurde vom Administrator %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason); SendClientMessageToAll(ROT,string); format(string,128,"banip %s",GetPlayerIp(pID,reason,sizeof(reason))); return SendRconCommand(string); } ocmd:ipunban(playerid,params[]) { new IP[16],string[64]; if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!"); if(sscanf(params,"s",IP))return SendClientMessage(playerid,ROT,"FEHLER:/ipunban [IP]"); if(strlen(IP) <9)return SendClientMessage(playerid,ROT,"FEHLER: Gebe eine richtige IP ein!"); format(string,sizeof(string),"SERVER: IP '%s' wurde vom Administrator %s entbannt.",IP,SpielerName(playerid)); SendClientMessageToAll(ROT,string); format(string,64,"unbanip %s",IP); return SendRconCommand(string); }
-
if(sscanf(params,"s",IP))
Zu
if(sscanf(params,"s[16]",IP))Ebenso bei den anderen.
-
Jetzt kommt das
[18:46:30] sscanf warning: Format specifier does not match parameter count.
[18:46:36] [part] wiLL.chamberLaiN has left the server (1:2)
[18:46:49] sscanf warning: String buffer overflow.
[18:46:51] sscanf warning: String buffer overflow. -
Zeig uns mal den Code davon.
-
Ist oben
das ist das letzte eingefügte
-
ocmd:ban(playerid,params[]){
new pID,reason[64],string[128];
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"FEHLER: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
if(sscanf(params,"us[64]",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER: /ban [SPIELER/ID][GRUND]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: Dieser Spieler ist nicht Online!");
format(string,128,"SERVER: %s wurde von Administrator %s vom Server gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason),SendClientMessageToAll(ROT,string);
SetPVarInt(pID,"Gebant",1);
return Kick(pID);
}ocmd:unban(playerid,p[])
{
new pID[24],pfad[32],string[128];
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
if(sscanf(p,"s[24]",pID))return SendClientMessage(playerid,ROT,"FEHLER:/unban [SPIELER]");
format(pfad,32,"/Accounts/%s.txt",pID); //Anpassen auf deine Accountdaten
if(dini_Int(pfad,"Gebant") != 1)return SendClientMessage(playerid,ROT,"FEHLER: Dieser Spieler ist nicht gebannt worden!"); // Anpassen auf deine Speicherart
format(string,sizeof(string),"SERVER: %s wurde vom Administrator %s entbannt.",pID,SpielerName(playerid));
SendClientMessageToAll(ROT,string);
return dini_IntSet(pfad,"Gebannt",0);
}ocmd:ipban(playerid,params[])
{
new pID,reason[64],string[128];
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
if(sscanf(params,"us[64]",pID,reason))return SendClientMessage(playerid,ROT,"FEHLER:/ipban [SPIELER/ID][GRUND]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: Dieser Spieler ist nicht Online!");
format(string,sizeof(string),"SERVER: %s' IP wurde vom Administrator %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(ROT,string);
format(string,128,"banip %s",GetPlayerIp(pID,reason,sizeof(reason)));
return SendRconCommand(string);
}
ocmd:ipunban(playerid,params[])
{
new IP[16],string[64];
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
if(sscanf(params,"s[16]",IP))return SendClientMessage(playerid,ROT,"FEHLER:/ipunban [IP]");
if(strlen(IP) <9)return SendClientMessage(playerid,ROT,"FEHLER: Gebe eine richtige IP ein!");
format(string,sizeof(string),"SERVER: IP '%s' wurde vom Administrator %s entbannt.",IP,SpielerName(playerid));
SendClientMessageToAll(ROT,string);
format(string,64,"unbanip %s",IP);
return SendRconCommand(string);
}
Klappt das? -
-
Danke der Fehler ist weg
Kannst du auch hier helfen
Problem mit Server -
breadfish.de
Hat das Thema geschlossen.