Участник
Пользователь
- Сообщения
- 702
- Реакции
- 54
В общем, у меня написано растягивание бай зоны, чтобы отлавливать B (buy) и вызывать менюшку, но работает не совсем корректно, способ такой:
+
+
+
+
+
Может есть лучший способ? Прошу прощения, что по кускам, а не плагином, есть свои причины, чтобы полностью не выкладывать плагин.
Никто не может помочь?
Код:
new msg_textmsg, msg_statusicon, msg_buyclose;
+
Код:
register_clcmd("shop", "Cmd_ShopMenu");
register_clcmd("say /shop", "Cmd_ShopMenu");
register_clcmd("say_team /shop", "Cmd_ShopMenu");
register_clcmd("buy", "Cmd_BuyHook");
register_clcmd("buyequip", "Cmd_BuyHook");
register_clcmd("client_buy_open", "Cmd_ClientBuyHook");
+
Код:
msg_statusicon = get_user_msgid("StatusIcon");
msg_buyclose = get_user_msgid("BuyClose");
register_message(msg_statusicon, "Message_StatusIcon");
new ent = -1;
while((ent = find_ent_by_class(ent, "func_buyzone")) > 0)
if(entity_get_int(ent, EV_INT_iuser1) != 1337)
remove_entity(ent);
}
+
Код:
public plugin_precache()
{
new ent = create_entity("func_buyzone");
if(ent)
{
entity_set_size(ent, Float:{ -4096.0, -4096.0, -4096.0 }, Float:{ -4095.0, -4095.0, -4095.0 });
entity_set_int(ent, EV_INT_iuser1, 1337);
}
precache_sound(pick_ammo_sound);
}
+
Код:
public Cmd_BuyHook(id)
{
if(is_user_connected(id))
Cmd_ShopMenu(id);
return PLUGIN_HANDLED;
}
public Cmd_ClientBuyHook(id)
{
if(is_user_alive(id))
{
message_begin(MSG_ONE, msg_buyclose, .player = id);
message_end();
Cmd_ShopMenu(id);
}
return PLUGIN_HANDLED;
}
public CBasePlayer_Spawn(const id)
{
if(is_user_alive(id))
{
message_begin(MSG_ONE, msg_statusicon, .player = id);
write_byte(1);
write_string("buyzone");
write_byte(0);
write_byte(0);
write_byte(0);
message_end();
}
}
+
Код:
public Message_StatusIcon()
{
new arg_string[8];
get_msg_arg_string(2, arg_string, charsmax(arg_string));
if(!strcmp(arg_string, "buyzone"))
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
Может есть лучший способ? Прошу прощения, что по кускам, а не плагином, есть свои причины, чтобы полностью не выкладывать плагин.
27 Сен 2017