Project1

标题: 【xp】再次出现同样问题,遇怪自动胜利(已附上工程) [打印本页]

作者: summer依恋    时间: 2011-12-21 20:34
标题: 【xp】再次出现同样问题,遇怪自动胜利(已附上工程)
本帖最后由 summer依恋 于 2011-12-22 11:15 编辑

尴尬,上次关于这个问题提过一次,我把怪行为“什么也不做”删了就好了,今天用到其它怪物才知道我天真了。。。。
试了几个怪,开始的幽灵由于早前删除行为”什么也不做解决了,后2个无论怎样遇到敌人还是会自动胜利,看下图对比
这是工程:http://115.com/file/cl0trnaf#(今天又试了n次,最后把data里的文件全部复制到了工程里,发现遇敌会自动胜利或者说叫自动逃跑<因为连怪物都看不见,结束后没钱没经验>,所以问题应该在data里,奈何我找不出来,工程里有区域遇敌脚本,2个区域我都打上了标记,上面的区域是幽灵,不会自动胜利;下面的区域会自动胜利,各位自己试就知道了)
这是幽灵队伍,遇怪不会自动胜利

这是121队伍,遇怪自动胜利

单独的幽灵图
蛇女图
多特图

额,难办,不知道哪里出了问题,请各位帮忙看看dsu_plus_rewardpost_czw
作者: 小白玩家    时间: 2011-12-21 20:44
把队伍1复制到队伍2试试
作者: summer依恋    时间: 2011-12-21 20:54
小白玩家 发表于 2011-12-21 20:44
把队伍1复制到队伍2试试

什么意思,没懂哦
作者: 小白玩家    时间: 2011-12-21 20:57
本帖最后由 小白玩家 于 2011-12-21 21:11 编辑
summer依恋 发表于 2011-12-21 20:54
什么意思,没懂哦


队伍1是幽灵,你自己说不是可以正常战斗吗,你把整个队1复制到队伍2,不会吗?
如果是能正常战斗,不就可以了

你不试怎么知道,是队伍设置问题还是,脚本里设定问题啊,不试试就知道根问题根问题什么的,
谁知道你什么问题,
工程也不发
作者: Ceopal    时间: 2011-12-21 21:20
新建工程,复制你要的幽灵什么的敌人队伍,再打开你的游戏工程,去敌人队伍那里粘贴,搞定
默认的是OK的,如果不是的话,重装XP
作者: summer依恋    时间: 2011-12-21 21:27
小白玩家 发表于 2011-12-21 20:57
队伍1是幽灵,你自己说不是可以正常战斗吗,你把整个队1复制到队伍2,不会吗?
如果是能正常战斗,不就可 ...

试过了,还是一样自动胜利
作者: 阿尔西斯的马甲    时间: 2011-12-21 21:27
求工程。
跑题:我还是新手的时候貌似见过LZ。。。
作者: 钢铁列兵    时间: 2011-12-21 21:27
关键是你更改或添加脚本没有?
这个不说清楚很难解决
作者: summer依恋    时间: 2011-12-21 21:51
刚新建了一个工程,把全部脚本复制上,又试了一次,结果发现正常了
那是不是说明脚本没有问题。。。
作者: summer依恋    时间: 2011-12-21 21:58
Script.rxdata就是复制的这个
应该没有什么怪东西吧
要不要全截个图
作者: summer依恋    时间: 2011-12-21 22:02
summer依恋 发表于 2011-12-21 21:58
Script.rxdata就是复制的这个
应该没有什么怪东西吧
要不要全截个图

5555,可是工程没问题,发工程有用吗
作者: summer依恋    时间: 2011-12-21 22:27
对了,只要是自动胜利的战斗后都没有 金钱和经验 本身设置是有的
作者: summer依恋    时间: 2011-12-21 22:54
再次发现了
是一个脚本的问题,可奇异的是,在我的原本里,加上它就会出错
但在新建的工程里,我把所有的脚本都复制过去了,没有少任何一个却不会出错
这次真的晕了,下面是哪个脚本
<=begin

■ 区域遇敌-脚本版 By 茄子
联系QQ 9244579

轻松设置某个区域遇敌的敌人ID
在每个地图上放一个并行事件
事件内容为脚本(也就是设置该地图的敌人)
如:
Control_Enemys::RANGS = [
[1,[0,3],[0,3]],
数据分别为
[数据库里敌人队伍1,[起始X坐标0,目的X坐标3],[起始Y坐标0,目的Y坐标3]]
==>该敌人ID=1)<== ================>该敌人遇到的范围<=============
该ID是数据库中队伍的ID,不是敌人的ID。
遇敌概率还是在地图上设置
如果不需要区域遇敌,类型 0 = 单独区域遇敌, 1 = 区域遇敌+普通遇敌 , 2 = 普通遇敌
普通遇敌遇到的就是你原来在地图上设置的敌人了。
Control_Enemys::TYPE = 2
]
设置完后在最后需要设置现在地图原来的敌人编号
如:
原来地图设置敌人两个编号为 1 2 都是幽灵
Control_Enemys::OLD_ENEMYS = [1,2] 这样以便返回以前的敌人。

=end
module Control_Enemys
OLD_ENEMYS = [1,2]
RANGS = [
[1,[0,3],[0,3]],
[4,[16,19],[0,3]]
]
TYPE = 0
end
class Game_Player
attr_writer :encounter_count
end
class Game_Map
attr_writer :encounter_list
end
class Scene_Map
def update
loop do
$game_map.update
$game_system.map_interpreter.update
$game_player.update
$game_system.update
$game_screen.update
unless $game_temp.player_transferring
break
end
transfer_player
if $game_temp.transition_processing
break
end
end
@spriteset.update
@message_window.update
if $game_temp.gameover
$scene = Scene_Gameover.new
return
end
if $game_temp.to_title
$scene = Scene_Title.new
return
end
if $game_temp.transition_processing
$game_temp.transition_processing = false
if $game_temp.transition_name == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$game_temp.transition_name)
end
end
if $game_temp.message_window_showing
return
end
if Control_Enemys::TYPE == 1
if $game_player.encounter_count == 0 and Control_Enemys::OLD_ENEMYS != []
unless $game_system.map_interpreter.running? or
$game_system.encounter_disabled
n = rand(Control_Enemys::OLD_ENEMYS.size)
troop_id = Control_Enemys::OLD_ENEMYS[n]
if $data_troops[troop_id] != nil
$game_temp.battle_calling = true
$game_temp.battle_troop_id = troop_id
$game_temp.battle_can_escape = true
$game_temp.battle_can_lose = false
$game_temp.battle_proc = nil
end
end
end
end
else
for i in Control_Enemys::RANGS
if $game_player.x >= i[1][0] and $game_player.x <= i[1][1] and
$game_player.y >= i[2][0] and $game_player.y <= i[2][1]
if $game_player.encounter_count == 0 and i[0] != []
unless $game_system.map_interpreter.running? or
$game_system.encounter_disabled
enemys = []
enemys.push(i[0])
n = rand(enemys.size)
troop_id = enemys[n]
if $data_troops[troop_id] != nil
$game_temp.battle_calling = true
$game_temp.battle_troop_id = troop_id
$game_temp.battle_can_escape = true
$game_temp.battle_can_lose = false
$game_temp.battle_proc = nil
end
end
end
end
end
if Control_Enemys::TYPE == 2
if $game_player.encounter_count == 0 and $game_map.encounter_list != []
unless $game_system.map_interpreter.running? or
$game_system.encounter_disabled
n = rand($game_map.encounter_list.size)
troop_id = $game_map.encounter_list[n]
if $data_troops[troop_id] != nil
$game_temp.battle_calling = true
$game_temp.battle_troop_id = troop_id
$game_temp.battle_can_escape = true
$game_temp.battle_can_lose = false
$game_temp.battle_proc = nil
end
end
end
end
if Input.trigger?(Input::B)
unless $game_system.map_interpreter.running? or
$game_system.menu_disabled
$game_temp.menu_calling = true
$game_temp.menu_beep = true
end
end
if $DEBUG and Input.press?(Input::F9)
$game_temp.debug_calling = true
end
unless $game_player.moving?
if $game_temp.battle_calling
call_battle
elsif $game_temp.shop_calling
call_shop
elsif $game_temp.name_calling
call_name
elsif $game_temp.menu_calling
call_menu
elsif $game_temp.save_calling
call_save
elsif $game_temp.debug_calling
call_debug
end
end
end
end>
作者: 小白玩家    时间: 2011-12-22 11:38
本帖最后由 小白玩家 于 2011-12-22 11:43 编辑

测试过了,你是不会用区域遇敌脚本,5号队伍人都没有当然自动胜利了
修改后的工程
http://115.com/file/cl1hxb9b#
Project1(1).rar
作者: summer依恋    时间: 2011-12-22 11:48
小白玩家 发表于 2011-12-22 11:38
测试过了,你是不会用区域遇敌脚本,5号队伍人都没有当然自动胜利了
修改后的工程
http://115.com ...

这是原工程的5号敌人

作者: 钢铁列兵    时间: 2011-12-22 11:49
看了一下,添加的脚本蛮多的,rtab系列的
不过我随便新建一个怪物,用主角打了半天都没出现你说的情况啊!
作者: 小白玩家    时间: 2011-12-22 11:50
summer依恋 发表于 2011-12-22 11:48
这是原工程的5号敌人

你先试试我传的工程可以不,试完再继续讨论
作者: summer依恋    时间: 2011-12-22 12:03
本帖最后由 summer依恋 于 2011-12-22 12:08 编辑

问题解决了,出在“区域遇敌”脚本的事件上,看下图

开始我同样复制的这个事件,原工程出现战斗自动胜利,刚才我又去“区域遇敌”的工程里复制了这个事件,结果居然不会自动胜利了。。。
但奇异的是,原工程里的data我全部复制到了我上传的工程里,包括这个事件,都是原工程里的,但居然不会自动胜利,而原工程则会自动胜利
2:为啥幽灵不管怎么都不会自动胜利,而其它怪物则会
但不管怎样,眼下算是暂时解决了,感谢 小白玩家 的提醒,也感谢楼上各位的帮助
我有种感觉,这个事情不会就这么结束
作者: 阿尔西斯的马甲    时间: 2011-12-22 14:08
@各种压力的猫君请看LZ的连贴数目




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1