Code: Select all
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
//------| Gradul care sal aiba Vip-u |------//
#define VIP_LEVEL ADMIN_BAN
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP Plugin New |
//==========================================================================================================
//------| Sets Cvars |------//
new health_vip, speed_vip, money_vip;
//------| Vips Ultimate Ammo Cvars |------//
new bool:unammo[33], gReloadTime[33]
//------| Vips Online/List |------//
new maxplayers
static const COLOR[] = "^x04"; // Green for display VIP
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP Plugin Init |
//==========================================================================================================
public plugin_init() {
register_plugin("VIP", "1.0", "iNoxWeed*")
register_clcmd("say /vip ","ShowMotd")
register_clcmd("say /vipinfo ","ShowMotd")
register_clcmd("say /vip_info ","ShowMotd")
register_clcmd("say vipinfo ","ShowMotd")
register_clcmd("say vip_info ","ShowMotd")
register_clcmd("say_team /vip ","ShowMotd")
register_clcmd("say_team /vipinfo ","ShowMotd")
register_clcmd("say_team /vip_info ","ShowMotd")
register_clcmd("say_team vipinfo ","ShowMotd")
register_clcmd("say_team vip_info ","ShowMotd")
register_event("CurWeapon", "changeWeapon", "be", "1=1")
RegisterHam(Ham_Spawn, "player", "Spawn", 1);
RegisterHam(Ham_TakeDamage, "player", "bacon_takedamage_player")
register_clcmd("say", "handle_say");
maxplayers = get_maxplayers();
health_vip = register_cvar("amx_vip_hp", "250") //| Vip: Viata la inceputul rundei |//
speed_vip = register_cvar("amx_vip_speed", "150") //| Vip: Cat speed sa aiba in plus |//
money_vip = register_cvar("amx_vip_money", "30000") //| Vip: Cati bani sa aiba la inceputul rundei |//
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP New Round/Round Start/Cur Weapon |
//==========================================================================================================
public changeWeapon(id) {
if(get_user_flags(id) & VIP_LEVEL) {
if(fm_get_user_maxspeed(id) < get_pcvar_num(speed_vip)) {
fm_set_user_maxspeed(id, fm_get_user_maxspeed(id) + get_pcvar_num(speed_vip))
}
if(unammo[id]) {
new wpnid = read_data(2);
new clip = read_data(3);
if (wpnid == CSW_C4 || wpnid == CSW_KNIFE) return;
if (wpnid == CSW_HEGRENADE || wpnid == CSW_FLASHBANG) return;
if (clip == 0) reloadAmmo(id);
}
}
}
public bacon_takedamage_player(victim, attacker, Float:damage, damagetype) {
if(damagetype & DMG_GENERIC || victim == attacker || !is_user_alive(victim) || !is_user_connected(attacker))
return HAM_IGNORED
damage *= 2;
return HAM_HANDLED;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP Round Start/Respawn |
//==========================================================================================================
public Spawn(id) {
if(get_user_flags(id) & VIP_LEVEL) {
if(get_user_health(id) < get_pcvar_num(health_vip)) {
fm_set_user_health(id, get_pcvar_num(health_vip));
}
if(fm_get_user_maxspeed(id) < get_pcvar_num(speed_vip)) {
fm_set_user_maxspeed(id, fm_get_user_maxspeed(id) + get_pcvar_num(speed_vip));
}
unammo[id] = true
cs_set_user_money(id, get_pcvar_num(money_vip))
fm_give_item(id,"weapon_hegrenade");
fm_give_item(id,"weapon_flashbang");
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP Ultimate Ammo |
//==========================================================================================================
public reloadAmmo(id) {
if (!is_user_connected(id)) return;
//if (get_pcvar_num(unammo_vip) == 0) return;
if (gReloadTime[id] >= get_systime() - 1) return;
gReloadTime[id] = get_systime();
new clip, ammo, wpn[32];
new wpnid = get_user_weapon(id, clip, ammo);
if (wpnid == CSW_C4 || wpnid == CSW_KNIFE || wpnid == 0) return;
if (wpnid == CSW_HEGRENADE || wpnid == CSW_FLASHBANG) return;
if (clip == 0) {
get_weaponname(wpnid,wpn,31);
new iWPNidx = -1;
while((iWPNidx = fm_find_ent_by_class(iWPNidx, wpn)) != 0) {
if(id == pev(iWPNidx, pev_owner)) {
cs_set_weapon_ammo(iWPNidx, getMaxClipAmmo(wpnid));
break;
}
}
}
}
stock getMaxClipAmmo(wpnid) {
new clipammo = 0;
switch (wpnid) {
case CSW_P228 : clipammo = 13;
case CSW_SCOUT : clipammo = 10;
case CSW_HEGRENADE : clipammo = 0;
case CSW_XM1014 : clipammo = 7;
case CSW_C4 : clipammo = 0;
case CSW_MAC10 : clipammo = 30;
case CSW_AUG : clipammo = 30;
case CSW_SMOKEGRENADE : clipammo = 0;
case CSW_ELITE : clipammo = 15;
case CSW_FIVESEVEN : clipammo = 20;
case CSW_UMP45 : clipammo = 25;
case CSW_SG550 : clipammo = 30;
case CSW_GALI : clipammo = 35;
case CSW_FAMAS : clipammo = 25;
case CSW_USP : clipammo = 12;
case CSW_GLOCK18 : clipammo = 20;
case CSW_AWP : clipammo = 10;
case CSW_MP5NAVY : clipammo = 30;
case CSW_M249 : clipammo = 100;
case CSW_M3 : clipammo = 8;
case CSW_M4A1 : clipammo = 30;
case CSW_TMP : clipammo = 30;
case CSW_G3SG1 : clipammo = 20;
case CSW_FLASHBANG : clipammo = 0;
case CSW_DEAGLE : clipammo = 7;
case CSW_SG552 : clipammo = 30;
case CSW_AK47 : clipammo = 30;
case CSW_KNIFE : clipammo = 0;
case CSW_P90 : clipammo = 50;
}
return clipammo;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP Online/List |
//==========================================================================================================
public print_adminlist(user) {
new adminnames[33][32];
new message[256];
new id, count, x, len;
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & VIP_LEVEL)
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);
}
}
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 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;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP Motd |
//==========================================================================================================
public ShowMotd(id) {
show_motd(id, "vip.txt")
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\ rtf1\ ansi\ deff0{\ fonttbl{\ f0\ fnil Tahoma;}}n\ viewkind4\ uc1\ pard\ lang1033\ f0\ fs16 n\ par }
*/
08/29/2013 - 15:49:55: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
si daca se poate adauga un meniu cu bind pe c sau pe v in care cand intri sa poti cumpara cu banii grenazi ,viteza mai mare cand apesi click dreapta (daca nu este posibil nu puneti ) si sa poata alege din o lista de skinuri gen agent smith si din astia . 3-4 skinuri dintre care unul sa fie chiar agent smith si mai vreau sa dea la un anumit timp un mesaj [PB] scrieti /vip pentru a vedea beneficiile primite la cumparare. si [PB]Scrie /vips pentru a vedea vip-s online . si mai vrea ca atunci cand apesi tab in dreptul vipilor sa apara VIP acolo unde scrie normal DEAD si dac se poate sa puneti ca doar ce din users ini cu acces "h"sa aibe vip nu si "abcd"astea