Необходимые античиты для ДМ/ТДМ сервера

Модератор: SJplayer

SJplayer M
Автор темы, Модератор
Модератор
Аватара
SJplayer M
Автор темы, Модератор
Модератор
Сообщения: 196
Зарегистрирован: 25 мая 2013
С нами: 10 лет 10 месяцев

#1 SJplayer » 1 июня 2013, 21:14

Необходимые античиты для ДМ/ТДМ сервера
Автор: _KR]ee[D__

1. Читер телепортирует к себе 100500 авто? Решение есть:

Код: Выделить всё

public OnPlayerStateChange(playeridnewstateoldstate

    if(
newstate == 2SetPVarInt(playerid,"AC_MCS",GetTickCount()); 
    else if(
oldstate == 2) if((GetTickCount() - GetPVarInt(playerid,"AC_MCS")) <= 250) return Kick(playerid); 
    return 
1
}  


2. Убирает флуд смены мест.

Код: Выделить всё

public OnPlayerStateChange(playeridnewstateoldstate

    if((
newstate == && oldstate == 3) || (newstate == && oldstate == 2)) return Kick(playerid); 
    return 
1
}  


3. Не пускает больше соединений на сервер с одного IP

Код: Выделить всё

public OnPlayerConnect(playerid

    new 
ip[2][16]; 
    
GetPlayerIp(playerid,ip[0],16); 
    for(new 
iGetMaxPlayers(), x!= mi++) 
    { 
        if(!
IsPlayerConnected(i) || == playerid) continue; 
        
GetPlayerIp(i,ip[1],16); 
        if(!
strcmp(ip[0],ip[1],true)) x++; 
        if(
2) return Kick(i); 
    } 
    return 
1
}  


4. Убирает краш сервера путем флуда в киллчат:

Код: Выделить всё

public OnPlayerSpawn(playerid

    
SetPVarInt(playerid,"K_Times",0); 
    return 
1


public 
OnPlayerDeath(playeridkilleridreason

    
SetPVarInt(playerid,"K_Times",GetPVarInt(playerid,"K_Times") + 1); 
    if(
GetPVarInt(playerid,"K_Times") > 1) return Kick(playerid); 
    return 
1
}  


5. Убирает баг подмены диалогов через ArtMoney:

Код: Выделить всё

//в начало после инклудов (обязательно!!!) 
SPSD(playeriddialogidstylecaption[], info[], button1[], button2[]) 

    
SetPVarInt(playerid,"DialogID",dialogid); 
    return 
ShowPlayerDialog(playerid,dialogid,style,caption,info,button1,button2); 


#define ShowPlayerDialog SPSD 

public OnDialogResponse(playeriddialogidresponselistiteminputtext[]) 

    if(
GetPVarInt(playerid,"DialogID") != dialogid) return Kick(playerid); 
    return 
0


public 
OnPlayerConnect(playerid

    
SetPVarInt(playerid,"DialogID",-1); 
    return 
1
}  


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Античиты»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя