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

Project1

 找回密码
 注册会员
搜索
查看: 2087|回复: 14

[已经解决] 哪位大神有 杀怪数的脚本吗?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1883
在线时间
157 小时
注册时间
2016-1-29
帖子
267
发表于 2019-1-12 19:17:03 手机端发表。 | 显示全部楼层 |阅读模式
100星屑
本帖最后由 VIPArcher 于 2019-1-13 20:08 编辑

我弄个了任务 想让玩家杀50只怪 有什么脚本能实现吗 那种事件做的不行 最好是脚本的 麻烦大神了.. 这个任务脚本谁能修复下吗?
RUBY 代码复制
  1. #------------------------------------------------------------------------------#
  2. #  新任务
  3. #------------------------------------------------------------------------------#
  4. #  适用: RPGMAKER VX ACE
  5. #  版本: 1.0
  6. #  作者:66RPG的tan12345
  7. #-------------------------------------------------------------------------------
  8. #  自己写的任务系统
  9. #  使用方法:将脚本插入至main以上
  10. #  呼出时,请调用:
  11. #  SceneManager.call(Scene_Tan_Task)可查看任务情况
  12. #  SceneManager.call(Scene_Tan_Task2)任务工会接取任务完成任务用
  13. #-------------------------------------------------------------------------------
  14. module Tan_task
  15.   #任务内容描述是否自己描述,true自己描述,false使用默认描述
  16.   Tan_task_description_type = false
  17.  
  18.   #公会面板显示的可接任务列表,具体使用可参考任务工会呼出事件
  19.   Tan_task_list2 = []
  20.  
  21.   #公会面板显示的工会名,具体使用可参考任务工会呼出事件
  22.   Tan_task_text = ""
  23.  
  24.   #任务列表
  25.   Tan_task_list = []  
  26.  
  27.   #任务格式设定如下:
  28.   #Tan_task_list[id] = ["任务名","任务描述",[任务奖励数组],[任务接取条件数组],[任务完成条件数组],是否可重复接取标志]
  29.     #---任务描述
  30.     #描述会自动换行
  31.     #使用\\n[i]可描述第i号角色名,使用\\p[i]可描述第i号队员名
  32.     #使用\\j[i]可描述第i号职业名,使用\\s[i]可描述第i号技能名
  33.     #使用\\t[i]可描述第i号物品名,使用\\w[i]可描述第i号武器名
  34.     #使用\\a[i]可描述第i号防具名,使用\\m[i]可描述第i号地图名
  35.     #使用\\v[i]可描述第i号变量值,使用\\e[i]可描述第i号敌人名,
  36.     #使用\\q[i]可描述第i号任务名
  37.     #使用\\c[i]可将字体改为第i号颜色,使用\\+字体加粗,使用\\-字体斜体
  38.     #使用\\i[i]绘制i号图标,使用\\{字体加大,使用\\}字体变小,使用\\n换行
  39.  
  40.     #---任务奖励
  41.     #第1位代表奖励类型,0金钱,1武器,2防具,3物品,5经验值,9其他(例如[9,0,"$game_variables[变量id] += 7"])
  42.     #第2位代表奖励的id,如果没有id,则统一0(金钱、经验值、其他都是没有id的)
  43.     #第3位代表奖励数值。
  44.     #例如:[0,0,100]金钱100,[1,99,2]99号武器2把,[5,0,1000]经验值1000(不显示升级),[5,1,1000]经验值1000(显示升级)
  45.     #例如:[2,3,1]3号防具1个,[3,5,7]5号物品7个,[9,0,"$game_party.add_actor(33)"]33号人物入队
  46.     #如果没有奖励,则[]
  47.  
  48.     #---任务接取条件
  49.     #第1位代表条件类型,l领队等级,i持有物品,s开关打开,v变量值,q前置任务,g金钱
  50.     #第2位代表条件类型的id,如果没有id,则统一0(领队等级、前置任务、金钱是没有id的)
  51.     #第3位代表条件数值。
  52.     #例如:["l",0,10]领队要求10级,["i",6,3]持有3个6号物品,["s",7,true]7号开关打开
  53.     #例如:["v",5,10]5号变量等于10,["g",0,3]持有3金钱,["q",0,3]完成3号任务
  54.     #如果没有条件,则[]
  55.  
  56.     #---任务完成条件
  57.     #第1位代表条件类型,l领队等级,i持有物品,s开关打开,v变量值,q前置任务,g金钱,e杀敌数
  58.     #第2位代表条件类型的id,如果没有id,则统一0(领队等级、前置任务、金钱是没有id的)
  59.     #第3位代表条件数值。
  60.     #例如:["l",0,10]领队要求10级,["i",6,3]持有3个6号物品,["s",7,true]7号开关打开
  61.     #例如:["v",5,10]5号变量等于10,["g",0,3]持有3金钱,["q",0,3]完成3号任务,["e",7,10]杀死10个7号敌人
  62.     #如果没有条件,则[]
  63.  
  64.     #该任务完成后是否可重复接取,0不可重复,1可重复
  65.  
  66.   Tan_task_list[1] = [
  67.     "寻找玉镯",
  68.     "寻找玉镯--老大娘说家传玉镯被南海龙王抢去了,希望能帮她找回玉镯!",
  69.     [[0,0,500],[5,0,400],[9,"声望值10点","$game_variables[6] += 10"]],
  70.     [],
  71.     [["s",105,true]],
  72.     0
  73.    ]  
  74.  
  75.   Tan_task_list[2] = [
  76.     "小女孩的要求",
  77.     "小女孩的要求--小女孩想制作鱼皮衣,希望你能帮助她收集10张鱼皮!",
  78.     [[0,0,400],[5,0,300],[9,"声望值5点","$game_variables[6] += 5"]],
  79.     [],
  80.     [["i",170,10]],
  81.     0
  82.    ]
  83.  
  84.   Tan_task_list[3] = [
  85.     "帮药店采药",
  86.     "帮药店采药--药店急需一批海胆入药,想请求采集10只海胆,村外海胆怪身上会有!",
  87.     [[0,0,300],[5,0,200],[9,"声望值1点","$game_variables[6] += 5"]],
  88.     [],
  89.     [["i",171,10]],
  90.     0
  91.    ]
  92.  
  93.    Tan_task_list[4] = [
  94.     "商人的求助",
  95.     "商人的求助--帮助捕鱼村的商人收集10个星螺草和10个章鱼触角!",
  96.     [[0,0,500],[5,0,400],[9,"声望值10点","$game_variables[6] += 10"]],
  97.     [],
  98.     [["i",172,10],["i",174,10]],
  99.     0
  100.    ]
  101.  
  102.    Tan_task_list[5] = [
  103.     "武器店老板的请求",
  104.     "武器店老板的请求--武器店老板需要一批天龙须制作武器,帮她收集15个天龙须!",
  105.     [[0,0,800],[5,0,600],[9,"声望值10点","$game_variables[6] += 10"]],
  106.     [],
  107.     [["i",173,15]],
  108.     0
  109.    ]
  110.  
  111.    Tan_task_list[6] = [
  112.     "帮张龙救出弟弟",
  113.     "帮张龙救出弟弟--张龙很担心他弟弟,希望你能赶紧去救出他弟弟!",
  114.     [[0,0,500],[5,0,500],[2,149,1],[9,"声望值10点","$game_variables[6] += 10"]],
  115.     [],
  116.     [["s",383,true]],
  117.     0
  118.    ]
  119.  
  120.    Tan_task_list[7] = [
  121.     "任务007",
  122.     "帮掌柜收集材料--掌柜缺少制作装备的材料,帮忙收集10个蓝颜角和10个白猿毛!",
  123.     [[0,0,1000],[5,0,800],[2,80,1],[9,"声望值10点","$game_variables[6] += 10"]],
  124.     [],
  125.     [["i",161,10],["i",162,10]],
  126.     0
  127.    ]
  128.  
  129.    Tan_task_list[8] = [
  130.     "任务008",
  131.     "小女孩的请求--帮小女孩找回她的竖琴!",
  132.     [[0,0,800],[5,0,700],[9,"声望值10点","$game_variables[6] += 10"]],
  133.     [],
  134.     [["s",289,true]],
  135.     0
  136.    ]
  137.  
  138.    Tan_task_list[9] = [
  139.     "任务009",
  140.     "救出使臣女儿--使臣女儿在御花园被陛下带走了,现在不知道关押何处,使臣请求帮忙找回女儿!",
  141.     [[0,0,800],[5,0,700],[9,"声望值10点","$game_variables[6] += 10"]],
  142.     [],
  143.     [["s",288,true]],
  144.     0
  145.    ]
  146.  
  147.    Tan_task_list[10] = [
  148.     "任务010",
  149.     "击杀大盗张良--通缉榜任务,缉拿大盗张良",
  150.     [[0,0,1500],[5,0,500],[9,"声望值10点","$game_variables[6] += 10"]],
  151.     [],
  152.     [["s",291,true]],
  153.     0
  154.    ]
  155.  
  156.    Tan_task_list[11] = [
  157.     "任务011",
  158.     "帮方丈调查魔王城--相国寺镇山兽被黑暗魔力所控制,方丈命我前去调查是否魔王城出现异样",
  159.     [[0,0,2000],[5,0,1000],[2,151,1],[9,"声望值20点","$game_variables[6] += 20"]],
  160.     [],
  161.     [["s",293,true]],
  162.     0
  163.     ]
  164.  
  165.     Tan_task_list[12] = [
  166.     "任务012",
  167.     "杀怪任务--杀死5只蘑菇怪",
  168.     [[0,0,1500],[5,0,500],[9,"声望值10点","$game_variables[6] += 10"]],
  169.     [],
  170.     [["v",28,5]],
  171.     0
  172.    ]
  173.  
  174. end
  175.  
  176. class Game_Party < Game_Unit
  177.  
  178.   attr_reader :tan_task_state   #任务状态数组
  179.   attr_accessor :tan_task_enemy_kill_number   #记录杀敌数
  180.  
  181.   #--------------------------------------------------------------------------
  182.   # ● 初始化对象(alias重写)
  183.   #--------------------------------------------------------------------------
  184.   alias tan_task_game_party_init initialize
  185.   def initialize
  186.     tan_task_game_party_init
  187.     @tan_task_state = [0] * Tan_task::Tan_task_list.size
  188.     @tan_task_enemy_kill_number = {}
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # ● 判定任务是否可接取
  192.   #--------------------------------------------------------------------------
  193.   def can_accept_the_tan_task?(id)
  194.     return false if @tan_task_state[id] != 0
  195.     return true if Tan_task::Tan_task_list[id][3].size == 0
  196.     re = 0
  197.     Tan_task::Tan_task_list[id][3].each {|q|
  198.       case q[0]
  199.       when "l"#等级条件
  200.         re += 1 if leader.level <= q[2].to_i
  201.       when "i"#持有物品
  202.         re += 1 if item_number($data_items[q[1].to_i]) <= q[2].to_i
  203.       when "g"#金钱
  204.         re += 1 if gold <= q[2].to_i
  205.       when "q"#前置任务
  206.         re += 1 if @tan_task_state[q[2].to_i] != 2
  207.       when "s"#开关状态
  208.         re += 1 if $game_switches[q[1].to_i] != q[2]
  209.       when "v"#变量值是否等于指定值
  210.         re += 1 if $game_variables[q[1].to_i].to_s != q[2].to_s
  211.       end
  212.     }
  213.     return false if re != 0
  214.     return true
  215.   end
  216.   #--------------------------------------------------------------------------
  217.   # ● 接取任务
  218.   #--------------------------------------------------------------------------
  219.   def accept_the_tan_task(id)
  220.     @tan_task_state[id] = 1
  221.     Tan_task::Tan_task_list[id][4].each {|q|
  222.       case q[0]
  223.       when "e"#杀敌数
  224.         t = id.to_s + "_" + q[1].to_s
  225.         @tan_task_enemy_kill_number[t] = [q[1].to_i,0]
  226.       end
  227.     }
  228.   end
  229.   #--------------------------------------------------------------------------
  230.   # ● 完成任务
  231.   #--------------------------------------------------------------------------
  232.   def finish_the_tan_task(id)
  233.     @tan_task_state[id] = 2
  234.     Tan_task::Tan_task_list[id][4].each {|q|
  235.       case q[0]
  236.       when "e"#杀敌数
  237.         t = id.to_s + "_" + q[1].to_s
  238.         @tan_task_enemy_kill_number.delete(t)
  239.       end
  240.     }
  241.     Tan_task::Tan_task_list[id][2].each {|q|
  242.       case q[0]
  243.       when 0#奖励金钱
  244.         gain_gold(q[2].to_i)
  245.       when 1#奖励武器
  246.         gain_item($data_weapons[q[1].to_i], q[2].to_i)
  247.       when 2#奖励防具
  248.         gain_item($data_armors[q[1].to_i], q[2].to_i)
  249.       when 3#奖励物品
  250.         gain_item($data_items[q[1].to_i], q[2].to_i)
  251.       when 5#奖励经验值
  252.         members.each {|actor| actor.change_exp(actor.exp + q[2].to_i, q[1].to_i == 1)}
  253.       when 9#其他
  254.         eval(q[2])
  255.       end
  256.     }
  257.     @tan_task_state[id] = 0 if Tan_task::Tan_task_list[id][5] == 1
  258.   end
  259.   #--------------------------------------------------------------------------
  260.   # ● 判定任务是否可交付
  261.   #--------------------------------------------------------------------------
  262.   def can_finish_the_tan_task?(id)
  263.     return false if @tan_task_state[id] != 1
  264.     return true if Tan_task::Tan_task_list[id][4].size == 0
  265.     re = 0
  266.     Tan_task::Tan_task_list[id][4].each {|q|
  267.       case q[0]
  268.       when "l"#等级条件
  269.         re += 1 if leader.level <= q[2].to_i
  270.       when "i"#持有物品
  271.         re += 1 if item_number($data_items[q[1].to_i]) <= q[2].to_i
  272.       when "g"#金钱
  273.         re += 1 if gold <= q[2].to_i
  274.       when "q"#前置任务
  275.         re += 1 if @tan_task_state[q[2].to_i] != 2
  276.       when "s"#开关状态
  277.         re += 1 if $game_switches[q[1].to_i] != q[2]
  278.       when "v"#变量值是否等于指定值
  279.         re += 1 if $game_variables[q[1].to_i].to_s != q[2].to_s
  280.       when "e"#指定杀敌数
  281.         t = id.to_s + "_" + q[1].to_s
  282.         re += 1 if @tan_task_enemy_kill_number[t][1] < q[2].to_i
  283.       end
  284.     }
  285.     return false if re != 0
  286.     return true
  287.   end
  288. end
  289.  
  290. #记录杀敌数
  291. class Game_Troop < Game_Unit
  292.   #--------------------------------------------------------------------------
  293.   # ● 计算杀敌数
  294.   #--------------------------------------------------------------------------
  295.   def tan_task_kill_number
  296.     dead_members.each {|enemy|
  297.       $game_party.tan_task_enemy_kill_number.each_value{|knum| knum[1] += 1 if knum[0].to_i == enemy.enemy_id}
  298.     }
  299.   end
  300.   #--------------------------------------------------------------------------
  301.   # ● 生成物品数组(alias重写),将计算杀敌数的方法放到这里,在掉落物里计算杀敌数
  302.   #--------------------------------------------------------------------------
  303.   alias tan_task_game_troop_make_drop_items make_drop_items
  304.   def make_drop_items
  305.     tan_task_kill_number
  306.     return tan_task_game_troop_make_drop_items
  307.   end
  308. end

最佳答案

查看完整内容

杀一只怪一号变量+1

Lv4.逐梦者

梦石
0
星屑
19269
在线时间
3073 小时
注册时间
2013-1-11
帖子
1288
发表于 2019-1-12 19:17:04 | 显示全部楼层
杀一只怪一号变量+1
  1. class Game_Battler < Game_BattlerBase
  2.   alias qqeat_game_battler_die die
  3.   def die
  4.     qqeat_game_battler_die
  5.     if self.is_a?(Game_Enemy)
  6.       $game_variables[1] += 1
  7.     end
  8.   end
  9. end
复制代码

点评

冬冬哥 我不会啊 刚接触这个不久 现在脚本都是用的你们给的范本!嘿嘿!  发表于 2019-1-12 21:36
绘制变量啊  发表于 2019-1-12 20:24
冬冬大神 这个脚本有办法在菜单栏显示杀怪数吗?  发表于 2019-1-12 20:18
回复

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
9905
在线时间
5019 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

发表于 2019-1-12 20:07:53 | 显示全部楼层

点评

大神 这个脚本有办法在菜单栏显示杀怪数吗?  发表于 2019-1-12 20:25
大神 有没有那种可以菜单栏可以显示杀怪数的那种脚本!  发表于 2019-1-12 20:18
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1883
在线时间
157 小时
注册时间
2016-1-29
帖子
267
 楼主| 发表于 2019-1-12 20:17:44 | 显示全部楼层
我上面那个脚本 杀怪任务我领取就出现错误!
回复

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39440
在线时间
1914 小时
注册时间
2010-11-14
帖子
3315

R考场第七期纪念奖

发表于 2019-1-12 22:33:51 | 显示全部楼层
我怎么记得你去年问过一样的问题,也是关于杀怪数的。
当时不是给你解决了吗?

点评

KB哥 今天会不会来啊!  发表于 2019-1-13 13:40
求 KB哥帮我看下 脚本我放最上面了 !  发表于 2019-1-13 09:34
用头画头像,用脚写脚本
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1883
在线时间
157 小时
注册时间
2016-1-29
帖子
267
 楼主| 发表于 2019-1-12 23:13:38 手机端发表。 | 显示全部楼层
KB.Driver 发表于 2019-1-12 22:33
我怎么记得你去年问过一样的问题,也是关于杀怪数的。
当时不是给你解决了吗? ...


KB哥上回没解决呢  明天我在把那个脚本发你看看  麻烦了..一万个赞
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1883
在线时间
157 小时
注册时间
2016-1-29
帖子
267
 楼主| 发表于 2019-1-13 09:33:10 | 显示全部楼层
上面那个脚本我出现了错误!麻烦大神看看要怎么修复  其他的任务接取都能正常 就是打怪这个有问题!
QQ图片20190113093138.png
QQ图片20190113093144.png
QQ图片20190113093149.png
回复

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
6619
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

发表于 2019-1-13 15:23:54 | 显示全部楼层
本帖最后由 MCCF 于 2019-1-13 15:26 编辑

如果是Tan_task_list[12]这一行出现错误,那么就表明没有初始化数组。在最上面写上Tan_task_list=[]试试。
如果不是的话,请告诉我第282行到底是哪一行,把那附近的内容截图下来。

另,请不要一题多问这样子看起来很不方便并且对搜索也会很不方便,请另发一个帖子问。
祝好。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 01:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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