Beiträge von Rakon

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Du musst eine Schleife durchlaufen lassen und die Namen überprüfen.


    Beispiel:



    if(strcmp("/test", cmdtext, true) == 0)
    {
    new player[] = "Hans";
    new curPlayer[MAX_PLAYER_NAME];

    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    GetPlayerName(i, curPlayer, MAX_PLAYER_NAME);
    if(strcmp(player, curPlayer, true) == 0)
    {
    SendClientMessage(playerid, -1, "Ja, er ist online.");
    // Nachricht an ihn senden
    return 1;
    }
    }
    }


    SendClientMessage(playerid, -1, "Nein, er ist offline.");
    return 1;
    }

    Hallo Community,


    ich möchte euch mein Coupon-System zur Verfügung stellen, das ich letzte Nacht geschrieben habe.
    Dieses bietet euch die Möglichkeit, Coupons zu erstellen und einzulösen.


    Folgende Optionen sind verfügbar:
    - Geld hinzufügen
    - Score hinzufügen
    - Waffe hinzufügen
    - Wanteds hinzufügen
    - Skin hinzufügen
    - Rüstung hinzufügen


    Befehle:
    /createcoupon (nur als Rcon Admin)
    /coupon


    Der Couponcode kann entweder manuell eingetragen oder zufällig generiert werden.
    Das Script verwendet Dini und benötigt keine CMD Include, da es hauptsächlich auf Dialogen basiert.


    Hier noch ein Screen:
    http://www.pic-upload.de/view-15008768/dialog.png.html


    Pastebin
    Download


    Viel Spaß

    Ich meinte damit, dass du das lediglich unter die switch Anweisung setzten sollst.


    So:



    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:{adminname="Spieler";}
    case 1:{adminname="1.Supporter";}
    case 2:{adminname="2.Supporter";}
    case 3:{adminname="3.Supporter";}
    case 4:{adminname="Moderator";}
    case 5:{adminname="Supermoderator";}
    case 6:{adminname="Administrator";}
    case 7:{adminname="Serverleiter";}


    }


    format(string,sizeof(string),"[Name: %s] [Level: %i] [Fraktion: %i] [Adminrang:%s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Fraktion"),GetPVarInt(playerid,"Adminlevel"));
    SendClientMessage(playerid,GRAU,string);
    return 1;


    Wie zähle ich Kills ?
    Und setzte diese denn unter einem Befehl als Anzeige?


    Also zbs; "Ihr habt bereits [ANZAHL] Gegner getötet" ?


    Du erstellst zuerst einen globalen Array mit der Größe MAX_PLAYERS.

    new Kills[MAX_PLAYERS];
    .
    Dann fragst du im Callback OnPlayerDeath ab, ob die killerid ein gültiger Spieler ist.

    if(killerid != INVALID_PLAYER_ID)
    {
    Kills[killerid]++;
    }


    Jetzt kannst du ein Command erstellen und abfragen, wie viele Kills der Spieler hat.

    new string[128];
    format(string, sizeof(string), "Du hast %i Spieler gekillt.", Kills[playierd]);
    SendClientMessage(playerid, -1, string);


    Beim OnPlayerConnect solltest du den Wert allerdings auf 0 setzten, falls du die Kills vom jeweiligen Spieler nicht speichern / laden willst.

    Vincent ich weiss.. aber man kann doch auch playerid stehen lassen das ist ja das gleiche ^^


    Ist es nicht.
    Wenn du dort playerid stehen lassen würdest, dann würde der jenige der diesen Befehl ausführt 800x 500$ bekommen.
    Die Variable i erhöht sich in der Schleife jedesmal um 1 und somit bekommt jeder Spieler das Geld 1 mal.
    Und eine Abfrage ob der Spieler connected ist wäre auch sehr sinnvoll.