FraktionsID von Leader und Member!

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 brauche dringend hilfe, ich habe eine Gang Safebox für Mats gemacht, es funktioniert auch alles soweit, doch leider weiss ich nicht wie ich mit einem "new" den Leader und die Member in eins tun kann :/


    new frakid = PlayerInfo[playerid][pMember] - 1;


    Wie muss ich nun machen das der Leader auch damit gemeint ist?


    Ich brauch es hierfür da er sonst nicht weiss welche FraktionsID der Leader hat, da in der Spieler.ini ja nur Unter Leader die Fraktions id steht und unter Member 0 und bei Member umgekehrt.


    if(strcmp(gangequip_Nummer,"1",true) == 0)
    {
    if(Gangmats[frakid] <= 50) return SendClientMessage(playerid,COLOR_WHITE,"Soviel Waffenmats sind nicht mehr in der Fraktionskasse!");
    Gangmats[frakid] -= 50;
    GivePlayerWeapon(playerid, 4, 1);
    SaveGangmats();
    return 1;
    }



    Bitte um Hilfe :( weiss nicht mehr weiter hab soviele ausprobier :/


    LG
    BoB

  • So dürfte es gehen oder?


    #include <dini>
    enum Fraktionen{
    pMember,
    pLeader,
    }
    new Frak[MAX_PLAYERS][Fraktionen];


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new tmp[256];
    new idx;
    new cmd[256];
    cmd = strtok(cmdtext, idx);
    if(!strcmp(cmd ,"/getmats",true, 14))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, 0xaaffaaff, "Benutze: /getmats [Menge]");
    return 1;
    }
    else
    {


    //if(IsPlayerInRangeOfPoint(playerid,2.5,0,0,0))//Kords eintragen
    //{
    new Matsstr[48];
    format(Matsstr,sizeof(Matsstr),"/Gang/Mats.ini");
    new frakid[68];
    if(dini_Exists(Matsstr))
    {
    if(Frak[playerid][pMember] != 0||Frak[playerid][pLeader] != 0)
    {
    if(Frak[playerid][pMember] == 1||Frak[playerid][pLeader] == 1){frakid="Vagos";}
    else if(Frak[playerid][pMember] == 2||Frak[playerid][pLeader] == 2){frakid="Yakuza";}
    else if(Frak[playerid][pMember] == 3||Frak[playerid][pLeader] == 3){frakid="Scarfo";}
    else if(Frak[playerid][pMember] == 4||Frak[playerid][pLeader] == 4){frakid="Groove";}
    else if(Frak[playerid][pMember] == 5||Frak[playerid][pLeader] == 5){frakid="Hellsangels";}
    if(dini_Int(Matsstr,frakid)>= strval(tmp))
    {
    dini_IntSet(Matsstr,frakid,dini_Int(Matsstr,frakid)-strval(tmp));
    SendClientMessage(playerid,0xffaaffaa,"Mats erfolgreich aus der Box geholt");
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Diese Anzahl an Mats ist nicht in der Box");
    }
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Sie sind in keiner Fraktion");
    }
    }
    else
    {
    dini_Create(Matsstr);
    dini_IntSet(Matsstr,"Vagos",0);
    dini_IntSet(Matsstr,"Yakuza",0);
    dini_IntSet(Matsstr,"Scarfo",0);
    dini_IntSet(Matsstr,"Groove",0);
    dini_IntSet(Matsstr,"Hellsangels",0);
    SendClientMessage(playerid,0xffaaffaa,"Nicht genügend Mats in der Box");
    }
    //}
    }
    return 1;
    }
    if(!strcmp(cmd ,"/putmats",true, 14))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, 0xaaffaaff, "Benutze: /putmats [Menge]");
    return 1;
    }
    else
    {


    //if(IsPlayerInRangeOfPoint(playerid,2.5,0,0,0))//Kords eintragen
    //{
    new Matsstr[48];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(Matsstr,sizeof(Matsstr),"/Gang/Mats.ini");
    new Float: vX,Float: vY,Float: vZ;
    GetPlayerPos(playerid,vX,vY,vZ);
    new frakid[68];
    if(Frak[playerid][pMember] == 1||Frak[playerid][pLeader] == 1){frakid="Vagos";}
    else if(Frak[playerid][pMember] == 2||Frak[playerid][pLeader] == 2){frakid="Yakuza";}
    else if(Frak[playerid][pMember] == 3||Frak[playerid][pLeader] == 3){frakid="Scarfo";}
    else if(Frak[playerid][pMember] == 4||Frak[playerid][pLeader] == 4){frakid="Groove";}
    else if(Frak[playerid][pMember] == 5||Frak[playerid][pLeader] == 5){frakid="Hellsangels";}
    if(Frak[playerid][pMember] != 0||Frak[playerid][pLeader] != 0)
    {
    if(dini_Exists(Matsstr))
    {
    dini_IntSet(Matsstr,frakid,dini_Int(Matsstr,frakid)+strval(tmp));
    SendClientMessage(playerid,0xffaaffaa,"Mats erfolgreich in die Box einbgelagert");
    }
    else
    {
    dini_Create(Matsstr);
    dini_IntSet(Matsstr,"Vagos",0);
    dini_IntSet(Matsstr,"Yakuza",0);
    dini_IntSet(Matsstr,"Scarfo",0);
    dini_IntSet(Matsstr,"Groove",0);
    dini_IntSet(Matsstr,"Hellsangels",0);
    SendClientMessage(playerid,0xffaaffaa,"Nicht genügend Mats in der Box");
    }
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Sie sind in keiner Fraktion");
    }
    return 1;
    //}
    }
    }

    return 0;
    }
    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    MFG Blacky