赞 | 0 |
VIP | 1 |
好人卡 | 28 |
积分 | 10 |
经验 | 59980 |
最后登录 | 2024-10-19 |
在线时间 | 1685 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 951
- 在线时间
- 1685 小时
- 注册时间
- 2009-7-25
- 帖子
- 534
|
曾经给背背前辈写的简易技能书- -b- #--------------------------------------------------
- # 简洁版技能书
- # -BY 烁灵
- # 用法为:
- # 在 数据库->物品 中如下设置技能书:无任何能力提升及数值恢复,仅
- # 在 备注栏中写上如下信息
- # 技能书:1,2,3:9
- # 不要留空格,符号为半角字符
- # 9为要学的技能编号,
- # 1,2,3为能够习得的角色【职业】编号
- # 上述写法效果即为 若目标为1,2,3号职业,即使其学会9号技能
- # 可以多次重复,如
- # 技能书:1,3:9
- # 技能书:2,4:10
- # 即可分情况学会技能
- # 职业可以多个,但不要写太多使此语句长度超过一行
- #---------------------------------------------------
- module SL_Skill_Book
- SKILLITEMSTR = "技能书"
- SKILLLEARNASK = "确定让%s学会 %s?"
- SKILLLEARN = "%s学会了技能 %s!"
- SKILLLEARNED = "%s已经学会了%s!"
- SKILLCANNOTLEARN = "%s无法学习%s!"
- end
- class Game_Battler
- alias sl_item_effective? item_effective?
- def item_effective?(user, item)
- $alflag = 0
- item.note.each_line{|line|
- $alflag = 0
- nt = line.split(/:/)
- corr_target = []
- if(nt[0]==SL_Skill_Book::SKILLITEMSTR) #判定为技能书
- $alflag = 1
- i = nt[1].split(/,/)
- for j in 0...i.size
- corr_target.push(i[j].to_i)
- end
- i.clear
- if corr_target.include?(user.class_id) #学习此行中的技能
- if not user.skill_learn?($data_skills[nt[2].to_i]) #没学过
- ttwin = Window_Base.new((544 - 324)/2,(414 - 64)/2 - 72,324,64)
- text = sprintf(SL_Skill_Book::SKILLLEARNASK, user.name, $data_skills[nt[2].to_i].name)
- ttwin.contents.draw_text(0, 0, 324, 32,text)
- cmdwin = Window_Command.new(128,["确认","取消"])
- cmdwin.x = (544 - cmdwin.width)/2
- cmdwin.y = (416 - cmdwin.height)/2
- cmdwin.active = true
- while true
- cmdwin.update
- Graphics.update
- Input.update
- break if Input.repeat?(Input::C)
- end
- if cmdwin.index == 0
- user.learn_skill(nt[2].to_i) #学习
- cmdwin.dispose
- ttwin.dispose
- twin = Window_Base.new((544 - 324)/2,(414 - 64)/2,324,64)
- text = sprintf(SL_Skill_Book::SKILLLEARN, user.name, $data_skills[nt[2].to_i].name)
- twin.contents.draw_text(0, 0, 324, 32,text)
- Graphics.wait(60)
- twin.dispose
- return true
- else
- $alflag = 0
- cmdwin.dispose
- ttwin.dispose
- break
- end
- cmdwin.dispose
- else
- $alflag = 2
- tewin = Window_Base.new((544 - 256)/2,(414 - 64)/2,256,64)
- text = sprintf(SL_Skill_Book::SKILLLEARNED, user.name, $data_skills[nt[2].to_i].name)
- tewin.contents.draw_text(0, 0, 256, 32,text)
- Graphics.wait(60)
- tewin.dispose
- break
- end
- end
- end
- }
- if $alflag == 1
- tewin2 = Window_Base.new((544 - 256)/2,(414 - 64)/2,256,64)
- text = sprintf(SL_Skill_Book::SKILLCANNOTLEARN, user.name, "这个技能")
- tewin2.contents.draw_text(0, 0, 256, 32,text)
- Graphics.wait(60)
- tewin2.dispose
- end
- sl_item_effective?(user, item)
- end
- end
复制代码 无责任饭粒。。。
简洁技能书系统【VX】.rar
(247.96 KB, 下载次数: 239)
|
评分
-
查看全部评分
|