Brauche Hilfe bei /uninvite /invite und /makeleader (OCMD)

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
  • Ich habe ein folgendes Problem mit meinen 3 Fraktions-Befehl auf OCMD geschrieben. Ich habe dort
    alles richtig ohne Error eingetragen aber wenn ich /makeleader 0 1 (<-- 1 = FRAK LSPD) eingebe
    kommt dort so etwas raus: Admin John_Black hat dich zum Leader der Fraktion < > ernannt. Da wo diese Zeichen < > hier sind
    muss eigentlich der Fraktions-Name erscheinen tut er aber nicht. Ich habe es so eingestellt das wenn man zum Leader
    ernannt wird das sich dann der Skin automatisch auf den durch SetPlayerSkin gesetzten Skin verändert.



    ocmd:makeleader(playerid, params[])
    {
    if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid, COLOR_RED, "Zugriff verweigert. Grund: Zu kleiner Admin-Rang.");
    new pID, fID, fraktname[64], string[128];
    if(sscanf(params,"ui",pID, fID))
    {
    SendClientMessage(playerid, COLOR_BLUE, "Benutze: /makeleader [playerid] [Fraktion (1-14)]");
    SendClientMessage(playerid, COLOR_YELLOW, "1: LSPD | 2: FBI | 3: LS-Speznas | 4: Ordnugsamt | 5: San Andreas Regierung | 6: Rettungsdienst | 7: Yakuza");
    SendClientMessage(playerid, COLOR_YELLOW, "8: Triaden | 9: Hitman | 10: Rolling High Ballas | 11: Grove Street | 12: Los Santos Vagos | 13: Feuerwehr");
    return 1;
    }
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_LIGHTGREEN, "Der angegebene Spieler ist nicht Online.");
    if(fID < 0 || fID > 13)
    {
    return SendClientMessage(playerid, COLOR_REDHELL, "Ungültige Fraktion.");
    }
    else
    {
    if(GetPVarInt(pID,"pLeader"))
    switch(GetPVarInt(pID,"pLeader"))
    {
    case 0:
    {
    fraktname="Zivilisten";
    SetPlayerSkin(pID, 25);
    }
    case 1:
    {
    fraktname=fraktname1;
    if(GetPVarInt(pID,"pLeader") == 1)
    {
    SetPlayerSkin(pID, 288);
    }
    }
    case 2:
    {
    fraktname=fraktname2;
    if(GetPVarInt(pID,"pLeader") == 2)
    {
    SetPlayerSkin(pID, 168);
    }
    }
    case 3:
    {
    fraktname=fraktname3;
    if(GetPVarInt(pID,"pLeader") == 3)
    {
    SetPlayerSkin(pID, 285);
    }
    }
    case 4:
    {
    fraktname=fraktname4;
    if(GetPVarInt(pID,"pLeader") == 4)
    {
    SetPlayerSkin(pID, 276);
    }
    }
    case 5:
    {
    fraktname=fraktname5;
    if(GetPVarInt(pID,"pLeader") == 5)
    {
    SetPlayerSkin(pID, 165);
    }
    }
    case 6:
    {
    fraktname=fraktname6;
    if(GetPVarInt(pID,"pLeader") == 6)
    {
    SetPlayerSkin(pID, 274);
    }
    }
    case 7:
    {
    fraktname=fraktname7;
    if(GetPVarInt(pID,"pLeader") == 7)
    {
    SetPlayerSkin(pID, 120);
    }
    }
    case 8:
    {
    fraktname=fraktname8;
    if(GetPVarInt(pID,"pLeader") == 8)
    {
    SetPlayerSkin(pID, 117);
    }
    }
    case 9:
    {
    fraktname=fraktname9;
    if(GetPVarInt(pID,"pLeader") == 9)
    {
    SetPlayerSkin(pID, 127);
    }
    }
    case 10:
    {
    fraktname=fraktname10;
    if(GetPVarInt(pID,"pLeader") == 10)
    {
    SetPlayerSkin(pID, 103);
    }
    }
    case 11:
    {
    fraktname=fraktname11;
    if(GetPVarInt(pID,"pLeader") == 11)
    {
    SetPlayerSkin(pID, 105);
    }
    }
    case 12:
    {
    fraktname=fraktname12;
    if(GetPVarInt(pID,"pLeader") == 12)
    {
    SetPlayerSkin(pID, 108);
    }
    }
    case 13:
    {
    fraktname=fraktname13;
    if(GetPVarInt(pID,"pLeader") == 13)
    {
    SetPlayerSkin(pID, 279);
    }
    }
    }
    format(string, 128, "Admin %s hat dich zum Leader der Fraktion %s ernannt.", SpielerName(playerid), fraktname);
    SendClientMessage(pID, COLOR_LIGHTBLUE, string);
    }
    return 1;
    }


    Und hier die anderen Befehle wie /invite und /uninvite, pls hilft mir und schaut bitte durch was
    ich falsch gemacht habe.




    ocmd:invite(playerid,params[])
    {
    if(GetPVarInt(playerid,"pLeader") != 0)
    {
    new string[128];
    new pID,frakid;
    if(sscanf(params,"ui",pID,frakid))return SendClientMessage(playerid,ROT,"INFO: /invite [NAME / ID] [Fraktions-ID]");
    SetPVarInt(pID,"pMember",frakid);
    format(string,sizeof(string),"%s, du bist nun ein Teil der Fraktion, deine Pflicht ist es dort 5 Tage zu bleiben!",SpielerName(pID), frakid);
    SendClientMessage(playerid,ROT,string);
    }
    return 1;
    }


    ocmd:uninvite(playerid,params[])
    {
    new string[128];
    if(GetPVarInt(playerid,"pLeader") != 0)
    {
    new pID;
    if(sscanf(params,"ui",pID))return SendClientMessage(playerid,ROT,"INFO: /uninvite [NAME / ID] ");
    SetPVarInt(pID,"Fraktion",0);
    format(string,sizeof(string),"%s, du wurdest vom Leader aus deiner Fraktion 'RAUSGESCHMISSEN'. Mehr Details im Forum dazu.");
    SendClientMessage(pID,ROT,string);
    }
    return 1;
    }

  • Hallöchen


    Zu den Befehlen Invite und Uninvite kann ich schon mal folgende Fehler ausbessern
    Invite:

    format(string,sizeof(string),"%s, du bist nun ein Teil der Fraktion, deine Pflicht ist es dort 5 Tage zu bleiben!",SpielerName(pID), frakid);

    "frakid" wird nirgends im String verwendet bzw. ist überflüssig.


    Uninvite:

    if(sscanf(params,"ui",pID))return SendClientMessage(playerid,ROT,"INFO: /uninvite [NAME / ID] ");
    format(string,sizeof(string),"%s, du wurdest vom Leader aus deiner Fraktion 'RAUSGESCHMISSEN'. Mehr Details im Forum dazu.");
    }
    Bei der ersten Zeile hast du einen Parameter vergessen nach "pID".
    Und bei der zweiten Zeile hast du "%s" für einen String stehen welcher aber nicht verwendet wird, wahrscheinlich ",SpielerName(pID));" am Ende hinzufügen



    MFG
    3rr0rc0d3