Beiträge von RFT

    Hier mal eins ungetestet hab ich gerade hier im Forum geschrieben damit wird der Betrag der gecheatet wird abgezogen und nicht addiert



    stock J_GivePlayerMoney(playerid, Money)
    {
    SetPVarInt(playerid, "Money",GetPVarInt(playerid, "Money")+Money);
    GivePlayerMoney(playerid,Money);
    return true;
    }


    stock J_ResetPlayerMoney(playerid);
    {
    SetPVarInt(playerid,"Money",0);
    ResetPlayerMoney(playerid);
    return true;
    }


    stock J_SetPlayerMoney(playerid,Money);
    {
    J_ResetPlayerMoney(playerid);
    J_GivePlayerMoney(playerid, Money);
    return true;
    }


    stock J_GetPlayerMoney(playerid)
    {
    return GetPVarInt(playerid, "Money");
    }



    //und das hier in einem Timer


    stock CheckPlayerMoney(playerid)
    {
    if(J_GetPlayerMoney(playerid,"Money") != GetPlayerMoney(playerid))
    {
    new Cheated = GetPlayerMoney(playerid)-J_GetPlayerMoney(playerid);
    J_GivePlayerMoney(playerid, -Cheated);
    return true;
    }
    return true;
    }

    Er verbraucht sehr viele Resourcen mit Englisch kannste es dir genau selber erklären


    mach die Strings kleiner dann kommt dies nicht mehr

    was die bedeutung Pragma genau hat kann ich dir nicht sagen aufjeden fall kannst du mit #pragma sachen Unterdrücken damit er nicht überprüft ob einige Variabeln unbenutzt sind oder ob das Script nicht richtig eingerückt ist

    meine meinung nach dürfte sscanf cmdtext splitten und so dürfte es eigentlich funktionieren naja ich teste es mal


    //edit du benutzt bestimmt einfach /st und da steht noch cmd teste es mal so



    if(strcmp(cmdtext, "/straftat", true) == 0 || strcmp(cmdtext, "/st", true) == 0)
    {
    new string1[256];
    new string2[256];
    new string3[256];
    new
    pID,
    anzahl,
    grund[128];
    if(sscanf(cmdtext, "uds",pID,anzahl,grund)) {
    return SendClientMessage(playerid,COLOR_RED,"USAGE: /st [playerid][Anzahl an WantedPunkten][grund]");
    }
    if(!IsPlayerConnected(pID)) {
    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
    }


    WantedPoints[pID] += anzahl;
    SetPlayerCriminal(pID,playerid, grund);
    SendClientMessage(playerid,COLOR_RED,"Erfolgreich!");
    format(string1,128,"Du hast ID:%d %d WantedPunkte gegeben![Grund:%s]",pID,anzahl,grund);
    SendClientMessage(playerid,COLOR_RED,string1);
    format(string2,128,"ID:%d %d hat dir %d WantedPunkte gegeben![Grund:%s]",playerid,anzahl,grund);
    SendClientMessage(playerid,COLOR_RED,string2);
    format(string3,128,"HQ:%d hat %d %d WantedPunkte gegeben, weil %s",playerid,pID,anzahl,grund);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsACop(i))
    {
    SendClientMessage(i,COLOR_RED,string3);



    }
    }
    return 1;
    }


    //edit obwohl nach Goldkiller sein Edit bin ich nun auch nicht mehr überzeugt von das meins klappt ich teste es mal kurz


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new
    PlayerName[24],
    tString[128],
    tString2[128],
    File:File;


    GetPlayerName(playerid, PlayerName, sizeof PlayerName);


    format(tString, sizeof tString, "/Monopoly_admin/%s.ini", PlayerName);


    File = fopen(tString, io_write);


    if (File)
    {
    format(tString2, sizeof tString2, "Password: %s\n\r", PlayerData[playerid][Password]);fwrite(File, tString2);
    format(tString2, sizeof tString2, "Admin: %d\n\r",PlayerData[playerid][Admin]);fwrite(File, tString2);
    format(tString2, sizeof tString2, "Geld: %d\n\r",GetPlayerMoney(playerid));fwrite(File, tString2);
    fclose(File);
    }
    }
    return 1;
    }



    stock LoginPlayer(playerid, password[])
    {
    new
    PlayerName[24],
    tString[128],
    File:File;


    GetPlayerName(playerid, PlayerName, sizeof PlayerName);


    format(tString, sizeof tString, "/Monopoly_admin/%s.ini", PlayerName);


    File = fopen(tString, io_read);


    if (File)
    {
    new
    tString2[256],
    tString3[128],
    value[128];


    fread(File, tString2, sizeof tString2);


    tString3 = GetFileString(tString2);


    if(!strcmp("Password", tString3)) value = GetFileValue(tString2); strmid(PlayerData[playerid][Password], value, 0, strlen(value)-1, 128);


    if(!strcmp(PlayerData[playerid][Password], password, true))
    {
    while(fread(File, tString2, 256))
    {
    tString3 = GetFileString(tString2);
    if(strfind(tString3, "Admin") != -1) value = GetFileValue(tString2); PlayerData[playerid][Admin] = strval(value);
    tString3 = GetFileString(tString2);
    if(strfind(tString3, "Geld") != -1) value = GetFileValue(tString2); GivePlayerMoney(playerid, strval(value));
    }
    fclose(File);
    gPlayerLogged[playerid] = 1;
    }
    else
    {
    SendError(playerid, "Password ist incorrect.");
    fclose(File);
    return 1;
    }


    if(PlayerData[playerid][Admin] > 0)
    {
    format(tString, sizeof tString, "Wilkommen %s, du hast dich erfolgreich eingelogt (Admin Level %d)",PlayerName,PlayerData[playerid][Admin]);
    SendClientMessage(playerid, 0xFF80C0FF, tString);
    }
    if(PlayerData[playerid][Admin] <= 0)
    {
    format(tString, sizeof tString, "Wilkommen %s, du bist erfolgreich eingellogt.", PlayerName);
    SendClientMessage(playerid, 0xFF80C0FF, tString);
    }
    }
    return 1;
    }


    dürfte passen

    Davon halte ich nix, ich der Server müsste bewertet werden nacher is ein standart gf auf Platz 1 oder wie ?
    //edit und falscher bereich

    poste mal weitere Abschnitte weil da is kein Fehler drinnen


    immer 10 Zeilen dadrüber und 10 Zeilen da drunter von jeder Funktion die du hier gesendet hast