Kick. Проблема samp 0.3х.
#1

Как всем известно, разработчики в новом сампе 0,3х изменили Kick.
Теперь уведомляющие сообщения о причине кика, которые идут перед киком не отображаются или не успевают отобразиться в чате.
Решение проблемы:
замена всех
Kick(playerid);
на разовый таймер с параметром
SetTimerEx("KickEx", 1000, 0, "d", playerid);

public KickEx(playerid)
{
Kick(playerid);
}

Но даже это не помогает во всех случаях.

Допустим при коннекте идёт проверка на правильность написания имени и через 10 секунд игрока кикает если имя не корректно.
Но почему то у меня не отображается текст уведомления в чате почему игрок кикнут, которое идёт перед таймером.
Reply
#2

А если "d" заменить на "i". У меня всегда текст вроде доходил , если через секундный таймер кикать.

Это всегда не отправляется или только в определенных случаях? Фактор пинга учитывал ? Игроку из-за лагов может просто не доходить такие сообщения.
Reply
#3

впервые слышу про кик, у.меня всё работает как работало
Reply
#4

Quote:
Originally Posted by jhonyxakep
Посмотреть сообщение
впервые слышу про кик, у.меня всё работает как работало
Ты вообще с этой планеты? =О
Reply
#5

Quote:
Originally Posted by XemyL
Посмотреть сообщение
Ты вообще с этой планеты? =О
Лол. По теме:
Новый инклуд подключите, содержимое вот:

PHP код:
#if !defined _samp_included
        #error Please include 'a_samp.inc'
#endif
#if !defined KICKFIX_INC
        #define  KICKFIX_INC
 
        
static
                
bool:kickedPlayer[MAX_PLAYERS char]={false, ...},
                
bool:bannedPlayer[MAX_PLAYERS char]={false, ...}
        ;
       
       
        
forward onKicked(playerid);
        
forward onBanned(playerid,reason[]);
       
       
        
stock fix_Kick(playeriddelay=100) {
                if(
playerid >= && playerid MAX_PLAYERS) {
                        if(!
kickedPlayer{playerid} && !bannedPlayer{playerid}) {
                                
kickedPlayer{playerid}=true;
                                
SetTimerEx("onKicked"delayfalse"i"playerid);
                        }
                        return 
1;
                }
                return 
0;
        }
       
        
stock fix_Ban(playeridreason[]=""delay=100) {
                if(
playerid >= && playerid MAX_PLAYERS) {
                        if(!
kickedPlayer{playerid} && !bannedPlayer{playerid}) {
                                
bannedPlayer{playerid}=true;
                                
SetTimerEx("onBanned"delayfalse"is"playeridreason);
                        }
                        return 
1;
                }
                return 
0;
        }
       
       
        public 
onKicked(playerid) {
                
kickedPlayer{playerid}=false;
                if(
IsPlayerConnected(playerid)) {
                        
Kick(playerid);
                }
        }
       
        public 
onBanned(playeridreason[]) {
                
bannedPlayer{playerid}=false;
                if(
IsPlayerConnected(playerid)) {
                        if(
reason[0] != '\0') {
                                
BanEx(playeridreason);
                        } else {
                                
Ban(playerid);
                        }
                }
        }
       
        
#define Ban             fix_Ban
        #define Kick    fix_Kick
        #define BanEx   fix_Ban
       
#endif 
Reply
#6

Ой, кошмар какой... Лучше просто время поставить не 1, а секунды 3. Иногда и 10 требуется.
Reply
#7

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
Иногда и 10 требуется.
за это время можно успеть еще в репорт всех матом покрыть
Reply
#8

Quote:
Originally Posted by Jon_De
Посмотреть сообщение
за это время можно успеть еще в репорт всех матом покрыть
Ну сорвать какое нибудь мероприятие "рванкой" точно можно успеть.
Reply
#9

Я не парюсь с тем, как кикать читеров и другую нечисть, кикаю сразу и все. Можно кикать с задержкой только если кик был запланирован системой, например, смена ника или любой кик перед логином, где требуется объяснение причины.
Reply
#10

Quote:
Originally Posted by kamilot73
Посмотреть сообщение
Ну сорвать какое нибудь мероприятие "рванкой" точно можно успеть.
и я про то. ну за очевидные вещи кик можно давать и без сообщения. а вот когда кикает админ, можно и подождать секунду
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)