Все вопросы по работе и настройке AMXX и его плагинов.
Модератор: liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.
Andrey777 » 05 авг 2016, 11:43
Помогите сделать что бы пункт кик работал так же как и голосование за карту, а именно когда нет админов онлайн.
- Код: Выделить всё
new bool: g_bDamage[33]
new g_MsgSync, g_MaxPlayers
new round_number, g_round
new bool: has_used[33]
new const weapon_name[][] = { "Deagle", "USP", "AK47", "M4a1", "FAMAS", "AWP", "SCOUT" }
public plugin_init()
{
register_plugin("VIP Weapons", "1.3", "Player")
g_round = register_cvar("amx_vip_give", "4")
register_clcmd("vipmenu", "clcmd_vipmenu")
register_clcmd("say /adminka", "ShowMotdADM")
register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0")
register_logevent("event_RestartRound", 2, "1&Restart_Round_")
register_event("Damage", "event_Damage", "b", "2!0", "3=0", "4!0")
RegisterHam(Ham_Spawn, "player", "fw_PlayerRespawn", 1)
g_MsgSync = CreateHudSyncObj()
g_MaxPlayers = get_maxplayers()
}
public client_authorized(id)
{
if(!(get_user_flags(id) & VIP_FLAG))
return
g_bDamage[id] = true
client_cmd(id, "bind ^"F5^" ^"vipmenu^"")
}
public clcmd_vipmenu(id)
{
if(!(get_user_flags(id) & VIP_FLAG)) {
ChatColor(id, "^3[^4Випка|18+|^3]^1 Только для ^3V.I.P^1 персон!");
}
else {
showWeaponMenu(id);
}
return PLUGIN_HANDLED;
}
showWeaponMenu(id, page = 0)
{
static menu;
if (!menu) {
menu = menu_create("\w[\yV.I.P\w] \rОружейка:", "giveWeapon")
new menu_callback = menu_makecallback("showWeaponMenu_callback");
new szIteamName[64]
for(new i = 0; i < sizeof(weapon_name); i++)
{
formatex(szIteamName, charsmax(szIteamName), "\r[\y%s\r]", weapon_name[i])
menu_additem(menu, szIteamName)
}
menu_addblank(menu, 0)
menu_additem(menu, "Дамагер", .callback = menu_callback);
menu_additem(menu, "\r[\yКикнуть\r]");
menu_additem(menu, "Голосование за карту", .callback = menu_callback);
menu_setprop (menu, MPROP_BACKNAME, "Назад");
menu_setprop (menu, MPROP_NEXTNAME, "Вперед");
menu_setprop (menu, MPROP_EXITNAME, "Выход");
}
menu_display(id, menu, page)
}
public showWeaponMenu_callback(id, menu, item)
{
static players[32], pnum, item_name[128];
if (item == 9) {
get_players(players, pnum, "ch");
for (new i; i < pnum; i++) {
if (get_user_flags(players[i]) & ADMIN_LEVEL_A) {
return ITEM_DISABLED;
}
}
}
else if (item == 7) {
formatex(item_name, charsmax(item_name), "Дамагер \r[%sключен\r]", g_bDamage[id] ? "\yВ" : "\dВы");
menu_item_setname (menu, item, item_name);
}
return ITEM_ENABLED;
}
public giveWeapon(id, menu, item)
{
if(item == MENU_EXIT) {
return PLUGIN_HANDLED;
}
if(0 <= item <= 6)
{
if(!is_user_alive(id))
{
ChatColor(id, "^3[^4Випка|18+|^3]^1 Вы мертвы!")
return PLUGIN_HANDLED
}
if(round_number < get_pcvar_num(g_round))
{
ChatColor(id, "^3[^4Випка|18+|^3]^1 Доступно с %d раунда!", get_pcvar_num(g_round))
return PLUGIN_HANDLED
}
if(has_used[id])
{
ChatColor(id, "^3[^4Випка|18+|^3]^1 Вы уже использовали! Подождите...")
return PLUGIN_HANDLED
}
has_used[id] = true
switch(item)
{
case 0:
{
drop_weapons(id, .slot = 2)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id , CSW_DEAGLE, 35)
}
case 1:
{
drop_weapons(id, .slot = 2)
give_item(id, "weapon_usp")
cs_set_user_bpammo(id , CSW_USP, 100)
}
case 2:
{
drop_weapons(id, .slot = 1)
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id , CSW_AK47, 90)
}
case 3:
{
drop_weapons(id, .slot = 1)
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id , CSW_M4A1, 90)
}
case 4:
{
drop_weapons(id, .slot = 1)
give_item(id, "weapon_famas")
cs_set_user_bpammo(id , CSW_FAMAS, 90)
}
case 5:
{
drop_weapons(id, .slot = 1)
give_item(id, "weapon_awp")
cs_set_user_bpammo(id , CSW_AWP, 30)
}
case 6:
{
drop_weapons(id, .slot = 1)
give_item(id, "weapon_scout")
cs_set_user_bpammo(id , CSW_SCOUT, 90)
}
}
}
else if (item == 7) {
g_bDamage[id] = !g_bDamage[id]
showWeaponMenu(id, 2);
}
else if (item == 8) {
client_cmd(id, "amx_kickmenu");
}
else if (item == 9) {
client_cmd(id, "amx_votemapmenu");
}
return PLUGIN_HANDLED
}
public fw_PlayerRespawn(id)
{
if(!is_user_alive(id) || !(get_user_flags(id) & VIP_FLAG))
return
drop_weapons(id, .slot = 2)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
give_item(id, "item_thighpack")
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
}
public ShowMotdADM(id)
show_motd(id, "adminka.txt", "Покупка - Админки!")
public ShowMotdVIP(id)
show_motd(id, "vip.txt", "Покупка - Випка|18+|!")
public event_RoundStart()
{
round_number++
arrayset(has_used, false, 32)
}
public event_RestartRound()
round_number = 0
public event_Damage(id)
{
if(!is_user_valid_connected(id))
return
static attacker; attacker = get_user_attacker(id)
static damage; damage = read_data(2)
if(is_user_valid_connected(attacker) && g_bDamage[attacker] && (get_user_flags(attacker) & VIP_FLAG))
{
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
ShowSyncHudMsg(attacker, g_MsgSync, "%i", damage)
}
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!team", "^3") replace_all(msg, 190, "!team2", "^0")
if(id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
stock drop_weapons(id, slot = 0)
{
static weapons[32], num, iId
num = 0
get_user_weapons(id, weapons, num)
for(new i = 0; i < num; i++)
{
iId = weapons[i]
ham_strip_user_weapon(id, iId, slot)
}
}
-
Andrey777
-
- Сообщения: 147
- Зарегистрирован: 09 янв 2012, 03:38
- Благодарил (а): 35 раз.
- Поблагодарили: 8 раз.
-
RevCrew » 07 авг 2016, 21:50
Andrey777, с киком проблем нет. А вот с голосованием
- Код: Выделить всё
static players[32], pnum, item_name[128];
if (item == 9) {
get_players(players, pnum, "ch");
for (new i; i < pnum; i++) {
if (get_user_flags(players[i]) & ADMIN_LEVEL_A) {
return ITEM_DISABLED;
}
}
}
else if (item == 7) {
formatex(item_name, charsmax(item_name), "Дамагер \r[%sключен\r]", g_bDamage[id] ? "\yВ" : "\dВы");
menu_item_setname (menu, item, item_name);
}
>>
- Код: Выделить всё
static item_name[128];
if (item == 7) {
formatex(item_name, charsmax(item_name), "Дамагер \r[%sключен\r]", g_bDamage[id] ? "\yВ" : "\dВы");
menu_item_setname (menu, item, item_name);
}
-
RevCrew
-
- Сообщения: 1648
- Зарегистрирован: 15 июл 2013, 20:45
- Благодарил (а): 273 раз.
- Поблагодарили: 357 раз.
- Языки программирования: Unkown
Вернуться в Вопросы по AMXX и его плагинам
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и гости: 11