Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 8 из 8
  1. #1
    Аватар для Trender
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.05.2014
    Сообщений
    117
    Репутация:
    -1 ±

    Проблема с киком и вопрос по переменным

    PHP код:
    [19:19:25Вы были кикнуты

    [19:19:25Вы были кикнуты 
    [19:19:25Вы были кикнуты 

    [19:19:25Вы были кикнуты 

    [19:19:26Вы были кикнуты

    [19:19:26Server closed the connection
    Почему так?
    Отрывок
    PHP код:
        GetPlayerName(playeridsnsizeof(sn));
        new 
    Float:Z,srtc[50]; new anim GetPlayerAnimationIndex(playerid);
         
    GetPlayerPos(playerid,Z,Z,Z);
        if((
    anim == 1538 || anim == 1539 || anim == 1543) && && PlayerSpeed(playerid) > 10)
        {
            
    format(srtc,sizeof(srtc),"%s этот лол был кикнут :)",sn);
             
    SCMA(COLOR_ORANGE,srtc);
            
    SCM(playeridCOLOR_RED"Вы были кикнуты");
            
    Kicked(playerid);
            return 
    true;
        } 
    И ещё возможно ли использовать переменные, в таком виде:
    PHP код:
    new 
        
    string[128],
        
    lol[64]


  2. #2
    Аватар для Zeror_Dalglish
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    04.06.2014
    Сообщений
    224
    Репутация:
    -1 ±
    Цитата Сообщение от Trender Посмотреть сообщение
    PHP код:
    [19:19:25Вы были кикнуты

    [19:19:25Вы были кикнуты 
    [19:19:25Вы были кикнуты 

    [19:19:25Вы были кикнуты 

    [19:19:26Вы были кикнуты

    [19:19:26Server closed the connection
    Почему так?
    Отрывок
    PHP код:
        GetPlayerName(playeridsnsizeof(sn));
        new 
    Float:Z,srtc[50]; new anim GetPlayerAnimationIndex(playerid);
         
    GetPlayerPos(playerid,Z,Z,Z);
        if((
    anim == 1538 || anim == 1539 || anim == 1543) && && PlayerSpeed(playerid) > 10)
        {
            
    format(srtc,sizeof(srtc),"%s этот лол был кикнут :)",sn);
             
    SCMA(COLOR_ORANGE,srtc);
            
    SCM(playeridCOLOR_RED"Вы были кикнуты");
            
    Kicked(playerid);
            return 
    true;
        } 
    И ещё возможно ли использовать переменные, в таком виде:
    PHP код:
    new 
        
    string[128],
        
    lol[64]

    1. Что так?
    2. Возможно, но зачем? По мне это убогий стиль.

  3. #3
    Аватар для Spectrum
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.04.2014
    Адрес
    Omsk, Russia
    Сообщений
    349
    Репутация:
    49 ±
    1) Кинь kicked
    2) Да, возможно
    Skype: sp3ctrum_attack

  4. #4
    Аватар для Trender
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.05.2014
    Сообщений
    117
    Репутация:
    -1 ±
    Цитата Сообщение от Zeror_Dalglish Посмотреть сообщение
    1. Что так?
    2. Возможно, но зачем? По мне это убогий стиль.
    Не одной работы с твоей стороны не встречал.

    PHP код:
    stock Kicked(playerid)
    {
        
    ResetPlayerWeaponEx(playerid);
        
    SetTimerEx("KickSL"200false"d"playerid);
        
    SetPVarInt(playerid"kicked"1);
        return 
    1;

    PHP код:
    // Паблик
    public KickSL(playerid)
    {
        
    DeletePVar(playerid,"kicked");
        
    Kick(playerid);
        return 
    true;


  5. #5
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    У вас скорее всего этот код в OnPlayerUpdate, и здесь вызывается функция Kicked в которой запускается таймер, пока таймер не сработал - OnPlayerUpdate вызвался ещё несколько раз. Предложу свой вариант:

    В OnPlayerUpdate ( либо односекундный таймер ):
    PHP код:
    new
        
    Floatp_vel_x,
        
    Floatp_vel_y,
        
    Floatp_vel_z;

    GetPlayerVelocity(playeridp_vel_xp_vel_yp_vel_z);

    if(
    floatsqroot(p_vel_x p_vel_x p_vel_y p_vel_y p_vel_z p_vel_z) * 213.3 40.0 && GetPlayerWeapon(playerid) != 46)
    {
        switch(
    GetPlayerAnimationIndex(playerid))
        {
            case 
    958959153815391543:
            {
                static const
                    
    fmt_str[] = "%s (%i) кикнут за использование s0beit.";
                
                new
                    
    str[sizeof(fmt_str) - MAX_PLAYER_NAME 3];

                
    GetPlayerName(playeridstrsizeof(str));

                
    format(strsizeof(str), fmt_strstrplayerid);
                
    SCMA(0xFF8000FFstr);

                
    SendClientMessage(playerid, -1"Вы были кикнуты.");

                
    SetTimerEx("@__KickTimer"5000"i"playerid);
            }
        }

    И куда нибудь ко всем функциям, таймерам:
    PHP код:
    @__KickTimer(const playerid);
    @
    __KickTimer(const playerid)
        
    Kick(playerid); 
    А насчёт переменных посоветую прочитать это: Тык.
    Последний раз редактировалось L0ndl3m; 11.07.2014 в 21:54.

  6. #6
    Аватар для Edwin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±
    А я посоветую сделать, как советовал мне в своё время один умный человек, вот так:
    Код HTML:
    forward KickPublic(playerid);
    public KickPublic(playerid) return Kick(playerid);
    
    #define Kick(%0) SetTimerEx("KickPublic", 100, false, "i", %0)
    где-нибудь в начале мода, и потом везде без хлопот использовать стандартный Kick(playerid);
    А во втором случае, советовал бы делать так:
    Код HTML:
    new string[128], lol[64];

  7. #7
    Аватар для Trender
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.05.2014
    Сообщений
    117
    Репутация:
    -1 ±
    Может с моим добром можно что нибудь придумать?

  8. #8
    Аватар для underwoker
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    331
    Репутация:
    47 ±
    Цитата Сообщение от Trender Посмотреть сообщение
    Может с моим добром можно что нибудь придумать?
    Вы хоть читаете что вам пишут?
    PHP код:
    У вас скорее всего этот код в OnPlayerUpdateи здесь вызывается функция Kicked в которой запускается таймерпока таймер не сработал OnPlayerUpdate вызвался ещё несколько раз 
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

    Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •