Тема: ЭПОХА - VII
Показать сообщение отдельно
Старый 19.02.2015, 22:05   #142
RORUDynamit
Рядовой
 
Регистрация: 03.03.2013
Сообщений: 26
Сказал cпасибо: 10
Поблагодарили 32 раз в 14 сообщениях
Цитата:
Сообщение от Petersburg Посмотреть сообщение
я писал, но вразумительного ответа с какими-либо аргументами не дождался. и честно говоря и не расчитывал т.к. игра умерла, и за главного оставили детектора николоса и скиллового парня(утки).

думаю и остальные не надеялись, а многие и не знали, тем более что серверов в РО2 куча. играй на любом каком хочешь. так что не понимаю зачем было тут поднимать срач из-за серверов и зачем ты на хамачи нагнал за его сервер. он и паблик держит, и на ладдере участвует. так что он не хуже тебя в этом плане.

Petersburg добавил через 6 Мин. и 18 Сек.



а ты другого и не можешь написать, потому что знаешь, что всем уже давно насрать на РО1 и ты там хозяин. и даже если я докажу, что ты забанил меня не за что, то поставить вместо тебя больше некого. да и вообще мне насрать глубоко на это уже. я писал изначально не тебе а утке, т.к. он в пьяном угаре начал писать ересь.
Ти бил забанен за использование ошибок игры (багов и эксплойтов) которые дает тебе преимущество. Ето не скиловая игра. Ето нечестная игра.
никто не обязан писать и создавать какой то антибаг/антиекслпойт мутатор и ставить на сервера за то что несколко "специалних игроков" не умеет играть без все ети фигни!
Кстати, такие мутатори уже создали (AntiTCC, AntiBS, Exterminator и т.д.):

Код:
class Exterminator extends Mutator
    dependson(ExterminatorPlayer)
    hidecategories(Movement,Collision,Lighting,LightColor,Karma,Force)
    config;

enum Consequence
{
    CON_Log,
    CON_Advertise,
    CON_Kick,
    CON_SessionBan,
    CON_Ban
};

enum reasons
{
    REASON_Skyarty,
    REASON_Snake,
    REASON_SprintReload,
    REASON_SniperBoltInterrupt,
    REASON_Boltingbug,
    REASON_Zoombug,
    REASON_Pronebug,
    REASON_Popup,
    REASON_Shadowbug,
    REASON_NoBob,
    REASON_Hack,
    REASON_InstaMGDeploy,
    REASON_MGHighDeploy,
    REASON_MGLowDeploy
};

var bool bDisabled;
var FileLog LogFile;
var() globalconfig bool bForceProjOff;
var() globalconfig bool bForceShadowsOff;
var() globalconfig float CheckInterval;
var string Version;
var int SkyArtyCounter;
var() globalconfig Exterminator.Consequence consequences;

function PostBeginPlay()
{
    super(Actor).PostBeginPlay();
    Disable('Tick');
    Log(" ");
    Log("============================================");
    Log(" Exterminator - release 0.2");
    Log(" (c) 2009, Tobias 'worluk' Engel");
    Log("============================================");
    // End:0x11A
    if(Level.NetMode == NM_Standalone)
    {
        Log(" * Stand Alone (Single Player) Environment  - Closing Down");
        Log(" ");
        GotoState('Disabled');
        return;
    }
    // End:0x177
    if(Level.NetMode == NM_ListenServer)
    {
        Log(" * Listen Server Environment Not Supported - Closing Down");
        Log(" ");
        return;
    }
    Log(" * Securing PlayerControllers");
    Level.Game.PlayerControllerClassName = "Exterminator_v2.ExterminatorPlayer";
    // End:0x213
    if(bForceProjOff)
    {
        Log(" * Securing potential projector wallhack behaviour");
    }
    // End:0x24F
    if(bForceShadowsOff)
    {
        Log(" * Securing potential shadow wallhack behaviour");
    }
    Log(" ");
    SkyArtyCounter = 0;
    //return;    
}

simulated function detected(Exterminator.reasons myreason, ExterminatorPlayer PC)
{
    local ExtHttpSock mutSock;

    mutSock = Spawn(class'ExtHttpSock');
    mutSock.HttpCookieClass = class'ExtHttpCookies';
    mutSock.Get((("http://www.roladder.net/exterminator_report.php?event=" $ string(myreason)) $ "&roid=") $ PC.GetPlayerIDHash());
    //return;    
}

simulated function report(Exterminator.reasons myreason, ExterminatorPlayer PC)
{
    switch(myreason)
    {
        // End:0x1D2
        case 10:
            ++ PC.HackCounter;
            // End:0x1CF
            if(PC.HackCounter >= 1)
            {
                detected(10, PC);
                PC.HackCounter = 0;
                switch(consequences)
                {
                    // End:0xBA
                    case 0:
                        Log(((PC.PlayerReplicationInfo.PlayerName $ " (") $ PC.GetPlayerIDHash()) $ ") kicked for loading unallowed interaction");
                        // End:0x1CF
                        break;
                    // End:0x13B
                    case 1:
                        Level.Game.Broadcast(PC, ((PC.PlayerReplicationInfo.PlayerName $ " (") $ PC.GetPlayerIDHash()) $ ") kicked for loading unallowed interaction");
                        // End:0x1CF
                        break;
                    // End:0x165
                    case 2:
                        ROTeamGame(Level.Game).KickPlayer(PC);
                        // End:0x1CF
                        break;
                    // End:0x199
                    case 3:
                        ROTeamGame(Level.Game).AccessControl.BanPlayer(PC, true);
                        // End:0x1CF
                        break;
                    // End:0x1CC
                    case 4:
                        ROTeamGame(Level.Game).AccessControl.BanPlayer(PC);
                        // End:0x1CF
                        break;
                    // End:0xFFFF
                    default:
                    }
                    goto J0x1D5;
                J0x1D5:
            // End:0xFFFF
            default:
            //return;            
}

static function FillPlayInfo(PlayInfo PlayInfo)
{
    super(Info).FillPlayInfo(PlayInfo);
    PlayInfo.AddSetting("Exterminator", "bForceProjOff", "Force projectors off", 0, 0, "Check");
    PlayInfo.AddSetting("Exterminator", "bForceShadowsOff", "Force shadows off", 0, 0, "Check");
    PlayInfo.AddSetting("Exterminator", "consequences", "Consequence for hacks", 0, 0, "Select", "0;Log;1;Advertise;2;Kick;3;SessionBan;4;Ban");
    PlayInfo.PopClass();
    //return;    
}

function ServerTraveling(string URL, bool bItems)
{
    // End:0x1E
    if(LogFile != none)
    {
        LogFile.Destroy();
        LogFile = none;
    }
    //return;    
}

function bool CheckReplacement(Actor Other, out byte bSuperRelevant)
{
    bSuperRelevant = 0;
    // End:0x2D
    if(ExterminatorPlayer(Other) != none)
    {
        ExterminatorPlayer(Other).ExtMutator = self;
    }
    // End:0x6B
    if(Kar98ScopedWeapon(Other) != none)
    {
        ReplaceWith(Other, "Exterminator.ExtKar98ScopedWeapon");
    }
    return true;
    //return;    
}

function bool ReplaceWith(Actor Other, string aClassName)
{
    local Actor A;
    local class<Actor> aClass;

    // End:0x0E
    if(aClassName == "")
    {
        return true;
    }
    aClass = class<Actor>(DynamicLoadObject(aClassName, class'Class'));
    // End:0x7A
    if(aClass != none)
    {
        A = Spawn(aClass, Other.Owner, Other.Tag, Other.Location, Other.Rotation);
    }
    // End:0x193
    if(Other.IsA('Pickup'))
    {
        // End:0x166
        if(Pickup(Other).myMarker != none)
        {
            Pickup(Other).myMarker.markedItem = Pickup(A);
            // End:0x14E
            if(Pickup(A) != none)
            {
                Pickup(A).myMarker = Pickup(Other).myMarker;
                A.SetLocation(A.Location + ((A.CollisionHeight - Other.CollisionHeight) * vect(0.0, 0.0, 1.0)));
            }
            Pickup(Other).myMarker = none;
        }
        // End:0x193
        else
        {
            // End:0x193
            if(A.IsA('Pickup'))
            {
                Pickup(A).RespawnTime = 0.0;
            }
        }
    }
    // End:0x1DA
    if(A != none)
    {
        A.Event = Other.Event;
        A.Tag = Other.Tag;
        return true;
    }
    return false;
    //return;    
}

function cLog(string Text)
{
    // End:0x22
    if(LogFile != none)
    {
        LogFile.Logf(Text);
    }
    // End:0x29
    else
    {
        Log(Text);
    }
    //return;    
}

state Disabled
{
    function BeginState()
    {
        bDisabled = true;
        //return;        
    }
    stop;    
}

defaultproperties
{
    bForceProjOff=true
    bForceShadowsOff=true
    CheckInterval=20.0
    Version="beta 0.1"
    consequences=4
    GroupName="Security"
    FriendlyName="Exterminator"
    Description="Exterminator BugFix 0.1"
    bAlwaysRelevant=true
    RemoteRole=2
}
Кроме этого я хотел бы обратить внимание что на данний момент на сервера [gmnet.ru] & VTG.CLAN.SU (64 слот) анти-баг мутатор не работает.

Причина: Несовместимость с несколько новых мутаторов, которые сейчас находятса на сервера. Один из них представляет мутатор для администрации которьй помогает найти нарушителей на сервера, и принимать решения против них. Например, если какой то тролль занял место механика-водителя и сидел на респа, с нажатии 1 кнопку можно изменить роль урода и поменять на простой стрелок.

Последний раз редактировалось RORUDynamit; 19.02.2015 в 22:09.
RORUDynamit вне форума   Ответить с цитированием
Сказал спасибо (1):
Pip21 (19.02.2015)