Lösungsansatz für Invite System gesucht.

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
  • Hallo,
    wie im Titel schon beschrieben suche ich einen Lösungsansatz für mein Invite System.
    Mein Stand ist derzeit dieser:

    //Der Befehl
    ocmd:invite(playerid,params[])
    {
    new playername[MAX_PLAYER_NAME],string[128],pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,Gelb,"Benutze: /invite [ID]");
    if(Spieler[playerid][fleader]==1)return SendClientMessage(playerid,Rot,"Du bist kein Leader einer Fraktion.");
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),"Der Leader %s der Fraktion %s möchte dich in die Fraktion aufnehmen.",playername,Fraktion[Spieler[playerid][fid]][fname]);
    ShowPlayerDialog(pID,13,DIALOG_STYLE_MSGBOX,"Einladung zur Fraktion",string,"Annehmen","Ablehnen");
    return 1;
    }


    //OnDialogResponse
    if(dialogid==InviteDialog)
    {
    if(response == 1)
    {
    Spieler[playerid][fid]== ???
    }
    if(response == 0)
    {

    }
    return 1;
    }


    Mein Problem an dieser Stelle ist, dass ich nicht weiß wie ich die Fraktionsid auslesen lasse von dem Spieler der den /invite Befehl eingegeben hat.

  • Du könntest bei dem invititen ne variable setzen invitee = playerid;


    also


    Spieler[pID][invitee] = playerid; im Befehl und nacher im Dialog:


    if( Spieler[playerid][fid] == Spieler[ Spieler[playerid][invitee] ][fid] )

  • Wissen gibt dir Macht, aber der Charakter verschafft dir Respekt und Anerkennung...
    Bruce Lee 1940 - 1973

  • Hast du Fraktion in einem Enum?

    Ist vorhanden ja.
    enum fInfo{ fID, fname[128], fleader[MAX_PLAYER_NAME], fmember, fkasse, Float:f_x, Float:f_y, Float:f_z}new Fraktion[MAX_FRAKTION][fInfo];


    EDIT:
    //Das beim Befehl eingefügt
    Spieler[pID][invite]=Spieler[playerid][fid];


    //Das bei OnDialogResponse
    Spieler[playerid][fid]=Spieler[playerid][invite];
    Spieler[playerid][invite]=0;


    würde dieses funktionieren?
    funktioniert alles perfekt, falls Verbesserungsvorschläge in euren Köpfen stecken, haut sie raus.
    Besten Dank für die Hilfe.

    2 Mal editiert, zuletzt von Lui ()