Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from Penguin.ClubPenguin import ClubPenguin
- from Penguin.Penguin import Penguin
- from Penguin.ClubPenguin import PenguinFactory
- cp = ClubPenguin()
- penguin = raw_input("WaffleBroski")
- server = raw_input("Sleet")
- formation = raw_input("Cube")
- class MyPenguin(Penguin):
- def __init__(self, player):
- super(MyPenguin, self).__init__(player)
- self.player = player
- self.name = ''
- self.mixTarget = ''
- self.offset_x = 0
- self.offset_y = 0
- self.isHoldingNewspaper = False
- self.isHoldingBlueprint = False
- self.addListener("sp", self.handleMove)
- self.addListener("se", self.handleEmote)
- self.addListener("sm", self.handleMessage)
- self.addListener("ss", self.handleSafeMessage)
- self.addListener("sj", self.handleJoke)
- self.addListener("sb", self.handleSnowball)
- self.addListener("sf", self.handleFrame)
- self.addListener("sa", self.handleAction)
- self.addListener("jr", self.handleJoinRoom)
- self.addListener("pbn",self.handlePlayerByName)
- self.addListener("bf", self.handleBf)
- self.addListener("rp", self.handleRp)
- self.addListener("e", self.handleError)
- def handleMove(self, data):
- if data[3] == self.mixTarget:
- print self.name + ">> MOVED: " + data[4] + " " + data[5]
- self.sendPosition(int(data[4]) + self.offset_x, int(data[5]) + self.offset_y)
- def handleEmote(self, data):
- if data[3] == self.mixTarget:
- print self.name + ">> SENT EMOTE: " + data[4]
- self.sendEmote(data[4])
- def handleMessage(self, data):
- if data[3] == self.mixTarget:
- print self.name + ">> SENT MESSAGE: " + data[4]
- self.sendPhraseMessage(data[4]) # Doesn't work if penguin is not activated!
- if data[4] == "blueprint" and self.isHoldingBlueprint == False:
- self.sendBlueprint()
- print "BOT >> SENT BLUEPRINT"
- self.isHoldingBlueprint = True
- self.isHoldingNewspaper = False
- elif data[4] == "blueprint" and self.isHoldingBlueprint == True:
- self.joinRoom(912)
- self.joinRoom(self.currentRoomID)
- print "BOT >> RESTARTED"
- self.isHoldingBlueprint = False
- if data[4] == "newspaper" and self.isHoldingNewspaper == False:
- self.sendNewspaper()
- print "BOT >> SENT NEWSPAPER"
- self.isHoldingNewspaper = True
- self.isHoldingBlueprint = False
- elif data[4] == "newspaper" and self.isHoldingNewspaper == True:
- self.joinRoom(912)
- self.joinRoom(self.currentRoomID)
- print "BOT >> RESTARTED"
- self.isHoldingNewspaper = False
- def handleSafeMessage(self, data):
- if data[3] == self.mixTarget:
- print self.name + ">> SENT SAFE MESSAGE: " + data[4]
- self.sendSafeMessage(data[4])
- def handleJoke(self, data):
- if data[3] == self.mixTarget:
- print self.name + ">> SENT JOKE: " + data[4]
- self.sendJoke(data[4])
- def handleSnowball(self, data):
- if data[3] == self.mixTarget:
- print self.name + ">> SENT SNOWBALL: " + data[4] + " " + data[5]
- self.sendSnowball(data[4], data[5])
- def handleFrame(self, data):
- if data[3] == self.mixTarget:
- print self.name + ">> SENT FRAME: " + data[4]
- self.sendFrame(data[4])
- def handleAction(self, data):
- if data[3] == self.mixTarget:
- print self.name + ">> SENT ACTION: " + data[4]
- self.sendAction(data[4])
- def handleJoinRoom(self, data):
- self.getPlayerInfoByName(self.name)
- def handlePlayerByName(self, data):
- self.mixTarget = data[4]
- self.findBuddy(self.mixTarget)
- def handleBf(self, data):
- if data[3] == '-1':
- print "[INFO] " +self.name + " is not on the server you choose."
- self.transport.loseConnection()
- exit()
- print self.name + ">> JOINED ROOM: " + data[3]
- self.joinRoom(data[3])
- self.currentRoomID = data[3]
- self.isHoldingBlueprint = False
- self.isHoldingNewspaper = False
- def handleRp(self, data):
- if data[3] == self.mixTarget:
- self.findBuddy(self.mixTarget)
- def handleError(self, data):
- if data[3] == "210" or data[3] == "212":
- print "BOT >> FAILED TO JOIN ROOM"
- self.findBuddy(self.mixTarget)
- else:
- print "BOT >> ERROR: " + data[3]
- '''Chat Commands'''
- def sendBlueprint(self):
- self.send("%xt%s%t#rt%21%1%%")
- self.send("%xt%s%t#at%48952%2%1%")
- def sendNewspaper(self):
- self.send("%xt%s%t#rt%26408%1%%")
- self.send("%xt%s%t#at%26408%1%1%")
- class FollowBotFactory(PenguinFactory):
- def __init__(self, target_penguin, offset_x=0, offset_y=0):
- self.offset_x = offset_x
- self.offset_y = offset_y
- self.target_penguin = target_penguin
- super(FollowBotFactory, self).__init__()
- # self.logger.debug("FollowBotFactory constructed")
- def buildProtocol(self, addr):
- player = self.queue.pop()
- penguin = MyPenguin(player)
- penguin.name = self.target_penguin
- penguin.offset_x = self.offset_x
- penguin.offset_y = self.offset_y
- return penguin
- cp = ClubPenguin()
- accounts = ()
- for account in open("REMOVED FOR PASTEBIN", "r").read().split("\n"):
- if account!= "":
- accounts.append(dict({"username":account.split(":")[0], "password":account.split(":")[1]}))
- else:
- break
- cp.connect(username=("dixftbon"), password=("penguin88"), server=server, \
- factory=FollowBotFactory(penguin, 45,0))
- cp.connect(username=("sqxduzip"), password="penguin88", server=server, \
- factory=FollowBotFactory(penguin, -45,0))
- cp.connect(username=("gpvxgqie"), password=("penguin88"), server=server, \
- factory=FollowBotFactory(penguin, 45,45))
- cp.connect(username=("lpnsulij"), password=("penguin88"), server=server, \
- factory=FollowBotFactory(penguin, 45,-45))
- cp.connect(username=("vzyzucpp"), password=("penguin88"), server=server, \
- factory=FollowBotFactory(penguin, 0,45))
- cp.connect(username=("hswyjexe"), password=("penguin88"), server=server, \
- factory=FollowBotFactory(penguin, 0,-45))
- (username=("fbxlebfl"), password=("penguin88"), server=server, \
- factory=FollowBotFactory(penguin, -45,-45))
- cp.connect(username=("xvxfvfwl"), password=("penguin88"), server=server, \
- factory=FollowBotFactory(penguin, -45,45))
- cp.start()
- elif formation.lower() == "cube":
- if len(accounts) < 8:
- print "You do not have enough penguins in the Accounts.txt file to use this formation, you will need 8 penguins; you have " + str(len(accounts))
- print "Formation not found. Try again!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement