Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

помогите доделать

IIuKa
сообщение 5.12.2012, 21:17
Сообщение #1
Стаж: 13 лет

Сообщений: 667
Благодарностей: 29
Полезность: < 0

Суть такова что бы когда игрок заходил на сервер то ему через 15 сек автоматически открывало меню /snow

Скрытый текст
Код
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Snow"
#define VERSION "1.1"
#define AUTHOR "TTuCTOH"

new bool:noMenu[33] = false

new cvar_advert
new cvar_advert_delay
new cvar_menu_delay

public plugin_init()
{    
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
        // Slovarik
    register_dictionary("snow.txt")
        
        // Client commands
    register_clcmd("say /snow", "Snow_Menu")
    register_clcmd("say_team /snow", "Snow_Menu")
        
        // Cvars
    cvar_menu_delay = register_cvar("amx_sm_delay", "15")
    cvar_advert = register_cvar("amx_sm_advert", "1")
    if(get_pcvar_num(cvar_advert))
    {
        cvar_advert_delay = register_cvar("amx_sm_advert_delay", "300")
        new ADVERT_DELAY = get_pcvar_float(cvar_advert_delay)
        set_task(ADVERT_DELAY ,"advert_snow", 0, "",0, "b")
    }
    
        // Death Event
    register_event("DeathMsg", "trololo","a")
}

public plugin_precache()
{
    engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_snow"))
}

public advert_snow()
{
    client_printcolor(0, "%L", LANG_PLAYER, "SNOW_MENU_ADVERT")
}

public Snow_Menu(id)
{
    static MenuHeader[64], MenuOpt1[64], MenuOpt2[64], MenuOpt3[64], MenuOpt4[64], MenuExit[64]
    
    formatex(MenuHeader, charsmax(MenuHeader), "%L", id, "SNOW_MENU_HEADER")
    formatex(MenuOpt1, charsmax(MenuOpt1), "%L", id, "SNOW_MENU_OPT1")
    formatex(MenuOpt2, charsmax(MenuOpt2), "%L", id, "SNOW_MENU_OPT2")
    formatex(MenuOpt3, charsmax(MenuOpt3), "%L", id, "SNOW_MENU_OPT3")
    formatex(MenuOpt4, charsmax(MenuOpt4), "%L", id, "SNOW_MENU_OPT4")
    formatex(MenuExit, charsmax(MenuExit), "%L", id, "SNOW_MENU_EXIT")
    
    new Menu = menu_create(MenuHeader, "Snow_Menu_handler")
    
    menu_additem(Menu, MenuOpt1, "1", 0)
    menu_additem(Menu, MenuOpt2, "2", 0)
    menu_additem(Menu, MenuOpt3, "3", 0)
    menu_additem(Menu, MenuOpt4, "4", 0)
    
    menu_setprop(Menu, MPROP_EXITNAME, MenuExit)
    menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
    
    menu_display(id, Menu, 0)
    
    return PLUGIN_CONTINUE
}

public Snow_Menu_handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        
        return PLUGIN_HANDLED
    }
    
    new s_Data[6], s_Name[64], i_Access, i_Callback
    menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
    
    new Key = str_to_num(s_Data)
    
    switch(Key)
    {
        case 1:
        {
            client_cmd(id, "cl_weather 3")
            noMenu[id] = true
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        
        case 2:
        {
            client_cmd(id, "cl_weather 2")
            noMenu[id] = true
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 3:
        {
            client_cmd(id, "cl_weather 1")
            noMenu[id] = true
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 4:
        {
            client_cmd(id, "cl_weather 0")
            noMenu[id] = true
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
    }
    
    menu_destroy(menu)
    return PLUGIN_HANDLED
}

public client_connect(id)
{
    client_cmd(id, "cl_weather 3")
    noMenu[id] = false
}

public client_disconnect(id)
{
    noMenu[id] = false
}

public trololo()
{
    new id = read_data(2)
    
    if(noMenu[id])
        return PLUGIN_HANDLED
    
    new MENU_DELAY = get_pcvar_float(cvar_menu_delay)
    set_task(MENU_DELAY, "Snow_Menu", id)
    
    return PLUGIN_CONTINUE
}

// Colorchat
stock client_printcolor ( const id, const input[], any:... )
{
    new iCount = 1, iPlayers[32]
    
    new sNewMsg[191]
    vformat( sNewMsg, charsmax ( sNewMsg ), input, 3 )
    
    replace_all ( sNewMsg, charsmax ( sNewMsg ), "/g", "^4") // green txt
    replace_all ( sNewMsg, charsmax ( sNewMsg ), "/y", "^1") // orange txt
    replace_all ( sNewMsg, charsmax ( sNewMsg ), "/t", "^3") // team txt
    
    if ( id )
        iPlayers[0] = id
    else
        get_players ( iPlayers, iCount, "ch" )
        
    for ( new i; i < iCount; i++ )
    {
        if ( is_user_connected ( iPlayers[i] ) )
        {
            message_begin ( MSG_ONE_UNRELIABLE, get_user_msgid ( "SayText" ), _, iPlayers[i] )
            write_byte ( iPlayers[i])
            write_string ( sNewMsg)
            message_end ()
        }
    }
}


Отредактировал: IIuKa, - 5.12.2012, 21:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Fresenius
сообщение 5.12.2012, 21:37
Сообщение #2


Стаж: 14 лет

Сообщений: 180
Благодарностей: 8
Полезность: < 0

Цитата(IIuKa @ 5.12.2012, 21:17) *
Суть такова что бы когда игрок заходил на сервер то ему через 15 сек автоматически открывало меню /snow

Скрытый текст
Код
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Snow"
#define VERSION "1.1"
#define AUTHOR "TTuCTOH"

new bool:noMenu[33] = false

new cvar_advert
new cvar_advert_delay
new cvar_menu_delay

public plugin_init()
{    
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
        // Slovarik
    register_dictionary("snow.txt")
        
        // Client commands
    register_clcmd("say /snow", "Snow_Menu")
    register_clcmd("say_team /snow", "Snow_Menu")
        
        // Cvars
    cvar_menu_delay = register_cvar("amx_sm_delay", "15")
    cvar_advert = register_cvar("amx_sm_advert", "1")
    if(get_pcvar_num(cvar_advert))
    {
        cvar_advert_delay = register_cvar("amx_sm_advert_delay", "300")
        new ADVERT_DELAY = get_pcvar_float(cvar_advert_delay)
        set_task(ADVERT_DELAY ,"advert_snow", 0, "",0, "b")
    }
    
        // Death Event
    register_event("DeathMsg", "trololo","a")
}

public plugin_precache()
{
    engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_snow"))
}

public advert_snow()
{
    client_printcolor(0, "%L", LANG_PLAYER, "SNOW_MENU_ADVERT")
}

public Snow_Menu(id)
{
    static MenuHeader[64], MenuOpt1[64], MenuOpt2[64], MenuOpt3[64], MenuOpt4[64], MenuExit[64]
    
    formatex(MenuHeader, charsmax(MenuHeader), "%L", id, "SNOW_MENU_HEADER")
    formatex(MenuOpt1, charsmax(MenuOpt1), "%L", id, "SNOW_MENU_OPT1")
    formatex(MenuOpt2, charsmax(MenuOpt2), "%L", id, "SNOW_MENU_OPT2")
    formatex(MenuOpt3, charsmax(MenuOpt3), "%L", id, "SNOW_MENU_OPT3")
    formatex(MenuOpt4, charsmax(MenuOpt4), "%L", id, "SNOW_MENU_OPT4")
    formatex(MenuExit, charsmax(MenuExit), "%L", id, "SNOW_MENU_EXIT")
    
    new Menu = menu_create(MenuHeader, "Snow_Menu_handler")
    
    menu_additem(Menu, MenuOpt1, "1", 0)
    menu_additem(Menu, MenuOpt2, "2", 0)
    menu_additem(Menu, MenuOpt3, "3", 0)
    menu_additem(Menu, MenuOpt4, "4", 0)
    
    menu_setprop(Menu, MPROP_EXITNAME, MenuExit)
    menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
    
    menu_display(id, Menu, 0)
    
    return PLUGIN_CONTINUE
}

public Snow_Menu_handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        
        return PLUGIN_HANDLED
    }
    
    new s_Data[6], s_Name[64], i_Access, i_Callback
    menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
    
    new Key = str_to_num(s_Data)
    
    switch(Key)
    {
        case 1:
        {
            client_cmd(id, "cl_weather 3")
            noMenu[id] = true
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        
        case 2:
        {
            client_cmd(id, "cl_weather 2")
            noMenu[id] = true
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 3:
        {
            client_cmd(id, "cl_weather 1")
            noMenu[id] = true
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
        case 4:
        {
            client_cmd(id, "cl_weather 0")
            noMenu[id] = true
            menu_destroy(menu)
            return PLUGIN_HANDLED
        }
    }
    
    menu_destroy(menu)
    return PLUGIN_HANDLED
}

public client_connect(id)
{
    client_cmd(id, "cl_weather 3")
    noMenu[id] = false
}

public client_disconnect(id)
{
    noMenu[id] = false
}

public trololo()
{
    new id = read_data(2)
    
    if(noMenu[id])
        return PLUGIN_HANDLED
    
    new MENU_DELAY = get_pcvar_float(cvar_menu_delay)
    set_task(MENU_DELAY, "Snow_Menu", id)
    
    return PLUGIN_CONTINUE
}

// Colorchat
stock client_printcolor ( const id, const input[], any:... )
{
    new iCount = 1, iPlayers[32]
    
    new sNewMsg[191]
    vformat( sNewMsg, charsmax ( sNewMsg ), input, 3 )
    
    replace_all ( sNewMsg, charsmax ( sNewMsg ), "/g", "^4") // green txt
    replace_all ( sNewMsg, charsmax ( sNewMsg ), "/y", "^1") // orange txt
    replace_all ( sNewMsg, charsmax ( sNewMsg ), "/t", "^3") // team txt
    
    if ( id )
        iPlayers[0] = id
    else
        get_players ( iPlayers, iCount, "ch" )
        
    for ( new i; i < iCount; i++ )
    {
        if ( is_user_connected ( iPlayers[i] ) )
        {
            message_begin ( MSG_ONE_UNRELIABLE, get_user_msgid ( "SayText" ), _, iPlayers[i] )
            write_byte ( iPlayers[i])
            write_string ( sNewMsg)
            message_end ()
        }
    }
}

Попробуй,я не тестил но должно пахать)
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Snow"
#define VERSION "1.1"
#define AUTHOR "TTuCTOH"

new bool:noMenu[33] = false

new cvar_advert
new cvar_advert_delay
new cvar_menu_delay

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

// Slovarik
register_dictionary("snow.txt")

// Client commands
register_clcmd("say /snow", "Snow_Menu")
register_clcmd("say_team /snow", "Snow_Menu")
register_clcmd("snow", "Snow_Menu")

// Cvars
cvar_menu_delay = register_cvar("amx_sm_delay", "15")
cvar_advert = register_cvar("amx_sm_advert", "1")
if(get_pcvar_num(cvar_advert))
{
cvar_advert_delay = register_cvar("amx_sm_advert_delay", "300")
new ADVERT_DELAY = get_pcvar_float(cvar_advert_delay)
set_task(ADVERT_DELAY ,"advert_snow", 0, "",0, "b")
}

// Death Event
register_event("DeathMsg", "trololo","a")
}

public plugin_precache()
{
engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_snow"))
}

public client_putinserver(id)
{
set_task(15.0, "open_menu");
}

public open_menu(id)
{
client_cmd(id, "Snow_Menu")
}

public advert_snow()
{
client_printcolor(0, "%L", LANG_PLAYER, "SNOW_MENU_ADVERT")
}

public Snow_Menu(id)
{
static MenuHeader[64], MenuOpt1[64], MenuOpt2[64], MenuOpt3[64], MenuOpt4[64], MenuExit[64]

formatex(MenuHeader, charsmax(MenuHeader), "%L", id, "SNOW_MENU_HEADER")
formatex(MenuOpt1, charsmax(MenuOpt1), "%L", id, "SNOW_MENU_OPT1")
formatex(MenuOpt2, charsmax(MenuOpt2), "%L", id, "SNOW_MENU_OPT2")
formatex(MenuOpt3, charsmax(MenuOpt3), "%L", id, "SNOW_MENU_OPT3")
formatex(MenuOpt4, charsmax(MenuOpt4), "%L", id, "SNOW_MENU_OPT4")
formatex(MenuExit, charsmax(MenuExit), "%L", id, "SNOW_MENU_EXIT")

new Menu = menu_create(MenuHeader, "Snow_Menu_handler")

menu_additem(Menu, MenuOpt1, "1", 0)
menu_additem(Menu, MenuOpt2, "2", 0)
menu_additem(Menu, MenuOpt3, "3", 0)
menu_additem(Menu, MenuOpt4, "4", 0)

menu_setprop(Menu, MPROP_EXITNAME, MenuExit)
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, Menu, 0)

return PLUGIN_CONTINUE
}

public Snow_Menu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)

return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new Key = str_to_num(s_Data)

switch(Key)
{
case 1:
{
client_cmd(id, "cl_weather 3")
noMenu[id] = true
menu_destroy(menu)
return PLUGIN_HANDLED
}

case 2:
{
client_cmd(id, "cl_weather 2")
noMenu[id] = true
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 3:
{
client_cmd(id, "cl_weather 1")
noMenu[id] = true
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 4:
{
client_cmd(id, "cl_weather 0")
noMenu[id] = true
menu_destroy(menu)
return PLUGIN_HANDLED
}
}

menu_destroy(menu)
return PLUGIN_HANDLED
}

public client_connect(id)
{
client_cmd(id, "cl_weather 3")
noMenu[id] = false
}

public client_disconnect(id)
{
noMenu[id] = false
}

public trololo()
{
new id = read_data(2)

if(noMenu[id])
return PLUGIN_HANDLED

new MENU_DELAY = get_pcvar_float(cvar_menu_delay)
set_task(MENU_DELAY, "Snow_Menu", id)

return PLUGIN_CONTINUE
}

// Colorchat
stock client_printcolor ( const id, const input[], any:... )
{
new iCount = 1, iPlayers[32]

new sNewMsg[191]
vformat( sNewMsg, charsmax ( sNewMsg ), input, 3 )

replace_all ( sNewMsg, charsmax ( sNewMsg ), "/g", "^4") // green txt
replace_all ( sNewMsg, charsmax ( sNewMsg ), "/y", "^1") // orange txt
replace_all ( sNewMsg, charsmax ( sNewMsg ), "/t", "^3") // team txt

if ( id )
iPlayers[0] = id
else
get_players ( iPlayers, iCount, "ch" )

for ( new i; i < iCount; i++ )
{
if ( is_user_connected ( iPlayers[i] ) )
{
message_begin ( MSG_ONE_UNRELIABLE, get_user_msgid ( "SayText" ), _, iPlayers[i] )
write_byte ( iPlayers[i])
write_string ( sNewMsg)
message_end ()
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
IIuKa
сообщение 5.12.2012, 21:53
Сообщение #3
Стаж: 13 лет

Сообщений: 667
Благодарностей: 29
Полезность: < 0

нет не открывается
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
IIuKa
сообщение 5.12.2012, 22:20
Сообщение #4
Стаж: 13 лет

Сообщений: 667
Благодарностей: 29
Полезность: < 0

всё сделал off тему!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: