I am sorry, but I can’t understand what exactly the problem description is. Can you maybe wrap this game up and provide a download somewhere. Maybe I find something when running it myself.
A random guess would be that you mixed up something when setting up collision masks.
There are have two contarTest function, They are in the game.py and ku_fei.py. Function contartTest in the game.py call contartTest in the ku_fei.py.
def contartTest(self):
result = base.world.contactTest(self.BulletBody)
for contact in result.getContacts():
# 如果碰到身体
# Body collide each other
if contact.getNode1().getName()[:4]=="Body":
self.request('Bodycollide')
# 碰到的不是自己
# Body collide hand and the hand not own.
elif contact.getNode1().getName()[:4]=="Hand" and contact.getNode1().getName()[7:9]!=self.name:
self.request('Beaten')