Добрый вечер всем!
Это моя первая попытка в написании плагина. Пытаюсь создать плагин, который даст возможность игроку покупать патроны для оружия, после ввода определенной команды в чат.
Разделил все оружие на две группы: Основное (команда: /primary) и Вспомогательное (команда: /secondary). В первую группу входит все оружие, которое находится в первом слоте у игрока, во вторую группу - во втором слоте. Для этого я попытался написать проверку на необходимое оружие во всем инвентаре у игрока. Проверки всего две, для двух вышеназванных групп: на само оружие и на патроны, которые к ним будут выдаваться. То есть патроны, по идее, должны выдаваться, даже если у игрока в активном слоту не будет оружия, для которого он покупает патроны.
Ошибка заключается в том, что патроны выдаются не учитывая проверку, как я понял, а так же не снимаются деньги за покупку.
Уточню, что я плохо разбираюсь в написании плагинов. Поэтому надеюсь на вашу помощь!
Это моя первая попытка в написании плагина. Пытаюсь создать плагин, который даст возможность игроку покупать патроны для оружия, после ввода определенной команды в чат.
Разделил все оружие на две группы: Основное (команда: /primary) и Вспомогательное (команда: /secondary). В первую группу входит все оружие, которое находится в первом слоте у игрока, во вторую группу - во втором слоте. Для этого я попытался написать проверку на необходимое оружие во всем инвентаре у игрока. Проверки всего две, для двух вышеназванных групп: на само оружие и на патроны, которые к ним будут выдаваться. То есть патроны, по идее, должны выдаваться, даже если у игрока в активном слоту не будет оружия, для которого он покупает патроны.
Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta_util>
#define PLUGIN "Buy ammo for weapon"
#define VERSION "1.0"
#define AUTHOR "Kiowka"
new secondary[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18};
new primary[18] = {CSW_SCOUT, CSW_XM1014, CSW_MAC10, CSW_AUG, CSW_UMP45, CSW_SG550, CSW_GALIL, CSW_FAMAS, CSW_AWP, CSW_MP5NAVY, CSW_M249, CSW_M3, CSW_M4A1, CSW_TMP, CSW_G3SG1, CSW_SG552, CSW_AK47, CSW_P90};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd ("say /primary", "primary_ammo")
register_clcmd ("say /secondary", "secondary_ammo")
}
public primary_ammo(id, item)
{
if(!is_user_alive(id) || cs_get_user_money(id) < 300)
{
client_print_color(id,print_team_default,"^4[BUYAMMO] ^1Недостаточно средств")
return PLUGIN_HANDLED
}
for (new i = 0; i < 18; i++)
if (user_has_weapon(id, primary[i]))
cs_set_user_money(id, cs_get_user_money(id) - 300)
give_item(id,"ammo_762nato")
give_item(id,"ammo_buckshot")
give_item(id,"ammo_45acp")
give_item(id,"ammo_556nato")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_556natobox")
give_item(id,"ammo_57mm")
client_print_color(id,print_team_default,"^4[BUYAMMO] ^1Вы купили ^4Патроны для основного оружия")
return PLUGIN_HANDLED
}
public secondary_ammo(id, item)
{
if(!is_user_alive(id) || cs_get_user_money(id) < 150)
{
client_print_color(id,print_team_default,"^4[BUYAMMO] ^1Недостаточно средств")
return PLUGIN_HANDLED
}
for (new i = 0; i < 6; i++)
if (user_has_weapon(id, secondary[i]))
cs_set_user_money(id, cs_get_user_money(id) - 150)
give_item(id,"ammo_9mm")
give_item(id,"ammo_57mm")
give_item(id,"ammo_45acp")
give_item(id,"ammo_50ae")
client_print_color(id,print_team_default,"^4[BUYAMMO] ^1Вы купили ^4Патроны для вспомогательного оружия")
return PLUGIN_HANDLED
}
Уточню, что я плохо разбираюсь в написании плагинов. Поэтому надеюсь на вашу помощь!
Вложения
-
2 KB Просмотры: 1