Exemplo n.º 1
0
 def __init__(self):
     ui.ScriptWindow.__init__(self)
     self.Show()
     self.path = list()
     self.currDestinationX = 0
     self.currDestinationY = 0
     self.state = STATE_STOPPED
     self.stoppedTimer = OpenLib.GetTime()
     self.lastPlayerPos = (0, 0)
     self.maxDistanceToDest = 50
     #self.lastMoveX,lastMoveY = (0,0)
     self.generalTimer = 0
Exemplo n.º 2
0
 def GoToPositionAvoidingObjects(self, x, y, maxDist=250, callback=None):
     self.maxDistanceToDest = maxDist
     self.callback = callback
     if (round(x) != round(self.currDestinationX)
             or round(y) != round(self.currDestinationY)):
         my_x, my_y, z = player.GetMainCharacterPosition()
         self.path = net_packet.FindPath(my_x, my_y, x, y)
         if (len(self.path) > 0):
             self.currDestinationX = x
             self.currDestinationY = y
             self.state = STATE_MOVING
             self.stoppedTimer = OpenLib.GetTime()
             return MOVING
         else:
             self.state = STATE_STOPPED
             self.currDestinationX = 0
             self.currDestinationY = 0
             return NO_PATH_FOUND
     else:
         if (self.state == STATE_FINISH):
             self.state = STATE_STOPPED
             return DESTINATION_REACHED
     return None
Exemplo n.º 3
0
    def OnUpdate(self):
        val, self.lastTime = OpenLib.timeSleep(self.lastTime, 0.1)
        if (val and self.enableButton.isOn and OpenLib.IsInGamePhase()):
            if self.state == self.STATE_WAITING:
                valWaitState, self.lastTimeWaitState = OpenLib.timeSleep(
                    self.lastTimeWaitState,
                    self.WaitDelaySlider.GetSliderPos() * 10)
                if valWaitState:
                    if self.CheckInv() == False:
                        return
                    net_packet.SendStartFishing(2)
                    chat.AppendChat(
                        3, "[Fishing-Bot] Using bait, and start fishing")
                    self.SetState(self.STATE_FISHING)
                    self.lastTimeFishState = OpenLib.GetTime()
                    self.isRodDown = True
                    self.isMoving = False

            if self.state == self.STATE_FISHING:
                valFishState, self.lastTimeFishState = OpenLib.timeSleep(
                    self.lastTimeFishState,
                    self.StartStopDelaySlider.GetSliderPos() * 10)
                if valFishState:
                    chat.AppendChat(3, "[Fishing-Bot] Pulling Rod")
                    net_packet.SendStopFishing(
                        net_packet.SUCCESS_FISHING,
                        self.ServerDelaySlider.GetSliderPos() * 10)
                    self.lastTimeWaitState = OpenLib.GetTime()
                    self.SetState(self.STATE_WAITING)
                    self.isRodDown = False

            if self.state == self.STATE_GOING_TO_SHOP:
                #The callback will take care of leaving the state
                pass

            if self.state == self.STATE_IMPROVING_ROD:
                val, self.lastTimeImprove = OpenLib.timeSleep(
                    self.lastTimeImprove, 0.5)
                if not val:
                    return

                self.LevelUpRod()

        if self.state == self.STATE_PLACE_FIRE:
            val, self.lastTimeFire = OpenLib.timeSleep(self.lastTimeFire, 0.2)
            if not val:
                return
            for vid in net_packet.InstancesList:
                chr.SelectInstance(vid)
                race = chr.GetRace()
                if race == self.campFireRace:
                    self.GrillFishes(vid)
                    if self.enableButton.isOn:
                        Movement.GoToPositionAvoidingObjects(
                            self.startPosition[0],
                            self.startPosition[1],
                            callback=_PositionRestoreCallback,
                            maxDist=250)
                        self.SetState(self.STATE_GOING_TO_SHOP)
                    else:
                        self.SetState(self.STATE_WAITING)