SetFraktion Error

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 Morgen BreadFish-User.


    Ich habe da eine Frage:
    Ich habe versucht mit OCMD einen Befehl zu erstellen der erstmal mirselbst eine Fraktion zuzuweisen, jedoch bekomm ich folgende errors:
    C:\Users\Johannes\Desktop\Server\gamemodes\script.pwn(665) : error 037: invalid string (possibly non-terminated string)
    C:\Users\----\Desktop\Server\gamemodes\script.pwn(665) : error 029: invalid expression, assumed zero
    C:\Users\----\Desktop\Server\gamemodes\script.pwn(665) : error 017: undefined symbol "setfraktion"
    C:\Users\----\Desktop\Server\gamemodes\script.pwn(665) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    So sieht der Befehl aus:


    ocmd:setfraktion(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,Color_RED,"Dein Adminrang ist zu niedrig.");
    new fID;
    if(sscanf(params,"i",fID))return SendClientMessage(playerid,Color_RED,"INFO: /setfraktion [FraktionsID]);
    if(mID<0||mID>10) return SendClientMessage(playerid,Color_RED,"Ungültige FraktionsID!");
    SetPVarInt(playerid,"Fraktion",fID);
    return 1;
    }


    Erkennt da jemand den Fehler? Und wenn jemand weiß, wie ich mache dass ich /setfraktion [ID] [FraktionsID] machen kann wärs super wenn er irgendwie ein kleines Tutorial dazu schicken kann, damit ich wenigstens was lerne :)

  • evtl das mID


    if(mID<0||mID>10) return SendClientMessage(playerid,Color_RED,"Ungültige FraktionsID!");


    durch


    if(fID<0||fID>10) return SendClientMessage(playerid,Color_RED,"Ungültige FraktionsID!");


    Edit: und


    if(sscanf(params,"i",fID))return SendClientMessage(playerid,Color_RED,"INFO: /setfraktion [FraktionsID]);


    da hast du am ende ein " vergessen

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)


  • Vielen Dnak, da " wars!



    Guten Tag,
    hast du ocmd includiert?
    Sprich #include ocmd


    Ja, hab ich schon. :)



    -----------------------------------------------------------------------
    Kann mir villeicht jemand erklären wir ich mit ocmd und sscanf eben /setfraktion [ID] [FraktID] mache?



    LG

  • new fID, pID;


    if(sscanf(params,"ud",pID,fID)) return SendClientMessage(bla);


    u ist entweder der Name eines Spielers, oder dessen ID.

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)


  • Du hast in der Zeile von sscanf das Anführungszeichen vergessen, falls du es noch nicht korrigiert hast.
    mID muss dann zu fID. ;)

  • Du hast in der Zeile von sscanf das Anführungszeichen vergessen, falls du es noch nicht korrigiert hast.
    mID muss dann zu fID. ;)


    Schön das du auch liest, dann wüsstest du, dass das Problem behoben ist.

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)