Hey Leute,
folgendes Problem. Ich habe ein altes Selfmade rausgekramt das früher genug funktioniert hat. Es hat zwar nur 3000 Zeilen aber funktionierte ohne Probleme. Jetzt aber wo ich es wieder ausprobieren wollte gehen auf einmal einige Befehle mit Sscanf nicht. Nämlich wenn ich mir ne Waffe geben will mit /givew [ID] [Waffe] [Muni] gebe ich z.B. bei Muni 100 ein. Da kommt aber die Nachricht "Du musst dir mehr als 0 Munition geben". Das gleiche auch bei /givem [ID] [Geld]. Will ich mir z.B. 10000$ geben steht da "Du musst dir mehr als 1$ geben. Das gleich bei den Skins /skin [ID] [Skin]. "Skin ID 0 ist verboten", obwohl ich 29 eingegeben habe. Früher hat alles funktioniert ich versteh nicht warum jetzt nicht. Ich hab die Codes überprüft aber die sehen mir Fehlerfrei aus.
ocmd:skin(playerid,params[])
{
new str[100],str2[100],skin,name[MAX_PLAYER_NAME],givename[MAX_PLAYER_NAME],pID;
if(IsPlayerConnected(playerid))
if(IsPlayerAdminLevel(playerid, 2))
{
if(sscanf(params,"ud",pID,skin))return SendClientMessage(playerid,Gelb,"Befehl: /skin [ID] [SkinID]");
GetPlayerName(playerid,name,sizeof(name)),GetPlayerName(pID,givename,sizeof(givename));
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Gelb,"Es ist kein Spieler mit dieser ID verbunden.");
if(skin < 1 || skin > 298)return SendClientMessage(playerid,Gelb,"Du kannst nur einen Wert von 1 bis 298 angeben.");
format(str,sizeof(str),"[Admin]: %s hat dir den Skin %d gegeben.",name,skin);
SendClientMessage(pID,Gelb,str);
SetPlayerSkin(pID,skin);
SetPVarInt(pID, "Skin", skin);
format(str2,sizeof(str2),"[AdmCmd]: %s hat dem Spieler %s den Skin %d gegeben.",name,givename,skin);
printf("%s",str2);
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerAdminLevel(i, 2))
{
SendClientMessage(i,Gelb,str2);
}
}
}
return 1;
}
Das ist ein Beispiel, die anderen Codes sind fast identisch aufgebaut. Bei allen Befehlen die einen 2 Wert haben und mit Sscanf verbunden sind tritt dieser Fehler auf. Ich hoffe jemand kann helfen.
MfG