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

Project1

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

[讨论] 真。作弊码系统

[复制链接]

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
跳转到指定楼层
1
发表于 2011-2-21 14:29:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 英顺的马甲 于 2011-2-21 15:32 编辑

其实就是改进作弊码脚本
解决设置公共事件必须依照顺序的问题
作弊码设置方法:Cheat[公共事件编号] = 作弊码字符串,不分大小写,支持空格,不支持标点符号,支持数字但不支持小键盘。
  1. module Key
  2.   Cheat = {}
  3.   # 以下设置作弊码
  4.   Cheat[1] = "hello"
  5.   Cheat[10] = "it is a good day to die"
  6.   # 以上设置作弊码
  7.   @key_code = {
  8.   # =============================
  9.   "BACK"=> 0x08,
  10.   "TAB"=> 0x09,
  11.   "SHIFT"=> 0x10,
  12.   "ALT"=> 0x12,
  13.   "CAP"=> 0x14,
  14.   "ESC"=> 0x1B,
  15.   "SPACE"=> 0x20,
  16.   " "=> 0x20,
  17.   "LEFT"=> 0x25,
  18.   "UP"=> 0x26,
  19.   "RIGHT"=> 0x27,
  20.   "DOWN"=> 0x28,
  21.   "ENTER" => 13,
  22.   "LCTRL" => 0xA2,
  23.   "RCTRL" => 0xA3,
  24.   "LALT" => 0xA4,
  25.   "RALT" => 0xA5,
  26.   "SPACE" => 0x20,
  27.   # =============================
  28.   "A" => 0x41,
  29.   "B" => 0x42,
  30.   "C" => 0x43,
  31.   "D" => 0x44,
  32.   "E" => 0x45,
  33.   "F" => 0x46,
  34.   "G" => 0x47,
  35.   "H" => 0x48,
  36.   "I" => 0x49,
  37.   "J" => 0x4A,
  38.   "K" => 0x4B,
  39.   "L" => 0x4C,
  40.   "M" => 0x4D,
  41.   "N" => 0x4E,
  42.   "O" => 0x4F,
  43.   "P" => 0x50,
  44.   "Q" => 0x51,
  45.   "R" => 0x52,
  46.   "S" => 0x53,
  47.   "T" => 0x54,
  48.   "U" => 0x55,
  49.   "V" => 0x56,
  50.   "W" => 0x57,
  51.   "X" => 0x58,
  52.   "Y" => 0x59,
  53.   "Z" => 0x5A,
  54.   # =============================
  55.   "F1"  => 0x70,
  56.   "F2"  => 0x71,
  57.   "F3"  => 0x72,
  58.   "F4"  => 0x73,
  59.   "F5"  => 0x74,
  60.   "F6"  => 0x75,
  61.   "F7"  => 0x76,
  62.   "F8"  => 0x77,
  63.   "F9"  => 0x78,
  64.   "F10" => 0x79,
  65.   "F11" => 0x7A,
  66.   "F12" => 0x7B,
  67.   # =============================
  68.   "0" => 0x30,
  69.   "1" => 0x31,
  70.   "2" => 0x32,
  71.   "3" => 0x33,
  72.   "4" => 0x34,
  73.   "5" => 0x35,
  74.   "6" => 0x36,
  75.   "7" => 0x37,
  76.   "8" => 0x38,
  77.   "9" => 0x39
  78.   # =============================
  79.   }
  80.   module_function
  81.   @R_Key_Hash = {}
  82.   @trigger = {}
  83.   @R_Key_Repeat = {}
  84.   GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')
  85.   def update
  86.     @key_code.each_value do |i|
  87.       result = GetKeyState.call(i)
  88.       if @R_Key_Hash[i] == 1 and result != 0
  89.         @trigger[i] = false
  90.         next
  91.       end
  92.       if result != 0
  93.         @R_Key_Hash[i] = 1
  94.         @trigger[i] = true
  95.         next
  96.       else
  97.         @R_Key_Hash[i] = 0
  98.         @trigger[i] = false
  99.         next
  100.       end
  101.     end
  102.   end
  103.   def press?(rkey)
  104.     return GetKeyState.call(rkey) != 0
  105.   end
  106.   def repeat?(rkey)
  107.     result = GetKeyState.call(rkey)
  108.     if result != 0
  109.       if @R_Key_Repeat[rkey].nil?
  110.         @R_Key_Repeat[rkey] = 0
  111.         return true
  112.       end
  113.       @R_Key_Repeat[rkey] += 1
  114.     else
  115.       @R_Key_Repeat[rkey] = nil
  116.       @R_Key_Hash[rkey] = 0
  117.     end
  118.     if !@R_Key_Repeat[rkey].nil? and @R_Key_Repeat[rkey] > 10 # 6和10乃精确 repeat
  119.       @R_Key_Repeat[rkey] = 6
  120.       return true
  121.     else
  122.       return false
  123.     end
  124.   end
  125.   def trigger?(rkey)
  126.     return @trigger[rkey]
  127.   end
  128.   def [](key)
  129.     return @key_code[key]
  130.   end
  131. end
  132. module Graphics
  133.   @self_update = method('update') if @self_update.nil?
  134.   module_function
  135.   def update
  136.     @self_update.call
  137.     Key.update
  138.   end
  139. end
  140. class Scene_Map
  141.   alias old update
  142.   def update
  143.     @mj=Key::Cheat
  144.     for i in 0...999
  145.       if @mj[i] != nil
  146.         array = @mj[i].upcase.scan(/./)
  147.         @mj[i]=[nil]
  148.         for n in 0...array.size
  149.           @mj[i].push(Key[array[n]])
  150.         end
  151.       end
  152.     end
  153.     n = 0
  154.     for i in 1..190
  155.       n = i if Key.trigger?(i)
  156.     end
  157.     if n > 0
  158.       if @open
  159.         @open = false
  160.         for @k in @z
  161.           @open = true if n == @mj[@k][@j[@k]]
  162.         end
  163.         for @k in @z
  164.           if n == @mj[@k][@j[@k]]
  165.             @j[@k]+=1
  166.             if @j[@k]==@mj[@k].size
  167.               $game_temp.common_event_id = @k
  168.               @j[@k] = 0
  169.             end
  170.           else
  171.             @j[@k] = 0
  172.           end
  173.         end
  174.       end
  175.     end
  176.     if @open != true
  177.       @z = []
  178.       @j = []
  179.       for i in 0...999
  180.         if @mj.has_key?(i)
  181.           if n == @mj[i][1]
  182.             @z.push(i)
  183.             @j[i] = 2
  184.             @open = true
  185.           end
  186.         end
  187.       end
  188.     end
  189.     old
  190.   end
  191. end
复制代码
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党

Lv1.梦旅人

雨狸

梦石
0
星屑
48
在线时间
625 小时
注册时间
2011-3-19
帖子
1296
15
发表于 2011-7-2 12:50:12 | 只看该作者
事件党飘过= =脚本无能
明夕,何夕
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
11 小时
注册时间
2007-7-1
帖子
327
14
发表于 2011-6-29 12:12:03 | 只看该作者
楼主是小LIM???
我看来也回来吧~
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
671
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

13
发表于 2011-6-29 11:22:37 | 只看该作者
请给出原作者。

------------------------------
另:真的很有爱哈~收下。

点评

= = 不是有错误么  发表于 2011-6-29 11:54
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39577
在线时间
1919 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

12
发表于 2011-5-23 13:12:09 | 只看该作者
本帖最后由 KB.Driver 于 2011-5-25 02:51 编辑

-_-|||(啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊我这是第N次被扣经验啦,打击啊!大家下手nengbunengbuyaozhemehen?)

评分

参与人数 1星屑 -20 收起 理由
夕阳武士 -20 灌水自重

查看全部评分

用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
190
在线时间
95 小时
注册时间
2011-1-26
帖子
222
11
发表于 2011-5-22 20:53:57 | 只看该作者
说实话。个人认为实用性不大!作弊码完全可以用输入值来实现的
止望不灭
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2011-3-10
帖子
7
10
发表于 2011-5-21 15:32:34 | 只看该作者
弱弱的问一句,作弊码完全可以通过公共事件来实现啊,为什么还要这么麻烦用代码?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
49 小时
注册时间
2011-3-12
帖子
85
9
发表于 2011-3-17 19:39:56 | 只看该作者
楼猪,你啥时候改正第146行啊
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2011-2-17
帖子
37
8
发表于 2011-3-17 18:15:44 | 只看该作者
楼主有改正不?146有问题
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
85
在线时间
134 小时
注册时间
2010-10-16
帖子
186
7
发表于 2011-3-15 13:08:57 | 只看该作者
第146行有问题,请楼主改正
共生体之灾1——古老金字塔 BUG修复
http://rpg.blue/forum.php?mod=viewthread&tid=162405&fromuid=107485
《拉奥夫历险记》http://rpg.blue/forum.php?mod=viewthread&tid=162538&fromuid=107485
共生体之灾2—魔神归来:
http://rpg.blue/thread-169765-1-1.html
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-20 19:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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