-1
import sys

def setup(core, actor, buff):
    core.skillModService.addSkillMod(actor, 'expertise_damage_all', 10)
    core.skillModService.addSkillMod(actor, 'expertise_action_all', 10)
    core.skillModService.addSkillMod(actor, 'movement_resist_snare', 100)
    core.skillModService.addSkillMod(actor, 'movement', 0.5)
    return

def removeBuff(core, actor, buff):
    core.skillModService.deductSkillMod(actor, 'expertise_damage_all', 10)
    core.skillModService.deductSkillMod(actor, 'expertise_action_all', 10)
    core.skillModService.deductSkillMod(actor, 'movement_resist_snare', 100)
    core.skillModService.deductSkillMod(actor, 'movement', 1)
    return

エラーが発生します:

File "scripts/buffs/of_charge_1.py", line 7, in setup
    core.skillModService.addSkillMod(actor, 'movement', 0.5)
TypeError: addSkillMod(): 3rd arg can't be coerced to int

メインコードのJavaでは、フロートに設定しています。そうしないと機能しないため、ここでは整数として設定しようとしていますが、整数にするために何をすべきかについて悩んでいます。

4

2 に答える 2

0

それだけじゃない...

a = 0.5
print int(a)
>>> 0
于 2013-11-05T05:17:48.583 に答える
0

あなたはそれをキャストしようとすることができます。

core.skillModService.addSkillMod(actor, 'movement', int(0.5))
于 2013-11-05T05:17:53.590 に答える