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

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

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

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

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

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

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

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

Помогите избавиться от ошибки

, menufront
marik
сообщение 25.3.2015, 15:32
Сообщение #1
Стаж: 12 лет

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

menufront
Код
#include <amxmodx>
#include <amxmisc>

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0

#define PLUGIN    "AmxModMenu_New"
#define    VERSION    "1.0"
#define    AUTHOR    "CaNiBaL | Remake by Sn1kO"
new day[32]
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_menu("Menu_2", keys, "func_menu2")
    register_clcmd("amxmodmenu", "AmxMenu")
}
public client_authorized(id)
{
        if(is_user_admin(id))
    {
        new admin[32], pass[32], flags[32], x_access[32], x_days[32],bufferd[128],name[32], st[33]
        
        new iFiled = fopen("/addons/amxmodx/configs/users.ini","r");
        
        
        get_user_name(id, name, 31)
        get_user_authid(id, st, 32)
        
        while(!feof(iFiled))
{

        fgets(iFiled,bufferd,255)
        trim(bufferd)
        if(bufferd[0]=='"')
{        
    
        parse(bufferd, admin, 31, pass, 31, flags, 31, x_access, 31, x_days, 31)
        
        // Проверяем игрока через Name или Steam (проверку через IP сделаете сами если нужно)
        if(equal(admin, name) || equal(admin, st))
        {
        day[id]=str_to_num(x_days)
        return PLUGIN_HANDLED
        }
        
}
}
        fclose(iFiled)
        
    }
        return PLUGIN_HANDLED
}

public AmxMenu(id)

{
    static menu[650], iLen
    iLen = 0
    new player_name[32]
    get_user_name(id, player_name, 31)
    if(get_user_flags(id) & ADMIN_KICK)
        iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yМеню администратора^n\r%s\w твоя админка закончится ^nчерез \r%d\w дней^n^n", player_name, day[id])
    else
        iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yAmx\wMod\rMenu ^n\dНет доступа!. ^n\d˙^n^n");    

    if(get_user_flags(id) & ADMIN_KICK)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wКикнуть \y^n")
        keys |= MENU_KEY_1
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dКикнуть^n")
        keys &= ~MENU_KEY_1    
    }
    if(get_user_flags(id) & ADMIN_KICK)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \rЗабанить \y^n")
        keys |= MENU_KEY_2
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \dЗабанить^n")
        keys &= ~MENU_KEY_2    
    }
    if(get_user_flags(id) & ADMIN_KICK)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wСтукнуть \y^n")
        keys |= MENU_KEY_3
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \dСтукнуть^n")
        keys &= ~MENU_KEY_3    
    }
    if(get_user_flags(id) & ADMIN_KICK)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \yМеню команды игрока \y^n")
        keys |= MENU_KEY_4
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \dМеню команды игрока^n")
        keys &= ~MENU_KEY_4    
    }
    if(get_user_flags(id) & ADMIN_KICK)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wСмена карты \y^n")
        keys |= MENU_KEY_5
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \dСмена карты ^n")
        keys &= ~MENU_KEY_5    
    }
    if(get_user_flags(id) & ADMIN_KICK)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \yГолосование за карту \y^n")
        keys |= MENU_KEY_6
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \dГолосование за карту^n")
        keys &= ~MENU_KEY_6    
    }
    if(get_user_flags(id) & ADMIN_KICK)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \rЗаткнуть игрока\y^n")
        keys |= MENU_KEY_7
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \dЗаткнуть игрока^n")
        keys &= ~MENU_KEY_7    
    }

    if(get_user_flags(id) & ADMIN_IMMUNITY)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r8. \yПерейти в спектры \y^n")
        keys |= MENU_KEY_8
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r8. \dПерейти в спектры \y^n")
        keys |= MENU_KEY_8
    }

    if(get_user_flags(id) & ADMIN_KICK)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \rСменить ник игроку\y^n")
        keys |= MENU_KEY_9
    }
    else
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \dСменить ник игроку\y^n")
        keys |= MENU_KEY_9
    }
    
    
    
    
    
    
    
    
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0. \wЗакрыть^n")
    keys |= MENU_KEY_0
    
    show_menu(id, keys, menu, -1, "Menu_2");
    return PLUGIN_HANDLED
}
public func_menu2(id, key)
{
    switch(key)
    {
        case 0: client_cmd(id, "amx_kickmenu")
        case 1: client_cmd(id, "amx_banmenu")
        case 2: client_cmd(id, "amx_slapmenu")
        case 3: client_cmd(id, "amx_teammenu")
        case 4: client_cmd(id, "amx_mapmenu")
        case 5: client_cmd(id, "amx_votemapmenu")
        case 6: client_cmd(id, "amx_gagmenu")
        case 7: client_cmd(id, "spec")
        case 8: client_cmd(id, "amx_nickmenu")        
    }
}



error
Код
L 03/25/2015 - 12:51:49: Start of error session.
L 03/25/2015 - 12:51:49: Info (map "de_abaddon") (file "addons/amxmodx/logs/error_20150325.log")
L 03/25/2015 - 12:51:49: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/25/2015 - 12:51:49: [AMXX] Run time error 4: index out of bounds
L 03/25/2015 - 12:51:49: [AMXX]    [0] menufront_new.sma::client_authorized (line 41)
L 03/25/2015 - 13:02:19: Start of error session.
L 03/25/2015 - 13:02:19: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20150325.log")
L 03/25/2015 - 13:02:19: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/25/2015 - 13:02:19: [AMXX] Run time error 4: index out of bounds
L 03/25/2015 - 13:02:19: [AMXX]    [0] menufront_new.sma::client_authorized (line 41)
L 03/25/2015 - 13:31:16: Start of error session.
L 03/25/2015 - 13:31:16: Info (map "de_dust2002") (file "addons/amxmodx/logs/error_20150325.log")
L 03/25/2015 - 13:31:16: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/25/2015 - 13:31:16: [AMXX] Run time error 4: index out of bounds
L 03/25/2015 - 13:31:16: [AMXX]    [0] menufront_new.sma::client_authorized (line 41)



Плагин от куда вырезал часть кода (DaysExample)
Код
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "AdminMenuExample"
#define VERSION "1.0"
#define AUTHOR "SLIMSHADY (http://banan.ws)"

/*
Плагины на заказ, быстро, качественно, дорого - ICQ 5897777
Также на сайте http://banan.ws можно скачать все созданные мною плагины.
Добро пожаловать на мой неплохой CS 1.6 сервер connect 62.122.213.43:27270
*/

new day[32]

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /daymenu","main_menu")
    register_clcmd("say /daychat","daychat")
    
}


public client_authorized(id)
{
        if(is_user_admin(id))
    {
        new admin[32], pass[32], flags[32], x_access[32], x_days[32],bufferd[128],name[32], st[33]
        
        new iFiled = fopen("/addons/amxmodx/configs/users.ini","r");
        
        
        get_user_name(id, name, 31)
        get_user_authid(id, st, 32)
        
        while(!feof(iFiled))
{

        fgets(iFiled,bufferd,255)
        trim(bufferd)
        if(bufferd[0]=='"')
{        
    
        parse(bufferd, admin, 31, pass, 31, flags, 31, x_access, 31, x_days, 31)
        
        // Проверяем игрока через Name или Steam (проверку через IP сделаете сами если нужно)
        if(equal(admin, name) || equal(admin, st))
        {
        day[id]=str_to_num(x_days)
        return PLUGIN_HANDLED
        }
        
}
}
        fclose(iFiled)
        
    }
        return PLUGIN_HANDLED
}
        

public daychat(id)
if(is_user_admin(id))
client_print(id, print_chat, "%d days left.", day[id])

public main_menu(id)
{
if(is_user_admin(id))
{
// Формируем заголовок меню для админа
new szArgs[256]
formatex(szArgs, charsmax(szArgs), "AdminMenu: \r%d \wdays left.^n\yPlease visit \rhttp://banan.ws", day[id])

new i_Menu = menu_create(szArgs, "main_opt")
menu_additem(i_Menu, "One", "1", 0)
menu_additem(i_Menu, "Two", "2", 0)
menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, i_Menu, 0)
}
return PLUGIN_HANDLED
}

public main_opt(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 i_Key = str_to_num(s_Data)
switch(i_Key)
{
case 2:
{
client_print(id, print_chat, "Second option.")
}
case 1:
{
client_print(id, print_chat, "First option.")
}
}
return PLUGIN_HANDLED
}


Отредактировал: marik, - 25.3.2015, 15:43
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ThisIsSparta
сообщение 25.3.2015, 15:44
Сообщение #2
Стаж: 11 лет

Сообщений: 566
Благодарностей: 307
Полезность: 600

попробуй так

Код:
fgets(iFiled,bufferd,255)


сменить на

Код:
fgets(iFiled,bufferd,127)


Отредактировал: ThisIsSparta, - 25.3.2015, 15:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
marik
сообщение 25.3.2015, 15:45
Сообщение #3
Стаж: 12 лет

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

ThisIsSparta,

Делал ! мне GOOD FELLOW советовал ! все равно ошибки сыпит и через время не работает меню :(
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 25.3.2015, 15:52
Сообщение #4


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Попробуй в обратную сторону.
buffered[128] заменить на 256
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
marik
сообщение 25.3.2015, 15:56
Сообщение #5
Стаж: 12 лет

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

GOOD FELLOW,
Спасибо попробую ! вылетает не сразу
Пару дней тишина потом сыпит error
Отпишусь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
marik
сообщение 26.3.2015, 19:13
Сообщение #6
Стаж: 12 лет

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

GOOD FELLOW,

Опять ошибки пошли :(
Код
L 03/26/2015 - 07:00:23: Start of error session.
L 03/26/2015 - 07:00:23: Info (map "cs_assault_1337") (file "addons/amxmodx/logs/error_20150326.log")
L 03/26/2015 - 07:00:23: Invalid menu id 106(108)
L 03/26/2015 - 07:00:23: [AMXX] Run time error 10 (plugin "money_transferer.amxx") (native "menu_display") - debug not enabled!
L 03/26/2015 - 07:00:23: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 03/26/2015 - 12:30:19: Start of error session.
L 03/26/2015 - 12:30:19: Info (map "cs_italy") (file "addons/amxmodx/logs/error_20150326.log")
L 03/26/2015 - 12:30:19: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:30:19: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:30:19: [AMXX]    [0] menufront_new.sma::client_authorized (line 41)
L 03/26/2015 - 12:31:40: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:31:40: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:31:40: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:31:41: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:31:41: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:31:41: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:31:42: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:31:42: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:31:42: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:31:48: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:31:48: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:31:48: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:31:48: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:31:48: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:31:48: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:31:48: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:31:48: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:31:48: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:31:51: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:31:51: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:31:51: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:38:48: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:38:48: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:38:48: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:38:49: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:38:49: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:38:49: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:39:50: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:39:50: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:39:50: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)
L 03/26/2015 - 12:39:50: [AMXX] Displaying debug trace (plugin "menufront_new.amxx")
L 03/26/2015 - 12:39:50: [AMXX] Run time error 4: index out of bounds
L 03/26/2015 - 12:39:50: [AMXX]    [0] menufront_new.sma::AmxMenu (line 61)


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