2014-06-23 70 views
1

我目前正在为现在关闭的迪斯尼服务器的私人服务器上工作,但是每当我的客户端抛出一个馅饼它崩溃,并给我这个错误。Python Toontown抛馅饼错误

File "toontown\toon\Toon.py", line 3029, in getTossPieInterval 
    endPos=Point3(0, dist, 0), duration=time) 
TypeError: __init__() got an unexpected keyword argument 'startPos' 
Press any key to continue . . . 

这是打破

def getTossPieInterval(self, x, y, z, h, power, throwType, beginFlyIval = Sequence()): 
    from toontown.toonbase import ToontownBattleGlobals 
    from toontown.battle import BattleProps 
    pie = self.getPieModel() 
    flyPie = pie.copyTo(NodePath('a')) 
    pieName = ToontownBattleGlobals.pieNames[self.pieType] 
    pieType = BattleProps.globalPropPool.getPropType(pieName) 
    animPie = Sequence() 
    if pieType == 'actor': 
     animPie = ActorInterval(pie, pieName, startFrame=48) 
    sound = loader.loadSfx('phase_3.5/audio/sfx/AA_pie_throw_only.ogg') 
    if throwType == ToontownGlobals.PieThrowArc: 
     t = power/100.0 
     dist = 100 - 70 * t 
     time = 1 + 0.5 * t 
     proj = ProjectileInterval(None, startPos=Point3(0, 0, 0), 
            endPos=Point3(0, dist, 0), duration=time) 
     relVel = proj.startVel 
    elif throwType == ToontownGlobals.PieThrowLinear: 
     magnitude = power/2. + 25 

     relVel = Vec3(0, 1, 0.25) 
     relVel.normalize() 
     relVel *= magnitude 

    def getVelocity(toon = self, relVel = relVel): 
     return render.getRelativeVector(toon, relVel) 

    toss = Track((0, Sequence(Func(self.setPosHpr, x, y, z, h, 0, 0), Func(pie.reparentTo, self.rightHand), Func(pie.setPosHpr, 0, 0, 0, 0, 0, 0), Parallel(ActorInterval(self, 'throw', startFrame=48), animPie), Func(self.loop, 'neutral'))), (16.0/24.0, Func(pie.detachNode))) 
    fly = Track((14.0/24.0, SoundInterval(sound, node=self)), (16.0/24.0, Sequence(Func(flyPie.reparentTo, render), Func(flyPie.setScale, self.pieScale), Func(flyPie.setPosHpr, self, 0.52, 0.97, 2.24, 89.42, -10.56, 87.94), beginFlyIval, ProjectileInterval(flyPie, startVel=getVelocity, duration=3), Func(flyPie.detachNode)))) 
    return (toss, fly, flyPie) 
+0

你可以显示你的异常的完整回溯?异常似乎是引用你的调用'ProjectileInterval(None,startPos = Point3(0,0,0),endPos = Point3(0,dist,0),duration = time)''。 “ProjectileInterval”课程来自哪里? – Blckknght

+0

我不知道,大声笑 – user3765978

回答

1

我不熟悉这个服务器,或者您使用该库的代码,但错误意味着ProjectileInterval构造不希望startPos关键字论据。如果您有该代码的源代码或文档,请仔细检查它所期望的参数。

+0

我很困惑。大声笑 – user3765978

-1

它与panda3d。由于某种原因,它不能识别ProjectileInterval args。如果你想,有些东西可以用LerpPosInterval来改变,但是,因为这使用了Velocity arg,所以LerpPosInterval将不起作用。也许尝试定义toon.py的init中的参数,我不确定这会起作用,但它可能会起作用。