Beiträge von JustMe.77

    Ne Idee warum das nicht funktioniert? Als FilterScript funktioniert das ohne Probleme..



    Ich soll also auf meinem Server ein FilterScript installieren was Usern nicht erlaubt drauf zu connect, welche von irgdeinem Ahnungslosem Random gebannt wurden, der dich für Aimbot bannt nur weil du ein überdurchschnittlicher ProAss wie ich bist?Nein danke. Das mit den Entbannanträgen hilft auch nicht, überhaupt nicht. Der Admin kann es doch einfach verneinen. Wer ist dann im Recht?Wurde erst kürzlich gebannt nur weil man das Niveau in DM welches ich aufbringe noch nie gesehen hat :o. Das mit den Beweisen vorlegen ist auch Schwachsinn. Als ob ich als ServerOwner Beweise vorlegen muss um zu entscheiden ob der Cheater weiterhin auf meinem Server spielt oder nicht.


    Und außerdem unterscheiden sich bei jedem Server die Regeln. Auf meinem sind SA-MP Bugs erlaubt, auf anderen werde ich für C-Bug gebannt, was nun? Außerdem würde ich nicht irgendeinen anderen Server erlauben, User zu bannen die eventuell auf meinem Server spielen weil sie nicht in der Lage sind vernünftige AntiCheat Systeme und Admins einzustellen.

    @Jeffry Ich bin mir nicht sicher ob ich das richtig verstanden habe, aber wenn ich Möglichkeit 1 verwende, müsste ich das extra zu jedem Befehl einfügen, könnte aber theoretisch verschiedene Befehle mit verschiedenen Spielernamen erstellen? Und bei Möglichkeit 2 muss ich das nur einmal definieren, aber dafür kann jeder eingetragene Spielername alle Befehle mit der Abfrage benutzen?

    @Jeffry Wow, so simple habe ich das nicht erwartet, liegt aber vielleicht daran das ich das nur 1 % von meinem Vorhaben ausgebaut habe. Und wie mache ich das mit mehreren Name? Habe vor ne Liste mit beispielsweise 10 Namen zu definieren und später ein Befehl erstellen womit ich Ingame Leute zur Liste hinzufügen, aber dazu ganz später..

    @Jeffry


    (Habe ich dich so richtig markiert :D ? )


    Ich habe vor lange Zeit diesen Befehl mit deiner Hilfe erstellt. Er funktioniert problemlos wenn ich den in meinem TestServer Gamemode benutze, doch nun habe ich ihn in mein HauptGamemode eingebaut und dort crasht der Spieler nicht. Es passiert einfach nichts.. Woran liegt das?





    Jeffry: So sieht die impl.inc aus (ein Teil davon)


    Spoiler anzeigen

    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    P:2("Hooks_OnPlayerClickPlayer called: %d, %d, %d", playerid, clickedplayerid, source);
    new
    end = _:YSI_g_sCallbackEnd[ALS_OnPlayerClickPlayer],
    start = _:YSI_g_sCallbackStart[ALS_OnPlayerClickPlayer],
    ret = ALS_R_PlayerClickPlayer;
    while (start++ != end)
    {
    #emit PUSH.S source
    #emit PUSH.S clickedplayerid
    #emit PUSH.S playerid
    #emit PUSH.C 12
    #emit CONST.alt YSI_g_sCallbackAddresses
    #emit LOAD.S.pri start
    //#emit INC.pri
    //#emit STOR.S.pri start
    #emit LIDX
    #emit MOVE.alt
    #emit LCTRL 6
    #emit ADD.C 24
    #emit PUSH.pri
    #emit MOVE.pri
    #emit SCTRL 6
    #emit MOVE.alt
    #emit CONST.pri 0xFFFFFFFE
    #emit AND
    #emit PUSH.pri
    #emit LOAD.S.pri ret
    #emit AND
    #emit POP.alt
    #emit OR
    #emit STOR.S.pri ret
    if (ret < 0) return ret + 1;
    }
    return ret;
    }
    #if defined _ALS_OnPlayerClickPlayer
    #undef OnPlayerClickPlayer
    #else
    #define _ALS_OnPlayerClickPlayer
    #endif
    #define OnPlayerClickPlayer S@@_OnPlayerClickPlayer
    HOOK_FORWARD<PlayerClickPlayer>

    Spoiler anzeigen
    public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
    {
    P:2("Hooks_OnPlayerTakeDamage called: %d, %d, %f, %d, %d", playerid, issuerid, Float:amount, weaponid);
    new
    end = _:YSI_g_sCallbackEnd[ALS_OnPlayerTakeDamage],
    start = _:YSI_g_sCallbackStart[ALS_OnPlayerTakeDamage],
    ret = ALS_R_PlayerTakeDamage;
    while (start++ != end)
    {
    #emit PUSH.S weaponid
    #emit PUSH.S amount
    #emit PUSH.S issuerid
    #emit PUSH.S playerid
    #emit PUSH.C 20
    #emit CONST.alt YSI_g_sCallbackAddresses
    #emit LOAD.S.pri start
    //#emit INC.pri
    //#emit STOR.S.pri start
    #emit LIDX
    #emit MOVE.alt
    #emit LCTRL 6
    #emit ADD.C 24
    #emit PUSH.pri
    #emit MOVE.pri
    #emit SCTRL 6
    #emit MOVE.alt
    #emit CONST.pri 0xFFFFFFFE
    #emit AND
    #emit PUSH.pri
    #emit LOAD.S.pri ret
    #emit AND
    #emit POP.alt
    #emit OR
    #emit STOR.S.pri ret
    if (ret < 0) return ret + 1;
    }
    return ret;
    }
    #if defined _ALS_OnPlayerTakeDamage
    #undef OnPlayerTakeDamage
    #else
    #define _ALS_OnPlayerTakeDamage
    #endif
    #define OnPlayerTakeDamage S@@_OnPlayerTakeDamage
    HOOK_FORWARD<PlayerTakeDamage>

    Spoiler anzeigen
    public OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart)
    {
    P:2("Hooks_OnPlayerGiveDamage called: %d, %d, %f, %d, %d", playerid, damagedid, Float:amount, weaponid);
    new
    end = _:YSI_g_sCallbackEnd[ALS_OnPlayerGiveDamage],
    start = _:YSI_g_sCallbackStart[ALS_OnPlayerGiveDamage],
    ret = ALS_R_PlayerGiveDamage;
    while (start++ != end)
    {
    #emit PUSH.S weaponid
    #emit PUSH.S amount
    #emit PUSH.S damagedid
    #emit PUSH.S playerid
    #emit PUSH.C 20
    #emit CONST.alt YSI_g_sCallbackAddresses
    #emit LOAD.S.pri start
    //#emit INC.pri
    //#emit STOR.S.pri start
    #emit LIDX
    #emit MOVE.alt
    #emit LCTRL 6
    #emit ADD.C 24
    #emit PUSH.pri
    #emit MOVE.pri
    #emit SCTRL 6
    #emit MOVE.alt
    #emit CONST.pri 0xFFFFFFFE
    #emit AND
    #emit PUSH.pri
    #emit LOAD.S.pri ret
    #emit AND
    #emit POP.alt
    #emit OR
    #emit STOR.S.pri ret
    if (ret < 0) return ret + 1;
    }
    return ret;
    }
    #if defined _ALS_OnPlayerGiveDamage
    #undef OnPlayerGiveDamage
    #else
    #define _ALS_OnPlayerGiveDamage
    #endif
    #define OnPlayerGiveDamage S@@_OnPlayerGiveDamage
    HOOK_FORWARD<PlayerGiveDamage>

    Spoiler anzeigen
    #if !defined _ALS_OnPlayerLogin
    forward OnPlayerLogin(playerid, uid);
    #endif

    Jeffry: Okay danke, das habe ich nun gemacht. Ich habe aber Probleme die Include von Slice richtig einzusetzen, kannst du mir bitte helfen?


    Erhalte diese Errors:


    C:\Users\Dave\Desktop\JustMe's Wonderland\pawno\include\YSI\y_hooks/impl.inc(2337) : error 021: symbol already defined: "OnPlayerTakeDamage"
    C:\Users\Dave\Desktop\JustMe's Wonderland\pawno\include\YSI\y_hooks/impl.inc(2391) : error 017: undefined symbol "weaponid"
    C:\Users\Dave\Desktop\JustMe's Wonderland\pawno\include\YSI\y_hooks/impl.inc(2393) : error 017: undefined symbol "damagedid"
    C:\Users\Dave\Desktop\JustMe's Wonderland\gamemodes\LnD.pwn(393) : error 021: symbol already defined: "WC_OnPlayerDamage"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Du musst das wieder zu einer .inc ändern und dann nur speichern. Dann musst du deinen Gamemode kompilieren, nicht die Include.


    Die Datei ist nun eine Include, doch es hilft nicht. Ich muss die Include ändern und nicht mein Gamemode. Weil in der Include 2 Callbacks sind die ich ersetzen muss. Doch die Include kann ich nicht fehlerfrei bearbeiten solange dieser Error erscheint..