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

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

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

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

помогите найти ошибку

noskill
сообщение 30.12.2011, 19:59
Сообщение #1
Стаж: 14 лет

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

Код
#include <amxmodx>
#include <messages>
#include <fakemeta>
#include <fakemeta_util>

#define PLUGIN "P.S. ClanWar"
#define VERSION "0.1"
#define AUTHOR "noskill"


new bool:knifegame


// Stocks
stock fm_give_knife( index )
{
    new ent = fm_create_entity( "knife" )
    if( !pev_valid( ent ) )
        return 0

    new Float:origin[3]
    pev( index, pev_origin, origin )
    set_pev( ent, pev_origin, origin )
    set_pev( ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN )
    dllfunc( DLLFunc_Spawn, ent )

    new save = pev( ent, pev_solid )
    dllfunc( DLLFunc_Touch, ent, index )
    if( pev(ent, pev_solid) != save )
        return ent;

    engfunc( EngFunc_RemoveEntity, ent )

    return -1
}

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    new i_MessageID = get_user_msgid("MOTD")
    register_message(i_MessageID, "hook_motd") // скрываем мотд
    register_clcmd("warmenu", "war_menu", ADMIN_ALL, "")
    register_logevent("roundStart", 2, "1=Round_Start")
    register_concmd("changepw", "cmdChangepw", ADMIN_ALL)
    server_cmd("exec waits.cfg")
    }
    

public hook_motd(msg_id, msg_dest, msg_entity)
{
    return PLUGIN_HANDLED
}


public roundStart(id)
{
if (knifegame == true)
{
    fm_strip_user_weapons( id )
    fm_give_knife( id )

}    
}



public war_menu(id)
{
    
    if (get_user_flags(id) & ADMIN_ALL)
    {
    new war_menu = menu_create("Меню проведения CW","war_menu_handler")
    menu_additem( war_menu, "Кик", "1", 0 )
    menu_additem( war_menu, "Кикнуть команду", "2", 0 )
    menu_additem( war_menu, "Бан", "3", 0 )
    menu_additem( war_menu, "Начать игру", "4", 0 )
    menu_additem( war_menu, "Доп. виды игры", "5", 0 )
    menu_additem( war_menu, "Сменить пароль", "6", 0 )
    menu_additem( war_menu, "Рестарт", "7", 0 )
    menu_setprop( war_menu, MPROP_EXIT, MEXIT_ALL )
    menu_display( id, war_menu, 0 )
    
    return PLUGIN_CONTINUE
    }
    else
    {
        client_print(id, print_chat, "У вас нет доступа к меню");
        
        return PLUGIN_HANDLED;
    }
    
    return PLUGIN_CONTINUE
}


public war_menu_handler( id, menu, key )
{
    key++
    
    switch( key )
    {
        case 1: kick_menu(id)
        case 2: kick_team_menu(id)
        case 3: ban_menu(id)
        case 4: server_cmd("exec ^"%s^"", "addons\amxmodx\configs\psclanwar\live.cfg")
        case 5: owk_menu(id)
        case 6: client_cmd(id, "messagemode ^"changepw^"")
        case 7: server_cmd("say Restart...;w300;sv_restart 1")
    }
}

public kick_team_menu(id)
{

    new menu = menu_create("\rКик меню ок", "kt_menu_handler");
    menu_additem( menu, "Контров", "1", 0 )
    menu_additem( menu, "Терров", "2", 0 )
    menu_setprop( menu, MPROP_EXIT, MEXIT_ALL )
    menu_display( id, menu, 0 )
}
public kt_menu_handler(id, menu, key)
{
    key++
    
    switch( key )
    {
        case 1: kick_team_ct(id)
        case 2: kick_team_tt(id)

    }
}

public kick_team_ct(id)
{
new const MAXPLAYERS = get_maxplayers()
for (new i = 0; i < MAXPLAYERS; i++) {
    if (is_user_connected(i) && get_user_team(i) == 2)
    {
    new userid = get_user_userid(i)
    server_cmd("kick #%d", userid)
    }
}
}

public kick_team_tt(id)
{
new const MAXPLAYERS = get_maxplayers()
for (new i = 0; i < MAXPLAYERS; i++) {
    if (is_user_connected(i) && get_user_team(i) == 1)
    {
    new userid = get_user_userid(i)
    server_cmd("kick #%d", userid)
    }
}
}
          



    
public kick_menu(id)
{

    new menu = menu_create("\rКик меню ок", "kmenu_handler");
    new players[32], pnum, tempid;
    new szName[32], szTempid[10];
    get_players(players, pnum);
    for( new i; i<pnum; i++ )
    {
        tempid = players[i];
        get_user_name(tempid, szName, charsmax(szName));
        num_to_str(tempid, szTempid, charsmax(szTempid));
        menu_additem(menu, szName, szTempid, 0);

    }

    menu_display(id, menu, 0);
}

public kmenu_handler(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new data[6], szName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    
    new userid = get_user_userid(id);
    server_cmd("kick #%d", userid);
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public ban_menu(id)
{

    new menu = menu_create("\rКик меню ок", "bmenu_handler");
    new players[32], pnum, tempid;
    new szName[32], szTempid[10];
    get_players(players, pnum);
    for( new i; i<pnum; i++ )
    {
        tempid = players[i];
        get_user_name(tempid, szName, charsmax(szName));
        num_to_str(tempid, szTempid, charsmax(szTempid));
        menu_additem(menu, szName, szTempid, 0);

    }

    menu_display(id, menu, 0);
}

public bmenu_handler(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new data[6], szName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    new userid = get_user_userid(id);
    server_cmd("banid #%d", userid);
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
    

public owk_menu(id)
{
    new owk_menu = menu_create("Overtime/Warmup/Knife","owk_menu_handler")
    menu_additem( owk_menu, "Overtime (Доп. раунды)", "1", 0 )
    menu_additem( owk_menu, "Warmup (Тренировка)", "2", 0 )
    menu_additem( owk_menu, "Knife(Ножи)", "3", 0 )
    menu_setprop( owk_menu, MPROP_EXIT, MEXIT_ALL )
    menu_display( id, owk_menu, 0 )
}


public owk_menu_handler( id, menu, key )
{
    key++
    
    switch( key )
    {
        case 1: server_cmd("exec ^"%s^"", "addons\amxmodx\configs\psclanwar\overtime.cfg")
        case 2: server_cmd("exec ^"%s^"", "addons\amxmodx\configs\psclanwar\warmup.cfg")
        case 3:
        {
        knifegame=true    
        server_cmd("exec ^"%s^"", "addons\amxmodx\configs\psclanwar\knife.cfg")
        }
    }
}

public cmdChangepw(id)
{
    new argv1[64]
    read_argv (id, argv1, sizeof argv1 )
    server_cmd("sv_password ^"%s^"", argv1)
    client_print(id,print_chat,"Password is changed! New password is ^"%s^"", argv1)
    return PLUGIN_HANDLED
    
}


Отредактировал: http//www.c-s.net.ua, - 31.12.2011, 12:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Flash
сообщение 31.12.2011, 9:10
Сообщение #2
Стаж: 16 лет

Сообщений: 793
Благодарности: выкл.

public roundSrart(id)
{

->>

public roundStart(id)
{
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
noskill
сообщение 31.12.2011, 10:37
Сообщение #3
Стаж: 14 лет

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

Цитата(Flash @ 31.12.2011, 9:10) *
public roundSrart(id)
{

->>

public roundStart(id)
{

Ахаха
Благодарю:D
Тему пока не закрывайте, мб еще вопросы будут)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
noskill
сообщение 31.12.2011, 12:21
Сообщение #4
Стаж: 14 лет

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

не работает менюшка "warmenu"
код обновил в первом посте
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя scurra
сообщение 1.1.2012, 19:55
Сообщение #5


Стаж: 17 лет

Сообщений: 458
Благодарностей: 141
Полезность: 707

Меценат Меценат

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