set_task Help

Сообщения
59
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Всем привет, подскажите как мне сделать что бы были секунды в оповещении в чате (когда игрок взял пункт, и хочет ещё взять)

client_print(id, print_chat, "[VIP] Вы уже использовали меню, следуйщий раз через %d секунд" что тут ??)
set_task( 30.0, "reset", id );

Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>

#pragma tabsize 0

#define PLUGIN "VipMenu"
#define VERSION "1.0"
#define AUTHOR "Opo4uMapy"

#define ADMIN_VIP ADMIN_RESERVATION

#define SCOREATTRIB_NONE    0
#define SCOREATTRIB_DEAD    ( 1 << 0 )
#define SCOREATTRIB_BOMB    ( 1 << 1 )
#define SCOREATTRIB_VIP  ( 1 << 2 )

new bool:has_used[33]

public plugin_init()

{
    register_clcmd( "say /vm", "VIPMenu" );
    register_clcmd( "say_team /vm", "VIPMenu" );
   register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
}

public VIPMenu( id )

{
    if(!has_used[id])
    {
        if(get_user_flags(id) & ADMIN_VIP)
        {

         new vip_menu = menu_create( "\wVip меню:", "menu_handler" );
         menu_additem( vip_menu, "\rВзять 16000$", "1", 0 );
         menu_additem( vip_menu, "\yВзять гранаты", "2", 0 );
         menu_additem( vip_menu, "\wНизкая гравитация", "3", 0);
         menu_additem( vip_menu, "\rСвечение", "4", 0);
         menu_additem( vip_menu, "\yСкорость", "5", 0);
         menu_additem( vip_menu, "\r200 HP и 200 Брони", "6", 0);
         menu_additem( vip_menu, "\yБесшумные шаги", "7", 0);

         menu_setprop(vip_menu, MPROP_EXITNAME, "\yВы\wх\rод")

            menu_display( id, vip_menu, 0 );
        }

        else

        {
            client_print(id, print_chat, "[VIP] Для начала купите VIP")
        }
    }

    else
    {
        client_print(id, print_chat, "[VIP] Вы уже использовали меню, следуйщий раз через  %d секунд")

    }

}

public menu_handler( id, menu, item )

{

    if( item == MENU_EXIT )
    {
        menu_destroy( menu );
        return PLUGIN_HANDLED;
    }

    new data[6], iName[64];
    new access, callback;

    menu_item_getinfo( menu, item, access, data,5, iName, 63, callback );
    new key = str_to_num( data );
    switch( key )

    {

        case 1:

        {

            if( is_user_alive( id ) )

            {
                cs_set_user_money( id, 16000 );

            }
        }

        case 2:

        {
            if( is_user_alive( id ) )

            {

                give_item( id, "weapon_hegrenade" )
                give_item( id, "weapon_flashbang" )
                give_item( id, "weapon_flashbang" )
                give_item( id, "weapon_smokegrenade" )

            }

        }
        case 3:

        {
            if( is_user_alive( id ) )

            {
                set_user_gravity( id, 0.5 );

            }

        }
        
        case 4:
        {
            if(is_user_alive(id))

            {
                set_user_rendering(id, kRenderFxGlowShell, random_num(100, 255), random_num(100, 255), random_num(100, 255), kRenderNormal, 25);

            }   

        }

      case 5:

        {

            set_user_maxspeed(id, 370.0);

            {

            }

        }

      case 6:

        {
            if( is_user_alive( id ) )

            {
                set_user_health( id, 200 );
            set_user_armor(id, 200);

            }

        }

      case 7:

        {
            if( is_user_alive( id ) )

            {
                set_user_footsteps(id, 0);
            }
        }
    } 

    has_used[id] = true;
    set_task( 30.0, "reset", id );
    menu_destroy( menu );
    return PLUGIN_HANDLED;

}

public reset()

    arrayset(has_used, false, 33)

public handle_say(id) {
   new said[192]
   read_args(said,192)
   return PLUGIN_CONTINUE

}

public MessageScoreAttrib( iMsgID, iDest, iReceiver ) {
    new iPlayer = get_msg_arg_int( 1 );
    if( is_user_connected( iPlayer )
    && ( get_user_flags( iPlayer ) & ADMIN_VIP ) ) {
        set_msg_arg_int( 2, ARG_BYTE, is_user_alive( iPlayer ) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD );

    }

}
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
344
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Сообщения
59
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
melfyk, читал тему эту ,не доходит до меня , вот и пишу сюда )
 
Сообщения
1,420
Реакции
2,511
Помог
58 раз(а)
Пример:
Код:
#include <amxmodx>

#if !defined MAX_PLAYERS
    const MAX_PLAYERS = 32
#endif

/*********************************************/

// Время спустя которое можно будет использовать снова команду.
#define TIME 5.0

/*********************************************/

new Float:g_flTimeSend[MAX_PLAYERS + 1]

public plugin_init() register_clcmd("say /test", "func_ClCmdTest")

public func_ClCmdTest(id)
{
    static Float:flGameTime; flGameTime = get_gametime()

    if(flGameTime - g_flTimeSend[id] < TIME)
    {
        client_print(id, print_chat, "* Подождите %0.f сек.", TIME - (flGameTime - g_flTimeSend[id]))
        return PLUGIN_HANDLED
    }

    client_print(id, print_chat, "Вы использовали команду")
    g_flTimeSend[id] = get_gametime()

    return PLUGIN_HANDLED
}
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
344
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
w0w, Ну так он же не в паблик пихает, поэтому у него и не получается)
 

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

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу