Jak zablokowac buy ale pozwolić wykonać si...
GT Team 19.06.2014
Potrzebuję zablokować otwieranie się menu "buy" tzn tego motd i tam te bronie... ale również chcę by zamiast tego pojawiłosię moje menu, pod przyciskiem b
Jak zrobię taką funkcję
public BlockBuy(){ remove_entity_name( "info_map_parameters" ); remove_entity_name( "func_buyzone" ); new iEntity = create_entity( "info_map_parameters" ); DispatchKeyValue( iEntity, "buying", "3" ); DispatchSpawn( iEntity ); }
To
1) Blokuje buyzone
2) Unieważnia przycisk B
A przy
register_clcmd("buy", "cmdmenuGuns") register_clcmd("buyequip", "cmdmenuGuns")
Mogę wciskać tylko "o" czyli buyequip, a "b" czyli "buy" w ogole nie raguję ...
Jak wykonać taką ów funkcję ?
BlackPerfum
20.06.2014
Przez to:
DispatchKeyValue( iEntity, "buying", "3" )
amxx nie złapie komendy buy użyj innego sposobu na zablokowanie tej komendy
Np.:
public BlockBuy() { remove_entity_name( "info_map_parameters" ); remove_entity_name( "func_buyzone" ); register_clcmd("buy", "BlockFunc") } public BlockFunc(id) return PLUGIN_HANDLED_MAIN
GT Team 20.06.2014
tzn gdy zostawie tylko
DispatchKeyValue( iEntity, "buying", "3" )
To amxx wyłapie "buy" ?
edit
Chodzi o to, ze gdy nacisne B i "buyammo1" i "buyammo2" to amxx wychwyci to bez dalszych problemow, jednak by pojawienie sie menu z broniami ( przy klawiszu B ) albo kupienie amunicji (buyammo1+1) bylo zablokowane, ale amxx wychwycal ten moment, Orpheu nawet moze byc... ale orpheu nie kminie ;d
BlackPerfum
21.06.2014
Przez to:
DispatchKeyValue( iEntity, "buying", "3" )
amxx nie złapie komendy buy użyj innego sposobu na zablokowanie tej komendy
Np.:
public BlockBuy()
{
remove_entity_name( "info_map_parameters" );
remove_entity_name( "func_buyzone" );
register_clcmd("buy", "BlockFunc")
}
public BlockFunc(id) return PLUGIN_HANDLED_MAIN
Nie...
To amxx wyłapie "buy" ?
Też nie
Niestety ta komenda jest blokowana w hl ale jest inna mozliwośc jej złapania
#include <amxmodx> #include <hamsandwich> #include <fakemeta> public plugin_init() { register_plugin("...","Beta","BlackPerfum") register_clcmd("client_buy_open","BuyOpen") } public BuyOpen(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE static msg_buyclose if(!msg_buyclose) msg_buyclose = get_user_msgid("BuyClose") message_begin(MSG_ONE, msg_buyclose, _, id) message_end() CommandBuy(id) return PLUGIN_CONTINUE } public CommandBuy(id) { client_print(id,print_chat,"Zlapales komende buy") }
Aby to działało nie możesz użyć tego:
public BlockBuy(){ remove_entity_name( "info_map_parameters" ); remove_entity_name( "func_buyzone" ); new iEntity = create_entity( "info_map_parameters" ); DispatchKeyValue( iEntity, "buying", "3" ); DispatchSpawn( iEntity ); }
Dodatkowo to działa tylko w buyzone dlatego polecam ci zrobic tak:
• zrobić buyzone na całą mapę
• zablokowac inne komendy kupowania (innym sposobem)
• usunąć ikonkę buyzone
I normalny gracz nie zauważy buyzone a komendę "buy" złapiesz
GT Team 21.06.2014
Buyzone jest już na całej mapie ( w każdej mapie w tower defense ) zablokować komendy kupuwania, ok, ikonka ma być
//e dit
Super, działa, dzięki misiek: D
jest tylko jeden mały bug, MOTD wyświetla się dosłownie na ułamek sekundy , ale menu moje się otwiera
Edited by GT Team, 21.06.2014 14:11.