幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3246|回复: 10

[已解决] 求个改名和恢复改名的脚本

[复制链接]

40

主题

190

帖子

1635

积分

⑥精研

●~  ●~   ●

积分
1635
发表于 2010-6-14 09:44:55 | 显示全部楼层 |阅读模式
比如事件1的名称是一个数字变量.to_s,当开关1打开,事件1的名字变成该数字变量的二分之一.to_s,当开关1关闭,事件1的名称自动变回原样。不用事件做,谢谢。
回复

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-14 09:53:35 | 显示全部楼层
在Game_Event的update中自己改吧,改法挺多的。。。
给事件 加一个 开关 检测状态的变量(初始化中添加) @switch_name = false
  1. if $XX开关
  2.   unless @switch_name
  3.         @name = @name.to_f / 2  # 整型变量用 to_i
  4.         @switch_name = true
  5.     end
  6. else
  7.   if @switch_name
  8.         @name = @name.to_f *2  # 整型变量用 to_i
  9.         @switch_name = false
  10.     end
  11. end
复制代码
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

40

主题

190

帖子

1635

积分

⑥精研

●~  ●~   ●

积分
1635
 楼主| 发表于 2010-6-17 15:32:12 | 显示全部楼层
引用第1楼secondsen于2010-06-14 09:53发表的  :
在Game_Event的update中自己改吧,改法挺多的。。。
给事件 加一个 开关 检测状态的变量(初始化中添加) @switch_name = false
[code]if $XX开关
  unless @switch_name
        @name = @name.to_f / 2  # 整型变量用 to_i
.......


谢谢,我有20个事件,比如1号事件的名字是:敌人1,1000,1000,60,
50
,80,43     其中50是敌人1的攻击力,我想做的效果是:当开关726打开,敌人1的攻击力减半变成25,当开关745打开,敌人20的攻击力减半。这样的话,开关 检测状态的变量需要定义多少个?

开关726~开关745分别对应1~20号敌人事件的攻击力减半开关
回复 支持 反对

使用道具 举报

40

主题

190

帖子

1635

积分

⑥精研

●~  ●~   ●

积分
1635
 楼主| 发表于 2010-6-17 16:13:00 | 显示全部楼层
也就是说,事件1的名字,当开关726打开,变成:敌人1,1000,1000,60,
25
,80,43    当开关726关闭,变成:敌人1,1000,1000,60,
50
,80,43
回复 支持 反对

使用道具 举报

40

主题

190

帖子

1635

积分

⑥精研

●~  ●~   ●

积分
1635
 楼主| 发表于 2010-6-18 09:33:37 | 显示全部楼层
我的方法是在公共事件里用条件开关并行处理:当条件开关726打开,data[4]减半,问题是:怎么在开关关闭后让data[3]复原呢?

name = $game_map.events[1].name
data = name.split(/,/)
data[4]=data[4].to_i/2
$game_map.events[1].name="敌人1"+","+data[
1].to_s+","+data[2].to_s+","+data[
3].to_s+","+data[4].to_s+","+data[
5].to_s+","+data[6].to_s
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-18 09:54:16 | 显示全部楼层
name = $game_map.events[1].name
data = name.split(/,/)

参看我的方法。。。把 name 换成 data[4]

$game_switches[id] 这个是开关

你完全可以吧编号 和 任务的编号关联起来
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

40

主题

190

帖子

1635

积分

⑥精研

●~  ●~   ●

积分
1635
 楼主| 发表于 2010-6-18 10:01:52 | 显示全部楼层
20个事件 + 20个开关的话,开关 检测状态的变量 需要定义20个吗?switch_name1,switch_name2   。。。。。switch_name20 ?
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-18 12:04:46 | 显示全部楼层
那个是实例变量。。。。不用定义的。。。就一个
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

40

主题

190

帖子

1635

积分

⑥精研

●~  ●~   ●

积分
1635
 楼主| 发表于 2010-6-18 12:52:04 | 显示全部楼层
  def update 下这么写对不对啊?比如1号事件的名字是: 敌人1,200   开关6打开data[1]就变成100,开关6关闭data[1]就变回200
    
     if $game_switches[6]
       name = $game_map.events[1].name
       data = name.split(/,/)
       unless @switch_name
         data[1] = data[1].to_i / 2  # 整型变量用 to_i
         $game_map.events[1].name="敌人1"+","+data[1].to_s
         @switch_name = true
       end
     else
       if @switch_name
         @name = @name.to_i * 2  # 整型变量用 to_i
         $game_map.events[1].name="敌人1"+","+data[1].to_s
         @switch_name = false
       end
     end

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-18 19:11:55 | 显示全部楼层
你都在写些什么、、、、
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-29 09:46 , Processed in 0.029417 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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