じ☆ve冰风 发表于 2024-4-19 18:32:13

超级雷人死板起名系统

简介:雷人,为什么雷人,看脚本就懂了,死板,应为界面有些死板
使用方法:在main之前插入
功能:
可以设置许多页,但一定要照着顺序
比如说第一页为Character第二也就必须Character...以此类推
每一页的最后四个一定要是"上页","下页","退格","确定"这四个(意思一样也可以)
这是脚本:module NameInputCharacter = []Character = ["赵","钱","孙","李","周","吴","郑","王","冯","陈",                  "褚","卫","蒋","沈","韩","杨","朱","秦","尤","许",                  "何","吕","施","张","孔","曹","严","华","金","魏",                  "陶","姜","戚","谢","邹","喻","柏","水","窦","章",                  "云","苏","潘","葛","奚","范","彭","郎","鲁","韦",                  "昌","马","苗","凤","花","方","俞","任","袁","柳",                  "酆","鲍","史","唐","费","廉","岑","薛","雷","贺",                  "倪","汤","滕","殷","罗","毕","上页","下页","退格","确认"]Character = ["郝","邬","安","常","乐","于","时","傅","皮","卞",                  "齐","康","伍","余","元","卜","顾","孟","平","黄",                  "和","穆","萧","尹","姚","邵","堪","汪","祁","毛",                  "禹","狄","米","贝","明","臧","计","伏","成","戴",                  "谈","宋","茅","庞","熊","纪","舒","屈","项","祝",                  "董","粱","杜","阮","蓝","闵","席","季","麻","强",                  "贾","路","娄","危","江","童","颜","郭","梅","盛",                  "林","刁","钟","徐","邱","骆","上页","下页","退格","确认"]Character = ["高","夏","蔡","田","樊","胡","凌","霍","虞","万",                  "支","柯","咎","管","卢","莫","经","房","裘","缪",                  "干","解","应","宗","宣","丁","贲","邓","郁","单",                  "杭","洪","包","诸","左","石","崔","吉","钮","龚",                  "程","嵇","邢","滑","裴","陆","荣","翁","荀","羊",                  "於","惠","甄","魏","加","封","芮","羿","储","靳",                  "汲","邴","糜","松","井","段","富","巫","乌","焦",                  "巴","弓","牧","隗","山","谷","上页","下页","退格","确认"]Character = ["车","侯","宓","蓬","全","郗","班","仰","秋","仲",                  "伊","宫","宁","仇","栾","暴","甘","钭","厉","戎",                  "祖","武","符","刘","姜","詹","束","龙","叶","幸",                  "司","韶","郜","黎","蓟","薄","印","宿","白","怀",                  "蒲","台","从","鄂","索","咸","籍","赖","卓","蔺",                  "屠","蒙","池","乔","阴","郁","胥","能","苍","双",                  "闻","莘","党","翟","谭","贡","劳","逄","姬","申",                  "扶","堵","冉","宰","郦","雍","上页","下页","退格","确认"]Character = ["郤","璩","桑","桂","濮","牛","寿","通","边","扈",                  "燕","冀","郏","浦","尚","农","温","别","庄","晏",                  "柴","瞿","阎","充","慕","连","茹","习","宦","艾",                  "鱼","容","向","古","易","慎","戈","廖","庚","终",                  "暨","居","衡","步","都","耿","满","弘","匡","国",                  "文","寇","广","禄","阙","东","殴","殳","沃","利",                  "蔚","越","夔","隆","师","巩","厍","聂","晁","勾",                  "敖","融","冷","訾","辛","阚","上页","下页","退格","确认"]Character = ["那","简","饶","空","曾","毋","沙","乜","养","鞠",                  "须","丰","巢","关","蒯","相","查","后","荆","红",                  "游","竺","权","逯","盖","益","桓","公","万","俟",                  "司","马","上","官","欧","阳","夏","侯","诸","葛",                  "闻","人","东","方","赫","连","皇","甫","尉","迟",                  "公","羊","澹","台","公","冶","宗","政","濮","阳",                  "淳","于","仲","孙","太","叔","申","屠","公","孙",                  "乐","正","轩","辕","令","狐","上页","下页","退格","确认"]Character = ["钟","离","闾","丘","长","孙","慕","容","鲜","于",                  "宇","文","司","徒","司","空","亓","官","司","寇",                  "仉","督","子","车","颛","孙","端","木","巫","马",                  "公","西","漆","雕","乐","正","壤","驷","公","良",                  "拓","拔","夹","谷","宰","父","谷","粱","晋","楚",                  "闫","法","汝","鄢","涂","段","干","百","里","东",                  "郭","南","门","呼","延","妫","海","羊","舌","微",                  "生","岳","帅","缑","亢","况","上页","下页","退格","确认"]Character = ["後","有","琴","梁","丘","左","丘","东","门","西",                  "门","商","牟","佘","佴","伯","赏","南","宫","墨",                  "哈","谯","笪","年","爱","阳","佟","第","五","言",                  "福","百","家","姓","续","林","狗","猫","蛇","鼠",                  "大","小","上","下","英","有","去","无","回","雷",                  "人","俊","豪","杰","顺","利","上页","下页","退格","确认"]Character = ["A","B","C","D","E","F","G","H","I","J",                  "K","L","M","N","O","P","Q","R","S","T",                  "U","V","W","X","Y","Z","a","b","c","d",                  "e","f","g","h","i","j","k","l","m","n",                  "o","p","q","r","s","t","u","v","w","x",                  "y","z","0","1","2","3","4","5","6","7",                  "8","9",",",".","/",";","'","[","]","`",                  "-","=","","?",":","上页","下页","退格","确认"]Character = ["{","}","!","@","$","%","^","&","*","(",                  ")","_","+","|","☆","★","○","●","◎","◇",                  "◆","□","■","△","▲","※","→","←","↑","↓",                  "〓","上页","下页","退格","确认"]Character = ["あ","い","う","え","お","か","き","く","け","こ",                   "さ","し","す","せ","そ","た","ち","つ","て","と",                   "な","に","ぬ","ね","の","は","ひ","ふ","へ","ほ",                   "ま","み","む","め","も","や", "ゆ","よ","ら","り",                   "る","れ","ろ","わ", "を","ん","が","ぎ","ぐ","げ",                   "ご","ざ","じ","ず","ぜ","ぞ","だ","ぢ","づ","で",                   "ど","ば","び","ぶ","べ","ぼ","ぱ","ぴ","ぷ","ぺ",                   "ぽ","ゃ","上页","下页","退格","确认"]endclass Window_Name_Input < Window_Selectabledef initialize(command=[])    super(144,160, 352, 288)    @item_max = command.size    @column_max = 10    @commands = command    self.contents = Bitmap.new(320, 256)    refresh    self.index = 0end#--------------------------------------------------------------------------# ● 刷新#--------------------------------------------------------------------------def refresh(cmd=@commands)    @commands = cmd    @item_max = @commands.size    self.contents.clear    for i in 0...@item_max      draw_item(i, normal_color)    endend#--------------------------------------------------------------------------# ● 描绘项目#   index : 项目编号#   color : 文字色#--------------------------------------------------------------------------def draw_item(index, color)    self.contents.font.color = color    # 计算得出当前index所对应的内容所在的行    row_index = index / @column_max    # 根据余数得出所在的列    for i in 0...@column_max      if index % @column_max == i      rect = Rect.new(i * 32 + 2, 32 * row_index, 28,32)      self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))      self.contents.draw_text(rect, @commands.to_s,1)      break      end    endenddef update_cursor_rect    # 光标位置不满 0 的情况下    if @index < 0      self.cursor_rect.empty      return    end    # 获取当前的行    row = @index / @column_max    # 当前行被显示开头行前面的情况下    if row < self.top_row      # 从当前行向开头行滚动      self.top_row = row    end    # 当前行被显示末尾行之后的情况下    if row > self.top_row + (self.page_row_max - 1)      # 从当前行向末尾滚动      self.top_row = row - (self.page_row_max - 1)    end    # 计算光标的宽度    cursor_width = (self.width - 32) / @column_max    # 计算光标坐标    x = @index % @column_max * (cursor_width)    y = @index / @column_max * 32 - self.oy    # 更新光标矩形    self.cursor_rect.set(x, y, cursor_width, 32)endendclass Scene_Nameinclude NameInputdef main    @spriteset = Spriteset_Map.new    @actor = $game_actors[$game_temp.name_actor_id]    @name = $game_actors[$game_temp.name_actor_id].name    @defult_name = $game_actors[$game_temp.name_actor_id].name    @max = $game_temp.name_max_char    @pages = 0    @character = Character[@pages]    @edit_window = Window_Name_Input.new(@character)    @name_window = Window_Base.new(144,64,352,96)    @name_window.contents = Bitmap.new(320,64)    refresh    Graphics.transition    loop do      Input.update      Graphics.update      update      break if $scene != self    end    Graphics.freeze    @spriteset.dispose    @edit_window.dispose    @name_window.disposeenddef update    @edit_window.update    if Input.trigger?(Input::L)      if Character.size != 1      @pages -= 1      @pages = Character.size - 1 if @pages < 0      @character = Character[@pages]      @edit_window.index = @character.size - 1 if @edit_window.index >= @character.size      @edit_window.refresh(@character)      end    elsif Input.trigger?(Input::R)      if Character.size != 1      @pages += 1      @pages = 0 if @pages >= Character.size      @character = Character[@pages]      @edit_window.index = @character.size - 1 if @edit_window.index >= @character.size      @edit_window.refresh(@character)      end    elsif Input.trigger?(Input::B)      $game_system.se_play($data_system.cancel_se)      if @name != ""      @scan = @name.scan(/./)      @scan[@scan.size - 1] = nil      @name = ""      for i in           @name += @scan if @scan != nil      end      refresh      end    elsif Input.trigger?(Input::C)      $game_system.se_play($data_system.decision_se)      case @edit_window.index      when @character.size - 1      @name = @defult_name if @name == ""      $game_actors[$game_temp.name_actor_id].name = @name      $scene = Scene_Map.new      return      when @character.size - 2      if @name != ""          @scan = @name.scan(/./)          @scan[@scan.size - 1] = nil          @name = ""          for i in             @name += @scan          end      end      when @character.size - 3      if Character.size != 1          @pages += 1          @pages = 0 if @pages >= Character.size          @character = Character[@pages]          @edit_window.index = @character.size - 1 if @edit_window.index >= @character.size          @edit_window.refresh(@character)      end      when @character.size - 4      if Character.size != 1          @pages -= 1          @pages = Character.size - 1 if @pages < 0          @character = Character[@pages]          @edit_window.index = @character.size - 1 if @edit_window.index >= @character.size          @edit_window.refresh(@character)      end      else      if @name.scan(/./).size < @max          @name += @character[@edit_window.index]      end      end      refresh    endenddef refresh    @name_window.contents.clear    @name_window.draw_actor_graphic(@actor, 32, 64)    text = ""    for i in 0...@max      if @name.scan(/./) != nil      text += @name.scan(/./)      else      text += ".."      end    end    @name_window.contents.draw_text(0,0,320,64,text,1)endend复制代码------------------------------------------补充------------------------------------------
每页选项最多八十个,超出就不好看了
            本帖来自P1论坛作者EngShun,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=164199若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 超级雷人死板起名系统