←  Szukam pluginu

AMXX.pl: Support AMX Mod X i SourceMod

»

Blokada skoku

  • +
  • -
Obelix's Photo Obelix 04.06.2020

Witam, jest możliwość zablokowania skoków dla graczy? tzw. aby nie mogli w ogóle podskoczyć. 

 

Quote

  • +
  • -
Robiin's Photo Robiin 04.06.2020

Nie testowałem, ale wygląda całkiem sensownie.

Spoiler

Quote

  • +
  • -
Rivit's Photo Rivit 04.06.2020

Oj nie wiem czy taki hack zadziała w ogóle. Coś mi się wydaje, że nawet jakby zadziałało, to będzie można w trakcie spadania nacisnąć spacje i uniknąć na przykład fall damage, bo jak dobrze rozumiem fizyke half-life'a to takie coś zatrzyma nas na ułamek sekundy w powietrzu a potem zaczniemy spadać dalej.


Rivit (04.06.2020 16:33):
Coś co mi przychodzi teraz do głowy to po prostu blokowanie klawiszy
Quote

  • +
  • -
Robiin's Photo Robiin 04.06.2020

Oj nie wiem czy taki hack zadziała w ogóle. Coś mi się wydaje, że nawet jakby zadziałało, to będzie można w trakcie spadania nacisnąć spacje i uniknąć na przykład fall damage, bo jak dobrze rozumiem fizyke half-life'a to takie coś zatrzyma nas na ułamek sekundy w powietrzu a potem zaczniemy spadać dalej.

 

No rzeczywiście, nie zadziała jak tak teraz patrzę na ten kod.

Może usuwać z bitsumy przycisków IN_JUMP?

 

Teoretycznie nie powinno, skoro jest sprawdzanie flagi FL_ONGROUND (które swoją drogą nie powinno być negowane, chyba).


Edited by Wicked., 04.06.2020 16:43.
Quote

  • +
  • -
wonsz żeczny's Photo wonsz żeczny 04.06.2020

Próbowałem właśnie raz zablokować skok w podobny sposób i podczas kręcenia scrollem ( z bindem +jump ) dało się czasami podskoczyć :/

Quote

  • +
  • -
faken's Photo faken 04.06.2020

#include < amxmodx >
#include < engine >
#include < hamsandwich >

#pragma semicolon 1

#define PLUGIN "Block jump"
#define VERSION "1.0"

public plugin_init( )
{    
	register_plugin( PLUGIN, VERSION, "ksaju" );   
    
    	RegisterHam( Ham_Player_Jump, "player", "PlayerJump", true );    
}

public PlayerJump( id )
{        
	static iOldButtons;
    	iOldButtons = entity_get_int( id, EV_INT_oldbuttons );
    
    	if( !( iOldButtons & IN_JUMP ) &&  entity_get_int( id, EV_INT_flags ) & FL_ONGROUND )
	{
        	entity_set_int( id, EV_INT_oldbuttons, iOldButtons | IN_JUMP );
	}              
}

Sprobuj :)

Quote

  • +
  • -
Obelix's Photo Obelix 05.06.2020

#include < amxmodx >
#include < engine >
#include < hamsandwich >

#pragma semicolon 1

#define PLUGIN "Block jump"
#define VERSION "1.0"

public plugin_init( )
{    
	register_plugin( PLUGIN, VERSION, "ksaju" );   
    
    	RegisterHam( Ham_Player_Jump, "player", "PlayerJump", true );    
}

public PlayerJump( id )
{        
	static iOldButtons;
    	iOldButtons = entity_get_int( id, EV_INT_oldbuttons );
    
    	if( !( iOldButtons & IN_JUMP ) &&  entity_get_int( id, EV_INT_flags ) & FL_ONGROUND )
	{
        	entity_set_int( id, EV_INT_oldbuttons, iOldButtons | IN_JUMP );
	}              
}

Sprobuj :)

 

 

Czasem skok się buguje podczas kucania scrollem, ale z grubsza może być, wielkie dzięki! :D 

Jest możliwość dodać do tego cvar który włącza oraz wyłącza skoki? 
Chciałbym później ten cvar wykorzystać, abym miał możliwość włączenia oraz wyłączenia skoków poprzez menu. 

Quote

  • +
  • -
faken's Photo faken 06.06.2020

#include < amxmodx >
#include < engine >
#include < hamsandwich >

#pragma semicolon 1

#define PLUGIN "Block jump"
#define VERSION "1.0"

new CvarJump;

public plugin_init( )
{    
	register_plugin( PLUGIN, VERSION, "ksaju" ); 
        CvarJump = register_cvar( "amx_block_jump", "1" );
    
    	RegisterHam( Ham_Player_Jump, "player", "PlayerJump", true );    
}

public PlayerJump( id )
{        
        if( !get_pcvar_num( CvarJump ) )
        return;

	static iOldButtons;
    	iOldButtons = entity_get_int( id, EV_INT_oldbuttons );
    
    	if( !( iOldButtons & IN_JUMP ) &&  entity_get_int( id, EV_INT_flags ) & FL_ONGROUND )
	{
        	entity_set_int( id, EV_INT_oldbuttons, iOldButtons | IN_JUMP );
	}              
}

Proszę z cvarem ;)

Quote

  • +
  • -
Obelix's Photo Obelix 06.06.2020

Dziękii, można zamknąć temat! 

Quote