Moneyhacksystem ! Wer sieht den Fehler ?

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
  • Hey Leute,
    ich habe statt GivePlayerMoney , GivePlayerGeld genutzt.
    Und statt GivePlayerMoney(playerid, -Betrag); , GetPlayerGeld..
    Nur zu den Stocks und dem System:

    stock GivePlayerGeld(playerid,anzahl)
    {
    PlayerInfo[playerid][pCash]+=anzahl;
    GivePlayerMoney(playerid,anzahl);
    return 0;
    }


    stock GetPlayerGeld(playerid,anzahl)
    {
    PlayerInfo[playerid][pCash]-=anzahl;
    GivePlayerMoney(playerid,-anzahl);
    return 0;
    }


    //Timer für Hacker


    Function TimerGeldCheck(playerid)
    {
    SetTimerEx("GeldCheck", 1000, false, "d", playerid);
    return 1;
    }


    timer GeldCheck(playerid)
    {
    if(GetPlayerMoney(playerid) > PlayerInfo[playerid][pCash])
    {
    new string[128];
    format(string,sizeof(string),"ServerGuard hat %s gebannt. {FF8000}Grund: Moneyhack",pn(playerid));
    SendClientMessageToAll(COLOR_RED,string);
    SendClientMessage(playerid,COLOR_RED,"Du wurdest von Server gebannt ! {FF8000}Grund: Geldhack");
    PlayerInfo[playerid][pLevel] = -999;
    Kick(playerid);
    }

    }


    //Dieser wird in OnPlayerLogin aktiv per TimerGeldCheck(playerid);


    Irgendwie macht er aber nichts ? Lg

  • Was ich gerade sehe... Du rufst in "OnPlayerLogin" "TimerGeldCheck(playerid)" auf...
    Das ruft einmalig einen Timer auf, der Timer wird nicht wiederholt...




    Dann ruft er das immer wieder auf, außer wenn der Spieler nicht connected ist. Musst dir also keine Sorge bzgl. der Recourcen machen ;)

  • ganz einfach mach ein timer via ongamemodeinit


    dazu ein Public mit der Funktion das was du da gebastelt hast ist doch wohl sinnlos

  • also ?
    timer GeldCheck(playerid)
    {
    if(IsPlayerConnected(playerid)) SetTimerEx("GeldCheck", 1000, false, "d", playerid);
    else return true;

    if(GetPlayerMoney(playerid) > PlayerInfo[playerid][pCash])
    {
    new string[128];
    format(string,sizeof(string),"ServerGuard hat %s gebannt. {FF8000}Grund: Moneyhack",pn(playerid));
    SendClientMessageToAll(COLOR_RED,string);
    SendClientMessage(playerid,COLOR_RED,"Du wurdest von Server gebannt ! {FF8000}Grund: Geldhack");
    PlayerInfo[playerid][pLevel] = -999;
    Kick(playerid);
    }
    }
    TiimerGeldCheck(playerid);

  • Bei OnGameModeInit das rein


    SetTimer("GeldCheck",1000,true);


    irgendwo das rein:


    forward GeldCheck(playerid);
    public GeldCheck(playerid)
    {
    for(new i; i < GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerMoney(i) > PlayerInfo[i][pCash])
    {
    new string[128];
    format(string,sizeof(string),"ServerGuard hat %s gebannt. {FF8000}Grund: Moneyhack",pn(playerid));
    SendClientMessageToAll(COLOR_RED,string);
    SendClientMessage(i,COLOR_RED,"Du wurdest von Server gebannt ! {FF8000}Grund: Geldhack");
    PlayerInfo[i][pLevel] = -999;
    Kick(i);
    }
    }
    }
    return 1;
    }


    wo liegt das Problem daran?

  • wenn das nicht geht dann hast du was falsch gemacht


    SetTimer("AllCheck", 1000, true);


    forward AllCheck(playerid);
    public AllCheck(playerid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    if(GetPlayerMoney(i) > SpielerInfo[i][pGeld])
    {
    new string[128];
    format(string,sizeof(string),"Homer_Simpson hat %s gebannt. {FF8000}Grund: Geldhack",SpielerName(i));
    SendClientMessageToAll(cRed,string);
    SendClientMessage(i,cRed,"Du wurdest von Homer_Simpson gebannt! {FF8000}Grund: Geldhack");
    SpielerInfo[i][pBaned]=1;
    Kick(i);
    }
    }
    }
    }


    musst es dir nur anpassen

  • Bei mir geht es via Sobeit da ich damit mein system teste