Difference between revisions of "Key input"
use IsSneaking and a counter
imported>Bky |
imported>DragoonWraith (use IsSneaking and a counter) |
||
Line 1: | Line 1: | ||
I need to know how (and if) I can handle key input via script. I need to have both swords with ranged attacks and guns with night vision, so I need ether an alternate fire or a mode change button... but Oblivion has nether. Is there anyway key input can be handled? --[[User:Bky|Bky]] 06:40, 30 May 2006 (EDT) | I need to know how (and if) I can handle key input via script. I need to have both swords with ranged attacks and guns with night vision, so I need ether an alternate fire or a mode change button... but Oblivion has nether. Is there anyway key input can be handled? --[[User:Bky|Bky]] 06:40, 30 May 2006 (EDT) | ||
:[[User:DragoonWraith|<font face="Oblivion,Daedric" size=3>D</font>ragoon <font face="Oblivion,Daedric" size=3>W</font>raith]] [[User_talk:DragoonWraith|<font face="Oblivion,Daedric" size=2>TALK</font>]] 12:15, 30 May 2006 (EDT): Nope, there's absolutely no way to detect key presses. Luckily for you (sort of), there wasn't in Morrowind, either, and as you might imagine, this was something a lot of people wanted to do. So, your best bet is to detect something you can detect - Sneaking is easiest. Try something like this: | |||
<pre>short sneak | |||
short switch | |||
float timer | |||
Begin GameMode | |||
set timer to ( timer + GetSecondsPassed ) | |||
if ( timer > 2 ) | |||
set timer to 0 | |||
set sneak to 0 | |||
elseif ( player.IsSneaking == 1 ) && ( sneak == 0 ) | |||
set switch to ( switch + 1 ) | |||
elseif ( player.IsSneaking == 0 ) && ( sneak == 1 ) | |||
set switch to ( switch + 1 ) | |||
endif | |||
if ( player.IsSneaking == 1 ) | |||
set sneak to 1 | |||
else | |||
set sneak to 0 | |||
endif | |||
if ( switch == 4 ) | |||
set switch to 0 | |||
;switch weapon mode | |||
endif | |||
End</pre> | |||
:Basically, "switch" gets increased every time the player hits the Ctrl key (or whatever they have "Sneak" mapped to), and if they hit it four times (I figure no one would hit Sneak four times unless they were deliberately trying to), you activate your code to switch weapon mode or night vision or whatever you're doing. | |||
[[Category: Questions]] | [[Category: Questions]] |