Frage zu Einem Befehl

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
  • Guten Tag.
    Ich arbeite Momentan an einem Befehl.
    Dieser Funktionier auch,Aber es gibt ein Problem!.
    Undzwar wenn Ich z.b /einspeeren 1 mache, Wird mein Eigener Char(Player)Eingespeert.
    Mein Befehl sieht so aus:

    ocmd:einspeeren(playerid,params[])
    {
    if(!isPlayerInFrak(playerid,1))return SendClientMessage(playerid,Rot,"Du bist nicht In dieser Fraktion!");
    new player,string[256],pID;
    if(sscanf(params,"u",player))return SendClientMessage(playerid,Blau,"[Benutzung:] /einspeeren [ID]");
    if(player == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Dieser Spieler ist Nicht Online!");
    format(string,sizeof(string),"Beamter %s hat %s Ins Gefängniss gesteckt.",SpielerName(player));
    SendClientMessage(player,Rot,string);
    SetPlayerPos(playerid,-1607.2662,719.9185,12.2784);
    format(string,sizeof(string),"Du hast %s ins Gefängniss Gesteckt.",SpielerName(pID));
    SendClientMessage(playerid,Hellgrün,string);
    return 1;
    }


    Ist da Irgendeinfehler drinne?
    Denn ich finde Diesen grade nicht.


    MFG
    Smoker2012


  • SetPlayerPos(playerid,-1607.2662,719.9185,12.2784); // Willst du nicht eher pID in in den Knast stecken?


    lg :thumbup:


    #E: Oder "player".

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Es heißt übrigens nicht einspeeren, sondern einsperren.



    So sollte es gehen:
    ocmd:einspeeren(playerid,params[])
    {
    if(!isPlayerInFrak(playerid,1))return SendClientMessage(playerid,Rot,"Du bist nicht In dieser Fraktion!");
    new player,string[256],pID;
    if(sscanf(params,"u",player))return SendClientMessage(playerid,Blau,"[Benutzung:] /einspeeren [ID]");
    if(player == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Dieser Spieler ist Nicht Online!");
    format(string,sizeof(string),"Beamter %s hat %s Ins Gefängniss gesteckt.",SpielerName(player));
    SendClientMessage(player,Rot,string);
    SetPlayerPos(player,-1607.2662,719.9185,12.2784); //Du musst die ID der Variable player porten, nicht den, der den CMD eingibt
    format(string,sizeof(string),"Du hast %s ins Gefängniss Gesteckt.",SpielerName(pID));
    SendClientMessage(playerid,Hellgrün,string);
    return 1;
    }

  • Da wäre immer noch ein Fehler drinne ->
    format(string,sizeof(string),"Du hast %s ins Gefängniss Gesteckt.",SpielerName(pID)); // Wieso benutzt du hier nicht einfach player?


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Wenn ihr genau hinguckt sind auch die Parameter Anzahlen falsch.
    Hier mal der korrekte Befehl:

    ocmd:einspeeren(playerid,params[])
    {
    if(!isPlayerInFrak(playerid,1))return SendClientMessage(playerid,Rot,"Du bist nicht In dieser Fraktion!");
    new player,string[256],pID;
    if(sscanf(params,"u",player))return SendClientMessage(playerid,Blau,"[Benutzung:] /einspeeren [ID]");
    if(player == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Dieser Spieler ist Nicht Online!");
    format(string,sizeof(string),"Beamter %s hat %s Ins Gefängniss gesteckt.",SpielerName(playerid),SpielerName(player));
    SendClientMessageToAll(Hellgrün,string);
    SetPlayerPos(player,-1607.2662,719.9185,12.2784);
    format(string,sizeof(string),"Du hast %s ins Gefängniss Gesteckt.",SpielerName(pID));
    SendClientMessage(playerid,Hellgrün,string);
    return 1;
    }


    lg :thumbup:


    #E: Rechtschreibfehler.

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • So sollte es richtig sein, die Variable pID war sinnlos und bei SetPlayerPos hast du playerid verwendet und nicht den Spieler, der ins Gefängnis sollte (player):


    ocmd:einspeeren(playerid,params[])
    {
    if(!isPlayerInFrak(playerid,1))return SendClientMessage(playerid,Rot,"Du bist nicht In dieser Fraktion!");
    new player,string[256];
    if(sscanf(params,"u",player))return SendClientMessage(playerid,Blau,"[Benutzung:] /einspeeren [ID]");
    if(player == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Dieser Spieler ist Nicht Online!");
    format(string,sizeof(string),"Beamter %s hat %s Ins Gefängniss gesteckt.",SpielerName(playerid), SpielerName(player));
    SendClientMessage(player,Rot,string);
    SetPlayerPos(player,-1607.2662,719.9185,12.2784);
    format(string,sizeof(string),"Du hast %s ins Gefängniss Gesteckt.",SpielerName(player));
    SendClientMessage(playerid,Hellgrün,string);
    return 1;
    }



    BlackLegend