These are the errors I got from Logs
L 03/17/2017 - 15:16:08: [AMXX] Displaying debug trace (plugin "ze_vip_system.amxx", version "1.0")
L 03/17/2017 - 15:16:08: [AMXX] Run time error 10: native error (native "get_pcvar_num")
L 03/17/2017 - 15:16:08: [AMXX] [0] ze_vip_system.sma::client_putinserver (line 229)
Code is this which is making problem
Code: Select all
public client_putinserver(id)
{
if (get_user_flags(id) & VIP_ACCESS && get_pcvar_num(cvar_vip_connect_notice) != 0)
{
new szName[32]
get_user_name(id, szName, charsmax(szName))
ze_colored_print(0, "!tVIP !g%s !tConnected!y.", szName)
}
}
Full Code : -
Code: Select all
#include <zombie_escape>
#include <ze_multijump>
// Defines
#define VIP_ACCESS ADMIN_LEVEL_H
// Variables
new const parachute_model[] = "models/parachute.mdl"
new bool:g_bIsHappyHour
new bool:has_parachute[33]
new para_ent[33]
new g_para_3rd_view
new g_parachute_FallSpeed, g_parachute_Detach
// Cvars
new cvar_enable_multijump, cvar_enable_happy_hours, cvar_happy_hour_start, cvar_happy_hour_end, cvar_vip_flag,
cvar_enable_scoreboard_attrib, cvar_vip_connect_notice , maxplayers, cvar_vip_damage
static const COLOR[] = "^x04" //green
public plugin_init()
{
register_plugin("[ZE] VIP System", "1.0", "Raheem")
register_message(get_user_msgid("SayText"),"Tekst");
register_message(get_user_msgid("SayText"),"Say_Text");
RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_Take_DMG", 1);
register_clcmd("say /vip", "show_vip_motd")
register_clcmd("say", "handle_say")
// Hook Chains
RegisterHookChain(RG_CBasePlayer_Spawn, "Fw_PlayerSpawn_Post", 1)
// Cvars
cvar_enable_multijump = register_cvar("ze_give_vip_multijump", "1")
cvar_enable_happy_hours = register_cvar("ze_enable_happy_hours", "1")
cvar_enable_scoreboard_attrib = register_cvar("ze_enable_scoreboard_attrib", "1")
cvar_vip_connect_notice = register_cvar("ze_enable_connect_notice", "1")
cvar_vip_damage = register_cvar("ze_vip_damage", "3")
g_para_3rd_view = register_cvar("ze_3rd_person_view", "1")
g_parachute_FallSpeed = register_cvar("ze_vip_parachute_fallspeed", "45")
g_parachute_Detach = register_cvar("ze_vip_parachute_detach", "1")
cvar_happy_hour_start = register_cvar("ze_happy_hours_start", "00")
cvar_happy_hour_end = register_cvar("ze_happy_hours_end", "12")
cvar_vip_flag = register_cvar("ze_vip_flag", "t")
}
public show_vip_motd(id)
{
show_motd(id, "vip.txt", "VIP Features")
}
public plugin_precache()
engfunc(EngFunc_PrecacheModel, parachute_model)
public client_connect(id)
{
parachute_reset(id)
has_parachute[id] = false
}
public client_disconnect(id)
{
parachute_reset(id)
has_parachute[id] = false
}
public death_event()
{
new i = read_data(2)
parachute_reset(i)
has_parachute[i] = false
set_view(i, CAMERA_NONE)
}
parachute_reset(id)
{
if (para_ent[id] > 0)
{
if ( pev_valid(para_ent[id]) )
engfunc(EngFunc_RemoveEntity, para_ent[id])
}
has_parachute[id] = false
para_ent[id] = 0
}
public newSpawn(id)
{
parachute_reset(id)
}
public fw_PreThink(id)
{
//parachute.mdl animation information
//0 - deploy - 84 frames
//1 - idle - 39 frames
//2 - detach - 29 frames
if (!is_user_alive(id) || !has_parachute[id] && (get_user_flags(id) & VIP_ACCESS))
return
new Float:fallspeed = get_pcvar_float(g_parachute_FallSpeed) * -1.0
new Float:frame
new button = pev(id, pev_button)
new oldbutton = pev(id, pev_oldbuttons)
new flags = pev(id, pev_flags)
if (para_ent[id] > 0 && (flags & FL_ONGROUND))
{
set_view(id, CAMERA_NONE)
if (get_pcvar_num(g_parachute_Detach))
{
if ( pev(para_ent[id],pev_sequence) != 2 )
{
set_pev(para_ent[id], pev_sequence, 2)
set_pev(para_ent[id], pev_gaitsequence, 1)
set_pev(para_ent[id], pev_frame, 0.0)
set_pev(para_ent[id], pev_fuser1, 0.0)
set_pev(para_ent[id], pev_animtime, 0.0)
return
}
pev(para_ent[id],pev_fuser1, frame)
frame += 2.0
set_pev(para_ent[id],pev_fuser1,frame)
set_pev(para_ent[id],pev_frame,frame)
if ( frame > 254.0 )
{
engfunc(EngFunc_RemoveEntity, para_ent[id])
para_ent[id] = 0
}
}
else
{
engfunc(EngFunc_RemoveEntity, para_ent[id])
para_ent[id] = 0
}
return
}
if (button & IN_USE)
{
new Float:velocity[3]
pev(id, pev_velocity, velocity)
if (get_pcvar_num(g_para_3rd_view) == 1)
{
set_view(id, CAMERA_NONE)
}
if (get_pcvar_num(g_para_3rd_view) == 2)
{
set_view(id, CAMERA_3RDPERSON)
}
if (velocity[2] < 0.0)
{
if(para_ent[id] <= 0)
{
para_ent[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
if(para_ent[id] > 0)
{
set_pev(para_ent[id],pev_classname,"parachute")
set_pev(para_ent[id], pev_aiment, id)
set_pev(para_ent[id], pev_owner, id)
set_pev(para_ent[id], pev_movetype, MOVETYPE_FOLLOW)
engfunc(EngFunc_SetModel, para_ent[id], parachute_model)
set_pev(para_ent[id], pev_sequence, 0)
set_pev(para_ent[id], pev_gaitsequence, 1)
set_pev(para_ent[id], pev_frame, 0.0)
set_pev(para_ent[id], pev_fuser1, 0.0)
}
}
if (para_ent[id] > 0)
{
set_pev(id, pev_sequence, 3)
set_pev(id, pev_gaitsequence, 1)
set_pev(id, pev_frame, 1.0)
set_pev(id, pev_framerate, 1.0)
velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
set_pev(id, pev_velocity, velocity)
if (pev(para_ent[id],pev_sequence) == 0)
{
pev(para_ent[id],pev_fuser1, frame)
frame += 1.0
set_pev(para_ent[id],pev_fuser1,frame)
set_pev(para_ent[id],pev_frame,frame)
if (frame > 100.0)
{
set_pev(para_ent[id], pev_animtime, 0.0)
set_pev(para_ent[id], pev_framerate, 0.4)
set_pev(para_ent[id], pev_sequence, 1)
set_pev(para_ent[id], pev_gaitsequence, 1)
set_pev(para_ent[id], pev_frame, 0.0)
set_pev(para_ent[id], pev_fuser1, 0.0)
}
}
}
}
else if (para_ent[id] > 0)
{
engfunc(EngFunc_RemoveEntity, para_ent[id])
para_ent[id] = 0
}
}
else if ((oldbutton & IN_USE) && para_ent[id] > 0 )
{
engfunc(EngFunc_RemoveEntity, para_ent[id])
para_ent[id] = 0
}
}
public client_putinserver(id)
{
if (get_user_flags(id) & VIP_ACCESS && get_pcvar_num(cvar_vip_connect_notice) != 0)
{
new szName[32]
get_user_name(id, szName, charsmax(szName))
ze_colored_print(0, "!tVIP !g%s !tConnected!y.", szName)
}
}
public Fw_Take_DMG(attacker, Inflictor, victim, Float:Damage, bitsDamageType)
{
if(!is_user_alive(attacker) || !is_user_alive(victim))
return
if(get_user_flags(attacker) & ADMIN_LEVEL_H)
{
SetHamParamFloat(4, Damage * get_pcvar_float(cvar_vip_damage))
}
}
public Fw_PlayerSpawn_Post(id)
{
Happy_Hours()
if (get_pcvar_num(cvar_enable_multijump) != 0 && (get_user_flags(id) & VIP_ACCESS))
{
ze_give_user_multijump(id)
}
if (g_bIsHappyHour == true && get_pcvar_num(cvar_enable_happy_hours) != 0)
{
new szFlags[2]
get_pcvar_string(cvar_vip_flag, szFlags, charsmax(szFlags))
set_user_flags(id, read_flags(szFlags))
}
set_task(0.1, "Update_Attribute", id, _, _, "a", 10)
}
public Update_Attribute(id)
{
if (get_user_flags(id) & VIP_ACCESS && get_pcvar_num(cvar_enable_scoreboard_attrib) != 0)
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
}
}
stock Happy_Hours()
{
new szTime[3]
get_time("%H", szTime, charsmax(szTime))
if(get_pcvar_num(cvar_happy_hour_end) > str_to_num(szTime) >= get_pcvar_num(cvar_happy_hour_start))
{
g_bIsHappyHour = true
}
else
{
g_bIsHappyHour = false
}
}
public Tekst(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(!is_user_connected(id)) return PLUGIN_CONTINUE;
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
new szTmp[256],szTmp2[256];
get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
new szPrefix[64] = "^x04[VIP]";
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : ^x04%s2");
}
set_msg_arg_string(2,szTmp2);
}
return PLUGIN_CONTINUE;
}
public PrintText(id)
{
client_print(id, print_chat, "[VIP] write /wantvip and u will see how get VIP and VIP privilegies.")
}
public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}
public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ADMIN_LEVEL_H)
get_user_name(id, adminnames[count++], 31)
len = format(message, 255, "%s VIP ONLINE: ",COLOR)
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, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "No VIP online.")
print_message(user, message)
}
get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
print_message(id, msg[])
{
message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}