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

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

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

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

Ошибка в плагине

Статус пользователя terskiys
сообщение 17.5.2012, 19:45
Сообщение #1


Стаж: 14 лет

Сообщений: 460
Благодарностей: 104
Полезность: 199

Всем привет. Имеется плагин, работает без ошибок, при компиляции никаких ошибок не выдает, однако на сервере выдает много ошибок в логах.
Логи.
Скрытый текст
L 05/17/2012 - 21:21:20: Info (map "cs_mansion") (file "addons/amxmodx/logs/error_20120517.log")
L 05/17/2012 - 21:21:20: Invalid CVAR pointer
L 05/17/2012 - 21:21:20: [AMXX] Run time error 10 (plugin "VipMenu.amxx") (native "get_pcvar_num") - debug not enabled!
L 05/17/2012 - 21:21:20: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 05/17/2012 - 21:28:38: Start of error session.
L 05/17/2012 - 21:28:38: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20120517.log")
L 05/17/2012 - 21:28:38: Invalid CVAR pointer
L 05/17/2012 - 21:28:38: [AMXX] Run time error 10 (plugin "VipMenu.amxx") (native "get_pcvar_num") - debug not enabled!
L 05/17/2012 - 21:28:38: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 05/17/2012 - 21:43:20: Start of error session.
L 05/17/2012 - 21:43:20: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20120517.log")
L 05/17/2012 - 21:43:20: Invalid CVAR pointer
L 05/17/2012 - 21:43:20: [AMXX] Run time error 10 (plugin "VipMenu.amxx") (native "get_pcvar_num") - debug not enabled!
L 05/17/2012 - 21:43:20: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).


Исходник
Скрытый текст
/*===============================================================================
=
Инклюды
================================================================================
=*/
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <color_print>
#include <fun>
#include <fakemeta>
/*===============================================================================
=
Данные о плагине
================================================================================
=*/
#define PLUGIN "Vip Menu"
#define VERSION "1.0"
#define AUTHOR "PraVitelb"
#define PREFIX "!y*"
/*===============================================================================
=
Различные данные
================================================================================
=*/
const OFFSET_CSMENUCODE = 205
#define MENUBUTTON1 (1<<0)
#define MENUBUTTON2 (1<<1)
#define MENUBUTTON3 (1<<2)
#define MENUBUTTON4 (1<<3)
#define MENUBUTTON5 (1<<4)
#define MENUBUTTON6 (1<<5)
#define MENUBUTTON7 (1<<6)
#define MENUBUTTON8 (1<<7)
#define MENUBUTTON9 (1<<8)
#define MENUBUTTON0 (1<<9)
/*===============================================================================
=
Константы
================================================================================
=*/
new HasAll[33]
new HasHealth[33]
new HasMoney[33]
new HasArmor[33]
new HasGrenade[33]
new HasAmmo[33]

new cvar_vip_money
new cvar_vip_health
new cvar_vip_armor
new cvar_vip_models
/*===============================================================================
=
Загрузка плагина
================================================================================
=*/
public plugin_init()
{
register_plugins_post(PLUGIN, VERSION, AUTHOR)

register_clcmd("say /vip_menu", "clcmd_vipmenu")
register_clcmd("say_team /vip_menu", "clcmd_vipmenu")
register_clcmd("vip_menu", "clcmd_vipmenu")

RegisterHam( Ham_Spawn, "player", "fwSpawn", 1)

register_menucmd(register_menuid("Vip Menu"), 1023, "VipHandler")

cvar_vip_models = register_cvar("vip_models", "1") /* 1 - Выдавать модельку 0 - выкл*/
cvar_vip_money = register_cvar("vip_money", "1000") /* Сколько давать денег */
cvar_vip_health = register_cvar("vip_health", "20") /* Сколько давать жизней */
cvar_vip_armor = register_cvar("vip_armor", "100") /* Сколько давать брони */

return PLUGIN_CONTINUE
}
/*===============================================================================
=
Открытие менюшки
================================================================================
=*/
public clcmd_vipmenu(id)
{
VipMenu( id )
return PLUGIN_HANDLED
}
/*===============================================================================
=
Игрок покинул сервер
================================================================================
=*/
public client_disconnect(id)
{
HasAll[id] = false
HasHealth[id] = false
HasMoney[id] = false
HasArmor[id] = false
HasGrenade[id] = false
HasAmmo[id] = false
}
/*===============================================================================
=
Закачки плагина
================================================================================
=*/
public plugin_precache()
{
if(get_pcvar_num(cvar_vip_models))
{
precache_model("models/player/vip/vip.mdl");
}
}
/*===============================================================================
=
Возрождение игрока
================================================================================
=*/
public fwSpawn(id)
{
if(HasHealth[id])
{
new Health = get_user_health(id)
set_user_health(id, Health + get_pcvar_num(cvar_vip_health))
}
if(HasMoney[id])
{
new Money = cs_get_user_money(id)
cs_set_user_money(id, Money + get_pcvar_num(cvar_vip_money))
}
if(HasArmor[id])
set_user_armor(id, get_pcvar_num(cvar_vip_armor))

if(HasGrenade[id])
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
}
if(HasAmmo[id])
{
if(user_has_weapon(id, CSW_AK47))
{
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
}
if(user_has_weapon(id, CSW_M4A1))
{
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
}
if(user_has_weapon(id, CSW_AWP))
{
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
}
if(user_has_weapon(id, CSW_DEAGLE))
{
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
}

}
if(get_pcvar_num(cvar_vip_models))
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
set_task(1.0, "models_vip", id)
}
}
public models_vip(id)
{
if(is_user_alive( id ))
{
cs_set_user_model(id, "vip")
}
}
/*===============================================================================
=
Vip Menu
================================================================================
=*/
public VipMenu(id)
{
static MenuBody[512]
new flags
new len = formatex(MenuBody, 511, "\yВИП меню:^n^n")

if(get_user_flags(id) & ADMIN_LEVEL_H)
{
len += formatex(MenuBody[len], 511 - len, "\r1. \wПолучать \r(\d+%dHP\r) %s^n", get_pcvar_num(cvar_vip_health), HasHealth[id] ? "\yВкл" : "Выкл")
flags |= MENUBUTTON1

len += formatex(MenuBody[len], 511 - len, "\r2. \wПолучать \r(\d%d Брони\r) %s^n", get_pcvar_num(cvar_vip_armor), HasArmor[id] ? "\yВкл" : "Выкл")
flags |= MENUBUTTON2

len += formatex(MenuBody[len], 511 - len, "\r3. \wПолучать \r(\d+%d$\r) %s^n", get_pcvar_num(cvar_vip_money), HasMoney[id] ? "\yВкл" : "Выкл")
flags |= MENUBUTTON3

len += formatex(MenuBody[len], 511 - len, "\r4. \wПолучать \r(\dВсе гранаты\r) %s^n", HasGrenade[id] ? "\yВкл" : "Выкл")
flags |= MENUBUTTON4

len += formatex(MenuBody[len], 511 - len, "\r5. \wПолучать \r(\dВсе патроны\r) %s^n", HasAmmo[id] ? "\yВкл" : "Выкл")
flags |= MENUBUTTON5

len += formatex(MenuBody[len], 511 - len, "\r6. \wВзять \r(\dAK47\r+\dДигл\r)^n")
flags |= MENUBUTTON6

len += formatex(MenuBody[len], 511 - len, "\r7. \wВзять \r(\dM4A1\r+\dДигл\r)^n")
flags |= MENUBUTTON7

len += formatex(MenuBody[len], 511 - len, "\r8. \wВзять \r(\dAWP\r+\dДигл\r)^n^n")
flags |= MENUBUTTON8

len += formatex(MenuBody[len], 511 - len, "\r9. \w%s^n^n", HasAll[id] ? "\wВыключить все" : "\wВключить все")
flags |= MENUBUTTON9

len += formatex(MenuBody[len], 511 - len, "\r0. \wВыход")
flags |= MENUBUTTON0
}
else
{
len += formatex(MenuBody[len], 511 - len, "\r1. \dПолучать (\y+\r%dHP\d) \rВыкл^n", get_pcvar_num(cvar_vip_health))

len += formatex(MenuBody[len], 511 - len, "\r2. \dПолучать (\r%d Брони\d) \rВыкл^n", get_pcvar_num(cvar_vip_armor))

len += formatex(MenuBody[len], 511 - len, "\r3. \dПолучать (\y+\r%d$\d) \rВыкл^n", get_pcvar_num(cvar_vip_money))

len += formatex(MenuBody[len], 511 - len, "\r4. \dПолучать (\rВсе гранаты\d) \rВыкл^n")

len += formatex(MenuBody[len], 511 - len, "\r5. \dПолучать (\rВсе патроны\d) \rВыкл^n")

len += formatex(MenuBody[len], 511 - len, "\r6. \dВзять (\rAK47\y+\rДигл\d)^n")

len += formatex(MenuBody[len], 511 - len, "\r7. \dВзять (\rM4A1\y+\rДигл\d)^n")

len += formatex(MenuBody[len], 511 - len, "\r8. \dВзять (\rAWP\y+\rДигл\d)^n^n")

len += formatex(MenuBody[len], 511 - len, "\r9. \dВключить все^n^n")

len += formatex(MenuBody[len], 511 - len, "\r0. \wВыход")
flags |= MENUBUTTON0
}

set_pdata_int(id, OFFSET_CSMENUCODE, 0)
show_menu(id, flags, MenuBody, -1, "Vip Menu")
return PLUGIN_CONTINUE
}
/*===============================================================================
=
Действие Vip Menu
================================================================================
=*/
public VipHandler(id, key)
{
if (!is_user_connected(id))
return PLUGIN_HANDLED;

switch (key)
{
case 0:
{
HasHealth[id] = HasHealth[id] ? false : true
VipMenu(id)
}
case 1:
{
HasArmor[id] = HasArmor[id] ? false : true
VipMenu(id)
}
case 2:
{
HasMoney[id] = HasMoney[id] ? false : true
VipMenu(id)
}
case 3:
{
HasGrenade[id] = HasGrenade[id] ? false : true
VipMenu(id)
}
case 4:
{
HasAmmo[id] = HasAmmo[id] ? false : true
VipMenu(id)
}
case 5:
{
if(is_user_alive(id))
{
give_item(id,"weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")

new name[32]
get_user_name(id, name, 32)

color_print(0, "%s ВИП игрок !t%s !yвзял AK47+Дигл", PREFIX, name)
}
else
{
color_print(id, "%s !yИзвините, но вы не можете взять AK47+Дигл, когда вы мертвы", PREFIX)
return PLUGIN_HANDLED;
}
VipMenu(id)
}
case 6:
{
if(is_user_alive(id))
{
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")

new name[32]
get_user_name(id, name, 32)

color_print(0, "%s ВИП игрок !t%s !yвзял M4A1+Дигл", PREFIX, name)
}
else
{
color_print(id, "%s !yИзвините, но вы не можете взять M4A1+Дигл, когда вы мертвы", PREFIX)
return PLUGIN_HANDLED;
}
VipMenu(id)
}
case 7:
{
if(is_user_alive(id))
{
give_item(id,"weapon_awp")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")

new name[32]
get_user_name(id, name, 32)

color_print(0, "%s ВИП игрок !t%s !yвзял AWP+Дигл", PREFIX, name)
}
else
{
color_print(id, "%s !yИзвините, но вы не можете взять AWP+Дигл, когда вы мертвы", PREFIX)
return PLUGIN_HANDLED;
}
VipMenu(id)
}
case 8:
{
HasAll[id] = HasAll[id] ? false : true
if(HasAll[id])
{
HasHealth[id] = true
HasArmor[id] = true
HasMoney[id] = true
HasGrenade[id] = true
HasAmmo[id] = true
}
else
{
HasHealth[id] = false
HasArmor[id] = false
HasMoney[id] = false
HasGrenade[id] = false
HasAmmo[id] = false
}
VipMenu(id)
}
}
return PLUGIN_HANDLED
}
stock register_plugins_post(const p[], const v[], const a[])
{
if(a[0] != 'P' || a[3] != 'V' || a[6] != 'e' || a[8] != 'b' || p[0] != 'V' || p[2] != 'p' || p[4] != 'M' || p[6] != 'n')
{
return set_fail_state("Copyrights deleting!")
}

return register_plugin(p, v, a)
}


Прошу помочь исправить проблему.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя AndrewZ
сообщение 17.5.2012, 20:20
Сообщение #2


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

samaraserv,
после плагина, в plugins.ini, напиши debug и выложи лог сюда.

Отредактировал: AndrewZ, - 17.5.2012, 20:20


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя terskiys
сообщение 17.5.2012, 21:50
Сообщение #3


Стаж: 14 лет

Сообщений: 460
Благодарностей: 104
Полезность: 199

Скрытый текст
L 05/17/2012 - 23:48:15: Invalid CVAR pointer
L 05/17/2012 - 23:48:15: [AMXX] Displaying debug trace (plugin "VipMenu.amxx")
L 05/17/2012 - 23:48:15: [AMXX] Run time error 10: native error (native "get_pcvar_num")
L 05/17/2012 - 23:48:15: [AMXX] [0] VipMenu.sma::plugin_precache (line 92)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 17.5.2012, 21:52
Сообщение #4


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Функция plugin_precache выполняется раньше чем plugin_init как ни крути pardon.gif
так что убирай проверку на квар в plugin_precache
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя terskiys
сообщение 17.5.2012, 22:03
Сообщение #5


Стаж: 14 лет

Сообщений: 460
Благодарностей: 104
Полезность: 199

Цитата(Surf @ 17.5.2012, 22:52) *
Функция plugin_precache выполняется раньше чем plugin_init как ни крути pardon.gif
так что убирай проверку на квар в plugin_precache


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