Beiträge von Rakon

    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.