Skip to content
This repository has been archived by the owner on Aug 29, 2020. It is now read-only.

Commit

Permalink
Multiplayer cleft windmill fixes.
Browse files Browse the repository at this point in the history
  • Loading branch information
Hoikas committed Apr 17, 2011
1 parent 5814a2e commit c0d944c
Showing 1 changed file with 22 additions and 15 deletions.
37 changes: 22 additions & 15 deletions Python/clftWindmill.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ def OnServerInitComplete(self):
elif windmillLocked == 1:
respBrakeOnAtStart.run(self.key)

# register for notification of running SDL var changes
# register for notification of running SDL var changes
self.ageSDL.setNotify(self.key,stringSDLVarRunning.value,0.0)

# get initial SDL state
Expand Down Expand Up @@ -167,22 +167,29 @@ def OnSDLNotify(self,VARname,SDLname,playerID,tag):

self.ageSDL = PtGetAgeSDL()

#Avatar bugfix
if playerID == 0:
player = None
else:
key = PtGetAvatarKeyFromClientID(playerID)
player = key.getSceneObject()

if VARname == stringSDLVarLocked.value:
windmillLocked = self.ageSDL[stringSDLVarLocked.value][0]
PtDebugPrint("clftWindmill.OnSDLNotify():\t windmill locked ", windmillLocked)
if windmillLocked ==1 and windmillRunning == 0:
respBrakeOn.run(self.key,avatar=PtGetLocalAvatar())
respBrakeOn.run(self.key,avatar=player)
if windmillLocked == 1 and windmillRunning == 1:
PtDebugPrint("clftWindmill.OnSDLNotify: Both running and locked are 1, so stop windmill.")
stopGrinder = 1
respBrakeOn.run(self.key,avatar=PtGetLocalAvatar())
respBrakeOn.run(self.key,avatar=player)
#respStop.run(self.key,state='Stop',avatar=PtGetLocalAvatar())
#respLightsOnOff.run(self.key,state='Off',avatar=PtGetLocalAvatar())
#respImagerButtonLight.run(self.key,state='Off',avatar=PtGetLocalAvatar())
#windmillRunning = 0
#self.ageSDL[stringSDLVarRunning.value] = (windmillRunning,)
elif windmillLocked == 0 and windmillUnstuck == 1:
respBrakeOff.run(self.key,avatar=PtGetLocalAvatar())
respBrakeOff.run(self.key,avatar=player)
PtDebugPrint("clftWindmill.OnSDLNotify: Locked is 0 and windmillUnstuck is 1, run StartAtLoad.")
#respStartAtLoad.run(self.key,avatar=PtGetLocalAvatar())
#respLightsOnOff.run(self.key,state='On',avatar=PtGetLocalAvatar())
Expand All @@ -191,7 +198,7 @@ def OnSDLNotify(self,VARname,SDLname,playerID,tag):
#if boolTomahnaActive == 0:
#respImagerButtonLight.run(self.key,state='On',avatar=PtGetLocalAvatar())
elif windmillLocked == 0 and windmillUnstuck == 0:
respBrakeOff.run(self.key,avatar=PtGetLocalAvatar())
respBrakeOff.run(self.key,avatar=player)


def OnNotify(self,state,id,events):
Expand All @@ -205,33 +212,33 @@ def OnNotify(self,state,id,events):

if (id == clickLockStart.id and state):
if windmillLocked == 0:
respStart.run(self.key,state='Start',avatar=PtGetLocalAvatar())
respLightsOnOff.run(self.key,state='On',avatar=PtGetLocalAvatar())
respStart.run(self.key,state='Start',avatar=PtFindAvatar(events))
respLightsOnOff.run(self.key,state='On',avatar=PtFindAvatar(events))
respGrinderOn.run(self.key)
if boolTomahnaActive == 0:
respImagerButtonLight.run(self.key,state='On',avatar=PtGetLocalAvatar())
respImagerButtonLight.run(self.key,state='On',avatar=PtFindAvatar(events))
windmillRunning = 1
self.ageSDL[stringSDLVarRunning.value] = (windmillRunning,)
windmillUnstuck = 1
self.ageSDL[stringSDLVarUnstuck.value] = (windmillUnstuck,)
elif windmillLocked == 1:
respLockedCCW.run(self.key,avatar=PtGetLocalAvatar())
respLockedCCW.run(self.key,avatar=PtFindAvatar(events))

if (id == respBrakeOn.id):
if stopGrinder:
respGrinderOff.run(self.key)
stopGrinder = 0
respStop.run(self.key,state='Stop',avatar=PtGetLocalAvatar())
respLightsOnOff.run(self.key,state='Off',avatar=PtGetLocalAvatar())
respImagerButtonLight.run(self.key,state='Off',avatar=PtGetLocalAvatar())
respStop.run(self.key,state='Stop',avatar=PtFindAvatar(events))
respLightsOnOff.run(self.key,state='Off',avatar=PtFindAvatar(events))
respImagerButtonLight.run(self.key,state='Off',avatar=PtFindAvatar(events))
windmillRunning = 0
self.ageSDL[stringSDLVarRunning.value] = (windmillRunning,)

if (id == respBrakeOff.id):
if windmillRunning == 1:
respGrinderOn.run(self.key)
respStartAtLoad.run(self.key,avatar=PtGetLocalAvatar())
respLightsOnOff.run(self.key,state='On',avatar=PtGetLocalAvatar())
respStartAtLoad.run(self.key,avatar=PtFindAvatar(events))
respLightsOnOff.run(self.key,state='On',avatar=PtFindAvatar(events))
self.ageSDL[stringSDLVarRunning.value] = (windmillRunning,)
if boolTomahnaActive == 0:
respImagerButtonLight.run(self.key,state='On',avatar=PtGetLocalAvatar())
respImagerButtonLight.run(self.key,state='On',avatar=PtFindAvatar(events))

0 comments on commit c0d944c

Please sign in to comment.