Admin Pay anzeige

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
  • Guten Abend,


    Wie erstelle ich mir eigendlich so eine benachrichtigung wie:


    [AdmCmd]: [SPIELER][IP] zahlt [BETRAG] an [SPIELER][IP]



    also sprich bei dem Befehl /pay soll das dann so dem Admin angezeigt werden, damit möchten wir Geldunterschlagung und Account Missbrauch verhindern. da ja viele neue Multiaccounts machen und sich dann das Geld davon überweiden ohne das ein Admin das Mitbekommt.


    ich denke das wäre auch Hilfreich für andere RL server. weil jedesmal die logs duch zu stöbern ist mir zu aufwendig^^

    German-Reallive Script



    ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||55% Fertig



  • if(strcmp(cmd, "/pay", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "NUTZUNG: /pay [ID] [amount]");
    return 1;
    }
    //giveplayerid = strval(tmp);
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "NUTZUNG: /pay [ID] [amount]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys > 1000 && PlayerInfo[playerid][pLevel] < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst mindestens Level 3 sein, um über $1000 abgeben zu können.");
    return 1;
    }
    if(moneys < 1 || moneys > 2000)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Der Betrag muss zwischen $1 und $2000 sein!");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pLocal] == 106)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Der Befehl ist in dieser Lage nicht erlaubt.");
    return 1;
    }
    if (ProxDetectorS(5.0, playerid, giveplayerid))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = GetPlayerMoney(playerid);
    if (moneys > 0 && playermoney >= moneys)
    {
    ConsumingMoney[giveplayerid] = 1;
    GivePlayerMoney(playerid, (0 - moneys));
    GivePlayerMoney(giveplayerid, moneys);
    format(string, sizeof(string), " Du hast %s(player: %d), $%d gegeben.", giveplayer,giveplayerid, moneys);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_GREY, string);
    format(string, sizeof(string), " Du hast $%d von %s(player: %d) bekommen.", moneys, sendername, playerid);
    SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "ADMCMD: %s hat $%d dem Spieler %s gegeben.", sendername, moneys, giveplayer);
    ABroadCast(COLOR_LIGHTRED,string,1);
    if(moneys >= 1000000)
    {
    ABroadCast(COLOR_YELLOW,string,1);
    }
    PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "* %s nimmt Geld aus seiner Tasche und gibt es %s.", sendername ,giveplayer);
    ProxDetector(30.0, playerid, string, COLOR_LIGHTRED,COLOR_LIGHTRED,COLOR_LIGHTRED,COLOR_LIGHTRED,COLOR_LIGHTRED);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Ungültiger Betrag.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du musst näher an dem Spieler sein!");
    }
    }//invalid id
    }
    else
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    versuchs mal so, ungetestet^^

  • THX für deine ANtwort, so änlich hab ich es jetzt auch drinne, nur es sollte ja auch die möglichkeit geben die IP´s von den beiden spielern anzeigen zu lassen



    So habe ich es derzeit drinne:


    printf("[AdmCmd]: [%s]/[%s]/(%d) zahlt [$%d], an [%s]/[%s]/(%d).", sendername, playersip, playerid, moneys, giveplayer, IP2?, playerid);


    nur wenn ich jetzt IP2? auch durch playersip oder pIP ersetzte zeigt er dort entweder 0.0.0.0.0 an oder 255.255.255.255
    das selbe mit dem zweiten playerid, dort zeigt er entweder 0 oder die selbe wie von dem sender an


    PS: es handelt sich um ein Ravens Roleplay Edit


    @Edit hier mein /pay schnippsel


    if(strcmp(cmd, "/pay", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "BENUTZUNG: /pay [playerid/PartOfName] [amount]");
    return 1;
    }
    //giveplayerid = strval(tmp);
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "BENUTZUNG: /pay [playerid/PartOfName] [amount]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys > 1000 && PlayerInfo[playerid][pLevel] < 3)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst Level 3 sein, um mehr als $1.000 zu vergeben.");
    return 1;
    }
    if(moneys < 1 || moneys > 99999)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du kannst nicht weniger als 1$ und mehr als 99999$ vergeben.");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(WatchingTV[giveplayerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du bist zu weit weg.");
    return 1;
    }
    if(PlayerInfo[giveplayerid][pLocal] == 106)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Kommand ist hier nicht erlaubt");
    return 1;
    }
    if (ProxDetectorS(5.0, playerid, giveplayerid))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = PlayerMoney[playerid];
    if (moneys > 0 && playermoney >= moneys)
    {
    ConsumingMoney[giveplayerid] = 1;


    PlayerMoney[playerid] = PlayerMoney[playerid] -= moneys;
    PlayerMoney[giveplayerid] = PlayerMoney[giveplayerid] += moneys;
    format(string, sizeof(string), " Du hast %s(ID: %d), $%d gegeben.", giveplayer,giveplayerid, moneys);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    format(string, sizeof(string), " Du hast von %s(ID:%d) $%d erhalten.",sendername, playerid, moneys);
    SendClientMessage(giveplayerid, COLOR_GRAD1, string);
    format(string, sizeof(string), "%s has paid $%d to %s", sendername, moneys, giveplayer);
    printf("[AdmCmd]: [%s]/[%s]/(%d) zahlt [$%d], an [%s]/[%s]/(%d).", sendername, playersip, playerid, moneys, giveplayer, IP2?, playerid);
    PayLog(string);
    if(moneys >= 1000000)
    {
    ABroadCast(COLOR_ORANGE,string,1331);
    }
    PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "* %s nimmt Geld aus seiner Tasche und gibt es %s.", sendername ,giveplayer);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Falsche Transaktion.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist zu weit weg.");
    }
    }//invalid id
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    German-Reallive Script



    ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||55% Fertig

    Einmal editiert, zuletzt von Jonnykiller ()