Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Jak zablokowac buy ale pozwolić wykonać się dalszym funkcjom...


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 19.06.2014 11:11

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ę ?


Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#2 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 20.06.2014 21:26

Przez to:

DispatchKeyValue( iEntity, "buying", "3" )

amxx nie złapie komendy buy użyj innego sposobu na zablokowanie tej komendy :D

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

  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#3 GT Team

    Ten lepszy xD

  • Autor tematu
  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 20.06.2014 21:43

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


Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#4 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 21.06.2014 09:42

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 :D

#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


  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#5 GT Team

    Ten lepszy xD

  • Autor tematu
  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 21.06.2014 09:54

Buyzone jest już na całej mapie ( w każdej mapie w tower defense xD ) 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 xD, ale menu moje się otwiera :P


Użytkownik GT Team edytował ten post 21.06.2014 14:11

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych