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

[ROZWIĄZANE] wywolanie funkcji po szybkim kliknieciu 2x klawisza


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

#1 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 10.11.2013 16:11

Chcialbym sie spytac jak moge wywolac funkcje po szybkim kliknieciu klawisza? Czyli np ktos kliknie szybko 2x "W" to funkcja sie wywola a jak pusci klawisz to przestanie byc uzyta.


  • +
  • -
  • 0

b35020692_qesnxqa.png


#2 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 10.11.2013 16:21

http://amxx.pl/topic...rint-minecraft/

 

Ten plugin stostuję taką praktykę :D


  • +
  • -
  • 1

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#3 Linux'

    Pan Pomocny

  • Autor tematu
  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 10.11.2013 16:34

No dobrze ale ja niewiem co za co odpowiada :D, moglby ktos wyciagnac tylko ten kod ktory jest potrzebny do wywolania tej funkcji


  • +
  • -
  • 0

b35020692_qesnxqa.png


#4 Mister Silenzo

    Zaawansowany

  • Użytkownik

Reputacja: 39
Życzliwy

  • Postów:83
  • Lokalizacja:BD
Offline

Napisano 10.11.2013 17:05

Jak na moje oko to wyglądałoby tak, że po wciśnięciu oskryptowanego klawisza odpala się taksk, który po iluś sekundach blokuje możliwośc ponownego kliknięcia, a jeżeli naciśnie się klawisz drugi raz przed końcem taska to funkcja jest wywoływana :D
  • +
  • -
  • 0
Moje pluginy:

Kick All (administracja) - Wyrzuca graczy nakładając hasło na serwer.

Zlecenie Zabójstwa (4FUN) - Przyjmij zlecenie, wykonaj je, zdobądź punkty, a następnie wydaj je na dodatki, które pozwolą ci skuteczniej i szybciej wykonywać zlecenia.

#5 Linux'

    Pan Pomocny

  • Autor tematu
  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 10.11.2013 18:57

juz sobie poradzilem, mozna zamknac :)
  • +
  • -
  • 0

b35020692_qesnxqa.png


#6 Mister Silenzo

    Zaawansowany

  • Użytkownik

Reputacja: 39
Życzliwy

  • Postów:83
  • Lokalizacja:BD
Offline

Napisano 10.11.2013 19:16

Możesz powiedzieć jak to zrobiłeś? Tu bądź na PW.
  • +
  • -
  • 0
Moje pluginy:

Kick All (administracja) - Wyrzuca graczy nakładając hasło na serwer.

Zlecenie Zabójstwa (4FUN) - Przyjmij zlecenie, wykonaj je, zdobądź punkty, a następnie wydaj je na dodatki, które pozwolą ci skuteczniej i szybciej wykonywać zlecenia.

#7 Linux'

    Pan Pomocny

  • Autor tematu
  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 10.11.2013 20:26

tak sie sklada ze tego sposobu uzycia funkcji tez potrzebowalem do sprinta, wiec zamiast przekladac funkcje uzycia do innego sprinta przenioslem sama animacje ruchu broni z innego sprinta (tez od darka) do tego, i mam to co chcialem :)


  • +
  • -
  • 0

b35020692_qesnxqa.png


#8 Linux'

    Pan Pomocny

  • Autor tematu
  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 10.11.2013 21:29

Przejrzalem nieco kod i jakby ktos chcial to zamieszczam gotowy kod jak tu uzycie funkcji mniej wiecej powinno wygladac (usunalem to co zbedne wystarczy wklepac swoj kod)

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Sprint"
#define VERSION "1.0"
#define AUTHOR "DarkGL"

#define MAX 32

enum sprintState 
{
	SPRINT_OFF ,
	SPRINT_FIRST_FORWARD ,
	SPRINT_NOT_FORWARD ,
	SPRINT_ON
}

new sprintState: ePlayerState[MAX+1];
new Float: fTimePlayer[MAX+1];

new pCvarTimeDelay = 0

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	pCvarTimeDelay = register_cvar("sprintMinecraft_delay" , "0.5");
	
	register_forward(FM_PlayerPreThink, "fwPreThink");
}

public client_connect(id)
{
	cleanInformation(id);
}

public client_disconnect(id)
{
	cleanInformation(id);
}

cleanInformation(id)
{
	fTimePlayer[id] = 0.0;
	ePlayerState[id] = SPRINT_OFF;
}

bool: checkTime(id)
{
	return(get_gametime() - fTimePlayer[id] <= get_pcvar_float(pCvarTimeDelay));
}

public startMove(id)
{
	ePlayerState[id] = SPRINT_ON;
	fTimePlayer[id] = 0.0;
	
	// dalszy kod wlaczonej funkcji
}

public stopMove(id)
{
	ePlayerState[id] = SPRINT_OFF;
	fTimePlayer[id] = 0.0;
		
	// dalszy kod wylaczonej funkcji
}

public fwPreThink(id)
{
	if(!is_user_alive(id))
	{
		return PLUGIN_CONTINUE;
	}
	
	new iButton = pev(id , pev_button);
	new iOldButton = pev(id , pev_oldbuttons);
	
	switch(ePlayerState[id])
	{
		case SPRINT_ON:
		{
			if(!(iButton & IN_FORWARD))
			{
				stopMove(id)
			}
		}
		case SPRINT_OFF:
		{
			if(iButton & IN_FORWARD && !(iOldButton & IN_FORWARD))
			{
				fTimePlayer[id] = get_gametime();
				ePlayerState[id] = SPRINT_FIRST_FORWARD;
			}
		}
		case SPRINT_FIRST_FORWARD:
		{
			if(!checkTime(id))
			{
				cleanInformation(id);
				return PLUGIN_CONTINUE;
			}
			if(!(iButton & IN_FORWARD))
			{
				ePlayerState[id] = SPRINT_NOT_FORWARD;
			}
		}
		case SPRINT_NOT_FORWARD: 
		{
			if(!checkTime(id))
			{
				cleanInformation(id);
				return PLUGIN_CONTINUE;
			}
			
			if(iButton & IN_FORWARD)
			{
				startMove(id);
			}
		}
	}

	return PLUGIN_CONTINUE;
}

// mozna zamknac, pomoc udzielona :)


Użytkownik window edytował ten post 10.11.2013 21:42

  • +
  • -
  • 0

b35020692_qesnxqa.png


#9 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 10.11.2013 22:59

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





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

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