Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Вырезать дамагер из плагина вип

Статус пользователя iphone532776
сообщение 11.2.2015, 21:28
Сообщение #1


Стаж: 11 лет

Сообщений: 66
Благодарностей: 3
Полезность: < 0

Ребятки, помогите пожалуйста вырезать дамагер из исходника. Знаю что в темах есть ответ, но лично у меня не получилось это сделать. Кому не сложно thank_you2.gif


код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <fakemeta_util>

new const CT_MODEL[] = "models/player/gign/gign.mdl" // Указывается полный путь к модели CT (ВАЖНО!!! В строке 116 название должно соответствовать!)
new const T_MODEL[] = "models/player/leet/leet.mdl" // Указывается полный путь к модели T( ВАЖНО!!! В строке 118 название должно соответствовать!)

#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD ( 1 << 0 )
#define SCOREATTRIB_BOMB ( 1 << 1 )
#define SCOREATTRIB_VIP ( 1 << 2 )

const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

new cvar_grenade, cvar_armor, cvar_health, cvar_armor_amount, cvar_health_amount, cvar_tab, cvar_money, cvar_money_amount, cvar_menu, cvar_model, cvar_flag
new g_msgSayText, g_maxplayers, round_count
new can_take[33]
new g_HudSync, g_HudSync2

public plugin_init()
{
register_plugin("VIP", "1.0", "ill")

register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
register_event("TextMsg","RoundRestart","a","2&#Game_w")
register_event("Damage", "damage_message", "b", "2!0", "3=0", "4!0")
register_logevent("logevent_round_start",2, "1=Round_Start")

register_message(get_user_msgid("ScoreAttrib" ), "MessageScoreAttrib")

RegisterHam(Ham_Spawn, "player", "fw_SpawnPost", 1)

register_clcmd("say /vm", "press_wm") // /vm - команда в чат вызова вип меню с оружием (можно сменить на свою)
register_clcmd("say /vip", "vip_motd") // /vip - команда в чат вызова мотд окна. В корне cstrike должен быть файл vip.txt и информацией в html формате
register_menu("VIP Weapon", KEYSMENU, "weapon_menu")

cvar_grenade = register_cvar("vip_get_grenade", "1")
cvar_armor = register_cvar("vip_get_armor", "1")
cvar_armor_amount = register_cvar("vip_get_armor_amount", "120")
cvar_health = register_cvar("vip_get_health", "1")
cvar_health_amount = register_cvar("vip_get_health_amount", "120")
cvar_tab = register_cvar("vip_tab", "1")
cvar_money = register_cvar("vip_get_money", "1")
cvar_money_amount = register_cvar("vip_get_money_amount", "2300")
cvar_menu = register_cvar("vip_get_menu", "1")
cvar_model = register_cvar("vip_model", "1")
cvar_flag = register_cvar("vip_flag", "t")

g_msgSayText = get_user_msgid("SayText")
g_maxplayers = get_maxplayers()
g_HudSync = CreateHudSyncObj()
g_HudSync2 = CreateHudSyncObj()

round_count = 0
}

public plugin_precache()
{
precache_model(CT_MODEL)
precache_model(T_MODEL)
}

public RoundStart()
{
for (new id = 1; id <= g_maxplayers; id++)
{
can_take[id] = true
}
}

public logevent_round_start()
{
round_count++
}

public RoundRestart(id)
{
round_count = 1
}

public fw_SpawnPost(id)
{
if(!is_user_alive(id))
return

if(!isVIP(id))
return

if(get_pcvar_num(cvar_grenade))
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
}

if(get_pcvar_num(cvar_armor))
set_user_armor(id, get_pcvar_num(cvar_armor_amount))

if(get_pcvar_num(cvar_health))
set_user_health(id, get_pcvar_num(cvar_health_amount))

if(get_pcvar_num(cvar_money))
{
if(round_count > 2)
{
cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_money_amount))
colored_print(id, "^x04[VIP] ^x01 +money")
}
}

if(get_pcvar_num(cvar_model))
{
if(cs_get_user_team(id) == CS_TEAM_CT)
cs_set_user_model(id, "gign.mdl") // vip Имя модели CT (имя модели должно совпадать с именем в каталоге player)
else if(cs_get_user_team(id) == CS_TEAM_T)
cs_set_user_model(id, "leet.mdl") // vip Имя модели T (имя модели должно совпадать с именем в каталоге player)
}
else
cs_reset_user_model(id)
}

public damage_message(id)
{
new attacker = get_user_attacker(id)
new damage = read_data(2)

if(isVIP(id))
{
set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
ShowSyncHudMsg(id, g_HudSync2, "%i", damage)
}

if (is_user_connected(attacker) && isVIP(attacker))
{
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
ShowSyncHudMsg(attacker, g_HudSync, "%i", damage)
}
}

public MessageScoreAttrib(iMsgID, iDest, iReceiver)
{
new id = get_msg_arg_int(1)
if(is_user_connected(id) && isVIP(id) && get_pcvar_num(cvar_tab))
{
set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD)
}
}

public press_wm(id)
{
if(!get_pcvar_num(cvar_menu))
{
colored_print(id, "^x04[VIP] ^x01Меню отключено")
return PLUGIN_HANDLED
}

if(!isVIP(id))
{
colored_print(id, "^x04[VIP] ^x01Меню доступно только VIP игрокам")
return PLUGIN_HANDLED
}

if(round_count <= 3)
{
colored_print(id, "^x04[VIP] ^x01Меню доступно только после первого раунда")
return PLUGIN_HANDLED
}

if(!can_take[id])
{
colored_print(id, "^x04[VIP] ^x01Меню доступно один раз за раунд")
return PLUGIN_HANDLED
}

if(!is_user_alive(id))
{
colored_print(id, "^x04[VIP] ^x01Меню доступно когда вы живы")
return PLUGIN_HANDLED
}

show_weapons_menu(id)

return PLUGIN_HANDLED
}

public show_weapons_menu(id)
{
static menu[450], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\yVIP меню^n^n")

len += formatex(menu[len], charsmax(menu) - len, "\r1.\w m4a1 + dgl ^n")
len += formatex(menu[len], charsmax(menu) - len, "\r2.\w ak47 + dgl ^n")
len += formatex(menu[len], charsmax(menu) - len, "\r3.\w awp + dgl ^n")

len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\w Выход")

show_menu(id, KEYSMENU, menu, -1, "VIP Weapon")
}

public weapon_menu(id, key)
{
switch (key)
{
case 0:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_m4a1")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_M4A1, 90)

can_take[id] = false
}
case 1:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_ak47")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_AK47, 90)

can_take[id] = false
}
case 2:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_awp")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_AWP, 30)

can_take[id] = false
}
}
}

public vip_motd(id)
{
show_motd(id, "vip.txt", "VIP")
}

public isVIP(id)
{
return get_user_flags(id) & get_admin_level_flag()
}

public get_admin_level_flag()
{
new flags[24]

get_pcvar_string ( cvar_flag, flags, sizeof ( flags ) - 1 )

return ( read_flags ( flags ) )
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]

if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}

stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]

if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;

vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}

else
{
vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ASTIN
сообщение 11.2.2015, 21:43
Сообщение #2


Стаж: 18 лет

Сообщений: 160
Благодарностей: 20
Полезность: 88

Давно использую ВИП систему от ZetaMen.


Каждая функция отдельно. Настраиваемо и удобно.

Отредактировал: ASTIN, - 11.2.2015, 21:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TheNega
сообщение 11.2.2015, 21:45
Сообщение #3


Стаж: 13 лет

Сообщений: 724
Благодарностей: 1396
Полезность: 1101

Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <fakemeta_util>

new const CT_MODEL[] = "models/player/gign/gign.mdl" // Указывается полный путь к модели CT (ВАЖНО!!! В строке 116 название должно соответствовать!)
new const T_MODEL[] = "models/player/leet/leet.mdl" // Указывается полный путь к модели T( ВАЖНО!!! В строке 118 название должно соответствовать!)

#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD ( 1 << 0 )
#define SCOREATTRIB_BOMB ( 1 << 1 )
#define SCOREATTRIB_VIP ( 1 << 2 )

const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

new cvar_grenade, cvar_armor, cvar_health, cvar_armor_amount, cvar_health_amount, cvar_tab, cvar_money, cvar_money_amount, cvar_menu, cvar_model, cvar_flag
new g_msgSayText, g_maxplayers, round_count
new can_take[33]

public plugin_init()
{
register_plugin("VIP", "1.0", "ill")

register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
register_event("TextMsg","RoundRestart","a","2&#Game_w")
register_logevent("logevent_round_start",2, "1=Round_Start")

register_message(get_user_msgid("ScoreAttrib" ), "MessageScoreAttrib")

RegisterHam(Ham_Spawn, "player", "fw_SpawnPost", 1)

register_clcmd("say /vm", "press_wm") // /vm - команда в чат вызова вип меню с оружием (можно сменить на свою)
register_clcmd("say /vip", "vip_motd") // /vip - команда в чат вызова мотд окна. В корне cstrike должен быть файл vip.txt и информацией в html формате
register_menu("VIP Weapon", KEYSMENU, "weapon_menu")

cvar_grenade = register_cvar("vip_get_grenade", "1")
cvar_armor = register_cvar("vip_get_armor", "1")
cvar_armor_amount = register_cvar("vip_get_armor_amount", "120")
cvar_health = register_cvar("vip_get_health", "1")
cvar_health_amount = register_cvar("vip_get_health_amount", "120")
cvar_tab = register_cvar("vip_tab", "1")
cvar_money = register_cvar("vip_get_money", "1")
cvar_money_amount = register_cvar("vip_get_money_amount", "2300")
cvar_menu = register_cvar("vip_get_menu", "1")
cvar_model = register_cvar("vip_model", "1")
cvar_flag = register_cvar("vip_flag", "t")

g_msgSayText = get_user_msgid("SayText")
g_maxplayers = get_maxplayers()


round_count = 0
}

public plugin_precache()
{
precache_model(CT_MODEL)
precache_model(T_MODEL)
}

public RoundStart()
{
for (new id = 1; id <= g_maxplayers; id++)
{
can_take[id] = true
}
}

public logevent_round_start()
{
round_count++
}

public RoundRestart(id)
{
round_count = 1
}

public fw_SpawnPost(id)
{
if(!is_user_alive(id))
return

if(!isVIP(id))
return

if(get_pcvar_num(cvar_grenade))
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
}

if(get_pcvar_num(cvar_armor))
set_user_armor(id, get_pcvar_num(cvar_armor_amount))

if(get_pcvar_num(cvar_health))
set_user_health(id, get_pcvar_num(cvar_health_amount))

if(get_pcvar_num(cvar_money))
{
if(round_count > 2)
{
cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_money_amount))
colored_print(id, "^x04[VIP] ^x01 +money")
}
}

if(get_pcvar_num(cvar_model))
{
if(cs_get_user_team(id) == CS_TEAM_CT)
cs_set_user_model(id, "gign.mdl") // vip Имя модели CT (имя модели должно совпадать с именем в каталоге player)
else if(cs_get_user_team(id) == CS_TEAM_T)
cs_set_user_model(id, "leet.mdl") // vip Имя модели T (имя модели должно совпадать с именем в каталоге player)
}
else
cs_reset_user_model(id)
}


public MessageScoreAttrib(iMsgID, iDest, iReceiver)
{
new id = get_msg_arg_int(1)
if(is_user_connected(id) && isVIP(id) && get_pcvar_num(cvar_tab))
{
set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD)
}
}

public press_wm(id)
{
if(!get_pcvar_num(cvar_menu))
{
colored_print(id, "^x04[VIP] ^x01Меню отключено")
return PLUGIN_HANDLED
}

if(!isVIP(id))
{
colored_print(id, "^x04[VIP] ^x01Меню доступно только VIP игрокам")
return PLUGIN_HANDLED
}

if(round_count <= 3)
{
colored_print(id, "^x04[VIP] ^x01Меню доступно только после первого раунда")
return PLUGIN_HANDLED
}

if(!can_take[id])
{
colored_print(id, "^x04[VIP] ^x01Меню доступно один раз за раунд")
return PLUGIN_HANDLED
}

if(!is_user_alive(id))
{
colored_print(id, "^x04[VIP] ^x01Меню доступно когда вы живы")
return PLUGIN_HANDLED
}

show_weapons_menu(id)

return PLUGIN_HANDLED
}

public show_weapons_menu(id)
{
static menu[450], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\yVIP меню^n^n")

len += formatex(menu[len], charsmax(menu) - len, "\r1.\w m4a1 + dgl ^n")
len += formatex(menu[len], charsmax(menu) - len, "\r2.\w ak47 + dgl ^n")
len += formatex(menu[len], charsmax(menu) - len, "\r3.\w awp + dgl ^n")

len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\w Выход")

show_menu(id, KEYSMENU, menu, -1, "VIP Weapon")
}

public weapon_menu(id, key)
{
switch (key)
{
case 0:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_m4a1")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_M4A1, 90)

can_take[id] = false
}
case 1:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_ak47")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_AK47, 90)

can_take[id] = false
}
case 2:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_awp")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_AWP, 30)

can_take[id] = false
}
}
}

public vip_motd(id)
{
show_motd(id, "vip.txt", "VIP")
}

public isVIP(id)
{
return get_user_flags(id) & get_admin_level_flag()
}

public get_admin_level_flag()
{
new flags[24]

get_pcvar_string ( cvar_flag, flags, sizeof ( flags ) - 1 )

return ( read_flags ( flags ) )
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]

if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}

stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]

if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;

vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}

else
{
vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}


Отредактировал: TheNega, - 11.2.2015, 21:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя iphone532776
сообщение 11.2.2015, 21:49
Сообщение #4


Стаж: 11 лет

Сообщений: 66
Благодарностей: 3
Полезность: < 0

Цитата(ASTIN @ 11.2.2015, 23:43) *
Давно использую ВИП систему от ZetaMen.


Каждая функция отдельно. Настраиваемо и удобно.

спасибо, но душа лежит именно к своему варианту

Цитата(TheNega @ 11.2.2015, 23:45) *
Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <fakemeta_util>

new const CT_MODEL[] = "models/player/gign/gign.mdl" // Указывается полный путь к модели CT (ВАЖНО!!! В строке 116 название должно соответствовать!)
new const T_MODEL[] = "models/player/leet/leet.mdl" // Указывается полный путь к модели T( ВАЖНО!!! В строке 118 название должно соответствовать!)

#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD ( 1 << 0 )
#define SCOREATTRIB_BOMB ( 1 << 1 )
#define SCOREATTRIB_VIP ( 1 << 2 )

const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

new cvar_grenade, cvar_armor, cvar_health, cvar_armor_amount, cvar_health_amount, cvar_tab, cvar_money, cvar_money_amount, cvar_menu, cvar_model, cvar_flag
new g_msgSayText, g_maxplayers, round_count
new can_take[33]

public plugin_init()
{
register_plugin("VIP", "1.0", "ill")

register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
register_event("TextMsg","RoundRestart","a","2&#Game_w")
register_logevent("logevent_round_start",2, "1=Round_Start")

register_message(get_user_msgid("ScoreAttrib" ), "MessageScoreAttrib")

RegisterHam(Ham_Spawn, "player", "fw_SpawnPost", 1)

register_clcmd("say /vm", "press_wm") // /vm - команда в чат вызова вип меню с оружием (можно сменить на свою)
register_clcmd("say /vip", "vip_motd") // /vip - команда в чат вызова мотд окна. В корне cstrike должен быть файл vip.txt и информацией в html формате
register_menu("VIP Weapon", KEYSMENU, "weapon_menu")

cvar_grenade = register_cvar("vip_get_grenade", "1")
cvar_armor = register_cvar("vip_get_armor", "1")
cvar_armor_amount = register_cvar("vip_get_armor_amount", "120")
cvar_health = register_cvar("vip_get_health", "1")
cvar_health_amount = register_cvar("vip_get_health_amount", "120")
cvar_tab = register_cvar("vip_tab", "1")
cvar_money = register_cvar("vip_get_money", "1")
cvar_money_amount = register_cvar("vip_get_money_amount", "2300")
cvar_menu = register_cvar("vip_get_menu", "1")
cvar_model = register_cvar("vip_model", "1")
cvar_flag = register_cvar("vip_flag", "t")

g_msgSayText = get_user_msgid("SayText")
g_maxplayers = get_maxplayers()


round_count = 0
}

public plugin_precache()
{
precache_model(CT_MODEL)
precache_model(T_MODEL)
}

public RoundStart()
{
for (new id = 1; id <= g_maxplayers; id++)
{
can_take[id] = true
}
}

public logevent_round_start()
{
round_count++
}

public RoundRestart(id)
{
round_count = 1
}

public fw_SpawnPost(id)
{
if(!is_user_alive(id))
return

if(!isVIP(id))
return

if(get_pcvar_num(cvar_grenade))
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
}

if(get_pcvar_num(cvar_armor))
set_user_armor(id, get_pcvar_num(cvar_armor_amount))

if(get_pcvar_num(cvar_health))
set_user_health(id, get_pcvar_num(cvar_health_amount))

if(get_pcvar_num(cvar_money))
{
if(round_count > 2)
{
cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_money_amount))
colored_print(id, "^x04[VIP] ^x01 +money")
}
}

if(get_pcvar_num(cvar_model))
{
if(cs_get_user_team(id) == CS_TEAM_CT)
cs_set_user_model(id, "gign.mdl") // vip Имя модели CT (имя модели должно совпадать с именем в каталоге player)
else if(cs_get_user_team(id) == CS_TEAM_T)
cs_set_user_model(id, "leet.mdl") // vip Имя модели T (имя модели должно совпадать с именем в каталоге player)
}
else
cs_reset_user_model(id)
}


public MessageScoreAttrib(iMsgID, iDest, iReceiver)
{
new id = get_msg_arg_int(1)
if(is_user_connected(id) && isVIP(id) && get_pcvar_num(cvar_tab))
{
set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD)
}
}

public press_wm(id)
{
if(!get_pcvar_num(cvar_menu))
{
colored_print(id, "^x04[VIP] ^x01Меню отключено")
return PLUGIN_HANDLED
}

if(!isVIP(id))
{
colored_print(id, "^x04[VIP] ^x01Меню доступно только VIP игрокам")
return PLUGIN_HANDLED
}

if(round_count <= 3)
{
colored_print(id, "^x04[VIP] ^x01Меню доступно только после первого раунда")
return PLUGIN_HANDLED
}

if(!can_take[id])
{
colored_print(id, "^x04[VIP] ^x01Меню доступно один раз за раунд")
return PLUGIN_HANDLED
}

if(!is_user_alive(id))
{
colored_print(id, "^x04[VIP] ^x01Меню доступно когда вы живы")
return PLUGIN_HANDLED
}

show_weapons_menu(id)

return PLUGIN_HANDLED
}

public show_weapons_menu(id)
{
static menu[450], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\yVIP меню^n^n")

len += formatex(menu[len], charsmax(menu) - len, "\r1.\w m4a1 + dgl ^n")
len += formatex(menu[len], charsmax(menu) - len, "\r2.\w ak47 + dgl ^n")
len += formatex(menu[len], charsmax(menu) - len, "\r3.\w awp + dgl ^n")

len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\w Выход")

show_menu(id, KEYSMENU, menu, -1, "VIP Weapon")
}

public weapon_menu(id, key)
{
switch (key)
{
case 0:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_m4a1")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_M4A1, 90)

can_take[id] = false
}
case 1:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_ak47")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_AK47, 90)

can_take[id] = false
}
case 2:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_awp")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_AWP, 30)

can_take[id] = false
}
}
}

public vip_motd(id)
{
show_motd(id, "vip.txt", "VIP")
}

public isVIP(id)
{
return get_user_flags(id) & get_admin_level_flag()
}

public get_admin_level_flag()
{
new flags[24]

get_pcvar_string ( cvar_flag, flags, sizeof ( flags ) - 1 )

return ( read_flags ( flags ) )
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]

if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}

stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]

if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;

vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}

else
{
vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}


спасибо, сейчас буду проверять
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iphone532776
сообщение 11.2.2015, 21:54
Сообщение #5


Стаж: 11 лет

Сообщений: 66
Благодарностей: 3
Полезность: < 0

Цитата(TheNega @ 11.2.2015, 22:45) *
Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <fakemeta_util>

new const CT_MODEL[] = "models/player/gign/gign.mdl" // Указывается полный путь к модели CT (ВАЖНО!!! В строке 116 название должно соответствовать!)
new const T_MODEL[] = "models/player/leet/leet.mdl" // Указывается полный путь к модели T( ВАЖНО!!! В строке 118 название должно соответствовать!)

#define SCOREATTRIB_NONE 0
#define SCOREATTRIB_DEAD ( 1 << 0 )
#define SCOREATTRIB_BOMB ( 1 << 1 )
#define SCOREATTRIB_VIP ( 1 << 2 )

const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

new cvar_grenade, cvar_armor, cvar_health, cvar_armor_amount, cvar_health_amount, cvar_tab, cvar_money, cvar_money_amount, cvar_menu, cvar_model, cvar_flag
new g_msgSayText, g_maxplayers, round_count
new can_take[33]

public plugin_init()
{
register_plugin("VIP", "1.0", "ill")

register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
register_event("TextMsg","RoundRestart","a","2&#Game_w")
register_logevent("logevent_round_start",2, "1=Round_Start")

register_message(get_user_msgid("ScoreAttrib" ), "MessageScoreAttrib")

RegisterHam(Ham_Spawn, "player", "fw_SpawnPost", 1)

register_clcmd("say /vm", "press_wm") // /vm - команда в чат вызова вип меню с оружием (можно сменить на свою)
register_clcmd("say /vip", "vip_motd") // /vip - команда в чат вызова мотд окна. В корне cstrike должен быть файл vip.txt и информацией в html формате
register_menu("VIP Weapon", KEYSMENU, "weapon_menu")

cvar_grenade = register_cvar("vip_get_grenade", "1")
cvar_armor = register_cvar("vip_get_armor", "1")
cvar_armor_amount = register_cvar("vip_get_armor_amount", "120")
cvar_health = register_cvar("vip_get_health", "1")
cvar_health_amount = register_cvar("vip_get_health_amount", "120")
cvar_tab = register_cvar("vip_tab", "1")
cvar_money = register_cvar("vip_get_money", "1")
cvar_money_amount = register_cvar("vip_get_money_amount", "2300")
cvar_menu = register_cvar("vip_get_menu", "1")
cvar_model = register_cvar("vip_model", "1")
cvar_flag = register_cvar("vip_flag", "t")

g_msgSayText = get_user_msgid("SayText")
g_maxplayers = get_maxplayers()


round_count = 0
}

public plugin_precache()
{
precache_model(CT_MODEL)
precache_model(T_MODEL)
}

public RoundStart()
{
for (new id = 1; id <= g_maxplayers; id++)
{
can_take[id] = true
}
}

public logevent_round_start()
{
round_count++
}

public RoundRestart(id)
{
round_count = 1
}

public fw_SpawnPost(id)
{
if(!is_user_alive(id))
return

if(!isVIP(id))
return

if(get_pcvar_num(cvar_grenade))
{
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
}

if(get_pcvar_num(cvar_armor))
set_user_armor(id, get_pcvar_num(cvar_armor_amount))

if(get_pcvar_num(cvar_health))
set_user_health(id, get_pcvar_num(cvar_health_amount))

if(get_pcvar_num(cvar_money))
{
if(round_count > 2)
{
cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_money_amount))
colored_print(id, "^x04[VIP] ^x01 +money")
}
}

if(get_pcvar_num(cvar_model))
{
if(cs_get_user_team(id) == CS_TEAM_CT)
cs_set_user_model(id, "gign.mdl") // vip Имя модели CT (имя модели должно совпадать с именем в каталоге player)
else if(cs_get_user_team(id) == CS_TEAM_T)
cs_set_user_model(id, "leet.mdl") // vip Имя модели T (имя модели должно совпадать с именем в каталоге player)
}
else
cs_reset_user_model(id)
}


public MessageScoreAttrib(iMsgID, iDest, iReceiver)
{
new id = get_msg_arg_int(1)
if(is_user_connected(id) && isVIP(id) && get_pcvar_num(cvar_tab))
{
set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD)
}
}

public press_wm(id)
{
if(!get_pcvar_num(cvar_menu))
{
colored_print(id, "^x04[VIP] ^x01Меню отключено")
return PLUGIN_HANDLED
}

if(!isVIP(id))
{
colored_print(id, "^x04[VIP] ^x01Меню доступно только VIP игрокам")
return PLUGIN_HANDLED
}

if(round_count <= 3)
{
colored_print(id, "^x04[VIP] ^x01Меню доступно только после первого раунда")
return PLUGIN_HANDLED
}

if(!can_take[id])
{
colored_print(id, "^x04[VIP] ^x01Меню доступно один раз за раунд")
return PLUGIN_HANDLED
}

if(!is_user_alive(id))
{
colored_print(id, "^x04[VIP] ^x01Меню доступно когда вы живы")
return PLUGIN_HANDLED
}

show_weapons_menu(id)

return PLUGIN_HANDLED
}

public show_weapons_menu(id)
{
static menu[450], len
len = 0

len += formatex(menu[len], charsmax(menu) - len, "\yVIP меню^n^n")

len += formatex(menu[len], charsmax(menu) - len, "\r1.\w m4a1 + dgl ^n")
len += formatex(menu[len], charsmax(menu) - len, "\r2.\w ak47 + dgl ^n")
len += formatex(menu[len], charsmax(menu) - len, "\r3.\w awp + dgl ^n")

len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\w Выход")

show_menu(id, KEYSMENU, menu, -1, "VIP Weapon")
}

public weapon_menu(id, key)
{
switch (key)
{
case 0:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_m4a1")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_M4A1, 90)

can_take[id] = false
}
case 1:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_ak47")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_AK47, 90)

can_take[id] = false
}
case 2:
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_awp")
give_item(id,"weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_bpammo(id, CSW_AWP, 30)

can_take[id] = false
}
}
}

public vip_motd(id)
{
show_motd(id, "vip.txt", "VIP")
}

public isVIP(id)
{
return get_user_flags(id) & get_admin_level_flag()
}

public get_admin_level_flag()
{
new flags[24]

get_pcvar_string ( cvar_flag, flags, sizeof ( flags ) - 1 )

return ( read_flags ( flags ) )
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]

if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}

stock colored_print( target, const message[], any:... )
{
static buffer[ 512 ]

if( !target )
{
static player
for( player = 1; player <= g_maxplayers; player++ )
{
if ( !is_user_connected( player ) )
continue;

vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
write_byte( player )
write_string( buffer )
message_end()
}
}

else
{
vformat( buffer, charsmax( buffer ), message, 3 )

message_begin( MSG_ONE, g_msgSayText, _, target )
write_byte( target )
write_string( buffer )
message_end()
}
}


ошибка компиляции

vipka.sma(16) : error 017: undefined symbol "MEN"

1 Error.
Could not locate output file vipka.amx (compile failed).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 11.2.2015, 21:59
Сообщение #6


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

Там где константы меню: форум ее на 2 строки разделил.
Сделай в одну и все будет норм
Сразу под дефайнами
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TheNega
сообщение 11.2.2015, 22:02
Сообщение #7


Стаж: 13 лет

Сообщений: 724
Благодарностей: 1396
Полезность: 1101

iphone532776, держи
Прикрепленный файл  vipka.sma ( 7,83 килобайт ) Кол-во скачиваний: 8
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iphone532776
сообщение 11.2.2015, 22:03
Сообщение #8


Стаж: 11 лет

Сообщений: 66
Благодарностей: 3
Полезность: < 0

Цитата(GOOD FELLOW @ 11.2.2015, 23:59) *
Там где константы меню: форум ее на 2 строки разделил.
Сделай в одну и все будет норм
Сразу под дефайнами


не вижу. какой номер строчки?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 11.2.2015, 22:15
Сообщение #9


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

iphone532776, 16-17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя iphone532776
сообщение 11.2.2015, 22:25
Сообщение #10


Стаж: 11 лет

Сообщений: 66
Благодарностей: 3
Полезность: < 0

Всем спасибо, работает thank_you2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: