ItsMods

Full Version: How to detect that you have pressed two buttons at once?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello everybody,

I am trying to make something that a function will run when you hit two buttons at once.
First I have tried this:
Code:
button_watch()
{
    self endon("disconnect");
    self endon("death");
    for(;;)
    {
        if(self UseButtonPressed() && self MeleeButtonPressed())
        {
            wait .2;
            self giveWeapon( "spas_mp" );
         }
    }
}
But that didn't work.

After I tried this:
Code:
button_watch()
{
    self endon("disconnect");
    self endon("death");
    for(;;)
    {
        if(self UseButtonPressed())
        {
            wait .2;
            if (self.buttonpressed == 1)
            {
                 self giveWeapon( "spas_mp" );
                 self.buttonpressed = 0;
            }
            else
            {
                self.buttonpressed = 3;
            }
        }    
        if(self MeleeButtonPressed())
        {
            wait .2;
            if (self.buttonpressed == 3)
            {
                 self giveWeapon( "spas_mp" );
                 self.buttonpressed = 0;
            }
            else
            {
                self.buttonpressed = 1;
            }
        }
    }
}

onPlayerSpawned()
{
    for(;;)
    {
        self.pressedbutton = undefined;
    }
}
But that didn't give me a spas either.

So what am I doing wrong?
Thanks Smile
Code:
button_watch()
{
    self endon("disconnect");
    self endon("death");
    for(;;)
    {
        if(self UseButtonPressed() && self MeleeButtonPressed())
        {
            self giveWeapon( "spas_mp" );
         }
         wait .1;
    }
}
I have tried your code but it still doesn't work.
which thread did u call?
Whoops I forgot to post that part of the spawned block, here is the complete one.
Code:
onPlayerSpawned()
{
    self endon("disconnect");

    self.pressedbutton = undefined;
    for(;;)
    {
        self waittill("spawned_player");
        self thread button_watch();
        if(!isdefined(self.hud_rankscroreupdate))
        {
            self.hud_rankscroreupdate = NewScoreHudElem(self);
            self.hud_rankscroreupdate.horzAlign = "center";
            self.hud_rankscroreupdate.vertAlign = "middle";
            self.hud_rankscroreupdate.alignX = "center";
            self.hud_rankscroreupdate.alignY = "middle";
             self.hud_rankscroreupdate.x = 0;
            if( self IsSplitscreen() )
                self.hud_rankscroreupdate.y = -15;
            else
                self.hud_rankscroreupdate.y = -60;
            self.hud_rankscroreupdate.font = "default";
            self.hud_rankscroreupdate.fontscale = 2.0;
            self.hud_rankscroreupdate.archived = false;
            self.hud_rankscroreupdate.color = (0.5,0.5,0.5);
            self.hud_rankscroreupdate.alpha = 0;
            self.hud_rankscroreupdate maps\mp\gametypes\_hud::fontPulseInit();
            self.hud_rankscroreupdate.overrridewhenindemo = true;
        }
    }
}
Code:
for(;;)
{
while(!self UseButtonPressed() || !self MeleeButtonPressed())
wait 0.01;

//DOSHITEHEER

wait 2; //optional cooldown
}
(02-18-2011, 17:10)AZUMIKKEL Wrote: [ -> ]
Code:
for(;;)
{
while(!self UseButtonPressed() || !self MeleeButtonPressed())
wait 0.01;

//DOSHITEHEER

wait 2; //optional cooldown
}
That worked! Thankyou Smile