Beiträge von Home

    dcmd_scan(playerid, params[])
    {
    #pragma unused params
    if(Player[playerid][admin] < 2){
    return SendClientMessage(playerid,COLOR_RED,"You must be a Admin or higher for this Command");
    }
    new idscan;
    {
    if(sscanf(params, "u", idscan)) return SendClientMessage(playerid, 0xFFFFFF, "/scan [ID]");
    }
    new Float:boomx, Float:boomy, Float:boomz;
    GetPlayerPos(idscan,boomx, boomy, boomz);
    CreateExplosion(boomx, boomy , boomz, 7, 10);
    GodModeCheck11(idscan);
    return 1;
    }


    stock GodModeCheck11(idscan)
    {
    new health = GetPlayerHealth(idscan);
    GetPlayerHealth(idscan, health);
    if(health >= 99)
    {
    Ban(idscan,"Godmode");
    }
    else
    {
    SetPlayerHealth(idscan,100);
    }
    return 1;
    }


    Wenn ich InGAme /scan Meine ID mache, dann kackt der Server ab, ich weiß nciht wieso.

    Warum um Himmelswillen sollten die Hamachi haben? :pinch:



    Ich rede vom algemeinen, wenn du jetzt sagen würdest..."man kann auf allen server dich sperren bla bla bla"
    dann stimmt es nicht....


    DIe vom Samp Haben einen MasterServer aber nicht der mit Hamachi verbunden ist.


    Sonst, könnte man ja einfach einen Hamahci server online stellen und gehostet über SA:MP..:O

    Habe etwas versucht:



    dcmd_scan(playerid, params[])
    {
    #pragma unused params
    if(Player[playerid][admin] < 2){
    return SendClientMessage(playerid,COLOR_RED,"You must be a Admin or higher for this Command");
    }
    new idscan;
    if(sscanf(params, "u", idscan)) return SendClientMessage(playerid, 0xFFFFFF, "/scan [ID]");
    {
    giveplayerid = strval(tmp);
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    new Float:boomx, Float:boomy, Float:boomz;
    GetPlayerPos(giveplayerid,boomx, boomy, boomz);
    SetPlayerHealth(giveplayerid, 100);
    SetPlayerArmour(giveplayerid, 0);
    CreateExplosion(boomx, boomy , boomz, 7, 10);
    SetTimerEx("GodModeCheck", 1500, 0, "d", giveplayerid);
    }
    return 1;
    }


    Function GodModeCheck(playerid)
    {
    if(Leben2 >= 99)
    {
    Ban(playerid,"Godmode");
    }
    else
    {
    SetPlayerHealth(playerid,100);
    }
    return 1;
    }


    Da kommt aber das:


    error 010: invalid function or declaration
    error 010: invalid function or declaration
    error 010: invalid function or declaration
    error 021: symbol already defined: "JBC_SetPlayerHealth"
    error 010: invalid function or declaration
    warning 203: symbol is never used: "dcmd_scan"
    warning 203: symbol is never used: "ret_memcpy"

    Geht das danna uch so:


    public anticheat(playerid)
    {
    new health = GetPlayerHealth(playerid);
    for(new i; i<MAX_PLAYERS; i++)
    {
    SetPlayerHealth(i, health-1 );
    if (health == 100)
    {
    Kick(playerid);
    }
    new health = GetPlayerHealth(playerid);
    for(new i; i<MAX_PLAYERS; i++)
    {
    SetPlayerHealth(i, health+1 );
    return 1;
    }

    Also, ich will jetzt jede Sekunde dem Spieler 1Health abzeihen lassen und dann übverprüfen, wenn er dann immer noch 100HP hat, soll der Server ihn Kicken.


    Wie mache ich des dann, damit der Server es merkt?

    Klar ist es möglich.
    Zumindest für Server, die nicht im LAN laufen, sondern übers Internet.
    Jeder Server sendet eine Anfrage an den MasterServer von SA:MP.
    Und auch alle eingehenden Verbindungen zum Server werden an den MasterServer zur Überprüfung weitergeleitet.
    Und da könnte man ohne weiteres bspw. einen Wert zurückgeben, welcher dem Spieler verbietet, auf den Server zu joinen.



    Haben die MasterServer von SA:MP auch Hamachi...wenn das geht???

    public enticheat(playerid)
    {
    new health = GetPlayerHealth(playerid);
    for(new i; i<MAX_PLAYERS; i++)
    {
    SetPlayerHealth(i, health-1 );
    if (health == 100)
    {
    Kick(playerid);
    }
    return 1;
    }


    Würde das als Anti-Godmode gehen?

    new string[64],
    name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(string,sizeof string,"%s has join the Server.",name);
    SendClientMessageToAll(0xAAAAAAAA, string);
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"acc/%s.sav",pname);
    if(fexist(accFormat))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Please logg in ","Cancel","Next");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Register","Please register to keep your stats","Cancel","Next");
    }
    //----