/setskin buggt

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
  • hey,
    ich habe ein Problem und zwar wenn ich den Befehl setskin ausführen will kommt : FEHLER: /setskin [SPIELER/ID][SKINID]
    Auch wenn alles richtig eingegeben wurde



    Code
    ocmd:setskin(playerid, params[])
    {
    	new pID, Skin;
    	if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    	if(sscanf(params,"ui",pID,Skin))return SendClientMessage(playerid,ROT,"FEHLER: /setskin [SPIELER/ID][SKINID]");
     	if(Skin < 1 || Skin > 299)return SendClientMessage(playerid,ROT,"FEHLER: Bitte gültige SkinID eingeben.[1-299]");
    	SetPlayerSkin(pID, Skin);
     	return 1;
    }
  • ocmd:setskin(playerid, params[])
    {
    new pID, Skin;
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    SetPlayerSkin(pID, Skin);
    return 1;
    }


    so

  • Es muss if(!sscanf(...)) sein.


    Muss es nicht..
    Es ist eigentlich schon richtig so..
    Wenn du es mit ! machen würdest, würde es so aussehen:
    ocmd:setskin(playerid, params[])
    {
    new pID, Skin;
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    if(!sscanf(params,"ui",pID,Skin)){
    if(Skin < 1 || Skin > 299)return SendClientMessage(playerid,ROT,"FEHLER: Bitte gültige SkinID eingeben.[1-299]");
    SetPlayerSkin(pID, Skin);
    }
    else SendClientMessage(playerid,ROT,"FEHLER: /setskin [SPIELER/ID][SKINID]");
    return 1;
    }


    //bzw


    ocmd:setskin(playerid, params[])
    {
    new pID, Skin;
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    if(!sscanf(params,"ui",pID,Skin)){
    if(Skin < 1 || Skin > 299)return SendClientMessage(playerid,ROT,"FEHLER: Bitte gültige SkinID eingeben.[1-299]");
    return SetPlayerSkin(pID, Skin);
    }
    return SendClientMessage(playerid,ROT,"FEHLER: /setskin [SPIELER/ID][SKINID]");
    }


    Mach es mal so:
    ocmd:setskin(playerid, params[])
    {
    new pID, Skin;
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"FEHLER:Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    if(sscanf(params,"ui",pID,Skin))return SendClientMessage(playerid,ROT,"FEHLER: /setskin [SPIELER/ID][SKINID]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"FEHLER: Dieser Spieler ist nicht Online!");
    else if(Skin < 1 || Skin > 299)return SendClientMessage(playerid,ROT,"FEHLER: Bitte gültige SkinID eingeben.[1-299]");
    return SetPlayerSkin(pID, Skin);
    }
    Du fragst nie ab, ob der Spieler überhaupt Online ist ..
    Das ändert aber nichts an deinem Fehler..



    Schreib uns doch mal, wie du den Skin setzt, denn das ist eigentlich richtig..