Befehl mit Accept

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 Community,
    ich möchte etwas eig. einfaches scripten, bekomme es aber nicht hin.
    Kann mir jemand helfen, bei einem Befehl (/invite).
    Ich möchte, dass der Spieler der invitet wird einfach noch /accept invite machen muss.
    Nur ich bekommes es nicht hin.
    Einfach das Grundscript in ocmd für solch einen Befehl.


    Hoffe auf schnelle Antworten.


    Mit freundlichen Grüßen
    Sven_Martinez

  • ganz oben:


    new AcceptInvite[MAX_PLAYERS];


    dann bei deinem Invite Befehl:


    AcceptInvite[Zielperson] = 1;


    Dann bei deinem Accept Invite Befehl:


    if(AcceptInvite[ZielPerson] == 1)


    Und wenn er ihn animmt oder ablehnt dann machst du am besten wieder seine Datei auf 0 also:


    AcceptInvite[Zielperson] = 0;

  • Naja habe mich nun entschieden es mit PVars zu machen, weil ich find es ist einfacher.
    Trotzdem danke.


    //Edit Befehl geht mit Zahlen. Also z.B. /accept 1, /accept 2 und so, aber mit Texten nicht. Kann mir jemand helfen:
    ocmd:accept(playerid,params[])
    {
    new funktion;
    if(sscanf(params,"d",funktion))return SendClientMessage(playerid,BLAU,"Benutze: /accept [Invite]");
    if(funktion == "Invite" || funktion == "Test")
    {
    if(funktion == "Invite")
    {
    new string[128],string2[128];
    if(GetPVarInt(playerid,"Inviteanfrage") == 0) return SendClientMessage(playerid,BLAU,"Du hast keine Inviteanfrage.");
    SetPVarInt(playerid,"Fraktion",GetPVarInt(playerid,"Invitefraktion"));
    SetPVarInt(playerid,"Rang",1);
    Spielerspeichern(playerid);
    GetFraktName(playerid);
    format(string,sizeof(string),"Du hast die Anfrage für die Fraktion %s angenommen.",fraktname);
    format(string2,sizeof(string2),">> %s ist nun ein Mitglied dieser Fraktion <<",Spielername(playerid));
    SendClientMessage(playerid,BLAU,string);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Fraktion"))
    {
    SendClientMessage(i,GELB,string2);
    }
    }
    }
    }

    }
    else
    {
    SendClientMessage(playerid,BLAU,"Diese Funktion ist nicht verfügbar.");
    }
    return 1;
    }


    Hoffe auf schnelle Hilfe ;) MfG Martinez

    Einmal editiert, zuletzt von TrueCore ()

  • Geht nicht, hier meine Errors:
    ------- COMPILER -------
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    2 Errors.


    -------- Fehler: --------
    C:\Users\Sven\Desktop\GTA Sachen\Server\Selfmadescript\gamemodes\selfmade.pwn(1745) : error 001: expected token: "-string end-", but found "-identifier-"
    C:\Users\Sven\Desktop\GTA Sachen\Server\Selfmadescript\gamemodes\selfmade.pwn(1747) : error 033: array must be indexed (variable "-unknown-")


    -------- Optimierungen --------


    Minimale Optimierungen

  • Also "d" kann es nicht sein, da d für Interger steht, also für Zahlen.


    i, d Integer 1, 42, -10

  • ocmd:invite(playerid,params[])
    {
    if(GetPVarInt(playerid,"Leader") > 0)
    {
    new pID,stringinvite[300],frak[200];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"FEHLER: /invite [ID]");
    if(GetPVarInt(pID,"Fraktion")==0)
    {
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:
    {
    frak = frak0;
    }
    case 1:
    {
    frak = frak1;
    }
    case 2:
    {
    frak = frak2;
    }
    case 3:
    {
    frak = frak3;
    }
    case 4:
    {
    frak = frak4;
    }
    case 5:
    {
    frak = frak5;
    }
    case 6:
    {
    frak = frak6;
    }
    case 7:
    {
    frak = frak7;
    }
    case 8:
    {
    frak = frak8;
    }
    case 9:
    {
    frak = frak9;
    }
    case 10:
    {
    frak = frak10;
    }
    case 11:
    {
    frak = frak11;
    }
    case 12:
    {
    frak = frak12;
    }
    case 13:
    {
    frak = frak13;
    }
    case 14:
    {
    frak = frak14;
    }
    case 15:
    {
    frak = frak15;
    }
    }
    format(stringinvite,300,"Sie wurden von der Firma %s zum Vorstellungsgespräch eingeladen!\nMöchten sie an- oder ablehnen?",frak);
    ShowPlayerDialog(pID,Dialog_Invite,DIALOG_STYLE_MSGBOX,"Fraktions-Einladung",stringinvite,"Annehmen","Ablehnen");
    EinladendeFraktion[pID]=GetPVarInt(playerid,"Fraktion");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Leader einer Fraktion!");
    }
    return 1;
    }
    ocmd:uninvite(playerid,params[])
    {
    if(GetPVarInt(playerid,"Leader")>0)
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"FEHLER: /uninvite [ID]");
    if(GetPVarInt(pID,"Fraktion")==GetPVarInt(playerid,"Fraktion"))
    {
    SetPVarInt(pID,"Fraktion",0);
    SetPVarInt(pID,"FRank",0);
    SpielerSpeichern(pID);
    SendClientMessage(pID,COLOR_RED,"Du wurdest aus deiner Fraktion geschmissen!");
    SendClientMessage(pID,COLOR_RED,"Du hast den Spieler aus der Fraktion geschmissen!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der Spieler ist nicht in deiner Fraktion!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Leader einer Fraktion!");
    }
    return 1;
    }