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

Project1

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

[RMVA发布] 【VA】自创武功

[复制链接]

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
跳转到指定楼层
1
发表于 2012-3-10 17:31:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 杂兵天下 于 2012-3-11 00:08 编辑

RUBY 代码复制
  1. $imported = {} if $imported.nil?
  2. if $imported["RuntimeDB"].nil?
  3.   $imported["RuntimeDB"] = true
  4.   module DataManager
  5.     class <<self
  6.       alias make_save_contents_runtimedb_zabing make_save_contents
  7.       alias extract_save_contents_runtimedb_zabing extract_save_contents
  8.     end
  9.     def self.make_save_contents
  10.       contents = make_save_contents_runtimedb_zabing
  11.       contents[:dataactorszabing] = $data_actors
  12.       contents[:dataclasseszabing] = $data_classes
  13.       contents[:dataskillszabing] = $data_skills
  14.       contents[:dataitemszabing] = $data_items
  15.       contents[:dataweaponszabing] = $data_weapons
  16.       contents[:dataarmorszabing] = $data_armors
  17.       contents[:dataenemieszabing] = $data_enemies
  18.       contents[:datatroopszabing] = $data_troops
  19.       contents[:datastateszabing] = $data_states
  20.       contents[:dataanimationszabing] = $data_animations
  21.       contents[:datatilesetszabing] = $data_tilesets
  22.       contents[:datacommoneventszabing] = $data_common_events
  23.       contents[:datasystemzabing] = $data_system
  24.       contents[:datamapinfoszabing] = $data_mapinfos
  25.       contents
  26.     end
  27.     def self.extract_save_contents(contents)
  28.       extract_save_contents_runtimedb_zabing(contents)
  29.       $data_actors = contents[:dataactorszabing]
  30.       $data_classes = contents[:dataclasseszabing]
  31.       $data_skills = contents[:dataskillszabing]
  32.       $data_items = contents[:dataitemszabing]
  33.       $data_weapons = contents[:dataweaponszabing]
  34.       $data_armors = contents[:dataarmorszabing]
  35.       $data_enemies = contents[:dataenemieszabing]
  36.       $data_troops = contents[:datatroopszabing]
  37.       $data_states = contents[:datastateszabing]
  38.       $data_animations = contents[:dataanimationszabing]
  39.       $data_tilesets = contents[:datatilesetszabing]
  40.       $data_common_events = contents[:datacommoneventszabing]
  41.       $data_system = contents[:datasystemzabing]
  42.       $data_mapinfos = contents[:datamapinfoszabing]
  43.     end
  44.   end
  45. end
  46. #如果用了我的铸剑系统,可以删掉上面这一段。
  47. $imported = {} if $imported.nil?
  48. if $imported["RatiosZabi"].nil?
  49. #--------------------------------------------------------------------------
  50. # 多项比率选一(Ratios) By.杂兵天下
  51. # 使用 Ratios.Co({对象=>比率},分比数)
  52. #--------------------------------------------------------------------------
  53.   $imported["RatiosZabi"] = true  
  54.   module Ratios
  55.     def self.Co(data = {}, b = 100)
  56.       a = []
  57.       a[0] = 0
  58.       for i in 1..data.values.size
  59.         a[i] = data.values[i-1] + a[i-1]
  60.       end
  61.       b = rand(a[data.values.size])
  62.       for i in 1..data.values.size
  63.         if (b>=a[i-1])and(b<a[i])
  64.           p [data.keys[i-1],data.values[i-1]]
  65.           return [data.keys[i-1],data.values[i-1]]
  66.         end
  67.       end
  68.     end
  69.   end
  70. end
  71. class Game_Interpreter
  72.   def makeskill(zcid)
  73.     temp = RPG::Skill.new
  74.     temp.id = $data_skills.size
  75.     thishash = {
  76.     ["拳",116,0,6]=>10,
  77.     ["爆",119,0,79]=>10,
  78.     ["斧",128,1,12]=>10,
  79.     ["爪",129,2,86]=>10,
  80.     ["枪",130,3,90]=>10,
  81.     ["剑",131,4,11]=>10,
  82.     ["刀",132,5,89]=>10,
  83.     ["箭",133,6,17]=>10,
  84.     ["匕",134,7,88]=>10,
  85.     ["锤",135,8,24]=>10,
  86.     ["杖",136,9,23]=>10,
  87.     ["铳",137,10,93]=>10,
  88.     }
  89.     lwt=Ratios.Co(thishash, 100)
  90.     temp.icon_index = lwt[0][1]
  91.     temp.description = $game_actors[zcid].name+"自创的"+lwt[0][0]+"技。"
  92.     thishash = {
  93.     [nil,""]=>100,
  94.     }
  95.     temp1 = RPG::UsableItem::Effect.new
  96.     temp1.code = 21
  97.     temp1.data_id = 8
  98.     temp1.value1 = 0.25
  99.     temp1.value2 = 0.0
  100.     thishash[[temp1,"晕击"]] = 10
  101.     featur = Ratios.Co(thishash, 100)
  102.     temp.effects = [featur[0][0]] unless featur[0][0].nil?
  103.     temp.description += "特效1:" + featur[0][1] unless featur[0][1] == ""
  104.     thishash = {
  105.     ["",""]=>100,
  106.     }
  107.     notetexiao = Ratios.Co(thishash, 100)
  108.     temp.note = notetexiao[0][0]
  109.     temp.description += "\n特效2:" + notetexiao[0][1] unless notetexiao[0][1] == ""
  110.     thishash = {
  111.     ["之气",2,0]=>10,
  112.     ["#{ lwt[0][0]}法",1,1]=>10,
  113.     ["破击",6,1]=>10,
  114.     }
  115.     houzhui = Ratios.Co(thishash, 100)
  116.     temp.scope = houzhui[0][1]
  117.     temp.occasion = 1
  118.     temp.animation_id = lwt[0][3]
  119.     temp.hit_type = houzhui[0][2]
  120.     temp.damage.type = 1
  121.     thishash = {
  122.     ["地火",3,'a.atk * 4 - b.def * 2',5]=>10,
  123.     ["燃冰",4,'a.atk * 8 - b.def * 6',7]=>10,
  124.     ["奔雷",5,'a.atk * 2',7]=>10,
  125.     ["太极",1,'b.atk * 4 - b.def * 2',10]=>10,
  126.     ["青灵",0,'a.atk * 3',8]=>10,
  127.     ["紫霄",0,'a.atk * 4',9]=>10,
  128.     }
  129.     qianzhui = Ratios.Co(thishash, 100)
  130.     temp.damage.element_id = qianzhui[0][1]
  131.     temp.damage.formula = qianzhui[0][2]
  132.     temp.tp_cost = qianzhui[0][3]
  133.     temp.name = qianzhui[0][0] + houzhui[0][0]
  134.     temp.message1 = "发动了" + temp.name + "!"
  135.     temp.required_wtype_id1 = lwt[0][2]
  136.     $data_skills[$data_skills.size] = temp
  137.     $game_actors[zcid].learn_skill($data_skills.size - 1)
  138.   end
  139. end
用makeskill(1)这样来让角色1习得一个自创武功。
各种破击攻击随机四个对象。
各种之气可以同时攻击全体敌人。
各种剑法、锤法、斧法神马的只能攻击单体敌人。
下面是伤害公式:
地火代表火属性普通攻击
燃冰代表冰系双倍普通攻击-敌人防御*2
奔雷代表雷系2×发动者攻击
太极代表物理系让敌人自己打自己后的伤害
青灵代表无属性3×发动者攻击
紫霄代表无属性4×发动者攻击
这些数据都可以在哈希表中更改。
注意这里的多项比率选一与菜鸟飞呀飞的版本完全不同。
完全独立原创,版主请勿扣分。
默认数据库共有216种可能自创的武功。
在打防御高的怪物时最强的两种武功:紫霄破击(4个以下怪物),紫霄之气(4个以上怪物)
在打攻击高的怪物时最强的两种武功:太极破击(4个以下怪物),太极之气(4个以上怪物)
在打防御低的怪物时最强的两种武功:燃冰破击(4个以下怪物),燃冰之气(4个以上怪物)
恩,好了!就这样,大家自己研究去吧
怎么没人回复啊!!!
经验是象征性的。看看有谁看了帖子

评分

参与人数 4星屑 +640 收起 理由
星月铃音 + 12 很不错+凑整
芥末菌 + 40 塞糖
Kimu + 580 发现没人来加分,于是带上扣分一块加.
hys111111 + 8 10%的补偿+塞糖(3经验)

查看全部评分

Lv1.梦旅人

梦石
0
星屑
116
在线时间
192 小时
注册时间
2008-5-11
帖子
547
2
发表于 2012-3-10 21:00:37 | 只看该作者
坐等解 密

点评

恩,这位前辈,Kimu君执法严明就不管了 我的脚本哪里加密了呢?  发表于 2012-3-11 10:10

评分

参与人数 1星屑 -10 收起 理由
Kimu -10

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
175 小时
注册时间
2011-12-28
帖子
93
3
发表于 2012-3-10 21:19:59 | 只看该作者
很好。。花钱不冤枉。。。LZ这个自创的功法是随机的么??还是可控的选择自创??

点评

随机的。 今天打算做通过两个技能自创 不过觉得会很难 就不抵押我的人品了  发表于 2012-3-11 10:07
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
123 小时
注册时间
2012-2-12
帖子
73
4
发表于 2012-3-10 21:59:04 | 只看该作者
代码可以改下不   复制不了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
152 小时
注册时间
2012-1-12
帖子
456
5
发表于 2012-4-2 18:40:34 | 只看该作者
Me too!复制不了!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
41
在线时间
1026 小时
注册时间
2011-9-10
帖子
1415
6
发表于 2012-4-4 14:31:26 | 只看该作者
本帖最后由 y610407721 于 2012-4-4 14:31 编辑

跟我一样复制不了~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
152 小时
注册时间
2012-1-12
帖子
456
7
发表于 2012-5-9 23:51:27 | 只看该作者
看不懂脚本以及说明……
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3954
在线时间
132 小时
注册时间
2012-1-7
帖子
208
8
发表于 2012-6-17 13:39:58 | 只看该作者
LZ脚本没注释的话会让人很无奈的。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

9
发表于 2012-8-5 09:23:32 | 只看该作者
看不懂细节,建议LZ说明写详细点
有些人,到了七八月份就会诈尸。
宫斗,是女生永远的爱。
冷门,是本人不变的欲。
作弊,是玩家自由的痛。
练级,是橙光割舍的情。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2013-2-1
帖子
108
10
发表于 2013-2-24 15:12:44 | 只看该作者
谁说复制不了?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-2 13:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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