Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cstrike>
#include <colorchat>
#include <dhudmessage>
static const PLUGIN_NAME[] = "Bullet Damage Menu"
static const PLUGIN_VERS[] = "v1.0"
static const PLUGIN_AUTH[] = "KSHMR & { S p @ W n } +++"
static bool:g_damage[33]
#define FrequencyTime 600.0
#define SendQuestion 15.0
#define MIN_PLAYERS 1
#define MAX_PLAYERS 32
#define CONSTMAXMONEY 15000
#define ACCESS ADMIN_LEVEL_D
static const gPrefix[] = "Black-Gaming"
static const MenuTitle[] = "\r[Black-Gaming Bullet Damage Menu] \w- \yBullet Damage \rMenu"
static const MenuButtonON[] = "\rTurn on your \yBullet Damage"
static const MenuButtonOFF[] = "\rTurn off \yBullet Damage"
static const MenuButtonEXIT[] = "\rExit"
static const bulletcmds[] = {
"say /damage","say damage",
"say_team damage","say_team /damage",
"say /bullet","say bullet",
"say_team bullet","say_team /bullet"
}
#define red random_num(1,255)
#define green random_num(1,255)
#define blue random_num(1,255)
static const Float:g_flCoords[][] = {
{0.50, 0.40},{0.56, 0.44},{0.60, 0.50},{0.56, 0.56},
{0.50, 0.60},{0.44, 0.56},{0.40, 0.50},{0.44, 0.44}
}
new g_iMaxPlayers
new g_iPlayerPos[MAX_PLAYERS+1]
new BulletMode, BulletChatMsg, BulletHudType
new BulletCost, BulletMoney, BulletRegain
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH)
for(new i = 0; i < sizeof(bulletcmds); i++)
{
register_clcmd(bulletcmds[i],"ShowMenuMODE")
}
register_event("Damage","Event_Damage","b","2>0","3=0")
g_iMaxPlayers = get_maxplayers()
set_task(Float:(FrequencyTime),"ShowMsg",0,"",0,"b")
BulletMode = register_cvar("bullet_mode","1")
BulletChatMsg = register_cvar("bullet_announce","1")
BulletMoney = register_cvar("bullet_moneyusage","0")
BulletCost = register_cvar("bullet_cost","0")
BulletRegain = register_cvar("bullet_regain","1")
BulletHudType = register_cvar("bullet_dhudorhud","1")
server_print("-----------------------------------------")
server_print("---PLUGIN bY KSHMR & { S p @ W n } +++---")
server_print("----------All Rights Reserved------------")
server_print("-----------------------------------------")
}
public ShowMsg()
{
if (get_pcvar_num(BulletChatMsg))
{
new users[32], count, id
get_players(users,count)
for (new i = 0; i < count; i++)
{
if( count >= MIN_PLAYERS )
{
id = users[i]
ColorChat(id, GREEN,"^4[%s] ^1Ako iskash da si vkliuchish Bullet Damage rejima napishi ^4/bullet^1.",gPrefix)
}
}
}
}
public ShowMenuMODE(id)
{
if (is_user_connected(id))
{
switch (get_pcvar_num(BulletMode))
{
case 1:
{
if (get_user_flags(id) & ACCESS)
{
ShowMenu(id);
ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage Menu ^4Opened^1.",gPrefix)
}
else
{
ColorChat(id,GREEN,"^4[%s] ^1Tazi komanda e samo za ^4ViP^1.",gPrefix)
}
}
case 2:
{
if (!(get_user_flags(id) & ACCESS))
{
ShowMenu(id);
ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage Menu ^4Opened^1.",gPrefix)
}
else
{
ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage is for ^4USERS Only^1.",gPrefix);
}
}
case 3:
{
if (is_user_connected(id))
{
ShowMenu(id);
ColorChat(id,GREEN,"^4[%s] ^1Bullet Damage Menu ^4Opened^1.",gPrefix)
}
}
}
}
}
public ShowMenu(id)
{
if (is_user_connected(id))
{
new menu = menu_create(MenuTitle,"BulletHandler");
menu_additem(menu, MenuButtonON, "", 0); // case 0
menu_additem(menu, MenuButtonOFF, "", 0); // case 1
menu_setprop(menu, MPROP_EXITNAME, MenuButtonEXIT);
menu_display(id, menu, 0);
}
}
public BulletHandler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_cancel(id)
return PLUGIN_HANDLED
}
switch (item)
{
case 0:
{
if (!g_damage[id])
{
switch (get_pcvar_num(BulletMoney))
{
case 0:
{
g_damage[id] = true
ColorChat(id,GREEN,"^4[%s] ^1You have ^4bullet damage^1.",gPrefix)
}
case 1:
{
if ( cs_get_user_money(id) >= get_pcvar_num(BulletCost) )
{
cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(BulletCost))
g_damage[id] = true
ColorChat(id,GREEN,"^4[%s] ^1You have ^4bullet damage^1.",gPrefix)
}
else
{
ColorChat(id,GREEN,"^4[%s] ^1You dont have enough ^4money^1.",gPrefix)
}
}
}
}
else if (g_damage[id])
{
ColorChat(id,GREEN,"^4[%s] ^1Your bullet damage is already turned ^4On^1.",gPrefix)
}
}
case 1:
{
if(g_damage[id])
{
switch(get_pcvar_num(BulletRegain))
{
case 0:
{
g_damage[id] = false
ColorChat(id,RED,"^4[%s] ^1You have ^3bullet damage Off^1.",gPrefix)
}
case 1:
{
if ( cs_get_user_money(id) <= CONSTMAXMONEY )
{
cs_set_user_money(id,cs_get_user_money(id) + get_pcvar_num(BulletCost))
g_damage[id] = false
ColorChat(id,RED,"^4[%s] ^1You have ^3bullet damage Off^1.",gPrefix)
}
else
{
g_damage[id] = false
ColorChat(id,RED,"^4[%s] ^1You have the maximum money^4.",gPrefix)
ColorChat(id,RED,"^4[%s] ^3Bullet damage Off^1.",gPrefix)
}
}
}
}
else if (!g_damage[id])
{
ColorChat(id,RED,"^4[%s] ^1Your bullet damage is already turned ^3Off^1.",gPrefix)
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public Event_Damage(iVictim)
{
if ( read_data(4) || read_data(5) || read_data(6) )
{
new id = get_user_attacker(iVictim)
if ((1 <= id <= g_iMaxPlayers) && is_user_connected(id))
{
new iPos = ++g_iPlayerPos[id]
if (iPos == sizeof(g_flCoords))
{
iPos = g_iPlayerPos[id] = 0
}
switch (get_pcvar_num(BulletHudType))
{
case 1:
{
set_hudmessage(red,green,blue,Float:g_flCoords[iPos][0],Float:g_flCoords[iPos][1],0,6.0,3.0,0.1,0.02)
if (g_damage[id])
{
show_hudmessage(id, "%d", read_data(2))
}
}
case 2:
{
set_dhudmessage(red,green,blue,Float:g_flCoords[iPos][0],Float:g_flCoords[iPos][1],0,6.0,3.0,0.1,0.02)
if (g_damage[id])
{
show_dhudmessage(id, "%d", read_data(2))
}
}
}
}
}
}
public client_putinserver(i)
{
if(g_damage[i])
{
g_damage[i] = false
}
}
public client_disconnect(i)
{
if(g_damage[i])
{
g_damage[i] = false
}
}