Advertisement
Guest User

Untitled

a guest
Jun 4th, 2016
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.52 KB | None | 0 0
  1. from Penguin.ClubPenguin import ClubPenguin
  2. from Penguin.Penguin import Penguin
  3. from Penguin.ClubPenguin import PenguinFactory
  4. cp = ClubPenguin()
  5. penguin = raw_input("WaffleBroski")
  6. server = raw_input("Sleet")
  7. formation = raw_input("Cube")
  8. class MyPenguin(Penguin):
  9.  
  10. def __init__(self, player):
  11. super(MyPenguin, self).__init__(player)
  12.  
  13. self.player = player
  14.  
  15. self.name = ''
  16. self.mixTarget = ''
  17.  
  18. self.offset_x = 0
  19. self.offset_y = 0
  20.  
  21. self.isHoldingNewspaper = False
  22. self.isHoldingBlueprint = False
  23.  
  24. self.addListener("sp", self.handleMove)
  25. self.addListener("se", self.handleEmote)
  26. self.addListener("sm", self.handleMessage)
  27. self.addListener("ss", self.handleSafeMessage)
  28. self.addListener("sj", self.handleJoke)
  29. self.addListener("sb", self.handleSnowball)
  30. self.addListener("sf", self.handleFrame)
  31. self.addListener("sa", self.handleAction)
  32. self.addListener("jr", self.handleJoinRoom)
  33. self.addListener("pbn",self.handlePlayerByName)
  34. self.addListener("bf", self.handleBf)
  35. self.addListener("rp", self.handleRp)
  36. self.addListener("e", self.handleError)
  37.  
  38. def handleMove(self, data):
  39. if data[3] == self.mixTarget:
  40. print self.name + ">> MOVED: " + data[4] + " " + data[5]
  41. self.sendPosition(int(data[4]) + self.offset_x, int(data[5]) + self.offset_y)
  42.  
  43. def handleEmote(self, data):
  44. if data[3] == self.mixTarget:
  45. print self.name + ">> SENT EMOTE: " + data[4]
  46. self.sendEmote(data[4])
  47.  
  48. def handleMessage(self, data):
  49. if data[3] == self.mixTarget:
  50. print self.name + ">> SENT MESSAGE: " + data[4]
  51. self.sendPhraseMessage(data[4]) # Doesn't work if penguin is not activated!
  52.  
  53. if data[4] == "blueprint" and self.isHoldingBlueprint == False:
  54. self.sendBlueprint()
  55. print "BOT >> SENT BLUEPRINT"
  56. self.isHoldingBlueprint = True
  57. self.isHoldingNewspaper = False
  58.  
  59. elif data[4] == "blueprint" and self.isHoldingBlueprint == True:
  60. self.joinRoom(912)
  61. self.joinRoom(self.currentRoomID)
  62. print "BOT >> RESTARTED"
  63. self.isHoldingBlueprint = False
  64.  
  65. if data[4] == "newspaper" and self.isHoldingNewspaper == False:
  66. self.sendNewspaper()
  67. print "BOT >> SENT NEWSPAPER"
  68. self.isHoldingNewspaper = True
  69. self.isHoldingBlueprint = False
  70.  
  71. elif data[4] == "newspaper" and self.isHoldingNewspaper == True:
  72. self.joinRoom(912)
  73. self.joinRoom(self.currentRoomID)
  74. print "BOT >> RESTARTED"
  75. self.isHoldingNewspaper = False
  76.  
  77.  
  78. def handleSafeMessage(self, data):
  79. if data[3] == self.mixTarget:
  80. print self.name + ">> SENT SAFE MESSAGE: " + data[4]
  81. self.sendSafeMessage(data[4])
  82.  
  83. def handleJoke(self, data):
  84. if data[3] == self.mixTarget:
  85. print self.name + ">> SENT JOKE: " + data[4]
  86. self.sendJoke(data[4])
  87.  
  88. def handleSnowball(self, data):
  89. if data[3] == self.mixTarget:
  90. print self.name + ">> SENT SNOWBALL: " + data[4] + " " + data[5]
  91. self.sendSnowball(data[4], data[5])
  92.  
  93. def handleFrame(self, data):
  94. if data[3] == self.mixTarget:
  95. print self.name + ">> SENT FRAME: " + data[4]
  96. self.sendFrame(data[4])
  97.  
  98. def handleAction(self, data):
  99. if data[3] == self.mixTarget:
  100. print self.name + ">> SENT ACTION: " + data[4]
  101. self.sendAction(data[4])
  102.  
  103. def handleJoinRoom(self, data):
  104. self.getPlayerInfoByName(self.name)
  105.  
  106. def handlePlayerByName(self, data):
  107. self.mixTarget = data[4]
  108. self.findBuddy(self.mixTarget)
  109.  
  110. def handleBf(self, data):
  111. if data[3] == '-1':
  112. print "[INFO] " +self.name + " is not on the server you choose."
  113. self.transport.loseConnection()
  114. exit()
  115.  
  116. print self.name + ">> JOINED ROOM: " + data[3]
  117. self.joinRoom(data[3])
  118. self.currentRoomID = data[3]
  119.  
  120. self.isHoldingBlueprint = False
  121. self.isHoldingNewspaper = False
  122.  
  123. def handleRp(self, data):
  124. if data[3] == self.mixTarget:
  125. self.findBuddy(self.mixTarget)
  126.  
  127. def handleError(self, data):
  128. if data[3] == "210" or data[3] == "212":
  129. print "BOT >> FAILED TO JOIN ROOM"
  130. self.findBuddy(self.mixTarget)
  131.  
  132. else:
  133. print "BOT >> ERROR: " + data[3]
  134.  
  135. '''Chat Commands'''
  136.  
  137. def sendBlueprint(self):
  138. self.send("%xt%s%t#rt%21%1%%")
  139. self.send("%xt%s%t#at%48952%2%1%")
  140.  
  141. def sendNewspaper(self):
  142. self.send("%xt%s%t#rt%26408%1%%")
  143. self.send("%xt%s%t#at%26408%1%1%")
  144.  
  145. class FollowBotFactory(PenguinFactory):
  146.  
  147. def __init__(self, target_penguin, offset_x=0, offset_y=0):
  148. self.offset_x = offset_x
  149. self.offset_y = offset_y
  150. self.target_penguin = target_penguin
  151. super(FollowBotFactory, self).__init__()
  152. # self.logger.debug("FollowBotFactory constructed")
  153.  
  154. def buildProtocol(self, addr):
  155. player = self.queue.pop()
  156.  
  157. penguin = MyPenguin(player)
  158.  
  159. penguin.name = self.target_penguin
  160. penguin.offset_x = self.offset_x
  161. penguin.offset_y = self.offset_y
  162.  
  163. return penguin
  164.  
  165.  
  166. cp = ClubPenguin()
  167.  
  168. accounts = ()
  169. for account in open("REMOVED FOR PASTEBIN", "r").read().split("\n"):
  170. if account!= "":
  171. accounts.append(dict({"username":account.split(":")[0], "password":account.split(":")[1]}))
  172. else:
  173. break
  174.  
  175.  
  176. cp.connect(username=("dixftbon"), password=("penguin88"), server=server, \
  177. factory=FollowBotFactory(penguin, 45,0))
  178.  
  179. cp.connect(username=("sqxduzip"), password="penguin88", server=server, \
  180. factory=FollowBotFactory(penguin, -45,0))
  181.  
  182. cp.connect(username=("gpvxgqie"), password=("penguin88"), server=server, \
  183. factory=FollowBotFactory(penguin, 45,45))
  184.  
  185. cp.connect(username=("lpnsulij"), password=("penguin88"), server=server, \
  186. factory=FollowBotFactory(penguin, 45,-45))
  187.  
  188. cp.connect(username=("vzyzucpp"), password=("penguin88"), server=server, \
  189. factory=FollowBotFactory(penguin, 0,45))
  190.  
  191. cp.connect(username=("hswyjexe"), password=("penguin88"), server=server, \
  192. factory=FollowBotFactory(penguin, 0,-45))
  193.  
  194. (username=("fbxlebfl"), password=("penguin88"), server=server, \
  195. factory=FollowBotFactory(penguin, -45,-45))
  196.  
  197. cp.connect(username=("xvxfvfwl"), password=("penguin88"), server=server, \
  198. factory=FollowBotFactory(penguin, -45,45))
  199.  
  200. cp.start()
  201.  
  202. elif formation.lower() == "cube":
  203. if len(accounts) < 8:
  204. 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))
  205. print "Formation not found. Try again!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement