Project1

标题: 【Xp→Vx】人物创建 v1.01 [打印本页]

作者: ONEWateR    时间: 2009-1-15 09:09
标题: 【Xp→Vx】人物创建 v1.01
作者:
全键盘检测脚本:Cybersam
RM中文输入法脚本策划:BB崽
RM中文输入法脚本分析:BB崽 亿万星辰
RM中文输入法脚本编写:亿万星辰
移植:ONEWateR

使用方法:
主要的看范例。唔……贴出一张小图,让全世界都知道什么叫索引编号。{/hx}

使用va,vb可以输入特殊符号。
多谢轩辕民的建议。 {/hx}
当然,可以自行修改。嗯嗯。
偶只弄了一点点。




截图:






新版本说明:
v1.01
支持特殊符号。
修正数字选择时的错误。
修正字数限制。
修正部分窗口坐标。

范例下载:
http://rpg.blue/upload_program/d ... v1.01_113106012.rar

共享完毕。 {/cy}
作者: yejianrui1    时间: 2009-1-15 09:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: goahead    时间: 2009-1-15 19:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: 50568358    时间: 2009-1-15 19:34
我很喜欢6号角色的行走图
作者: ONEWateR    时间: 2009-1-15 19:43
以下引用goahead于2009-1-15 11:27:04的发言:

啊这个好像亿万星辰的脚本


的确。本人只是移植该脚本。嗯嗯。
作者: 痒死我了    时间: 2009-1-15 20:02
LZ可以美化一下窗口吗?
然后再发一个美化版的
作者: 阌籽之籽    时间: 2009-1-15 20:54
  不客气了!
作者: 越前リョーマ    时间: 2009-1-15 20:58
连RM输入法都有……
作者: 轩辕民    时间: 2009-1-15 22:06
多么高级……{/fd}
可惜某乃脚本盲一只,只能观望+等待+不厚道地收下{/gg}
感谢LZ大大……
弄得某菜也想研究脚本了……{/hx}
作者: yuxuan    时间: 2009-1-16 19:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: AKA    时间: 2009-1-16 23:08
收走~等这个等了半年了。
作者: lqn619    时间: 2009-1-16 23:30
太好了,为了这我在6R上发帖,寻求帮助,无果而终,现在我正需要,终于出现了,开心啊!!!!!!
作者: 亿万星辰    时间: 2009-1-19 05:42
{/qiang}嘿嘿,输入法也VX化了,不错!{/qiang}{/qiang}{/qiang}
作者: 天际冰寰    时间: 2009-1-19 06:11
本人只用vx,不用xp。(我确认我没有说反) [LINE]1,#dddddd[/LINE]版主对此帖的评论:『灌水』,积分『-10』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: lwdx0822    时间: 2009-1-23 06:00
怎么把性别选项去掉啊。。。。
作者: 轩辕民    时间: 2009-1-23 08:51
发现BUG:输入法选字的地方有8个字对吧,
比如我打cai
编号是1猜,2才,3材,4财,5裁,6采,7彩,0睬(?!{/gg})
然后如果按0的话出来的就是“菜”,下一页的时候如果选1踩,2菜,3蔡就会变空的

本来咱想试试看自己能不能改……结果{/gg}
(小声)咱还想自己试试看能不能加一个[v]专门用来输入特殊符号~{/tp}
作者: ONEWateR    时间: 2009-1-23 10:32
多谢轩辕民。 {/hx}
bug已解决,同时已采纳你的意见。
多谢。 {/hx}
作者: lwdx0822    时间: 2009-1-23 22:51
楼主啊·~~那个性别怎么去掉啊。。。。
说说吧。。~~~拜托哈·~~~~~~{/dk}{/dk}{/dk}
作者: 轩辕民    时间: 2009-1-23 23:34
下面回答LS的问题

  = =  咱发现自己也能改了呢~~~ 不算脚本盲了吧  虽然还是啥都不懂{/gg}
注意:要自己改的哦,别全部直接复制了{/gg}另外这个是1.0版本上的,行数不一定准,要自己找相关内容换掉  - -b


  1. Scene_Create
  2. 82到96行 注释掉~
  3. 157~162
  4.       @index = (@index + 3) % 4#"3""% 5"
  5.       @create_window.index = @index
  6.       return
  7.     elsif Input.trigger?(Input::DOWN)
  8.       Sound.play_cursor        
  9.       @index = (@index + 1) % 4#"% 5"
  10. 175~181
  11.     #when 1  
  12.       #change_gender
  13.     when 1#2
  14.       change_class  
  15.     when 2#3
  16.       change_style
  17.     when 3#4
  18. Window_Base
  19. 15到20行 注释掉
  20. Window_Create
  21. 41到48行:
  22.   def draw_content(actor, x, y)
  23.     draw_actor_name(actor, x, y, true)
  24. #    draw_gender(x, y + 32)
  25.     draw_actor_class(actor, x, y + 32, true)#64
  26.     draw_actor_style(actor, x, y + 64, true)#96
  27.   #  draw_actor_graphic(actor, x + 280, y + 64)
  28.     draw_character(actor.character_name, actor.character_index, x+280, y+64)
  29.     self.contents.draw_text(x, y + 96, 160, 32, "开始创建")#128
复制代码


默认是男,要改成默认女的话在* 样式库把男女的图调换过来或者定义为女就好了 = =b
如果有注释就是我标记上原来的值
  = =b   咱突然觉得好高兴  自己能改脚本了{/hx}
作者: ONEWateR    时间: 2009-1-24 00:36
汉字前数字为 1~8 脚本如下。

  1. #==============================================================================
  2. # ■ Window_InputChoice
  3. #------------------------------------------------------------------------------
  4. #  中文输入法 汉字的选择窗口
  5. #==============================================================================
  6. # 160   640
  7. # x     544

  8. # 144   480
  9. # x     416

  10. class Window_InputChoice < Window_Selectable
  11.   #--------------------------------------------------------------------------
  12.   # ● 初始化对象
  13.   #--------------------------------------------------------------------------
  14.   def initialize
  15.     super(0, 360, 544, WLH + 32)
  16.     @column_max = 8
  17.     self.back_opacity = 160
  18.     @spacing = 32
  19.     refresh
  20.     self.index = 0
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 取得项目
  24.   #--------------------------------------------------------------------------
  25.   def item
  26.     return @data[self.index]
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 刷新
  30.   #--------------------------------------------------------------------------
  31.   def refresh
  32.     self.contents.clear   
  33.     @data = []
  34.     case $game_temp.py_input[0]  # 第一个字符
  35.     when "a"
  36.       for num_pinyin in 0...$pinyin[0].size
  37.         if $game_temp.py_input == $pinyin[0][num_pinyin]
  38.           @data = $hanzi[0][num_pinyin]
  39.           break
  40.         end
  41.       end
  42.     when "b"
  43.       for num_pinyin in 0...$pinyin[1].size
  44.         if $game_temp.py_input == $pinyin[1][num_pinyin]
  45.           @data = $hanzi[1][num_pinyin]
  46.           break
  47.         end
  48.       end
  49.     when "c"
  50.       for num_pinyin in 0...$pinyin[2].size
  51.         if $game_temp.py_input == $pinyin[2][num_pinyin]
  52.           @data = $hanzi[2][num_pinyin]
  53.           break
  54.         end
  55.       end
  56.     when "d"
  57.       for num_pinyin in 0...$pinyin[3].size
  58.         if $game_temp.py_input == $pinyin[3][num_pinyin]
  59.           @data = $hanzi[3][num_pinyin]
  60.           break
  61.         end
  62.       end
  63.     when "e"
  64.       for num_pinyin in 0...$pinyin[4].size
  65.         if $game_temp.py_input == $pinyin[4][num_pinyin]
  66.           @data = $hanzi[4][num_pinyin]
  67.           break
  68.         end
  69.       end
  70.     when "f"
  71.       for num_pinyin in 0...$pinyin[5].size
  72.         if $game_temp.py_input == $pinyin[5][num_pinyin]
  73.           @data = $hanzi[5][num_pinyin]
  74.           break
  75.         end
  76.       end
  77.     when "g"
  78.       for num_pinyin in 0...$pinyin[6].size
  79.         if $game_temp.py_input == $pinyin[6][num_pinyin]
  80.           @data = $hanzi[6][num_pinyin]
  81.           break
  82.         end
  83.       end
  84.     when "h"
  85.       for num_pinyin in 0...$pinyin[7].size
  86.         if $game_temp.py_input == $pinyin[7][num_pinyin]
  87.           @data = $hanzi[7][num_pinyin]
  88.           break
  89.         end
  90.       end
  91.     when "j"
  92.       for num_pinyin in 0...$pinyin[8].size
  93.         if $game_temp.py_input == $pinyin[8][num_pinyin]
  94.           @data = $hanzi[8][num_pinyin]
  95.           break
  96.         end
  97.       end
  98.     when "k"
  99.       for num_pinyin in 0...$pinyin[9].size
  100.         if $game_temp.py_input == $pinyin[9][num_pinyin]
  101.           @data = $hanzi[9][num_pinyin]
  102.           break
  103.         end
  104.       end
  105.     when "l"
  106.       for num_pinyin in 0...$pinyin[10].size
  107.         if $game_temp.py_input == $pinyin[10][num_pinyin]
  108.           @data = $hanzi[10][num_pinyin]
  109.           break
  110.         end
  111.       end
  112.     when "m"
  113.       for num_pinyin in 0...$pinyin[11].size
  114.         if $game_temp.py_input == $pinyin[11][num_pinyin]
  115.           @data = $hanzi[11][num_pinyin]
  116.           break
  117.         end
  118.       end
  119.     when "n"
  120.       for num_pinyin in 0...$pinyin[12].size
  121.         if $game_temp.py_input == $pinyin[12][num_pinyin]
  122.           @data = $hanzi[12][num_pinyin]
  123.           break
  124.         end
  125.       end
  126.     when "o"
  127.       for num_pinyin in 0...$pinyin[13].size
  128.         if $game_temp.py_input == $pinyin[13][num_pinyin]
  129.           @data = $hanzi[13][num_pinyin]
  130.           break
  131.         end
  132.       end
  133.     when "p"
  134.       for num_pinyin in 0...$pinyin[14].size
  135.         if $game_temp.py_input == $pinyin[14][num_pinyin]
  136.           @data = $hanzi[14][num_pinyin]
  137.           break
  138.         end
  139.       end
  140.     when "q"
  141.       for num_pinyin in 0...$pinyin[15].size
  142.         if $game_temp.py_input == $pinyin[15][num_pinyin]
  143.           @data = $hanzi[15][num_pinyin]
  144.           break
  145.         end
  146.       end
  147.     when "r"
  148.       for num_pinyin in 0...$pinyin[16].size
  149.         if $game_temp.py_input == $pinyin[16][num_pinyin]
  150.           @data = $hanzi[16][num_pinyin]
  151.           break
  152.         end
  153.       end
  154.     when "s"
  155.       for num_pinyin in 0...$pinyin[17].size
  156.         if $game_temp.py_input == $pinyin[17][num_pinyin]
  157.           @data = $hanzi[17][num_pinyin]
  158.           break
  159.         end
  160.       end
  161.     when "t"
  162.       for num_pinyin in 0...$pinyin[18].size
  163.         if $game_temp.py_input == $pinyin[18][num_pinyin]
  164.           @data = $hanzi[18][num_pinyin]
  165.           break
  166.         end
  167.       end
  168.     when "w"
  169.       for num_pinyin in 0...$pinyin[19].size
  170.         if $game_temp.py_input == $pinyin[19][num_pinyin]
  171.           @data = $hanzi[19][num_pinyin]
  172.           break
  173.         end
  174.       end
  175.     when "x"
  176.       for num_pinyin in 0...$pinyin[20].size
  177.         if $game_temp.py_input == $pinyin[20][num_pinyin]
  178.           @data = $hanzi[20][num_pinyin]
  179.           break
  180.         end
  181.       end
  182.     when "y"
  183.       for num_pinyin in 0...$pinyin[21].size
  184.         if $game_temp.py_input == $pinyin[21][num_pinyin]
  185.           @data = $hanzi[21][num_pinyin]
  186.           break
  187.         end
  188.       end
  189.     when "z"
  190.       for num_pinyin in 0...$pinyin[22].size
  191.         if $game_temp.py_input == $pinyin[22][num_pinyin]
  192.           @data = $hanzi[22][num_pinyin]
  193.           break
  194.         end
  195.       end
  196.       
  197.     when "v"
  198.       for num_pinyin in 0...$pinyin[23].size
  199.         if $game_temp.py_input == $pinyin[23][num_pinyin]
  200.           @data = $hanzi[23][num_pinyin]
  201.           break
  202.         end
  203.       end

  204.     else
  205.       Sound.play_buzzer
  206.     end
  207.     @item_max = @data.size
  208.     if @item_max > 0
  209.       create_contents
  210.       for i in 0...@item_max
  211.         draw_item(i)
  212.       end
  213.     end
  214.   end
  215.   #--------------------------------------------------------------------------
  216.   # ● 項目の描画
  217.   #     index : 項目番号
  218.   #--------------------------------------------------------------------------
  219.   def draw_item(index)
  220.     item = @data[index]
  221.   #  x = 64*(index%@column_max)
  222.     a = (contents.width + 32) / @column_max - 32
  223.     x = index % @column_max * (32+a) + 3
  224.     y = index/@column_max * WLH
  225.     #x = 4
  226.     #y = index * 32
  227.     b = (index + 1)%(@column_max)
  228.     b = 8 if b == 0      
  229.     self.contents.font.size = 20
  230.     self.contents.draw_text(x, y, 64, WLH, "#{b}#{item}", 0)
  231.   end

  232.   def update
  233.     super
  234.     if self.active and @item_max > 0 and @index >= 0
  235.       if Input.getkey(39) # up
  236.         @index = [@index + 1, @data.size - 1].min
  237.       elsif Input.getkey(37) # down
  238.         @index = [@index - 1, 0].max
  239.       elsif Input.getkey(187) # =
  240.         if @data.size > 8
  241.           @index = [@index + 8, @data.size - 1].min
  242.         end
  243.       elsif Input.getkey(189) # -
  244.         if @data.size > 8
  245.           @index = [@index - 8, 0].max
  246.         end
  247.       # press 0~9 to choose a chinese-word
  248.       elsif Input.getkey(49)  # 1
  249.         Sound.play_cursor
  250.         $game_temp.hanzi = @data[index/@column_max * 8]
  251.         $chn_input = true
  252.         $input_end = false
  253.       elsif Input.getkey(50)  # 2
  254.         Sound.play_cursor
  255.         $game_temp.hanzi = @data[index/@column_max * 8 + 1]
  256.         $chn_input = true
  257.         $input_end = false
  258.       elsif Input.getkey(51)  # 3
  259.         Sound.play_cursor
  260.         $game_temp.hanzi = @data[index/@column_max * 8 + 2]
  261.         $chn_input = true
  262.         $input_end = false
  263.       elsif Input.getkey(52)  # 4
  264.         Sound.play_cursor
  265.         $game_temp.hanzi = @data[index/@column_max * 8 + 3]
  266.         $chn_input = true
  267.         $input_end = false
  268.       elsif Input.getkey(53)  # 5
  269.         Sound.play_cursor
  270.         $game_temp.hanzi = @data[index/@column_max * 8 + 4]
  271.         $chn_input = true
  272.         $input_end = false
  273.       elsif Input.getkey(54)  # 6
  274.         Sound.play_cursor
  275.         $game_temp.hanzi = @data[index/@column_max * 8 + 5]
  276.         $chn_input = true
  277.         $input_end = false
  278.       elsif Input.getkey(55)  # 7
  279.         Sound.play_cursor
  280.         $game_temp.hanzi = @data[index/@column_max * 8 + 6]
  281.         $chn_input = true
  282.         $input_end = false
  283.       elsif Input.getkey(56)  # 0
  284.         Sound.play_cursor
  285.         $game_temp.hanzi = @data[index/@column_max * 8 + 7]
  286.         $chn_input = true
  287.         $input_end = false
  288.       elsif Input.getkey(32) # space
  289.         Sound.play_cursor
  290.         $game_temp.hanzi = @data[index]
  291.         $chn_input = true
  292.         $input_end = false
  293.       elsif Input.getkey(8) # backspace
  294.         $input_end = false
  295.       end
  296.     end
  297.     update_cursor
  298.   end
  299. end
复制代码

作者: 轩辕民    时间: 2009-1-24 00:56
找到了……

#{(index + 1)%@column_max}#{item}改成了#{b}#{item}
#{b}是1,2,3,4……{/fd},后面那个就是字……
……还是不懂    算了……
作者: 风魔乱舞    时间: 2009-2-3 21:53
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1