Plugin Not Working [ADMIN_ALL]

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
213
Реакции
71
Помог
2 раз(а)
Ошибка
I changed ADMIN_LEVEL_H > ADMIN_ALL, and Everyone Lost VIP.
ОС
Linux
Amx Mod X
amxx version
AMX Mod X 1.9.0.5235 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Dec 18 2018 01:20:00
Built from: https://github.com/alliedmodders/amxmodx/commit/6c53524
Build ID: 5235:6c53524
Core mode: JIT+ASM32
Билд
version
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.4.0.668-dev
Build date: 09:47:42 Sep 29 2018 (1631)
Build from: https://github.com/dreamstalker/rehlds/commit/89be216
ReGamedll
game version
ReGameDLL version: 5.7.0.318-dev
Build date: 21:07:26 Oct 30 2018
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/932001b
Версия Metamod
meta version
Metamod v1.21p37 2013/05/30 (5:13)
by Will Day
http://www.metamod.org/
Patch: Metamod-P (mm-p) v37
by Jussi Kivilinna
http://metamod-p.sourceforge.net/
compiled: May 30 2013, 11:41:16 EET (optimized)
Список метамодулей
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] SafeNameAndChat RUN - SafeNameAndChat. v1.1 ini ANY ANY
[ 2] Reunion RUN - reunion_mm_i386. v0.1.0.1 ini Start Never
[ 3] AMX Mod X RUN - amxmodx_mm_i386. v1.9.0.5 ini Start ANY
[ 4] ReAuthCheck RUN - reauthcheck_mm_i v0.1.6 ini Start Never
[ 5] Rechecker RUN - rechecker_mm_i38 v2.5 ini Chlvl ANY
[ 6] Revoice RUN - revoice_mm_i386. v0.1.0.3 ini Start Never
[ 7] ReSemiclip RUN - resemiclip_mm_i3 v2.3.9 ini Chlvl ANY
[ 8] WHBlocker RUN - whblocker_mm_i38 v1.5.696 ini Chlvl ANY
[ 9] NetBufExtender RUN - nbex.so v1.0 ini ANY Never
[10] Fun RUN - fun_amxx_i386.so v1.9.0.5 pl3 ANY ANY
[11] Engine RUN - engine_amxx_i386 v1.9.0.5 pl3 ANY ANY
[12] FakeMeta RUN - fakemeta_amxx_i3 v1.9.0.5 pl3 ANY ANY
[13] GeoIP RUN - geoip_amxx_i386. v1.9.0.5 pl3 ANY ANY
[14] CStrike RUN - cstrike_amxx_i38 v1.9.0.5 pl3 ANY ANY
[15] CSX RUN - csx_amxx_i386.so v1.9.0.5 pl3 ANY ANY
[16] Ham Sandwich RUN - hamsandwich_amxx v1.9.0.5 pl3 ANY ANY
[17] ReAPI RUN - reapi_amxx_i386. v5.6.0.1 pl3 ANY Never
[18] hackdetector RUN - hackdetector_amx v0.15.32 pl3 ANY ANY
[19] ReAimDetector RUN - reaimdetector_am v0.2.2 pl3 ANY Never
[20] MySQL RUN - mysql_amxx_i386. v1.9.0.5 pl3 ANY ANY
20 plugins, 20 running
Список плагинов
Currently loaded plugins:
name version author file status
[ 1] Ban 1.1.2 K@[L]@uz KBS running
[ 2] Admin Commands Log 1.0 w0w admin_commands_ running
[ 3] Task Scheduler 0.2 JustinHoMi task_scheduler. running
[ 4] Admin Base 1.9.0.5235 AMXX Dev Team admin.amxx running
[ 5] Admin Commands 1.9.0.5235 AMXX Dev Team admincmd.amxx running
[ 6] Admin Help 1.9.0.5235 AMXX Dev Team adminhelp.amxx running
[ 7] Multi-Lingual System 1.9.0.5235 AMXX Dev Team multilingual.am running
[ 8] Menus Front-End 1.9.0.5235 AMXX Dev Team menufront.amxx running
[ 9] Commands Menu 1.9.0.5235 AMXX Dev Team cmdmenu.amxx running
[ 10] New KickMenu 2.0 Flash kickmenu.amxx running
[ 11] Players Menu 1.9.0.5235 AMXX Dev Team plmenu.amxx running
[ 12] Maps Menu 1.9.0.5235 AMXX Dev Team mapsmenu.amxx running
[ 13] Plugin Menu 1.9.0.5235 AMXX Dev Team pluginmenu.amxx running
[ 14] AMXX Gag 1.5.0 xPaw & Exolent amx_gag.amxx running
[ 15] Chat Manager 1.1.1-11 Mistrick chatmanager.amx running
[ 16] Chat Manager: Addon 0.0.4-70 Mistrick chatmanager_add running
[ 17] Anti Flood 1.9.0.5235 AMXX Dev Team antiflood.amxx running
[ 18] Admin Votes 1.9.0.5235 AMXX Dev Team adminvote.amxx running
[ 19] NextMap 1.9.0.5235 AMXX Dev Team nextmap.amxx running
[ 20] Roundsleft 0.2 JGHG roundsleft_nosp running
[ 21] Stats Configuration 1.9.0.5235 AMXX Dev Team statscfg.amxx running
[ 22] Restrict Weapons 1.9.0.5235 AMXX Dev Team restmenu.amxx running
[ 23] StatsX 1.9.0.5235 AMXX Dev Team statsx.amxx running
[ 24] Block Ip In Nick 1.0 Alpha Alik Inline Asla BlockIpInNick.a running
[ 25] 2x2 2.5re s1lent mode.amxx running
[ 26] Steamers Info 1.0 K@[L]@uz steamers_info.a running
[ 27] [KC] Admin Color Chat 1.0 Edit By Alber Khan_admin_colo running
[ 28] Map Spawns Editor 1.0.16 iG_os Map_Spawns_Edit running
[ 29] Reset Score 1.0.1 K@[L]@uz Khan_ResetScore running
[ 30] Autoresponder/Advertis 0.5 MaximusBrood ad_manager5.amx running
[ 31] Ping Faker 1.5a MeRcyLeZZ pingfaker.amxx running
[ 32] Server BETS 1.0 Mi-Ki bets.amxx running
[ 33] Advanced Bullet Damage 1.0 Sn!ff3r abd.amxx running
[ 34] Auto Join on Connect 0.1 VEN auto_join_on_co running
[ 35] [KC] Info Rounds By Al 1.0 K@[L]@uz Khan_inforounds running
[ 36] Descriptive 'Fire in t 0.1 VEN colored_radio.a running
[ 37] WalkGuard 1.3.2 mogel walkguard.amxx running
[ 38] VIP Eng Version 3.0 Dunno Khan_VIP_WO_NAD running
[ 39] AMX Client Exec 0.03 v3x amx_exec.amxx running
[ 40] AFK Bomb Transfer 0.4 VEN afkbombtransfer running
[ 41] File Checker 1.0 WrongTurn file_checker.am running
[ 42] K@[L]@uz Steamers Rewa 0.1 K@[L]@uz Khan_ksr.amxx running
[ 43] Boost Server 1.0 K@[L]@UZ boost_server.am running
[ 44] Invisible Spectator 0.2 ConnorMcLeod Khan_Invis_Spec running
[ 45] unknown unknown unknown gamename.amxx running
[ 46] Buy VIP With Points 0.0.4 Jhob94 buy_vip_points_ running
[ 47] [ReAPI] No Team Flash 0.0.2 Vaqtincha no_team_flash.a running
[ 48] ReAimDetector API 0.2.1 ReHLDS Team reaimdetector.a running
[ 49] xREDIRECT 1.0.3.3 x0R xredirect.amxx running
[ 50] Played Time 1.4 Alka > Edit By A played_time_aut running
[ 51] c4 timer 1.1 cheap_suit c4timer.amxx running
[ 52] Permanent message 1.1 He3aBuCuM permanent_messa running
[ 53] Admin Spectator ESP 1.5 KoST admin_spec_esp_ debug
[ 54] KGB Bots 2.3 OvidiuS & Desika kgbbots.amxx running
[ 55] FragCounter 1.01 Scarzzurs fragcounter.amx debug
[ 56] Team Balancer 1.8b3 Ptahhotep ptb.amxx debug
[ 57] Slaylosers lite 0.1.16 iG_os Slaylosers_lite debug
57 plugins, 57 running
Автор плагина
Dunno
Версия плагина
3.0
Исходный код
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define DAMAGE_RECIEVED

#define IsClientValid(%0,%1) ( (1 <= %0 <= g_iMaxClients) && %0 != %1 )

#define g_iKeysrod (1<<0)|(1<<1)|(1<<9)

new bool:HasC4[33] = { false, ... };
new bool:HasConnected[33] = { false, ... };
new bool:HasVip[33] = { false, ... };

#if defined DAMAGE_RECIEVED
new g_msgSync2;
#endif

new g_msgSayText;
new g_msgSync;
new g_iMaxClients;
new g_iCurrRound = -1;

new g_pMpd;
new g_pMkb;
new g_pMhb;
new g_pHealthAdd;
new g_pHsAdd;
new g_pMaxHealth;
new g_pMenuActive;
new g_pMenuCancel;
new g_pContact;

public plugin_init()
{
register_plugin("VIP Eng Version", "3.0", "Dunno");

g_pMpd = register_cvar("money_per_damage", "3");
g_pMkb = register_cvar("money_kill_bonus", "200");
g_pMhb = register_cvar("money_hs_bonus", "500");
g_pHealthAdd = register_cvar("amx_vip_hp", "15");
g_pHsAdd = register_cvar("amx_vip_hp_hs", "30");
g_pMaxHealth = register_cvar("amx_vip_max_hp", "100");
g_pMenuActive = register_cvar("menu_active", "1");
g_pMenuCancel = register_cvar("amx_vip_menu_cancel", "30");
g_pContact = register_cvar("amx_contactinfo", "khan-cs.mojkgb.com", FCVAR_SERVER);

register_menucmd(register_menuid("rod"), g_iKeysrod, "Pressedrod");

register_clcmd("say /vip", "HandleVipCmd");
register_clcmd("say_team /vip", "HandleVipCmd");
register_clcmd("say /vips", "HandleVipCmd");
register_clcmd("say_team /vips", "HandleVipCmd");

register_clcmd("say /wantvip", "ShowMotd");
register_clcmd("say_team /wantvip", "ShowMotd");

register_logevent("levt_RoundStart", 2, "1=Round_Start");
RegisterHam(Ham_Killed, "player", "fw_KilledPlayer");

register_event("TextMsg", "evt_RoundRestart", "a", "2&#Game_w");
register_event("DeathMsg", "evt_Death", "a", "1>0");
register_event("Damage", "evt_Damage", "b");
register_event("Damage", "evt_OnDamage", "b", "2!0", "3=0", "4!0");

g_iMaxClients = get_maxplayers();
g_msgSayText = get_user_msgid("SayText");

g_msgSync = CreateHudSyncObj();
#if defined DAMAGE_RECIEVED
g_msgSync2 = CreateHudSyncObj();
#endif
}

public client_authorized(id)
{
HasVip[id] = bool:(get_user_flags(id) & ADMIN_ALL);
}

public client_putinserver(id)
{
if (!is_user_bot(id))
{
HasConnected[id] = true;
set_task(30.0, "PrintText", id);
}
}

public client_disconnect(id)
{
HasConnected[id] = false;
HasVip[id] = false;
}

public evt_OnDamage(id)
{
static attacker, damage;
attacker = get_user_attacker(id);

if(!IsClientValid(attacker, id))
return;

#if defined DAMAGE_RECIEVED
if ( HasConnected[id] && HasConnected[attacker] && HasVip[attacker])
{
damage = read_data(2);

set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
ShowSyncHudMsg(id, g_msgSync2, "%i^n", damage)
#else
if ( HasConnected[attacker] && HasVip[attacker] )
{
damage = read_data(2);
#endif
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
ShowSyncHudMsg(attacker, g_msgSync, "%i^n", damage);
}
}

public evt_Damage(id)
{
static weapon, hitpoint, attacker;
attacker = get_user_attacker(id, weapon, hitpoint);

if(IsClientValid(attacker, id) && is_user_alive(attacker))
if (HasVip[attacker])
{
new money = read_data(2) * get_pcvar_num(g_pMpd);
if (hitpoint == 1) money += get_pcvar_num(g_pMhb);
cs_set_user_money(attacker, cs_get_user_money(attacker) + money);
}
}

public fw_KilledPlayer(victim, killer, shouldgib)
{
if (IsClientValid(killer, victim) && HasConnected[killer])
cs_set_user_money(killer, cs_get_user_money(killer) + get_pcvar_num(g_pMkb) - 300);
}

public levt_RoundStart()
{
vip_reload();

if (g_iCurrRound < 0)
return;

g_iCurrRound++;

new aPlayers[32], num, pl, ismenu;
get_players(aPlayers, num, "ac");
ismenu = get_pcvar_num(g_pMenuActive);

for (new i = 0; i < num; i++)
{
pl = aPlayers[i];
if (HasVip[pl])
{
if (g_iCurrRound >= 2)
{
give_item(pl, "item_assaultsuit");

if (get_user_team(pl) == 2)
give_item(pl, "item_thighpack");
}

if (g_iCurrRound >= 3 && ismenu)
Showrod(pl);
}
}
}

public evt_RoundRestart()
{
g_iCurrRound = 0;
}

public evt_Death()
{
static killer;
killer = read_data(1);

if (!HasVip[killer]) return;

static hp, hpadd, hpmax;

if ( (read_data(3) == 1) && (read_data(5) == 0) )
hpadd = get_pcvar_num(g_pHsAdd);
else
hpadd = get_pcvar_num(g_pHealthAdd);

hpmax = get_pcvar_num(g_pMaxHealth);

hp = get_user_health(killer);
hp += hpadd;

if (hp > hpmax) hp = hpmax;
set_user_health(killer, hp);

set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1);
show_hudmessage(killer, "Healed +%d hp", hpadd);

message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, killer);
write_short(1<<10);
write_short(1<<10);
write_short(0x0000);
write_byte(0);
write_byte(0);
write_byte(200);
write_byte(75);
message_end();
}

public Showrod(id)
{
static const szGunMenu[] = "\y[KC] Free VIP Guns^n^n\w1. Get M4A1+Deagle^n\w2. Get AK47+Deagle^n^n\y0. Exit";

new iTimeout = -1;
new iMenuCancel = get_pcvar_num(g_pMenuCancel);

if ( iMenuCancel > 0 )
{
iTimeout = iMenuCancel;
print_message(id, "^4[KC] ^1You have ^3%d ^1seconds, to select a vip item or menu will be closed.", iMenuCancel);
}

show_menu(id, g_iKeysrod, szGunMenu, iTimeout, "rod");
}

public Pressedrod(id, key) {
/* Menu:
* VIP Menu
* 1. Get M4A1+Deagle
* 2. Get AK47+Deagle
* 0. Exit
*/
new team = get_user_team(id);
switch (key) {
case 0: {
if (user_has_weapon(id, CSW_C4) && team == 1)
HasC4[id] = true;
else
HasC4[id] = false;

strip_user_weapons(id);
give_item(id, "weapon_m4a1");
ExecuteHamB(Ham_GiveAmmo, id, 90, "556nato", 90);
give_item(id, "weapon_deagle");
ExecuteHamB(Ham_GiveAmmo, id, 35, "50ae", 35);
give_item(id, "weapon_knife");
give_item(id, "item_assaultsuit");

if (team == 2)
give_item(id, "item_thighpack");

print_message(id, "^4[KC]^3 You Taked Free M4A1 and Deagle");

if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant(id);
}
}
case 1: {
if (user_has_weapon(id, CSW_C4) && team == 1)
HasC4[id] = true;
else
HasC4[id] = false;

strip_user_weapons(id);
give_item(id, "weapon_ak47");
ExecuteHamB(Ham_GiveAmmo, id, 90, "762nato", 90);
give_item(id, "weapon_deagle");
ExecuteHamB(Ham_GiveAmmo, id, 35, "50ae", 35);
give_item(id, "weapon_knife");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "item_assaultsuit");

if (team == 2)
give_item(id, "item_thighpack");

print_message(id, "^4[KC]^3 You Taked Free AK47 and Deagle");

if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant(id);
}
}
}
return PLUGIN_CONTINUE;
}

public ShowMotd(id)
{
show_motd(id, "vip.txt");
}

public PrintText(id)
{
print_message(id, "^4[KC]^1 For VIP info write^4 /wantvip^1 and u will see how to get VIP and VIP privilegies.");
}

public HandleVipCmd(id)
{
set_task(0.1, "PrintVipList", id);
return PLUGIN_HANDLED;
}

public PrintVipList(id)
{
new aPlayers[32], num, pl;
get_players(aPlayers, num, "ch");

new adminnames[33][32], count;

for (new i = 0; i < num; i++)
{
pl = aPlayers[i];
if (HasVip[pl])
get_user_name(pl, adminnames[count++], 31);
}

new message[192];
new len = add(message, 191, "^4[KC] ^3VIP Online:^4 ");

if (count > 0) {
for (new j = 0 ; j < count ; j++) {
len += formatex(message[len], 191-len, "%s%s ", adminnames[j], j < (count-1) ? "^1,^4 " : "");
if (len > 96 ) {
print_message(id, message);
message[0] = EOS;
message[0] = 0x04;
len = 1;
}
}
print_message(id, message);
}
else {
add(message, 191, "No VIP online.");
print_message(id, message);
}

new contact[64];
get_pcvar_string(g_pContact, contact, 63);

if (contact[0]) {
new contactinfo[192];
formatex(contactinfo, 191, "^4Contact Server Admin:^3 %s", contact);

print_message(id, contactinfo);
}
}

vip_reload()
{
new aPlayers[32], num, pl;
get_players(aPlayers, num, "ch");

for (new i = 0; i < num; i++)
{
pl = aPlayers[i];
HasVip[pl] = bool:(get_user_flags(pl) & ADMIN_ALL);
}
}

stock print_message(id, const msg[], any:...)
{
if (!HasConnected[id])
return;

new sMessage[191], iParams;
iParams = numargs();

if ( iParams == 2 )
copy(sMessage, 190, msg);
else
vformat(sMessage, 190, msg, 3);

message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, .player=id);
write_byte(id);
write_string(sMessage);
message_end();
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
ADMIN_ALL Feature Seems Not To Be Working, Kindly Edit It, So, Everyone Can access it. [Rest Mention In Error]

Why I want to do so? with VIP Plugin !!! I know this makes no sense, but here it is psychology, Free VIP and people come to your server, else not [even if VIP to all, it makes equal everyone but tradition ...]
 
В этой теме было размещено решение! Перейти к решению.
Последнее редактирование:
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
What do you want to do by changing it to ADMIN_ALL?
 
Сообщения
213
Реакции
71
Помог
2 раз(а)
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
ADMIN_ALL is 0, so bool:(get_user_flags(id) & ADMIN_ALL) will return false. Do you wanna do it working for everyone?
 
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
Try it.

Код:
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define DAMAGE_RECIEVED

#define IsClientValid(%0,%1) ( (1 <= %0 <= g_iMaxClients) && %0 != %1 )

#define g_iKeysrod (1<<0)|(1<<1)|(1<<9)

new bool:HasC4[33] = { false, ... };
new bool:HasConnected[33] = { false, ... };

#if defined DAMAGE_RECIEVED
    new g_msgSync2;
#endif

new g_msgSayText;
new g_msgSync;
new g_iMaxClients;
new g_iCurrRound = -1;

new g_pMpd;
new g_pMkb;
new g_pMhb;
new g_pHealthAdd;
new g_pHsAdd;
new g_pMaxHealth;
new g_pMenuActive;
new g_pMenuCancel;

public plugin_init()
{
    register_plugin("VIP Eng Version", "3.0", "Dunno");
   
    g_pMpd = register_cvar("money_per_damage", "3");
    g_pMkb = register_cvar("money_kill_bonus", "200");
    g_pMhb = register_cvar("money_hs_bonus", "500");
    g_pHealthAdd = register_cvar("amx_vip_hp", "15");
    g_pHsAdd = register_cvar("amx_vip_hp_hs", "30");
    g_pMaxHealth = register_cvar("amx_vip_max_hp", "100");
    g_pMenuActive = register_cvar("menu_active", "1");
    g_pMenuCancel = register_cvar("amx_vip_menu_cancel", "30");
   
    register_menucmd(register_menuid("rod"), g_iKeysrod, "Pressedrod");
   
    register_logevent("levt_RoundStart", 2, "1=Round_Start");
    RegisterHam(Ham_Killed, "player", "fw_KilledPlayer");
   
    register_event("TextMsg", "evt_RoundRestart", "a", "2&#Game_w");
    register_event("DeathMsg", "evt_Death", "a", "1>0");
    register_event("Damage", "evt_Damage", "b");
    register_event("Damage", "evt_OnDamage", "b", "2!0", "3=0", "4!0");
   
    g_iMaxClients  = get_maxplayers();
    g_msgSayText = get_user_msgid("SayText");
   
    g_msgSync = CreateHudSyncObj();
#if defined DAMAGE_RECIEVED
    g_msgSync2 = CreateHudSyncObj();
#endif  
}

public client_putinserver(id)
{
    if (!is_user_bot(id))
    {
        HasConnected[id] = true;
        set_task(30.0, "PrintText", id);
    }
}

public client_disconnect(id)
{
    HasConnected[id] = false;
}

public evt_OnDamage(id)
{
    static attacker, damage;
    attacker = get_user_attacker(id);
   
    if(!IsClientValid(attacker, id))
        return;
   
#if defined DAMAGE_RECIEVED
    if ( HasConnected[id] && HasConnected[attacker])
    {
        damage = read_data(2);

        set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
        ShowSyncHudMsg(id, g_msgSync2, "%i^n", damage)
#else
    if ( HasConnected[attacker] )
    {
        damage = read_data(2);
#endif
        set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
        ShowSyncHudMsg(attacker, g_msgSync, "%i^n", damage);
    }
}

public evt_Damage(id)
{
    static weapon, hitpoint, attacker;
    attacker = get_user_attacker(id, weapon, hitpoint);
   
    if(IsClientValid(attacker, id) && is_user_alive(attacker))
    {
        new money = read_data(2) * get_pcvar_num(g_pMpd);
        if (hitpoint == 1) money += get_pcvar_num(g_pMhb);
        cs_set_user_money(attacker, cs_get_user_money(attacker) + money);
    }
}

public fw_KilledPlayer(victim, killer, shouldgib)
{
    if (IsClientValid(killer, victim) && HasConnected[killer])
        cs_set_user_money(killer, cs_get_user_money(killer) + get_pcvar_num(g_pMkb) - 300);
}

public levt_RoundStart()
{
    if (g_iCurrRound < 0)
        return;
   
    g_iCurrRound++;
   
    new aPlayers[32], num, pl, ismenu;
    get_players(aPlayers, num, "ac");
    ismenu = get_pcvar_num(g_pMenuActive);
   
    for (new i = 0; i < num; i++)
    {
        pl = aPlayers[i];
        if (g_iCurrRound >= 2)
        {
            give_item(pl, "item_assaultsuit");
           
            if (get_user_team(pl) == 2)
                give_item(pl, "item_thighpack");
        }
       
        if (g_iCurrRound >= 3 && ismenu)
            Showrod(pl);
    }
}

public evt_RoundRestart()
{
    g_iCurrRound = 0;
}

public evt_Death()
{
    static killer;
    killer = read_data(1);
   
    static hp, hpadd, hpmax;
   
    if ( (read_data(3) == 1) && (read_data(5) == 0) )
        hpadd = get_pcvar_num(g_pHsAdd);
    else
        hpadd = get_pcvar_num(g_pHealthAdd);
   
    hpmax = get_pcvar_num(g_pMaxHealth);
   
    hp = get_user_health(killer);
    hp += hpadd;
   
    if (hp > hpmax) hp = hpmax;
    set_user_health(killer, hp);
   
    set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1);
    show_hudmessage(killer, "Healed +%d hp", hpadd);
   
    message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, killer);
    write_short(1<<10);
    write_short(1<<10);
    write_short(0x0000);
    write_byte(0);
    write_byte(0);
    write_byte(200);
    write_byte(75);
    message_end();
}

public Showrod(id)
{
    static const szGunMenu[] = "\y[KC] Free VIP Guns^n^n\w1. Get M4A1+Deagle^n\w2. Get AK47+Deagle^n^n\y0. Exit";
   
    new iTimeout = -1;
    new iMenuCancel = get_pcvar_num(g_pMenuCancel);
   
    if ( iMenuCancel > 0 )
    {
        iTimeout = iMenuCancel;
        print_message(id, "^4[KC] ^1You have ^3%d ^1seconds, to select a vip item or menu will be closed.", iMenuCancel);
    }
   
    show_menu(id, g_iKeysrod, szGunMenu, iTimeout, "rod");
}

public Pressedrod(id, key) {
    /* Menu:
    * VIP Menu
    * 1. Get M4A1+Deagle
    * 2. Get AK47+Deagle
    * 0. Exit
    */
    new team = get_user_team(id);
    switch (key) {
        case 0: {
            if (user_has_weapon(id, CSW_C4) && team == 1)
                HasC4[id] = true;
            else
                HasC4[id] = false;
           
            strip_user_weapons(id);
            give_item(id, "weapon_m4a1");
            ExecuteHamB(Ham_GiveAmmo, id, 90, "556nato", 90);
            give_item(id, "weapon_deagle");
            ExecuteHamB(Ham_GiveAmmo, id, 35, "50ae", 35);
            give_item(id, "weapon_knife");
            give_item(id, "item_assaultsuit");
           
            if (team == 2)
                give_item(id, "item_thighpack");
           
            print_message(id, "^4[KC]^3 You Taked Free M4A1 and Deagle");
           
            if (HasC4[id])
            {
                give_item(id, "weapon_c4");
                cs_set_user_plant(id);
            }
        }
        case 1: {
            if (user_has_weapon(id, CSW_C4) && team == 1)
                HasC4[id] = true;
            else
                HasC4[id] = false;
           
            strip_user_weapons(id);
            give_item(id, "weapon_ak47");
            ExecuteHamB(Ham_GiveAmmo, id, 90, "762nato", 90);
            give_item(id, "weapon_deagle");
            ExecuteHamB(Ham_GiveAmmo, id, 35, "50ae", 35);
            give_item(id, "weapon_knife");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_flashbang");
            give_item(id, "item_assaultsuit");
           
            if (team == 2)
                give_item(id, "item_thighpack");
           
            print_message(id, "^4[KC]^3 You Taked Free AK47 and Deagle");
           
            if (HasC4[id])
            {
                give_item(id, "weapon_c4");
                cs_set_user_plant(id);
            }
        }
    }
    return PLUGIN_CONTINUE;
}

public PrintText(id)
{
    print_message(id, "^4[KC]^1 For VIP info write^4 /wantvip^1 and u will see how to get VIP and VIP privilegies.");
}

stock print_message(id, const msg[], any:...)
{
    if (!HasConnected[id])
        return;
   
    new sMessage[191], iParams;
    iParams = numargs();
   
    if ( iParams == 2 )
        copy(sMessage, 190, msg);
    else
        vformat(sMessage, 190, msg, 3);
   
    message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, .player=id);
    write_byte(id);
    write_string(sMessage);
    message_end();
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
 
Сообщения
213
Реакции
71
Помог
2 раз(а)
Try it.

Код:
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define DAMAGE_RECIEVED

#define IsClientValid(%0,%1) ( (1 <= %0 <= g_iMaxClients) && %0 != %1 )

#define g_iKeysrod (1<<0)|(1<<1)|(1<<9)

new bool:HasC4[33] = { false, ... };
new bool:HasConnected[33] = { false, ... };

#if defined DAMAGE_RECIEVED
    new g_msgSync2;
#endif

new g_msgSayText;
new g_msgSync;
new g_iMaxClients;
new g_iCurrRound = -1;

new g_pMpd;
new g_pMkb;
new g_pMhb;
new g_pHealthAdd;
new g_pHsAdd;
new g_pMaxHealth;
new g_pMenuActive;
new g_pMenuCancel;

public plugin_init()
{
    register_plugin("VIP Eng Version", "3.0", "Dunno");
  
    g_pMpd = register_cvar("money_per_damage", "3");
    g_pMkb = register_cvar("money_kill_bonus", "200");
    g_pMhb = register_cvar("money_hs_bonus", "500");
    g_pHealthAdd = register_cvar("amx_vip_hp", "15");
    g_pHsAdd = register_cvar("amx_vip_hp_hs", "30");
    g_pMaxHealth = register_cvar("amx_vip_max_hp", "100");
    g_pMenuActive = register_cvar("menu_active", "1");
    g_pMenuCancel = register_cvar("amx_vip_menu_cancel", "30");
  
    register_menucmd(register_menuid("rod"), g_iKeysrod, "Pressedrod");
  
    register_logevent("levt_RoundStart", 2, "1=Round_Start");
    RegisterHam(Ham_Killed, "player", "fw_KilledPlayer");
  
    register_event("TextMsg", "evt_RoundRestart", "a", "2&#Game_w");
    register_event("DeathMsg", "evt_Death", "a", "1>0");
    register_event("Damage", "evt_Damage", "b");
    register_event("Damage", "evt_OnDamage", "b", "2!0", "3=0", "4!0");
  
    g_iMaxClients  = get_maxplayers();
    g_msgSayText = get_user_msgid("SayText");
  
    g_msgSync = CreateHudSyncObj();
#if defined DAMAGE_RECIEVED
    g_msgSync2 = CreateHudSyncObj();
#endif 
}

public client_putinserver(id)
{
    if (!is_user_bot(id))
    {
        HasConnected[id] = true;
        set_task(30.0, "PrintText", id);
    }
}

public client_disconnect(id)
{
    HasConnected[id] = false;
}

public evt_OnDamage(id)
{
    static attacker, damage;
    attacker = get_user_attacker(id);
  
    if(!IsClientValid(attacker, id))
        return;
  
#if defined DAMAGE_RECIEVED
    if ( HasConnected[id] && HasConnected[attacker])
    {
        damage = read_data(2);

        set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1);
        ShowSyncHudMsg(id, g_msgSync2, "%i^n", damage)
#else
    if ( HasConnected[attacker] )
    {
        damage = read_data(2);
#endif
        set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1);
        ShowSyncHudMsg(attacker, g_msgSync, "%i^n", damage);
    }
}

public evt_Damage(id)
{
    static weapon, hitpoint, attacker;
    attacker = get_user_attacker(id, weapon, hitpoint);
  
    if(IsClientValid(attacker, id) && is_user_alive(attacker))
    {
        new money = read_data(2) * get_pcvar_num(g_pMpd);
        if (hitpoint == 1) money += get_pcvar_num(g_pMhb);
        cs_set_user_money(attacker, cs_get_user_money(attacker) + money);
    }
}

public fw_KilledPlayer(victim, killer, shouldgib)
{
    if (IsClientValid(killer, victim) && HasConnected[killer])
        cs_set_user_money(killer, cs_get_user_money(killer) + get_pcvar_num(g_pMkb) - 300);
}

public levt_RoundStart()
{
    if (g_iCurrRound < 0)
        return;
  
    g_iCurrRound++;
  
    new aPlayers[32], num, pl, ismenu;
    get_players(aPlayers, num, "ac");
    ismenu = get_pcvar_num(g_pMenuActive);
  
    for (new i = 0; i < num; i++)
    {
        pl = aPlayers[i];
        if (g_iCurrRound >= 2)
        {
            give_item(pl, "item_assaultsuit");
          
            if (get_user_team(pl) == 2)
                give_item(pl, "item_thighpack");
        }
      
        if (g_iCurrRound >= 3 && ismenu)
            Showrod(pl);
    }
}

public evt_RoundRestart()
{
    g_iCurrRound = 0;
}

public evt_Death()
{
    static killer;
    killer = read_data(1);
  
    static hp, hpadd, hpmax;
  
    if ( (read_data(3) == 1) && (read_data(5) == 0) )
        hpadd = get_pcvar_num(g_pHsAdd);
    else
        hpadd = get_pcvar_num(g_pHealthAdd);
  
    hpmax = get_pcvar_num(g_pMaxHealth);
  
    hp = get_user_health(killer);
    hp += hpadd;
  
    if (hp > hpmax) hp = hpmax;
    set_user_health(killer, hp);
  
    set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1);
    show_hudmessage(killer, "Healed +%d hp", hpadd);
  
    message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, killer);
    write_short(1<<10);
    write_short(1<<10);
    write_short(0x0000);
    write_byte(0);
    write_byte(0);
    write_byte(200);
    write_byte(75);
    message_end();
}

public Showrod(id)
{
    static const szGunMenu[] = "\y[KC] Free VIP Guns^n^n\w1. Get M4A1+Deagle^n\w2. Get AK47+Deagle^n^n\y0. Exit";
  
    new iTimeout = -1;
    new iMenuCancel = get_pcvar_num(g_pMenuCancel);
  
    if ( iMenuCancel > 0 )
    {
        iTimeout = iMenuCancel;
        print_message(id, "^4[KC] ^1You have ^3%d ^1seconds, to select a vip item or menu will be closed.", iMenuCancel);
    }
  
    show_menu(id, g_iKeysrod, szGunMenu, iTimeout, "rod");
}

public Pressedrod(id, key) {
    /* Menu:
    * VIP Menu
    * 1. Get M4A1+Deagle
    * 2. Get AK47+Deagle
    * 0. Exit
    */
    new team = get_user_team(id);
    switch (key) {
        case 0: {
            if (user_has_weapon(id, CSW_C4) && team == 1)
                HasC4[id] = true;
            else
                HasC4[id] = false;
          
            strip_user_weapons(id);
            give_item(id, "weapon_m4a1");
            ExecuteHamB(Ham_GiveAmmo, id, 90, "556nato", 90);
            give_item(id, "weapon_deagle");
            ExecuteHamB(Ham_GiveAmmo, id, 35, "50ae", 35);
            give_item(id, "weapon_knife");
            give_item(id, "item_assaultsuit");
          
            if (team == 2)
                give_item(id, "item_thighpack");
          
            print_message(id, "^4[KC]^3 You Taked Free M4A1 and Deagle");
          
            if (HasC4[id])
            {
                give_item(id, "weapon_c4");
                cs_set_user_plant(id);
            }
        }
        case 1: {
            if (user_has_weapon(id, CSW_C4) && team == 1)
                HasC4[id] = true;
            else
                HasC4[id] = false;
          
            strip_user_weapons(id);
            give_item(id, "weapon_ak47");
            ExecuteHamB(Ham_GiveAmmo, id, 90, "762nato", 90);
            give_item(id, "weapon_deagle");
            ExecuteHamB(Ham_GiveAmmo, id, 35, "50ae", 35);
            give_item(id, "weapon_knife");
            give_item(id, "weapon_hegrenade");
            give_item(id, "weapon_flashbang");
            give_item(id, "weapon_flashbang");
            give_item(id, "item_assaultsuit");
          
            if (team == 2)
                give_item(id, "item_thighpack");
          
            print_message(id, "^4[KC]^3 You Taked Free AK47 and Deagle");
          
            if (HasC4[id])
            {
                give_item(id, "weapon_c4");
                cs_set_user_plant(id);
            }
        }
    }
    return PLUGIN_CONTINUE;
}

public PrintText(id)
{
    print_message(id, "^4[KC]^1 For VIP info write^4 /wantvip^1 and u will see how to get VIP and VIP privilegies.");
}

stock print_message(id, const msg[], any:...)
{
    if (!HasConnected[id])
        return;
  
    new sMessage[191], iParams;
    iParams = numargs();
  
    if ( iParams == 2 )
        copy(sMessage, 190, msg);
    else
        vformat(sMessage, 190, msg, 3);
  
    message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, .player=id);
    write_byte(id);
    write_string(sMessage);
    message_end();
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Nope Not Working !!!
 
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
DrStrange, what exactly is not working? There are no check flags, everybody can use the features of the plugin.
 
Сообщения
213
Реакции
71
Помог
2 раз(а)
DrStrange, what exactly is not working? There are no check flags, everybody can use the features of the plugin.
Oh Sorry !! It actually works but Players don't get this thing before the menu appears. [In first 2 or 3 rounds]

PHP:
give_item(pl, "item_assaultsuit");

if (get_user_team(pl) == 2)
give_item(pl, "item_thighpack");
}
Once Menu Appears, they get it.
Armour
 
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
DrStrange, change give_item(pl, "item_assaultsuit"); to cs_set_user_armor(pl, 100, CS_ARMOR_KEVLAR);
 
Сообщения
213
Реакции
71
Помог
2 раз(а)
DrStrange, plugin can stop working only if you restart game. As far as I remember, give_item(pl, "item_thighpack"); is to demine the bomb faster.
w0w And what about this?, as same thing works fine !! when menu opens !!!

PHP:
        case 0: {
            if (user_has_weapon(id, CSW_C4) && team == 1)
                HasC4[id] = true;
            else
                HasC4[id] = false;
         
            strip_user_weapons(id);
            give_item(id, "weapon_m4a1");
            ExecuteHamB(Ham_GiveAmmo, id, 90, "556nato", 90);
            give_item(id, "weapon_deagle");
            ExecuteHamB(Ham_GiveAmmo, id, 35, "50ae", 35);
            give_item(id, "weapon_knife");
            give_item(id, "item_assaultsuit");
         
            if (team == 2)
                give_item(id, "item_thighpack");
 
Последнее редактирование:
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
DrStrange, is your problem fixed or you still have more bugs regarding the access flag?
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу