Approved VIP System

Gameplay Addons
johnnysins2000
Veteran Member
Veteran Member
Pakistan
Posts: 672
Joined: 2 Years Ago
Location: Lahore
Has thanked: 11 times
Been thanked: 10 times
Age: 22
Contact:

Re: VIP System

#11

Post by johnnysins2000 » 2 Years Ago

Try this VIP CODE

I haven't added any damage plugin

but still vip prefix and contact info is added

Code: Select all

#include <zombie_escape>
#include <ze_multijump>

// Defines
#define VIP_ACCESS ADMIN_LEVEL_H

// Variables
new bool:g_bIsHappyHour

// 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 

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"); 
	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_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 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_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()
} 
Nobody Is That Busy If They Make Time :roll:

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1950
Joined: 2 Years Ago
Location: Egypt
Has thanked: 32 times
Been thanked: 108 times
Age: 21
Contact:

#12

Post by Raheem » 2 Years Ago

Nice Johnny, I'll update the plugin later.
You don't know? Learn and you will know.

johnnysins2000
Veteran Member
Veteran Member
Pakistan
Posts: 672
Joined: 2 Years Ago
Location: Lahore
Has thanked: 11 times
Been thanked: 10 times
Age: 22
Contact:

#13

Post by johnnysins2000 » 2 Years Ago

Here i updated the Code Again with Increase Damage PLugin

Thanks Jack For Helping me fix Loosing indentation

Code: Select all

#include <zombie_escape>
#include <ze_multijump>

// Defines
#define VIP_ACCESS ADMIN_LEVEL_H

// Variables
new bool:g_bIsHappyHour

// 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") 
	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 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()
} 
Nobody Is That Busy If They Make Time :roll:

johnnysins2000
Veteran Member
Veteran Member
Pakistan
Posts: 672
Joined: 2 Years Ago
Location: Lahore
Has thanked: 11 times
Been thanked: 10 times
Age: 22
Contact:

#14

Post by johnnysins2000 » 2 Years Ago

Hello Guyz Code is again updated

What features are added ?

1- VIP PREFIX
2- VIP Privileges MOTD
3- VIP Damage increased
4- VIP Online Feature
5- VIP Parachute

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("zp_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()
} 
Nobody Is That Busy If They Make Time :roll:

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1950
Joined: 2 Years Ago
Location: Egypt
Has thanked: 32 times
Been thanked: 108 times
Age: 21
Contact:

#15

Post by Raheem » 2 Years Ago

Nice but about Parachute i'll try make another optimized version using ReAPI and i'll make native like in Multi-Jump Plugin then we will include in VIP code simply with one line.
You don't know? Learn and you will know.

User avatar
Spir0x
Veteran Member
Veteran Member
Tunisia
Posts: 633
Joined: 2 Years Ago
Location: Tunisia
Has thanked: 14 times
Been thanked: 7 times
Age: 19
Contact:

#16

Post by Spir0x » 2 Years Ago

Raheem Do it please :D we need it with parachute
I trynna make money, not friends.

johnnysins2000
Veteran Member
Veteran Member
Pakistan
Posts: 672
Joined: 2 Years Ago
Location: Lahore
Has thanked: 11 times
Been thanked: 10 times
Age: 22
Contact:

#17

Post by johnnysins2000 » 2 Years Ago

:!:
Spir0x wrote:
2 Years Ago
Raheem Do it please :D we need it with parachute
Lol Already done ... I will add some More features

To it and Then Optimize it if I learn it :v
Nobody Is That Busy If They Make Time :roll:

User avatar
Spir0x
Veteran Member
Veteran Member
Tunisia
Posts: 633
Joined: 2 Years Ago
Location: Tunisia
Has thanked: 14 times
Been thanked: 7 times
Age: 19
Contact:

#18

Post by Spir0x » 2 Years Ago

i installed it with para and missing parachute model.
Johnny please read this and repond me it's nice ?
viewtopic.php?f=11&t=1938
I trynna make money, not friends.

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 1950
Joined: 2 Years Ago
Location: Egypt
Has thanked: 32 times
Been thanked: 108 times
Age: 21
Contact:

#19

Post by Raheem » 2 Years Ago

Parachute good idea i'll include for VIP to have it. I and jack developed new version 1.1 it will be much better great than this one. I'll continue it's developing when i get time and then will release it.

Model of parachute not missed bro and i told you when i get time i'll add model ok hope you understand.
You don't know? Learn and you will know.

johnnysins2000
Veteran Member
Veteran Member
Pakistan
Posts: 672
Joined: 2 Years Ago
Location: Lahore
Has thanked: 11 times
Been thanked: 10 times
Age: 22
Contact:

#20

Post by johnnysins2000 » 2 Years Ago

Raheem wrote:
2 Years Ago
Parachute good idea i'll include for VIP to have it. I and jack developed new version 1.1 it will be much better great than this one. I'll continue it's developing when i get time and then will release it.

Model of parachute not missed bro and i told you when i get time i'll add model ok hope you understand.
What is In this V1.1

Some little ideas for V1.1

Makes Flags Like ZmVIP with the features And Vips.ini

In thus way Other members will also be able to use those special models

So VIP and administrative Flags Will be separated :)
Nobody Is That Busy If They Make Time :roll:

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests