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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Помогите с vip плагином

Статус пользователя Andrey777best
сообщение 30.11.2013, 11:22
Сообщение #1


Стаж: 13 лет
Город: Харьков

Сообщений: 1191
Благодарностей: 144
Полезность: 1

Всем привет есть плагин VIP чуть изменил ну вот не могу сделать чтобы когда выдавало дигл второй пистолет убирался, так же и с оружием...
Код:
#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#define VIP_FLAG ADMIN_LEVEL_H
new a
new round_number
public plugin_init()
{
register_plugin("VIP Privileges", "1.1", "Kent-4");
register_event("ResetHUD", "ResetHUD", "be");
register_event("HLTV", "event_round_start", "a", "1=0", "2=0");

register_clcmd("say /adminka", "adminka");
register_clcmd("say /vip","ShowMotd");

new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MEN
U_KEY_7
register_menucmd(register_menuid("Выберите оружие?"), keys, "giveWeapon");
register_clcmd("vipmenu", "showWeaponMenu");
}

public client_authorized(id)
{
client_cmd(id, "bind ^"F5^" ^"vipmenu^"")
}

public showWeaponMenu(id)
{
new menu[192]
new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MEN
U_KEY_7
format(menu, 191, "Выберите оружие?^n^n1. \r[\yDeagle\r]\w^n2. \r[\yUSP\r]\w^n3. \r[\yAk47\r]\w^n4. \r[\yM4a1\r]\w^n5. \r[\yFAMAS\r]\w^n6. \r[\yAWP\r]\w^n7. \r[\ySCOUT\r]")
show_menu(id, keys, menu)
return PLUGIN_HANDLED
}
public giveWeapon(id, key)
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id , "!g|+18>>Сервер!y ТОЛЬКО ДЛЯ !teamVIP!" );
return PLUGIN_HANDLED;
}
if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!g|+18>>Сервер!y Вы!team мертвы!");
return PLUGIN_HANDLED;
}
if (a > 1 )
{
ChatColor(id, "!g|+18>>Сервер!y НЕЛЬЗЯ ВЗЯТЬ!team БОЛЬШЕ!");
return PLUGIN_HANDLED;
}
if ( round_number <= 3 )
{
ChatColor ( id , "!g|+18>>Сервер!y Доступно со 2 раунда!" );
return PLUGIN_HANDLED;
}
if (key == 0)
{
give_item(id, "weapon_deagle")
cs_set_user_bpammo( id , CSW_DEAGLE, 35 )
a++
} else if (key == 1) {
give_item(id, "weapon_usp")
cs_set_user_bpammo( id , CSW_USP, 100 )
a++
} else if (key == 2) {
give_item(id, "weapon_ak47")
cs_set_user_bpammo( id , CSW_AK47, 90 )
a++
} else if (key == 3) {
give_item(id, "weapon_m4a1")
cs_set_user_bpammo( id , CSW_M4A1, 90 )
a++
} else if (key == 4) {
give_item(id, "weapon_famas")
cs_set_user_bpammo( id , CSW_FAMAS, 90 )
a++
} else if (key == 5) {
give_item(id, "weapon_awp")
cs_set_user_bpammo( id , CSW_AWP, 30 )
a++
} else if (key == 6) {
give_item(id, "weapon_scout")
cs_set_user_bpammo( id , CSW_SCOUT, 90 )
}
}
public adminka(id)
{
show_motd(id, "adminka.txt")
}
public PrintText(id)
{
client_print(id, print_chat, "")
}
public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}

public VIP(TaskID)
{
new id = TaskID - 6910

if ( get_user_flags ( id ) & VIP_FLAG )
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
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" )
}

return PLUGIN_HANDLED
}

public ShowMotd(id)
{
show_motd(id, "vip.txt")
}
public event_round_start ( )
{
round_number++
a--
}
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") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

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();
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя xSav
сообщение 30.11.2013, 11:31
Сообщение #2
Стаж: 16 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

Код
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_AK47)|(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)


Код
drop_weapon(id, 2)


Код
stock drop_weapon(id, const 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)
        }
    }
}



Думаю разберешься шо куда
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 30.11.2013, 11:36
Сообщение #3


Стаж: 13 лет
Город: Харьков

Сообщений: 1191
Благодарностей: 144
Полезность: 1

xSav,
К сожалению не разберусь что куда(
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xSav
сообщение 30.11.2013, 11:39
Сообщение #4
Стаж: 16 лет

Сообщений: 1131
Благодарностей: 174
Полезность: 126

Andrey777best,
Шо даже копи паст не сможешь сделать ? :)
Первую часть в объявление новых переменных и констант
Третью часть в стоки
Вторую часть в функцию перед тем как выдавать оружие (если забрать праймари то drop_weapon(id, 1) Если секондари drop_weapon(id, 2) )

Отредактировал: xSav, - 30.11.2013, 11:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 30.11.2013, 11:50
Сообщение #5


Стаж: 13 лет
Город: Харьков

Сообщений: 1191
Благодарностей: 144
Полезность: 1

xSav,
Спасибо конечно но Вы сами не могли бы вставить?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoymiii
сообщение 30.11.2013, 11:53
Сообщение #6


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

Вроде так
Код:
#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#define VIP_FLAG ADMIN_LEVEL_H
new a
new round_number

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_AK47)|(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)

public plugin_init()
{
register_plugin("VIP Privileges", "1.1", "Kent-4");
register_event("ResetHUD", "ResetHUD", "be");
register_event("HLTV", "event_round_start", "a", "1=0", "2=0");

register_clcmd("say /adminka", "adminka");
register_clcmd("say /vip","ShowMotd");

new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MEN
U_KEY_7
register_menucmd(register_menuid("Выберите оружие?"), keys, "giveWeapon");
register_clcmd("vipmenu", "showWeaponMenu");
}

public client_authorized(id)
{
client_cmd(id, "bind ^"F5^" ^"vipmenu^"")
}

public showWeaponMenu(id)
{
new menu[192]
new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MEN
U_KEY_7
format(menu, 191, "Выберите оружие?^n^n1. \r[\yDeagle\r]\w^n2. \r[\yUSP\r]\w^n3. \r[\yAk47\r]\w^n4. \r[\yM4a1\r]\w^n5. \r[\yFAMAS\r]\w^n6. \r[\yAWP\r]\w^n7. \r[\ySCOUT\r]")
show_menu(id, keys, menu)
return PLUGIN_HANDLED
}
public giveWeapon(id, key)
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id , "!g|+18>>Сервер!y ТОЛЬКО ДЛЯ !teamVIP!" );
return PLUGIN_HANDLED;
}
if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!g|+18>>Сервер!y Вы!team мертвы!");
return PLUGIN_HANDLED;
}
if (a > 1 )
{
ChatColor(id, "!g|+18>>Сервер!y НЕЛЬЗЯ ВЗЯТЬ!team БОЛЬШЕ!");
return PLUGIN_HANDLED;
}
if ( round_number <= 3 )
{
ChatColor ( id , "!g|+18>>Сервер!y Доступно со 2 раунда!" );
return PLUGIN_HANDLED;
}
if (key == 0)
{
drop_weapon(id, 2)
give_item(id, "weapon_deagle")
cs_set_user_bpammo( id , CSW_DEAGLE, 35 )
a++
} else if (key == 1) {
drop_weapon(id, 2)
give_item(id, "weapon_usp")
cs_set_user_bpammo( id , CSW_USP, 100 )
a++
} else if (key == 2) {
drop_weapon(id, 1)
give_item(id, "weapon_ak47")
cs_set_user_bpammo( id , CSW_AK47, 90 )
a++
} else if (key == 3) {
drop_weapon(id, 1)
give_item(id, "weapon_m4a1")
cs_set_user_bpammo( id , CSW_M4A1, 90 )
a++
} else if (key == 4) {
drop_weapon(id, 1)
give_item(id, "weapon_famas")
cs_set_user_bpammo( id , CSW_FAMAS, 90 )
a++
} else if (key == 5) {
drop_weapon(id, 1)
give_item(id, "weapon_awp")
cs_set_user_bpammo( id , CSW_AWP, 30 )
a++
} else if (key == 6) {
drop_weapon(id, 1)
give_item(id, "weapon_scout")
cs_set_user_bpammo( id , CSW_SCOUT, 90 )
}
}
public adminka(id)
{
show_motd(id, "adminka.txt")
}
public PrintText(id)
{
client_print(id, print_chat, "")
}
public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}

public VIP(TaskID)
{
new id = TaskID - 6910

if ( get_user_flags ( id ) & VIP_FLAG )
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
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" )
}

return PLUGIN_HANDLED
}

public ShowMotd(id)
{
show_motd(id, "vip.txt")
}
public event_round_start ( )
{
round_number++
a--
}
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") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

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_weapon(id, const 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)
}
}
}


Отредактировал: xoymiii, - 30.11.2013, 11:56
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 30.11.2013, 12:01
Сообщение #7


Стаж: 13 лет
Город: Харьков

Сообщений: 1191
Благодарностей: 144
Полезность: 1

xoymiii,
Неа не компилируется...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoymiii
сообщение 30.11.2013, 12:12
Сообщение #8


Стаж: 13 лет

Сообщений: 769
Благодарностей: 244
Полезность: 567

Цитата(Andrey777best @ 30.11.2013, 14:01) *
xoymiii,
Неа не компилируется...

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

#define DAMAGE_RECIEVED

#define VIP_FLAG ADMIN_LEVEL_H
new a
new round_number

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_AK47)|(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)

public plugin_init()
{
register_plugin("VIP Privileges", "1.1", "Kent-4");
register_event("ResetHUD", "ResetHUD", "be");
register_event("HLTV", "event_round_start", "a", "1=0", "2=0");

register_clcmd("say /adminka", "adminka");
register_clcmd("say /vip","ShowMotd");

new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MEN
U_KEY_7
register_menucmd(register_menuid("Выберите оружие?"), keys, "giveWeapon");
register_clcmd("vipmenu", "showWeaponMenu");
}

public client_authorized(id)
{
client_cmd(id, "bind ^"F5^" ^"vipmenu^"")
}

public showWeaponMenu(id)
{
new menu[192]
new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MEN
U_KEY_7
format(menu, 191, "Выберите оружие?^n^n1. \r[\yDeagle\r]\w^n2. \r[\yUSP\r]\w^n3. \r[\yAk47\r]\w^n4. \r[\yM4a1\r]\w^n5. \r[\yFAMAS\r]\w^n6. \r[\yAWP\r]\w^n7. \r[\ySCOUT\r]")
show_menu(id, keys, menu)
return PLUGIN_HANDLED
}
public giveWeapon(id, key)
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id , "!g|+18>>Сервер!y ТОЛЬКО ДЛЯ !teamVIP!" );
return PLUGIN_HANDLED;
}
if ( ! is_user_alive ( id ) )
{
ChatColor(id, "!g|+18>>Сервер!y Вы!team мертвы!");
return PLUGIN_HANDLED;
}
if (a > 1 )
{
ChatColor(id, "!g|+18>>Сервер!y НЕЛЬЗЯ ВЗЯТЬ!team БОЛЬШЕ!");
return PLUGIN_HANDLED;
}
if ( round_number <= 3 )
{
ChatColor ( id , "!g|+18>>Сервер!y Доступно со 2 раунда!" );
return PLUGIN_HANDLED;
}
if (key == 0)
{
drop_weapon(id, 2)
give_item(id, "weapon_deagle")
cs_set_user_bpammo( id , CSW_DEAGLE, 35 )
a++
} else if (key == 1) {
drop_weapon(id, 2)
give_item(id, "weapon_usp")
cs_set_user_bpammo( id , CSW_USP, 100 )
a++
} else if (key == 2) {
drop_weapon(id, 1)
give_item(id, "weapon_ak47")
cs_set_user_bpammo( id , CSW_AK47, 90 )
a++
} else if (key == 3) {
drop_weapon(id, 1)
give_item(id, "weapon_m4a1")
cs_set_user_bpammo( id , CSW_M4A1, 90 )
a++
} else if (key == 4) {
drop_weapon(id, 1)
give_item(id, "weapon_famas")
cs_set_user_bpammo( id , CSW_FAMAS, 90 )
a++
} else if (key == 5) {
drop_weapon(id, 1)
give_item(id, "weapon_awp")
cs_set_user_bpammo( id , CSW_AWP, 30 )
a++
} else if (key == 6) {
drop_weapon(id, 1)
give_item(id, "weapon_scout")
cs_set_user_bpammo( id , CSW_SCOUT, 90 )
}
}
public adminka(id)
{
show_motd(id, "adminka.txt")
}
public PrintText(id)
{
client_print(id, print_chat, "")
}
public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}

public VIP(TaskID)
{
new id = TaskID - 6910

if ( get_user_flags ( id ) & VIP_FLAG )
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
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" )
}

return PLUGIN_HANDLED
}

public ShowMotd(id)
{
show_motd(id, "vip.txt")
}
public event_round_start ( )
{
round_number++
a--
}
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") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

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_weapon(id, const 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)
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: