Otoz mam problem z dzialaniem svipa.
Mam 2 vipy - vip i svip. Vip dziala jak nalezy, a svip prawie wogóle, jedyne co dziala to zoom i prefix [supervip]. I do tego te 2 opcje co dzialaja to dzialaja na vipie i svipie, a powinny dzialac na Svipie samym. Moglby ktos pomoc i naprawic?
Kod svipa. jak bd potrzeba vipa tez dodam
Spoiler
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <colorchat>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#define ADMIN_SVIP ADMIN_LEVEL_G
#define LEVEL_S (1<<19)
#define PLUGIN "svip"
#define VERSION "1.0"
#define AUTHOR "Vesp3r"
#define SCOREATTRIB_DEAD (1 << 0)
#define SCOREATTRIB_VIP (1 << 2)
#define MODEL_VIPA
#define SLIMIT 250
#define HP_TIME 5
#define HP_ADD 1
#define is_valid_player(%1) (1 <= %1 < 33)
new AK_V_MODEL[64] = "models/v_golden_ak47.mdl"
new AK_P_MODEL[64] = "models/p_golden_ak47.mdl"
new M4_V_MODEL[64] = "models/multihead/v_golden_m4.mdl"
new M4_P_MODEL[64] = "models/multihead/p_golden_m4.mdl"
new cvar_dmgmultiplier, cvar_custommodel
new bool:g_HasAk[33]
new bool:skoki[33]
new g_hasZoom[ 33 ]
new bool:v_Vip[33];
new bool:g_Hudmsg;
new Array:g_Array
new hp,hp_hs;
new vip_dmg
const Wep_ak47 = ((1<<CSW_AK47))
new const v_Langcmd[][]={"say /svips","say_team /svips","say /svipy","say_team /svipy"};
new const v_Prefix[] = "Super VIP Chat";
new const vszPrefix[15] = "^x04[SUPER VIP]";
public plugin_precache()
{
precache_model("models/player/multi/SvipTT.mdl");
precache_model("models/player/multi/SvipCT.mdl");
precache_model(AK_V_MODEL)
precache_model(AK_P_MODEL)
precache_model(M4_V_MODEL)
precache_model(M4_P_MODEL)
precache_sound("weapons/zoom.wav")
precache_model("models/v_miecz.mdl");
precache_model("models/p_miecz.mdl");
precache_model("models/v_crowbar.mdl");
precache_model("models/p_crowbar.mdl");
}
public plugin_init()
{
register_plugin("svip", "1.0", "Vesp3r")
register_forward(FM_CmdStart, "CmdStartPre");
register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
register_message(get_user_msgid("SayText"),"handleSayText");
register_forward( FM_CmdStart, "fw_CmdStart" )
g_Array=ArrayCreate(64,32);
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
register_clcmd("say /svip", "svip");
register_clcmd("say_team", "SVipChat");
register_event("CurWeapon", "Noz", "be", "1=1", "2=29")
register_event("CurWeapon","CurWeapon","be", "1=1")
register_event("WeapPickup","checkModel","b","1=19")
register_event("CurWeapon","checkWeapon","be","1=1")
register_logevent("koniec_rundy5", 2, "1=Round_End")
register_event("DeathMsg", "DeathMsg", "a");
for(new i;i<sizeof v_Langcmd;i++){
register_clcmd(v_Langcmd[i], "ShowVips");
}
set_task(240.0, "ShowAdv",.flags = "b");
RegisterHam(Ham_TakeDamage, "player", "Obrazenia");
vip_dmg = register_cvar("vip_dmg", "2.5");
hp=register_cvar("kill_hp", "15");
hp_hs=register_cvar("kill_hs_hp", "20");
cvar_dmgmultiplier = register_cvar("goldenak_dmg_multiplier", "1.5")
cvar_custommodel = register_cvar("goldenak_custom_model", "1")
g_Hudmsg=CreateHudSyncObj();
}
public client_authorized_vip(id){
v_Vip[id]=true;
new v_Name[64];
get_user_name(id,v_Name,charsmax(v_Name));
new g_Size = ArraySize(g_Array);
new szName[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, szName, charsmax(szName));
if(equal(v_Name, szName)){
return 0;
}
}
ArrayPushString(g_Array,v_Name);
set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
ShowSyncHudMsg(0, g_Hudmsg, "Super Vip %s wbija na serwer ! Witamy !",v_Name);
return PLUGIN_CONTINUE;
}
public client_disconnect_vip(id){
v_Vip[id]=false;
new Name[64];
get_user_name(id,Name,charsmax(Name));
new g_Size = ArraySize(g_Array);
new v_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, v_Name, charsmax(v_Name));
if(equal(v_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
public fwHamPlayerSpawnPost(id)
{
new hp = random_num(100, 150)
if(is_user_connected(id) && get_user_flags(id) & ADMIN_LEVEL_G && is_user_alive(id))
{
fm_set_user_health(id, get_user_health(id) + hp)
model_vip_change(id);
set_user_armor(id, 100)
g_HasAk[id] = true
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
cs_set_user_nvg(id);
}
}
public koniec_rundy5(id) {
for(new i=1;i<33;i++){
if(is_user_connected(i) && get_user_flags(i) & ADMIN_LEVEL_G) {
g_HasAk[i] = false
}
}
}
public vip(id)
{
show_motd(id, "svip.txt")
}
public Noz(id) {
if(!is_user_alive(id) || !(get_user_flags(id) & ADMIN_LEVEL_G))
return PLUGIN_CONTINUE
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
entity_set_string(id, EV_SZ_viewmodel, "models/v_crowbar.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/p_crowbar.mdl")
}
else if(userTeam == CS_TEAM_CT) {
entity_set_string(id, EV_SZ_viewmodel, "models/v_miecz.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/p_miecz.mdl")
}
return PLUGIN_CONTINUE
}
public CmdStartPre(id, uc_handle)
{
if(is_user_alive(id) && v_Vip[id])
{
if(~pev(id, pev_flags) & FL_ONGROUND)
{
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && ~pev(id, pev_oldbuttons) & IN_JUMP && !skoki[id])
{
skoki[id] = true
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id,pev_velocity,velocity);
}
}
else skoki[id] = 2;
}
}
public model_vip_change(id)
{
new sprawdz = get_user_flags(id)
if(sprawdz & ADMIN_LEVEL_G) {
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "SvipTT")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "SvipCT")
}
}
}
public CurWeapon(id)
{
new wid = read_data(2);
if(wid == CSW_KNIFE && get_user_flags(id) & ADMIN_SVIP)
set_task(float(HP_TIME), "recovery", id, _, _, "b");
else
remove_task(id);
}
public recovery(id)
{
if ( get_user_health(id) < SLIMIT )
fm_set_user_health(id, get_user_health(id) +HP_ADD);
}
public fw_CmdStart( id, uc_handle, seed )
{
if( !is_user_alive( id ) || !get_user_flags(id) & ADMIN_SVIP || get_user_team(id) == 1 )
return PLUGIN_HANDLED
if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )
{
new szClip, szAmmo
new szWeapID = get_user_weapon( id, szClip, szAmmo )
if( (szWeapID == CSW_AK47 || szWeapID == CSW_M4A1) && g_HasAk[id] == true && !g_hasZoom[id] == true)
{
g_hasZoom[id] = true
cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )
emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 )
}
else if ( (szWeapID == CSW_AK47 || szWeapID == CSW_M4A1) && g_HasAk[id] == true && g_hasZoom[id])
{
g_hasZoom[ id ] = false
cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )
}
}
return PLUGIN_HANDLED
}
public checkModel(id)
{
if ( !g_HasAk[id] )
return PLUGIN_HANDLED
new szWeapID = read_data(2)
if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && get_pcvar_num(cvar_custommodel) )
{
set_pev(id, pev_viewmodel2, AK_V_MODEL)
set_pev(id, pev_weaponmodel2, AK_P_MODEL)
} else if ( szWeapID == CSW_M4A1 && g_HasAk[id] == true && get_pcvar_num(cvar_custommodel) )
{
set_pev(id, pev_viewmodel2, M4_V_MODEL)
set_pev(id, pev_weaponmodel2, M4_P_MODEL)
}
return PLUGIN_HANDLED
}
public checkWeapon(id)
{
new plrClip, plrAmmo
new plrWeapId
plrWeapId = get_user_weapon(id, plrClip , plrAmmo)
if ((plrWeapId == CSW_AK47 || plrWeapId == CSW_M4A1) && g_HasAk[id] && get_user_flags(id) & ADMIN_SVIP && get_user_team(id) == 2)
{
checkModel(id)
}
else
{
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
public Obrazenia(ofiara, konflikt, atakujacy, Float:obrazenia, dmgbity) {
if(!is_user_connected(ofiara) || !is_user_connected(atakujacy) || !(get_user_flags(atakujacy) & ADMIN_SVIP))
return HAM_IGNORED
if(atakujacy != 0 && is_user_alive(atakujacy) && get_user_weapon(atakujacy) == CSW_KNIFE) {
SetHamParamFloat(4, obrazenia*get_pcvar_float(vip_dmg))
}
if(is_valid_player(atakujacy) && (get_user_weapon(atakujacy) == CSW_AK47 || get_user_weapon(atakujacy) == CSW_M4A1) && g_HasAk[atakujacy]) {
SetHamParamFloat(4, obrazenia*get_pcvar_float(cvar_dmgmultiplier))
return HAM_HANDLED
}
return HAM_IGNORED
}
public VipStatus()
{
new id=get_msg_arg_int(1);
if(is_user_alive(id) && v_Vip[id]) set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
}
public ShowVips(id)
{
new v_Name[64],g_Message[192],g_Size=ArraySize(g_Array);
for(new i = 0; i < g_Size; i++)
{
ArrayGetString(g_Array, i, v_Name, charsmax(v_Name));
add(g_Message, charsmax(g_Message), v_Name);
if(i == g_Size - 1) add(g_Message, charsmax(g_Message), ".");
else add(g_Message, charsmax(g_Message), ", ");
}
ColorChat(id,GREEN,"^x03Super Vipy ^x04na ^x03serwerze: ^x04%s", g_Message);
return PLUGIN_CONTINUE;
}
public client_infochanged(id){
if(v_Vip[id]){
new szName[64];
get_user_info(id,"name",szName,charsmax(szName));
new Name[64];
get_user_name(id,Name,charsmax(Name));
if(!equal(szName,Name)){
ArrayPushString(g_Array,szName);
new g_Size=ArraySize(g_Array);
new v_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, v_Name, charsmax(v_Name));
if(equal(v_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
}
}
public SVipChat(id){
if(v_Vip[id]){
new g_Msg[256],
v_Text[256];
read_args(g_Msg,charsmax(g_Msg));
remove_quotes(g_Msg);
if(g_Msg[0] == '&' && g_Msg[1]){
new v_Name[64];
get_user_name(id,v_Name,charsmax(v_Name));
formatex(v_Text,charsmax(v_Text),"^x01(%s) ^x03%s : ^x04%s",v_Prefix, v_Name, g_Msg[1]);
for(new i=1;i<33;i++){
if(is_user_connected(i) && v_Vip[i])
ColorChat(i, GREEN, "%s", v_Text);
}
return PLUGIN_HANDLED_MAIN;
}
}
return PLUGIN_CONTINUE;
}
public handleSayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(is_user_connected(id) && v_Vip[id])
{
new szTmp[256],szTmp2[256];
get_msg_arg_string(2,szTmp, charsmax(szTmp))
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),vszPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),vszPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
}
return PLUGIN_CONTINUE;
}
public DeathMsg(){
// id = zabojca
new id = read_data(1);
new hs = read_data(3);
if(is_user_alive(id) && get_user_flags(id) & ADMIN_LEVEL_G)
set_user_health(id,min(get_user_health(id)+get_pcvar_num(hs?hp_hs:hp),SLIMIT));
}
public plugin_end()
{
ArrayDestroy(g_Array)
admins_flush()
}
public amxbans_admin_connect(id) client_authorized(id)
public ShowMotd(id) show_motd(id, "svip.txt", "Informacje o vipie")
public client_disconnect(id) if(v_Vip[id]) client_disconnect_vip(id)
public client_authorized(id) if(get_user_flags(id) & LEVEL_S == LEVEL_S) client_authorized_vip(id)
public ShowAdv() ColorChat(0, YELLOW, "[SuperVIP]^x04 Chcesz dowiedziec sie co posiada supervip ? Napisz na say'u /svip")
stock drop_prim(id)
{
new weapons[32], num
get_user_weapons(id, weapons, num)
for (new i = 0; i < num; i++) {
if (Wep_ak47 & (1<<weapons[i]))
{
static wname[32]
get_weaponname(weapons[i], wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <colorchat>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#define ADMIN_SVIP ADMIN_LEVEL_G
#define LEVEL_S (1<<19)
#define PLUGIN "svip"
#define VERSION "1.0"
#define AUTHOR "Vesp3r"
#define SCOREATTRIB_DEAD (1 << 0)
#define SCOREATTRIB_VIP (1 << 2)
#define MODEL_VIPA
#define SLIMIT 250
#define HP_TIME 5
#define HP_ADD 1
#define is_valid_player(%1) (1 <= %1 < 33)
new AK_V_MODEL[64] = "models/v_golden_ak47.mdl"
new AK_P_MODEL[64] = "models/p_golden_ak47.mdl"
new M4_V_MODEL[64] = "models/multihead/v_golden_m4.mdl"
new M4_P_MODEL[64] = "models/multihead/p_golden_m4.mdl"
new cvar_dmgmultiplier, cvar_custommodel
new bool:g_HasAk[33]
new bool:skoki[33]
new g_hasZoom[ 33 ]
new bool:v_Vip[33];
new bool:g_Hudmsg;
new Array:g_Array
new hp,hp_hs;
new vip_dmg
const Wep_ak47 = ((1<<CSW_AK47))
new const v_Langcmd[][]={"say /svips","say_team /svips","say /svipy","say_team /svipy"};
new const v_Prefix[] = "Super VIP Chat";
new const vszPrefix[15] = "^x04[SUPER VIP]";
public plugin_precache()
{
precache_model("models/player/multi/SvipTT.mdl");
precache_model("models/player/multi/SvipCT.mdl");
precache_model(AK_V_MODEL)
precache_model(AK_P_MODEL)
precache_model(M4_V_MODEL)
precache_model(M4_P_MODEL)
precache_sound("weapons/zoom.wav")
precache_model("models/v_miecz.mdl");
precache_model("models/p_miecz.mdl");
precache_model("models/v_crowbar.mdl");
precache_model("models/p_crowbar.mdl");
}
public plugin_init()
{
register_plugin("svip", "1.0", "Vesp3r")
register_forward(FM_CmdStart, "CmdStartPre");
register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
register_message(get_user_msgid("SayText"),"handleSayText");
register_forward( FM_CmdStart, "fw_CmdStart" )
g_Array=ArrayCreate(64,32);
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
register_clcmd("say /svip", "svip");
register_clcmd("say_team", "SVipChat");
register_event("CurWeapon", "Noz", "be", "1=1", "2=29")
register_event("CurWeapon","CurWeapon","be", "1=1")
register_event("WeapPickup","checkModel","b","1=19")
register_event("CurWeapon","checkWeapon","be","1=1")
register_logevent("koniec_rundy5", 2, "1=Round_End")
register_event("DeathMsg", "DeathMsg", "a");
for(new i;i<sizeof v_Langcmd;i++){
register_clcmd(v_Langcmd[i], "ShowVips");
}
set_task(240.0, "ShowAdv",.flags = "b");
RegisterHam(Ham_TakeDamage, "player", "Obrazenia");
vip_dmg = register_cvar("vip_dmg", "2.5");
hp=register_cvar("kill_hp", "15");
hp_hs=register_cvar("kill_hs_hp", "20");
cvar_dmgmultiplier = register_cvar("goldenak_dmg_multiplier", "1.5")
cvar_custommodel = register_cvar("goldenak_custom_model", "1")
g_Hudmsg=CreateHudSyncObj();
}
public client_authorized_vip(id){
v_Vip[id]=true;
new v_Name[64];
get_user_name(id,v_Name,charsmax(v_Name));
new g_Size = ArraySize(g_Array);
new szName[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, szName, charsmax(szName));
if(equal(v_Name, szName)){
return 0;
}
}
ArrayPushString(g_Array,v_Name);
set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
ShowSyncHudMsg(0, g_Hudmsg, "Super Vip %s wbija na serwer ! Witamy !",v_Name);
return PLUGIN_CONTINUE;
}
public client_disconnect_vip(id){
v_Vip[id]=false;
new Name[64];
get_user_name(id,Name,charsmax(Name));
new g_Size = ArraySize(g_Array);
new v_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, v_Name, charsmax(v_Name));
if(equal(v_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
public fwHamPlayerSpawnPost(id)
{
new hp = random_num(100, 150)
if(is_user_connected(id) && get_user_flags(id) & ADMIN_LEVEL_G && is_user_alive(id))
{
fm_set_user_health(id, get_user_health(id) + hp)
model_vip_change(id);
set_user_armor(id, 100)
g_HasAk[id] = true
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
cs_set_user_nvg(id);
}
}
public koniec_rundy5(id) {
for(new i=1;i<33;i++){
if(is_user_connected(i) && get_user_flags(i) & ADMIN_LEVEL_G) {
g_HasAk[i] = false
}
}
}
public vip(id)
{
show_motd(id, "svip.txt")
}
public Noz(id) {
if(!is_user_alive(id) || !(get_user_flags(id) & ADMIN_LEVEL_G))
return PLUGIN_CONTINUE
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
entity_set_string(id, EV_SZ_viewmodel, "models/v_crowbar.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/p_crowbar.mdl")
}
else if(userTeam == CS_TEAM_CT) {
entity_set_string(id, EV_SZ_viewmodel, "models/v_miecz.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/p_miecz.mdl")
}
return PLUGIN_CONTINUE
}
public CmdStartPre(id, uc_handle)
{
if(is_user_alive(id) && v_Vip[id])
{
if(~pev(id, pev_flags) & FL_ONGROUND)
{
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && ~pev(id, pev_oldbuttons) & IN_JUMP && !skoki[id])
{
skoki[id] = true
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id,pev_velocity,velocity);
}
}
else skoki[id] = 2;
}
}
public model_vip_change(id)
{
new sprawdz = get_user_flags(id)
if(sprawdz & ADMIN_LEVEL_G) {
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "SvipTT")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "SvipCT")
}
}
}
public CurWeapon(id)
{
new wid = read_data(2);
if(wid == CSW_KNIFE && get_user_flags(id) & ADMIN_SVIP)
set_task(float(HP_TIME), "recovery", id, _, _, "b");
else
remove_task(id);
}
public recovery(id)
{
if ( get_user_health(id) < SLIMIT )
fm_set_user_health(id, get_user_health(id) +HP_ADD);
}
public fw_CmdStart( id, uc_handle, seed )
{
if( !is_user_alive( id ) || !get_user_flags(id) & ADMIN_SVIP || get_user_team(id) == 1 )
return PLUGIN_HANDLED
if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )
{
new szClip, szAmmo
new szWeapID = get_user_weapon( id, szClip, szAmmo )
if( (szWeapID == CSW_AK47 || szWeapID == CSW_M4A1) && g_HasAk[id] == true && !g_hasZoom[id] == true)
{
g_hasZoom[id] = true
cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )
emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 )
}
else if ( (szWeapID == CSW_AK47 || szWeapID == CSW_M4A1) && g_HasAk[id] == true && g_hasZoom[id])
{
g_hasZoom[ id ] = false
cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )
}
}
return PLUGIN_HANDLED
}
public checkModel(id)
{
if ( !g_HasAk[id] )
return PLUGIN_HANDLED
new szWeapID = read_data(2)
if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && get_pcvar_num(cvar_custommodel) )
{
set_pev(id, pev_viewmodel2, AK_V_MODEL)
set_pev(id, pev_weaponmodel2, AK_P_MODEL)
} else if ( szWeapID == CSW_M4A1 && g_HasAk[id] == true && get_pcvar_num(cvar_custommodel) )
{
set_pev(id, pev_viewmodel2, M4_V_MODEL)
set_pev(id, pev_weaponmodel2, M4_P_MODEL)
}
return PLUGIN_HANDLED
}
public checkWeapon(id)
{
new plrClip, plrAmmo
new plrWeapId
plrWeapId = get_user_weapon(id, plrClip , plrAmmo)
if ((plrWeapId == CSW_AK47 || plrWeapId == CSW_M4A1) && g_HasAk[id] && get_user_flags(id) & ADMIN_SVIP && get_user_team(id) == 2)
{
checkModel(id)
}
else
{
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
public Obrazenia(ofiara, konflikt, atakujacy, Float:obrazenia, dmgbity) {
if(!is_user_connected(ofiara) || !is_user_connected(atakujacy) || !(get_user_flags(atakujacy) & ADMIN_SVIP))
return HAM_IGNORED
if(atakujacy != 0 && is_user_alive(atakujacy) && get_user_weapon(atakujacy) == CSW_KNIFE) {
SetHamParamFloat(4, obrazenia*get_pcvar_float(vip_dmg))
}
if(is_valid_player(atakujacy) && (get_user_weapon(atakujacy) == CSW_AK47 || get_user_weapon(atakujacy) == CSW_M4A1) && g_HasAk[atakujacy]) {
SetHamParamFloat(4, obrazenia*get_pcvar_float(cvar_dmgmultiplier))
return HAM_HANDLED
}
return HAM_IGNORED
}
public VipStatus()
{
new id=get_msg_arg_int(1);
if(is_user_alive(id) && v_Vip[id]) set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
}
public ShowVips(id)
{
new v_Name[64],g_Message[192],g_Size=ArraySize(g_Array);
for(new i = 0; i < g_Size; i++)
{
ArrayGetString(g_Array, i, v_Name, charsmax(v_Name));
add(g_Message, charsmax(g_Message), v_Name);
if(i == g_Size - 1) add(g_Message, charsmax(g_Message), ".");
else add(g_Message, charsmax(g_Message), ", ");
}
ColorChat(id,GREEN,"^x03Super Vipy ^x04na ^x03serwerze: ^x04%s", g_Message);
return PLUGIN_CONTINUE;
}
public client_infochanged(id){
if(v_Vip[id]){
new szName[64];
get_user_info(id,"name",szName,charsmax(szName));
new Name[64];
get_user_name(id,Name,charsmax(Name));
if(!equal(szName,Name)){
ArrayPushString(g_Array,szName);
new g_Size=ArraySize(g_Array);
new v_Name[64];
for(new i = 0; i < g_Size; i++){
ArrayGetString(g_Array, i, v_Name, charsmax(v_Name));
if(equal(v_Name,Name)){
ArrayDeleteItem(g_Array,i);
break;
}
}
}
}
}
public SVipChat(id){
if(v_Vip[id]){
new g_Msg[256],
v_Text[256];
read_args(g_Msg,charsmax(g_Msg));
remove_quotes(g_Msg);
if(g_Msg[0] == '&' && g_Msg[1]){
new v_Name[64];
get_user_name(id,v_Name,charsmax(v_Name));
formatex(v_Text,charsmax(v_Text),"^x01(%s) ^x03%s : ^x04%s",v_Prefix, v_Name, g_Msg[1]);
for(new i=1;i<33;i++){
if(is_user_connected(i) && v_Vip[i])
ColorChat(i, GREEN, "%s", v_Text);
}
return PLUGIN_HANDLED_MAIN;
}
}
return PLUGIN_CONTINUE;
}
public handleSayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(is_user_connected(id) && v_Vip[id])
{
new szTmp[256],szTmp2[256];
get_msg_arg_string(2,szTmp, charsmax(szTmp))
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),vszPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),vszPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
}
return PLUGIN_CONTINUE;
}
public DeathMsg(){
// id = zabojca
new id = read_data(1);
new hs = read_data(3);
if(is_user_alive(id) && get_user_flags(id) & ADMIN_LEVEL_G)
set_user_health(id,min(get_user_health(id)+get_pcvar_num(hs?hp_hs:hp),SLIMIT));
}
public plugin_end()
{
ArrayDestroy(g_Array)
admins_flush()
}
public amxbans_admin_connect(id) client_authorized(id)
public ShowMotd(id) show_motd(id, "svip.txt", "Informacje o vipie")
public client_disconnect(id) if(v_Vip[id]) client_disconnect_vip(id)
public client_authorized(id) if(get_user_flags(id) & LEVEL_S == LEVEL_S) client_authorized_vip(id)
public ShowAdv() ColorChat(0, YELLOW, "[SuperVIP]^x04 Chcesz dowiedziec sie co posiada supervip ? Napisz na say'u /svip")
stock drop_prim(id)
{
new weapons[32], num
get_user_weapons(id, weapons, num)
for (new i = 0; i < num; i++) {
if (Wep_ak47 & (1<<weapons[i]))
{
static wname[32]
get_weaponname(weapons[i], wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}