设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1391|回复: 3
打印 上一主题 下一主题

[已经解决] 有没有可以进行按键攻击的脚本啊

[复制链接]

Lv1.梦旅人

梦石
0
星屑
240
在线时间
3 小时
注册时间
2012-9-1
帖子
3
跳转到指定楼层
1
发表于 2013-7-27 16:07:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RT,有没有啊

评分

参与人数 1星屑 -20 收起 理由
Luciffer -20 帖子内容不可RT

查看全部评分

Lv1.梦旅人

天才琪露诺

梦石
0
星屑
54
在线时间
276 小时
注册时间
2013-6-24
帖子
1741
2
发表于 2013-7-27 16:17:15 | 只看该作者
  1. #-----------------------------------------------------------------------------
  2. #全键盘脚本 by ULTRA
  3. #v1.1 \10.8.29
  4. #使用方法:
  5. #★INP.press?(INP::A)
  6. #--按下A键时
  7. #★INP.trigger?(INP::A)
  8. #--按下A键时,判断是否重新按下
  9. #★INP.repeat?(INP::A)
  10. #---按下A键时,和 trigger? 不同的是,其考虑了连续按下按钮时的重复
  11. #★INP.dir4
  12. #--2 4 6 8 = 下 左 右 上
  13. #--*方向按钮未按下(或被看作与其相同)则返回 0
  14. #★INP.dir8
  15. #--2 4 6 8 = 下 左 右 上
  16. #--1 3 7 9 = 下左 左上 右下 上右
  17. #--[下,左,右,上]
  18. #-- +  +  +  +
  19. #--[左,上,下,右]
  20. #--*方向按钮未按下(或被看作与其相同)则返回 0
  21. #◆四方向自定义按键示例:
  22. #--
  23. #case INP.dir4([INP::S,INP::A,INP::D,INP::W])
  24. #  when 2
  25. #  when 6
  26. # ...
  27. #end
  28. #◆八方向自定义按键示例:
  29. #--
  30. #case INP.dir8([INP::S,INP::A,INP::D,INP::W])
  31. #  when 2
  32. #  when 6
  33. # ...
  34. #  when 1
  35. #  when 3
  36. # ...
  37. #end
  38. #-----------------------------------------------------------------------------
  39. module INP
  40.   #*默认值设定
  41.   SPEEDLV = 6 #自定义速度等级(帧)*repeat?
  42.   SPEED = 3   #自定义刷新速度(帧)*repeat?
  43.   D4 = '[DOWN,LEFT,RIGHT,UP]' 默认方向键 *dir4 or dir8
  44.   #--------------------------------------------------------------------------
  45.   BUTTON_L = 0x01        # left mouse button
  46.   BUTTON_R = 0x02        # right mouse button
  47.   BUTTON_M = 0x04        # middle mouse button
  48.   BUTTON_4 = 0x05        # 4th mouse button
  49.   BUTTON_5 = 0x06        # 5th mouse button
  50.   #--------------------------------------------------------------------------
  51.   BACK      = 0x08        # BACKSPACE key
  52.   TAB       = 0x09        # TAB key
  53.   RETURN    = 0x0D        # ENTER key
  54.   SHIFT     = 0x10        # SHIFT key
  55.   CTLR      = 0x11        # CTLR key
  56.   ALT       = 0x12        # ALT key
  57.   PAUSE     = 0x13        # PAUSE key
  58.   CAPITAL   = 0x14        # CAPS LOCK key
  59.   ESCAPE    = 0x1B        # ESC key
  60.   SPACE     = 0x20        # SPACEBAR
  61.   PRIOR     = 0x21        # PAGE UP key
  62.   NEXT      = 0x22        # PAGE DOWN key
  63.   ENDS       = 0x23        # END key
  64.   HOME      = 0x24        # HOME key
  65.   LEFT      = 0x25        # LEFT ARROW key
  66.   UP        = 0x26        # UP ARROW key
  67.   RIGHT     = 0x27        # RIGHT ARROW key
  68.   DOWN      = 0x28        # DOWN ARROW key
  69.   SELECT    = 0x29        # SELECT key
  70.   PRINT     = 0x2A        # PRINT key
  71.   SNAPSHOT  = 0x2C        # PRINT SCREEN key
  72.   INSERT    = 0x2D        # INS key
  73.   DELETE    = 0x2E        # DEL key
  74.   #--------------------------------------------------------------------------
  75.   U0         = 0x30        # 0 key
  76.   U1         = 0x31        # 1 key
  77.   U2         = 0x32        # 2 key
  78.   U3         = 0x33        # 3 key
  79.   U4         = 0x34        # 4 key
  80.   U5         = 0x35        # 5 key
  81.   U6         = 0x36        # 6 key
  82.   U7         = 0x37        # 7 key
  83.   U8         = 0x38        # 8 key
  84.   U9         = 0x39        # 9 key
  85.   #--------------------------------------------------------------------------
  86.   A         = 0x41        # A key
  87.   B         = 0x42        # B key
  88.   C         = 0x43        # C key
  89.   D         = 0x44        # D key
  90.   E         = 0x45        # E key
  91.   F         = 0x46        # F key
  92.   G         = 0x47        # G key
  93.   H         = 0x48        # H key
  94.   I         = 0x49        # I key
  95.   J         = 0x4A        # J key
  96.   K         = 0x4B        # K key
  97.   L         = 0x4C        # L key
  98.   M         = 0x4D        # M key
  99.   N         = 0x4E        # N key
  100.   O         = 0x4F        # O key
  101.   P         = 0x50        # P key
  102.   Q         = 0x51        # Q key
  103.   R         = 0x52        # R key
  104.   S         = 0x53        # S key
  105.   T         = 0x54        # T key
  106.   U         = 0x55        # U key
  107.   V         = 0x56        # V key
  108.   W         = 0x57        # W key
  109.   X         = 0x58        # X key
  110.   Y         = 0x59        # Y key
  111.   Z         = 0x5A        # Z key
  112.   #--------------------------------------------------------------------------
  113.   LWIN      = 0x5B        # Left Windows key (Microsoft Natural keyboard)
  114.   RWIN      = 0x5C        # Right Windows key (Natural keyboard)
  115.   APPS      = 0x5D        # Applications key (Natural keyboard)
  116.   #--------------------------------------------------------------------------
  117.   NUMPAD0   = 0x60        # Numeric keypad 0 key
  118.   NUMPAD1   = 0x61        # Numeric keypad 1 key
  119.   NUMPAD2   = 0x62        # Numeric keypad 2 key
  120.   NUMPAD3   = 0x63        # Numeric keypad 3 key
  121.   NUMPAD4   = 0x64        # Numeric keypad 4 key
  122.   NUMPAD5   = 0x65        # Numeric keypad 5 key
  123.   NUMPAD6   = 0x66        # Numeric keypad 6 key
  124.   NUMPAD7   = 0x67        # Numeric keypad 7 key
  125.   NUMPAD8   = 0x68        # Numeric keypad 8 key
  126.   NUMPAD9  = 0x69         # Numeric keypad 9 key
  127.   MULTIPLY  = 0x6A        # Multiply key (*)
  128.   ADD       = 0x6B        # Add key (+)
  129.   SEPARATOR = 0x6C        # Separator key
  130.   SUBTRACT  = 0x6D        # Subtract key (-)
  131.   DECIMAL   = 0x6E        # Decimal key
  132.   DIVIDE    = 0x6F        # Divide key (/)
  133.   #--------------------------------------------------------------------------
  134.   F1        = 0x70        # F1 key
  135.   F2        = 0x71        # F2 key
  136.   F3        = 0x72        # F3 key
  137.   F4        = 0x73        # F4 key
  138.   F5        = 0x74        # F5 key
  139.   F6        = 0x75        # F6 key
  140.   F7        = 0x76        # F7 key
  141.   F8        = 0x77        # F8 key
  142.   F9        = 0x78        # F9 key
  143.   F10       = 0x79        # F10 key
  144.   F11       = 0x7A        # F11 key
  145.   F12       = 0x7B        # F12 key
  146.   #--------------------------------------------------------------------------
  147.   NUMLOCK   = 0x90        # NUM LOCK key
  148.   SCROLL    = 0x91        # SCROLL LOCK key
  149.   #--------------------------------------------------------------------------
  150.   LSHIFT    = 0xA0        # Left SHIFT key
  151.   RSHIFT    = 0xA1        # Right SHIFT key
  152.   LCONTROL  = 0xA2        # Left CONTROL key
  153.   RCONTROL  = 0xA3        # Right CONTROL key
  154.   L_ALT    = 0xA4         # Left ALT key
  155.   R_ALT    = 0xA5         # Right ALT key
  156.   #--------------------------------------------------------------------------
  157.   SEP      = 0xBC         # , key
  158.   DASH      = 0xBD        # - key
  159.   DOTT      = 0xBE        # . Key
  160.   #--------------------------------------------------------------------------
  161.   DIR = eval(D4)
  162.   #--------------------------------------------------------------------------
  163.   @tr = false
  164.   @re = 0
  165.   GetKeyState =
  166.   Win32API.new("user32","GetAsyncKeyState",['I'],'I')
  167.   def self.press?(key)
  168.     i = GetKeyState.call(key)
  169.     if i != 0
  170.       return true
  171.     end
  172.   end
  173.   def self.trigger?(key)
  174.     i = GetKeyState.call(key)
  175.     if i != 0 and !@tr
  176.       @tr = true
  177.       return true
  178.     elsif i == 0 and @tr
  179.       @tr = false
  180.     end
  181.   end
  182.   def self.repeat?(key)
  183.     i = GetKeyState.call(key)
  184.     if i == 0
  185.       @re = 0
  186.     end
  187.     if i != 0
  188.       if @re.xin?(1,SPEEDLV)
  189.         @re -= 1
  190.         return false
  191.       end
  192.       @re += [SPEED,SPEEDLV].min
  193.       return true
  194.     end
  195.   end
  196.   def self.dir4(dir=DIR);n=-1
  197.     dir.size.times { n+=1
  198.     if GetKeyState.call(dir[n]) != 0
  199.       case n
  200.         when 0 ;return 2
  201.         when 1 ;return 4
  202.         when 2 ;return 6
  203.         when 3 ;return 8
  204.       end
  205.     end }
  206.     return 0
  207.   end
  208.   def self.dir8(dir=DIR,dir2=[]);n=-1
  209.     if dir2.empty?
  210.       d8 = dir
  211.       dir2 = [d8[1],d8[3],d8[0],d8[2]]
  212.     end
  213.     dir.size.times { n+=1
  214.     if GetKeyState.call(dir[n]) != 0 and GetKeyState.call(dir2[n]) != 0
  215.       case n
  216.         when 0 ;return 1#左下
  217.         when 1 ;return 3#左上
  218.         when 2 ;return 7#右下
  219.         when 3 ;return 9#右上
  220.       end
  221.     end };n=-1
  222.     dir.size.times { n+=1
  223.       if GetKeyState.call(dir[n]) != 0
  224.       case n
  225.         when 0 ;return 2
  226.         when 1 ;return 4
  227.         when 2 ;return 6
  228.         when 3 ;return 8
  229.       end
  230.     end }
  231.     return 0
  232.   end
  233. end
  234. class Object
  235. def xin?(x,y)
  236.    if x <= self and self <= y
  237.      return true
  238.    else
  239.      return false
  240.    end
  241. end
  242. end
复制代码
啊呜 大概就是这样

评分

参与人数 1星屑 +100 收起 理由
Luciffer + 100 认可答案

查看全部评分


说人家是笨蛋的自己才是笨蛋,我最强了,最最最强!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
240
在线时间
3 小时
注册时间
2012-9-1
帖子
3
3
 楼主| 发表于 2013-7-27 16:34:05 | 只看该作者
八月桑 发表于 2013-7-27 16:17
啊呜 大概就是这样

哦,我试一下啊

点评

可以吗 可以的话我艾特P叔叔了= =  发表于 2013-7-28 10:25
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 15:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表