AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Suggestions / Requests (https://forums.alliedmods.net/forumdisplay.php?f=12)
-   -   [Question] Block E key (https://forums.alliedmods.net/showthread.php?t=232380)

Fuck For Fun 12-29-2013 17:31

[Question] Block E key
 
how can i block [E] Key when RoundEnd?

no one can't hold on E key..

when new Round Start the key back.

fysiks 12-29-2013 18:29

Re: [Question] Block E key
 
It is not possible to know what key is being pressed. You can detect when people send a command to the server such at the +use command. This is done with hooking FM_CMDStart and checking the buttons for IN_USE.

If you are unwilling or unable to do this on your own, you can wait for someone to do it for you.

ConnorMcLeod 12-30-2013 01:42

Re: [Question] Block E key
 
Should work with buttons, doors, ...
Can't work with vehicles.

PHP Code:

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

#pragma semicolon 1

#define PLUGIN "No Use @ Round End"
#define VERSION "0.0.1"

#define cm(%0)    ( sizeof(%0) - 1 )

const m_afButtonPressed 246;

new 
HamHook:g_iHhCBasePlayerObjectCaps;

public 
plugin_init()
{
    
register_pluginPLUGINVERSION"ConnorMcLeod" );

    
DisableHamForwardg_iHhCBasePlayerObjectCaps RegisterHam(Ham_ObjectCaps"player""OnCBasePlayer_ObjectCaps"false) );

    
register_event("HLTV""Event_HLTV_New_Round""a""1=0""2=0");
    
register_logevent("Event_Round_End"2"1=Round_End");
}

public 
Event_HLTV_New_Round()
{
    
DisableHamForward(g_iHhCBasePlayerObjectCaps);
}

public 
Event_Round_End()
{
    
EnableHamForward(g_iHhCBasePlayerObjectCaps);
}

public 
OnCBasePlayer_ObjectCapsid )
{
    new 
buttons pev(idpev_button);
    if( 
buttons IN_USE )
    {
        
set_pev(idpev_buttonbuttons & ~IN_USE);
    }
    
buttons get_pdata_int(idm_afButtonPressed);
    if( 
buttons IN_USE )
    {
        
set_pdata_int(idm_afButtonPressedbuttons & ~IN_USE);
    }
    return 
HAM_HANDLED;



Fuck For Fun 12-30-2013 14:24

Re: [Question] Block E key
 
Quote:

Originally Posted by fysiks (Post 2078202)
It is not possible to know what key is being pressed. You can detect when people send a command to the server such at the +use command. This is done with hooking FM_CMDStart and checking the buttons for IN_USE.

If you are unwilling or unable to do this on your own, you can wait for someone to do it for you.

it's possible, i just need to block +use [E] Key that all for endRound.. i will Test the @canno code
Quote:

Originally Posted by ConnorMcLeod (Post 2078329)
Should work with buttons, doors, ...
Can't work with vehicles.

PHP Code:

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

#pragma semicolon 1

#define PLUGIN "No Use @ Round End"
#define VERSION "0.0.1"

#define cm(%0)    ( sizeof(%0) - 1 )

const m_afButtonPressed 246;

new 
HamHook:g_iHhCBasePlayerObjectCaps;

public 
plugin_init()
{
    
register_pluginPLUGINVERSION"ConnorMcLeod" );

    
DisableHamForwardg_iHhCBasePlayerObjectCaps RegisterHam(Ham_ObjectCaps"player""OnCBasePlayer_ObjectCaps"false) );

    
register_event("HLTV""Event_HLTV_New_Round""a""1=0""2=0");
    
register_logevent("Event_Round_End"2"1=Round_End");
}

public 
Event_HLTV_New_Round()
{
    
DisableHamForward(g_iHhCBasePlayerObjectCaps);
}

public 
Event_Round_End()
{
    
EnableHamForward(g_iHhCBasePlayerObjectCaps);
}

public 
OnCBasePlayer_ObjectCapsid )
{
    new 
buttons pev(idpev_button);
    if( 
buttons IN_USE )
    {
        
set_pev(idpev_buttonbuttons & ~IN_USE);
    }
    
buttons get_pdata_int(idm_afButtonPressed);
    if( 
buttons IN_USE )
    {
        
set_pdata_int(idm_afButtonPressedbuttons & ~IN_USE);
    }
    return 
HAM_HANDLED;



Thank you, I'll check it
E button at the end of Round

what you mean can't work with vehicles.?

ConnorMcLeod 12-30-2013 14:34

Re: [Question] Block E key
 
Code is short and efficient for what you asked.

I mean, E is +use command, and +use does multiple things, such as drive vehicles (cars, trucks, ..), use trains, open doors.

Fuck For Fun 12-30-2013 16:03

Re: [Question] Block E key
 
Quote:

Originally Posted by ConnorMcLeod (Post 2078645)
Code is short and efficient for what you asked.

I mean, E is +use command, and +use does multiple things, such as drive vehicles (cars, trucks, ..), use trains, open doors.

huh, okay dude thank :)

fysiks 12-30-2013 16:16

Re: [Question] Block E key
 
Quote:

Originally Posted by Fuck For Fun (Post 2078641)
it's possible

It's not possible to detect keyboard keys. Please don't try to perpetuate that it's possible. You can only detect commands sent to the server. E.g. if I change my +use key to "R" then you would never know.

Fuck For Fun 12-30-2013 16:19

Re: [Question] Block E key
 
Quote:

Originally Posted by fysiks (Post 2078694)
It's not possible to detect keyboard keys. Please don't try to perpetuate that it's possible. You can only detect commands sent to the server. E.g. if I change my +use key to "R" then you would never know.

Ah you mean it, then replace another [key] button .. I thought you said that you can't block the button + use


All times are GMT -4. The time now is 20:23.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.