Hauskey vergeben

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
  • Erstmal vorweg: NON GF
    Ich habe mit 4 andren freunden einen privat server...
    Es ist ein Funserver , ich arbeite seit neuem auch mit dcmd.
    Nun, mein Problem ist, ich versteh einfach nicht, wie ein cmd funktionieren soll,
    bei denen ein Hausbesitzer bestimmten Leuten die Erlaubnis geben kann, sein
    haus zu betreten..
    ich habe zwar so ein cmd, doch ist dieser nicht das wahre..
    Er funzt zwar einwandfrei(ausser bei mir , aber das spielt JETZ keine rolle, da ich weiss wo das prob. liegt),
    aber ich möchte das man einfach nur /villa [id] eingeben muss, damit die angegebene id die erlaubnis bekommt..
    bei mir wird immer abgefragt ob er SEINE rechte hat xDD
    sprich in der enum steht das:
    enum pInfo
    {
    pPassword[128],
    pKills,
    pDeaths,
    pCash,
    pVV,//Vito Villa erlaubnis
    pWLS,//LS waffen erlaubnis
    pVVR,//Vitos Vergabe Rechte
    pLV,//Leart Villa erlaubnis
    pLVR,//Leart Vergabe Rechte
    pWLV,//LV Waffen erlaubnis
    pMVR,//Michi Vergabe Rechte
    pMV,//Michi Villa erlaubnis
    pAV,//Alwin Villa erlaubnis
    pAVR,//Alwin Vergabe Rechte
    }
    Zur erklärung : "Villa Erlaubnis" - bedeutet ob die person, die erlaubnis für die Villa des besitzers hat, umständlich wie nochwas,
    doch ich kanns nich anders...


    "Vergabe Rechte" - ist das recht des besitzers der villa. also zb. AVR - meine rechte, jemanden die erlaubnis für meine Villa zu geben....


    das sind meine cmds:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(Villa,5,cmdtext);
    /* der rest ist unwichtig*/
    dcmd_Villa(playerid,params[])
    {
    new player;
    if(sscanf(params, "u",player))
    {
    return SendClientMessage(playerid,Rot,"Benutzung: /Villa [ID]");
    }
    if (!IsPlayerConnected(player))
    {
    return SendClientMessage(playerid,Rot,"Kein Spieler mit dieser ID gefunden ");
    }
    if (PlayerInfo [playerid] [pVVR] ==0 )
    {
    return SendClientMessage(playerid,Rot,"Du hast keine Rechte dazu!");
    }
    if (PlayerInfo [playerid] [pVVR] ==1)
    {
    new
    name[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(string, sizeof(string),"%s hat dir die Erlaubnis für Vitos Villa gegeben ",name);
    SendClientMessage(player,Grün,string);
    PlayerInfo[player][pVV] =1;
    }
    if (PlayerInfo [playerid] [pLVR] ==0)
    {
    return SendClientMessage(playerid,Rot,"Du hast keine Rechte dazu!");
    }
    if (PlayerInfo [playerid] [pLVR] ==1)
    {
    new
    name[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(string, sizeof(string),"%s hat dir die Erlaubnis für Learts Villa gegeben ",name);
    SendClientMessage(player,Grün,string);
    PlayerInfo[player][pLV] =1;
    }
    if (PlayerInfo [playerid] [pMVR] ==0)
    {
    return SendClientMessage(playerid,Rot,"Du hast keine Rechte dazu!");
    }
    if (PlayerInfo [playerid] [pMVR] ==1)
    {
    new
    name[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(string, sizeof(string),"%s hat dir die Erlaubnis für Michis Villa gegeben ",name);
    SendClientMessage(player,Grün,string);
    PlayerInfo[player][pMV] =1;
    }
    if (PlayerInfo [playerid] [pAVR] ==0)
    {
    return SendClientMessage(playerid,Rot,"Du hast keine Rechte dazu!");
    }
    if (PlayerInfo [playerid] [pAVR] ==1)
    {
    new
    name[MAX_PLAYER_NAME],
    string[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(string, sizeof(string),"%s hat dir die Erlaubnis für Alwins Villa gegeben ",name);
    SendClientMessage(player,Grün,string);
    PlayerInfo[player][pAV] =1;
    }
    return 1;
    }


    Wie man sieht, zu groß, ich will es kleiner und einfacher...
    doch genau das ist mein problem...
    ich hab keine ahnung wie es funktioniert, ohne das ich für jeden einzelnen hausbesitzer eigene enum einträge und cmds machen muss..
    Es geht 100% anders , aber wie?