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

Dwa klawisze czy to możliwedla tych którzy wiedzą :D


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 hardbot

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:3 049
Offline

Napisano 11.08.2010 20:25

Witajcie. przejdę od razu do rzeczy.

Czy w amxie można uruchomić coś dwoma klawiszami NP:

Klikam SHIFT + E (lub dowolne dwa klawisze) i wywołuje się dana funkcja którą tam dałem nie wiem czy coś takiego by działało

Test:
Spoiler


#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 11.08.2010 21:05

Akurat Shift (IN_RUN) nie działa, ale inne klawisze możesz wykryć jako sumę.

Trzymanie:
#define KEYS (IN_USE | IN_ATTACK2) 

if(get_user_button(id) & KEYS){

}

Wciśnięcie
musisz zapisać w tablicy Float:ów ostatni czas, w którym klawisze nie były wciśnięte, bo użycie get_user_oldbuttons() sprawi, że klawisze muszą zostać wciśnięte dokładnie w tym samym momencie


Poza tym kod, który podałeś jest beznadziejny :P źle używasz operatorów i event na początek rundy nie dostarcza id gracza
  • +
  • -
  • 1

#3 hardbot

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:3 049
Offline

Napisano 11.08.2010 22:15

Dziękować :P kod tak na fasta pisałem ^^
a co do tych floatów mógłbyś zapodać jakiś przykładzik :D

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 11.08.2010 22:54

Dokładniejszy rzut oka na problem i obyło się bez Floatów

#define CTRLKEY_1 	IN_USE
#define CTRLKEY_2 	IN_ATTACK2
#define CTRLKEYS 	(CTRLKEY_1|CTRLKEY_2)

new giLastSingle[33];

public fwPlayerPreThink(id){
	new button = pev(id, pev_button);
	new iCtrl1 = !(!(button&CTRLKEY_1));
	new iCtrl2 = !(!(button&CTRLKEY_2));
	
	if(iCtrl1 ^ iCtrl2)
		giLastSingle[id] = 1;
	else if(giLastSingle[id]){
		giLastSingle[id] = 0;

		if(iCtrl1 && iCtrl2){
			client_print(id, print_chat, "Key 1+2 Action");
		}
	}
}

  • +
  • -
  • 1




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

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