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

Plugin ograniczający podwójne skoki


Najlepsza odpowiedź KoRrNiK, 22.02.2021 23:42

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich> 

#pragma semicolon 	1

new const PLUGIN[] 	 = 	"Limit skokow";
new const VERSION[] 	 = 	"v1.0";
new const AUTHOR[] 	 = 	"KoRrNiK";

new userJump[33];
new userLimitJump[33];

new const additionalJump = 	1;   // Ilość dodatkowych skoków
new const limitJump 	 = 	3;           // Ilość powtórzeń

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_forward(FM_CmdStart, "cmdStart");
	RegisterHam(Ham_Spawn, "player", "spawnHam", 1);
}

public spawnHam(id){ 
	
	if(!is_user_alive(id)) return;
	
	userLimitJump[id] = limitJump;
	userJump[id] = additionalJump;
	
}

public cmdStart(id, uc_handle){
	
	if (!is_user_alive(id)) return FMRES_IGNORED;
	
	static Float:velocity[3], button, oldButton, flags;

	button 		= 	get_uc(uc_handle, UC_Buttons);
	oldButton 	= 	pev(id, pev_oldbuttons);
	flags 		= 	pev(id, pev_flags);
	
	if ((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldButton & IN_JUMP) && userJump[id]) {
		if(userLimitJump[id] >= 0){
			userJump[id]--;
			pev(id, pev_velocity, velocity);
			velocity[2] = random_float(265.0, 285.0);
			set_pev(id, pev_velocity, velocity);
		}
	} else {
		if (flags & FL_ONGROUND){
			if(!userJump[id]) userLimitJump[id]--;
			userJump[id] = additionalJump;
		}
	}
	return FMRES_IGNORED;
}
Trzymaj :) Przejdź do postu


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

#1 Shabaddy

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:9
  • Imię:Filip
  • Lokalizacja:Wielkopolskie
Offline

Napisano 22.02.2021 22:41

Witam!

Szukam pluginu lub funkcji dzięki, której mógłbym ograniczyć podwójne skoki dla SVIPa na serwerze - dokładniej chodzi mi o to, aby gracz X posiadający SVIP'a mógł skoczyć podwójnie naprzykład tylko 3 razy.

Z góry dzięki za pomoc!


  • +
  • -
  • 0

#2 KoRrNiK

    Zaawansowany

  • Użytkownik

Reputacja: 81
Zaawansowany

  • Postów:78
  • Steam:steam
  • Lokalizacja:Rzeszów
Offline

Napisano 22.02.2021 23:42   Najlepsza odpowiedź

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich> 

#pragma semicolon 	1

new const PLUGIN[] 	 = 	"Limit skokow";
new const VERSION[] 	 = 	"v1.0";
new const AUTHOR[] 	 = 	"KoRrNiK";

new userJump[33];
new userLimitJump[33];

new const additionalJump = 	1;   // Ilość dodatkowych skoków
new const limitJump 	 = 	3;           // Ilość powtórzeń

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_forward(FM_CmdStart, "cmdStart");
	RegisterHam(Ham_Spawn, "player", "spawnHam", 1);
}

public spawnHam(id){ 
	
	if(!is_user_alive(id)) return;
	
	userLimitJump[id] = limitJump;
	userJump[id] = additionalJump;
	
}

public cmdStart(id, uc_handle){
	
	if (!is_user_alive(id)) return FMRES_IGNORED;
	
	static Float:velocity[3], button, oldButton, flags;

	button 		= 	get_uc(uc_handle, UC_Buttons);
	oldButton 	= 	pev(id, pev_oldbuttons);
	flags 		= 	pev(id, pev_flags);
	
	if ((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldButton & IN_JUMP) && userJump[id]) {
		if(userLimitJump[id] >= 0){
			userJump[id]--;
			pev(id, pev_velocity, velocity);
			velocity[2] = random_float(265.0, 285.0);
			set_pev(id, pev_velocity, velocity);
		}
	} else {
		if (flags & FL_ONGROUND){
			if(!userJump[id]) userLimitJump[id]--;
			userJump[id] = additionalJump;
		}
	}
	return FMRES_IGNORED;
}
Trzymaj :)
  • +
  • -
  • 1

- Na wiadomości typu "siema, mam sprawę" nie odpisuję pisz od razu o co Ci chodzi.

- Jeśli masz zlecenie pisz śmiało  :)

- Nie pomagam na PW za darmo  :(

 

 





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

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