Raised This Month: $ Target: $400
 0% 

[Help] VIP plugin


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Dabal
New Member
Join Date: Feb 2016
Old 02-15-2016 , 05:46   [Help] VIP plugin
Reply With Quote #1

Hello guys,

I have a vip plugin, but in Logs appears an error. What can i do?


The Error:
Quote:
L 02/15/2016 - 00:000: Invalid menu id 0(1)
L 02/15/2016 - 00:000: [AMXX] Displaying debug trace (plugin "VIPs.amxx")
L 02/15/2016 - 00:000: [AMXX] Run time error 10: native error (native "menu_display")
L 02/15/2016 - 00:000: [AMXX] [0] ag3q673r.sma.p::vip_menu (line 93)
Line 93 is : menu_display(id, menu, 0);

This is the VIP plugin:

Quote:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <colorchat>

#define VIP_LEVEL_ACCES ADMIN_LEVEL_H

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

#define REMOVE_FLAGS "r"

new const RMaps [ ] [ ] =
{
"35hp",
"35hp_2",
"31hp",
"1hp",
"100hp",
"fy_snow"

};

new const g_szBeginning[ ] = "Membrii VIP"
new g_szMessage[ 256 ];

new cvar_vip_maxap, cvar_vip_maxhp, cvar_vip_showC, cvar_vip_showH, cvar_vip_in_out, cvar_tag, cvar_start_hp, cvar_start_ap, cvar_start_money, cvar_vip_jump, cvar_hp_kill, cvar_ap_kill, jumpnum[33], bool: dojump[33], bool:use[33], SyncHudMessage;

public plugin_init()
{
register_plugin("Classic VIP-FIROGINAL.RO", "5.0", "Devil aKa. StefaN@CSX");

RegisterHam(Ham_Spawn, "player", "Spawn", 1);

register_clcmd("say /vmenu", "vip_menu", -1);
register_clcmd("say /vip", "vip_info");
register_clcmd("say", "handle_say");
register_clcmd("say_team", "handle_say");

register_event("DeathMsg", "eDeathMsg", "a");
register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");
register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib");

cvar_tag = register_cvar("amx_vip_tag", "PUB");
cvar_start_hp = register_cvar("amx_start_hp", "105");
cvar_start_ap = register_cvar("amx_start_ap", "105");
cvar_start_money = register_cvar("amx_start_money", "1000");
cvar_vip_jump = register_cvar("amx_vip_jump", "1" );
cvar_hp_kill = register_cvar("amx_vip_addhp", "10");
cvar_ap_kill = register_cvar("amx_vip_addap", "2");
cvar_vip_in_out = register_cvar("amx_vip_in_out", "1");
cvar_vip_showC = register_cvar("amx_vip_show_chat", "1");
cvar_vip_showH = register_cvar("amx_vip_show_hud", "0");
cvar_vip_maxhp = register_cvar("amx_vip_maxhp", "130");
cvar_vip_maxap = register_cvar("amx_vip_maxap", "150");

set_task(120.0, "mesaj_info", _, _, _, "b");
set_task( 1.0, "TaskDisplayVips", _, _, _, "b", 0 );
SyncHudMessage = CreateHudSyncObj( );

}

public Event_NewRound()
{
arrayset(use, false, 33);
}

public vip_menu(id)
{
new menu;
switch(cs_get_user_team(id))
{
case CS_TEAM_CT:
{
menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
menu_additem(menu, "M4a1+Deagle+Set grenazi", "1", VIP_LEVEL_ACCES);
menu_additem(menu, "Famas+Deagle+Set grenazi", "2", VIP_LEVEL_ACCES);
menu_additem(menu, "Awp+Deagle+Set grenazi", "3", VIP_LEVEL_ACCES);
}

case CS_TEAM_T:
{
menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
menu_additem(menu, "Ak47+Deagle+Set grenazi", "1", VIP_LEVEL_ACCES);
menu_additem(menu, "Galil+Deagle+Set grenazi", "2", VIP_LEVEL_ACCES);
menu_additem(menu, "Awp+Deagle+Set grenazi", "3", VIP_LEVEL_ACCES);
}
}
menu_display(id, menu, 0)
return PLUGIN_HANDLED;
}

public menu_ammunition ( id, menu, item )
{
new tag[32];
get_pcvar_string(cvar_tag, tag, charsmax(tag));

if(use[id])
{
ColorChat(id, GREEN,"^3[%s] ^1Meniul poate fi folosit doar o data pe runda !", tag);
return PLUGIN_HANDLED;
}

if(item == MENU_EXIT)
{
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 key = str_to_num(data);

if(cs_get_user_team(id) == CS_TEAM_CT)
switch(key)
{
case 1:
{
strip_user_weapons(id)
give_item(id, "weapon_knife");
give_item(id, "weapon_m4a1");
give_item(id, "weapon_deagle");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "item_thighpack");
cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
cs_set_user_bpammo(id, CSW_M4A1, 90);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.",tag);
}
case 2:
{
strip_user_weapons(id)
give_item(id, "weapon_knife");
give_item(id, "weapon_famas");
give_item(id, "weapon_deagle");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "item_thighpack");
cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
cs_set_user_bpammo(id, CSW_FAMAS, 90);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4Famas^1+^4Deagle^1+^4Set grenazi^1.",tag);
}
case 3:
{
strip_user_weapons(id)
give_item(id, "weapon_knife");
give_item(id, "weapon_awp");
give_item(id, "weapon_deagle");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "item_thighpack");
cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
cs_set_user_bpammo(id, CSW_AWP, 30);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
}
}
if(cs_get_user_team(id) == CS_TEAM_T)
switch(key)
{
case 1:
{
strip_user_weapons(id)
give_item(id, "weapon_knife");
give_item(id, "weapon_ak47");
give_item(id, "weapon_deagle");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
cs_set_user_bpammo(id, CSW_AK47, 90);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.",tag);
}
case 2:
{
strip_user_weapons(id)
give_item(id, "weapon_knife");
give_item(id, "weapon_galil");
give_item(id, "weapon_deagle");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
cs_set_user_bpammo(id, CSW_GALIL, 90);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4Galil^1+^4Deagle^1+^4Set grenazi^1.",tag);
}
case 3:
{
strip_user_weapons(id)
give_item(id, "weapon_knife");
give_item(id, "weapon_awp");
give_item(id, "weapon_deagle");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
cs_set_user_bpammo(id, CSW_AWP, 30);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
ColorChat(id,GREEN,"^3[%s] ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.",tag);
}
}
menu_destroy(menu);
use[id] = true;
return PLUGIN_HANDLED;
}

public Spawn(id)
{
if(!is_user_alive(id))
return;

new CsTeams:team = cs_get_user_team(id)
if(get_user_flags(id) & VIP_LEVEL_ACCES)
{
switch(team)
{
case CS_TEAM_T:
{
set_user_health(id, get_pcvar_num(cvar_start_hp));
set_user_armor(id, get_pcvar_num(cvar_start_ap));
cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money));
}
case CS_TEAM_CT:
{
set_user_health(id, get_pcvar_num( cvar_start_hp ));
set_user_armor(id, get_pcvar_num( cvar_start_ap ));
cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money));
}
}
}
}

public client_putinserver(id)
{
set_task(2.0, "in", id);

jumpnum[id] = 0;
dojump[id] = false;

new MapName[32]; get_mapname(MapName, sizeof(MapName));

for (new i = 0; i < sizeof (RMaps); i ++)
{
if(equali (MapName, RMaps[i]))
{
remove_user_flags (id, read_flags(REMOVE_FLAGS));
}
}
}

public client_disconnect( id )
{
set_task(2.0, "out", id);

jumpnum[id] = 0;
dojump[id] = false;
}

public client_PreThink( id )
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE;

new BUTON = get_user_button(id)
new OLDBUTON = get_user_oldbutton(id)
new JUMP_VIP = get_pcvar_num(cvar_vip_jump)

if((BUTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP))
{
if(((get_user_flags(id) & VIP_LEVEL_ACCES) && (jumpnum[id] < JUMP_VIP)))
{
dojump[id] = true
jumpnum[id]++
}
}

if((BUTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
{
jumpnum[id] = 0
}

return PLUGIN_CONTINUE;
}

public client_PostThink(id)
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE;

if(dojump[id] == true)
{
new Float: velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] = random_float(265.0, 285.0)
entity_set_vector(id, EV_VEC_velocity, velocity)
dojump[id] = false
}
return PLUGIN_CONTINUE;
}

public eDeathMsg()
{
new id_Killer = read_data(1);
new VIP_MAXHP = get_pcvar_num(cvar_vip_maxhp);
new VIP_MAX_HP = get_user_health(id_Killer);
new VIP_MAXAP = get_pcvar_num(cvar_vip_maxap);
new VIP_MAX_AP = get_user_armor(id_Killer);

if(is_user_alive(id_Killer))
{
if(get_user_flags(id_Killer) & VIP_LEVEL_ACCES )
{
set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill));
set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill));
}
}

if(VIP_MAX_HP >= VIP_MAXHP)
{
set_user_health(id_Killer, get_pcvar_num(cvar_vip_maxhp));
return PLUGIN_HANDLED;
}

if(VIP_MAX_AP >= VIP_MAXAP)
{
set_user_armor(id_Killer, get_pcvar_num(cvar_vip_maxap));
return PLUGIN_HANDLED;
}

return PLUGIN_HANDLED;
}

public in(id)
{
if(get_pcvar_num(cvar_vip_in_out))
{
new tag[32], name[32];

get_pcvar_string(cvar_tag, tag, charsmax(tag));
get_user_name(id, name, charsmax(name));

if(get_user_flags(id) & VIP_LEVEL_ACCES)
{
ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a conectat.", tag, name);
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

public out(id)
{
if(get_pcvar_num(cvar_vip_in_out))
{
new tag[32], name[32];

get_pcvar_string(cvar_tag, tag, charsmax(tag));
get_user_name(id, name, charsmax(name));

if(get_user_flags(id) & VIP_LEVEL_ACCES)
{
ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a deconectat.", tag, name);
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}

public vip_info(id)
{
show_motd(id, "/addons/amxmodx/configs/vip1.html");
}

public mesaj_info()
{
new tag[32];
get_pcvar_string(cvar_tag, tag, charsmax(tag));

ColorChat(0, GREEN, "^3[%s] ^1Tastati in chat ^4/vip ^1pentru a vedea beneficiile si pretul vip-ului.", tag);
}

public TaskDisplayVips( )
{
if(get_pcvar_num(cvar_vip_showH))
{
static iPlayers[ 32 ];
static iPlayersNum;

get_players( iPlayers, iPlayersNum, "ch" );
if( !iPlayersNum )
return 1;

static iVipsConnected, szVipsNames[ 128 ], szName[ 32 ];
formatex( szVipsNames, sizeof ( szVipsNames ) -1, "" ); // Is this needed ?
iVipsConnected = 0;

static id, i;
for( i = 0; i < iPlayersNum; i++ )
{
id = iPlayers[ i ];
if( get_user_flags( id ) & VIP_LEVEL_ACCES )
{
get_user_name( id, szName, sizeof ( szName ) -1 );

add( szVipsNames, sizeof ( szVipsNames ) -1, szName );
add( szVipsNames, sizeof ( szVipsNames ) -1, "^n" );

iVipsConnected++;
}
}

formatex( g_szMessage, sizeof ( g_szMessage ) -1, "%s ( %i )^n%s",
g_szBeginning, iVipsConnected, szVipsNames );

set_hudmessage( 25, 255, 25, 0.01, 0.25, 0, 0.0, 1.0, 0.1, 0.1, -1 );
ShowSyncHudMsg( 0, SyncHudMessage, g_szMessage );
}
return PLUGIN_CONTINUE;

}

public handle_say(id)
{
new said[192];
read_args(said,192);
if(contain(said, "/vips") != -1)
set_task(0.1,"print_adminlist",id);
return PLUGIN_CONTINUE;
}

public print_adminlist(user)
{
if(get_pcvar_num(cvar_vip_showC))
{
new tag[32];
get_pcvar_string(cvar_tag, tag, charsmax(tag));

new adminnames[33][32];
new message[256];
new id, count, x, len;

for(id = 1 ; id <= get_maxplayers() ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & VIP_LEVEL_ACCES)
get_user_name(id, adminnames[count++], charsmax(adminnames[ ]));

len = format(message, 255, "^3[%s] ^1VIP-ii online sunt:^4 " ,tag);
if(count > 0)
{
for(x = 0 ; x < count ; x++)
{
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
if(len > 96)
{
print_message(user, message);
len = format(message, 255, " ");
}
}
print_message(user, message);
}
else
{
ColorChat(0, GREEN, "^3[%s] ^1Nu sunt ^4VIP^1-i online.", tag);
}
}
return PLUGIN_CONTINUE;
}

print_message(id, msg[])
{
message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
write_byte(id);
write_string(msg);
message_end();
}

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


Thanks!

Last edited by Dabal; 02-15-2016 at 08:35.
Dabal is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:30.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode