GEE让怪物暴率不受人物暴率加成的影响

RexueVIP 2022/03/03 21:18:44 150

让怪物暴率文件中的物品一部分受人物暴率加成的影响,一部分不受人物暴率加成的影响。这个没有直接设置的办法,但可以通过脚本实现

方法如下:
一、在QF中插入以下脚本段:
[@KillMon]
#IF
NOT CheckContainsTextList 自定义爆率\<$KillMonName>.txt BEGIN===
#ACT
AddTextListEx 自定义爆率\<$KillMonName>.txt BEGIN===

#IF
NOT CheckContainsTextList 自定义爆率\<$KillMonName>.txt END===
#ACT
WRITELINE 自定义爆率\<$KillMonName>.txt 1000 END===

#IF
GetStringPosEX 自定义爆率\<$KillMonName>.txt BEGIN=== N$起始行 S$内容
GetStringPosEX 自定义爆率\<$KillMonName>.txt END=== N$结束行 S$内容
#ACT
DEC N$结束行 <$STR(N$起始行)>
DEC N$结束行 1

#IF
LARGE N$结束行 0
#ACT
INC N$起始行 2
LOOPGOTO @爆出 <$STR(N$结束行)>

[@爆出]
#IF
#ACT
GetRandomText 自定义爆率\<$KillMonName>.txt S$内容 <$STR(N$起始行)>
INC N$起始行 1

#IF
EQUAL <$STR(S$内容)> ""
#ACT
BREAK
#ELSEACT
MOV S$概率 ""
MOV S$概率1 ""
MOV S$概率2 ""
MOV S$物品 ""
MOV S$数量 ""
EXTRACTSTRING " " <$STR(S$内容)> S$概率 S$物品 S$数量
EXTRACTSTRING "/" <$STR(S$概率)> S$概率1 S$概率2

#IF
EQUAL <$STR(S$数量)> ""
#ACT
MOV S$数量 "1"

#IF
EQUAL <$STR(S$物品)> "金币"
RANDOMEX <$STR(S$概率1)> <$STR(S$概率2)>
#ACT
GIVE 金币 <$STR(S$数量)>
BREAK

#IF
RANDOMEX <$STR(S$概率1)> <$STR(S$概率2)>
#ACT
MonDropItems <$KillMonName> <$STR(S$物品)> <$STR(S$数量)>

二、把怪物不想让人物加成的暴率文件放到:MirServer\Mir200\Envir\Market_def\自定义爆率   文件夹下面,注意格式只能是旧格式,比如:
稻草人.txt
1/100    布衣(男)
1/100    布衣(女)
1/200    木剑
1/30     金币 1000
1/600    匕首
1/600    乌木剑
1/600    金项链
1/600    古铜戒指
1/600    铁手镯
1/600    传统项链

那么稻草人将会有两个暴率文件,其中原来的那个暴率文件里面的物品受人物暴率加在的影响,而这个目录下的文件里的物品则不受人物暴率加成的影响。

返回