Zivilist eine Fraktion ???

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
  • zeig mal dein giverank befehl und deine anderen befehle für die fraktionen
    und zeig mir mal wie du Zivilist definiert hast

  • ocmd:makeleader(playerid,params[])
    {
    if(!IsAdmin(playerid,1338))return SendClientMessage(playerid,GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new pID, fID;
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,GRAU,"Verwendung: /makeleader [playerid] [fraktionsid]");
    if(fID >=sizeof(fInfo))return SendClientMessage(playerid, GRAU,"Diese Fraktion gibt es nicht!");
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(pID,"Leader",fID);
    SetPVarInt(pID,"Member",fID);
    SetPVarInt(pID,"Rang",6);
    new string[128],string2[128];
    format(string,sizeof(string),"%s hat dir die Leaderrechte der Fraktion %s gegeben.",SpielerName(playerid),fInfo[fID][f_name]);
    SendClientMessage(pID,GELB,string);
    format(string2,sizeof(string2),"Du hast %s die Leaderrechte der Fraktion %s vergeben.",SpielerName(pID),fInfo[fID][f_name]);
    SendClientMessage(playerid,GELB,string2);
    SetPlayerColor(playerid,fInfo[fID][f_color]);
    SpawnPlayer(pID);
    SaveSpieler(pID);
    return 1;
    }


    ocmd:giverang(playerid,params[])
    {
    if(GetPVarInt(playerid,"Leader"))return SendClientMessage(playerid,GRAU,"Du bist nicht der Leader der Fraktion!");
    new pID, frang, string[128], string2[128];
    if(sscanf(params,"ui",pID, frang))return SendClientMessage(playerid,GRAU,"Verwendung: /giverang [playerid] [rang]");
    SetPVarInt(pID,"Rang",frang);
    format(string,sizeof(string),"Du hast %s den Rang (%d) vergeben.",SpielerName(pID),frang);
    SendClientMessage(playerid,BLAU,string);
    format(string2,sizeof(string2),"Leader %s hat dir den Rang (%d) erteilt.",SpielerName(playerid),frang);
    SendClientMessage(pID,BLAU,string2);
    return 1;
    }


    enum fraktEnum{
    f_name[128],
    Float:f_x,
    Float:f_y,
    Float:f_z,
    Float:f_r,
    f_inter,
    f_world,
    f_color
    }


    new fInfo[][fraktEnum] = {
    {"Zivilist",1742.8314,-1860.1838,13.5790, 0.0, 0, 0, WEIß},
    {"LSPD",1567.2266,-1695.8594,5.8906, 183.8045, 0, 0, BLAU},
    {"FBI",0.0, 0.0, 0.0, 0.0, 0, 0, DBLAU},
    {"Army",0.0, 0.0, 0.0, 0.0, 0, 0, CGRÜN},
    {"La Cosa Nostra",0.0, 0.0, 0.0, 0.0, 0, 0, GRÜN}


    };


  • Du Fragst nichtmal ab ob der Spieler überhaupt in der Selben Fraktion ist wie der Leader, und dazu würde ich noch Abfragen ob der Spieler überhaupt in einer Fraktion ist.

  • if(GetPVarInt(pID,"Fraktion") <=0) return SendClientMessage(...);
    if(GetPVarInt(playerid,"Fraktion") != GetPVarInt(pID,"Fraktion"))return SendClientMessage(...);


    1. Frage ich ab, ob der Spieler in einer Fraktion ist.
    2. Frage ich ab, ob der Leader in der Fraktion wie der Member ist...