Beiträge von YaBroo

    Zitat

    he skill level to set for that weapon, ranging from 0 to 999. (A level out of range will max it out)


    Also nehme ich mal an 0 >= damit man sich beim schießen nicht bewegen kann.
    Probier einfach mal bisschen aus SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE, 1); Die 1 Variieren wenn es nicht klappt wie du es möchtest.
    e2
    Fehler behoben

    Warum? Vergiss das mit dem Array.
    Du hast den Namen als String, nämlich vom /mail-Befehl bekommen.
    Jetzt machst du einfach mit dini_isset() [oder was für ein Dateisystem du auch immer verwendest] eine Abfrage, ob diese Spielerdatei in den Scriptfiles existiert. Wenn ja, kannst du dort den Nachrichtswert setzen, wenn nicht existiert dieser Spieler nicht.


    Und wie ließt man ihn einzelnt aus von Betreff & Text!?
    Dann müsste man diesen nochmal splitten oder einzelnt abspeichern.

    Man müsste den Namen den man eingibt mit den Scriptfiles vergleich und schauen ob der Name vorhanden ist, in dem falle die Spielerdatei.
    Falls vorhanden, beschreiben falls nicht dann nicht.
    Ich würde es über enum & einem array machen.

    Schick mir mal bitte eben deine creategangzones per pm dann mach ich dir das etwas gescheiter und kann es gleichzeitig testen.

    Wenn überall das selbe passieren soll, warum machst du dann nicht einfach eine Array und ziehst eine Schleife durch o.O?
    Außerdem kannst du direkt die Gangzonen Abfragen ob du in drinnen bist wenn du diese schon gemacht hast anstatt noch die Koordinaten zu verwenden.


    //Edit
    PS: Ich würde noch bevor er in die Zone geht die Waffen speichern und nacher wieder ausgeben sonst sind diese komplett Weg.

    if(strcmp(cmdtext,"/aduty",true) == 0)
    {
    if(SpielerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,FARBE_GRAU,""#SERVERTAG": Du hast nicht die jeweiligen Rechte !");
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(AdminLabel[playerid] == 0)
    {
    new string[128];
    AdminLabel[playerid]= 1;
    format(string, sizeof(string), "%s geht in den Admindienst.", name);
    SendClientMessageToAll(FARBE_ADMINDIENST,string);
    SendClientMessage(playerid,FARBE_WEISS,"Dein Adminlabel wird nun wieder angezeigt.");
    SpielerInfo[playerid][pAduty] = 1;
    }
    else if(AdminLabel[playerid] == 1)
    {
    new string[128];
    AdminLabel[playerid]= 0;
    format(string, sizeof(string), "%s ist nun nicht mehr im Admindienst.", name);
    SendClientMessageToAll(FARBE_ADMINDIENST,string);
    SendClientMessage(playerid,FARBE_WEISS,"Dein Adminlabel wird nun nicht mehr angezeigt.");
    SpielerInfo[playerid][pAduty] = 0;
    }
    return 1;
    }

    if(dialogid == UPDATE)
    {
    if(response) return DEIN ZURÜCK DIALOG ANZEIGEN
    if(listitem == 0)
    {
    ShowPlayerDialog(playerid,UPDATE,DIALOG_STYLE_MSGBOX, "Update für FTR",Updatenachrichten[0],"Abbrechen","Zurück");
    }
    if(listitem == 1)
    {
    ShowPlayerDialog(playerid,UPDATE,DIALOG_STYLE_MSGBOX, "Update für FTR",Updatenachrichten[1],"Abbrechen","Zurück");
    }
    }


    oder eine else abfrage.

    Du machst bei deinem unfreeze cmd einfach eine afk Abfrage.


    if(afk[pID] == 1) return SendClientMessage(playerid,-1,"Dieser Spieler befindet sich im AFK Modus"); // pID = Auf deine Empfänger Variable ändern.


    Beim Cuffen würde ich den AFK Status von dem Spieler dann einfach auf 0 setzen oder was aber nicht so sinnvoll wäre beim back abfragen ob er gecufft wurde, aber dann bleibt er halt solange afk wie er gecufft ist.
    /e1

    Mal eine Zwischenfrage,
    angenommen man nutzt


    new News[2][32] = {
    "Neuigkeit1",
    "Neuigkeit"2
    };


    Setzt einen Timer unter OnGameModeInit


    SetTimer("Nachrichten",5000);


    Und lässt den Timer alle Nachrichten durch gehen


    new x;
    forward Nachrichten();
    public Nachrichten()
    {
    SendClientMessageToAll(-1,News[x]);
    x++;
    return 1;
    }


    Würde der dann wenn er bei 3 nichts findet automatisch bei 0 anfangen oder müsste man dann erst wieder eine Abfrage machen, mfg

    Einfach eine Schleife durch alle Spieler ziehen & Admin Abfrage starten -> anzeigen lassen.


    //Edit


    ocmd:admins(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    new string[256];
    SendClientMessage(playerid,-1, " Admins");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(Adminabfrage[i] >= MIN_LVL && AdminAbfrage[i][pAdmin] < MAX_LVL)
    {
    format(string, 256, "%s",i);
    SendClientMessage(playerid,-1, string);
    }
    }
    }
    }
    return 1;
    }