Ich hab den Code. Aber wie ichs machen soll kp!

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DaDonna
User
Beiträge: 4
Registriert: Donnerstag 13. November 2008, 17:41

Also, ich hab diesen Code i-wie bekommen.
ich hab auch Python runtergeladen.
Aber wie ich aus dem Code eine Python "programm" mach, hab ich keine ahnung.

ich hoffe ihr könnt mir helfen.
villt macht ihr mirs sogar!?!

(ich weiß auch nicht wann der code losgeht.
das müsstet doch ihr am betsen wissen :D)

Code: Alles auswählen

#! /usr/bin/python

# (c) by evil in 2008
# there-is-an@evil-monkey-in-my-closet.com

"""
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
"""

import twill,re,time
from twill.commands import *


PENNERNAME="<von Gerold entfernt>"
PASSWORT="<von Gerold entfernt>"

MAX_POINTS=200

SKIP_PETS=['Elefant','Tiger','Nashorn','Krokodil']

redirect_output('ptp.log')


class session:
   def __init__(self):
      # goto pennergame
      self.b=twill.get_browser()
      self.b.go("http://pennergame.de")

      # login
      fv(1,"username",PENNERNAME)
      fv(1,"password",PASSWORT)
      self.b.submit()

      self.kick=[]
   
   def action(self,n):
      # go to pet fights
      l=self.b.find_link('tierk')
      self.b.follow_link(l)
      
      lstr='/fight/pet/'+str(n)+'/'
      l=self.b.find_link(lstr)
      self.b.follow_link(l)
      
      links=[]
      l=showlinks()
      for a in l:
         links.append(a)

      # setting up 20 link-grous
      link_groups=[]
      for x in range(0,links.__len__()):
         tmp=[]
         # looking for 'javascript:;'
         link_str=str(links[x])   
         o=re.compile('javascript')
         e=o.findall(link_str)
         if e:
            link_str=str(links[x+1])   
            o=re.compile('selbsterstelltes')
            e=o.findall(link_str)
            if e:
               tmp.append(links[x:x+4])
               x+=4
            else:
               tmp.append(links[x:x+3])
               x+=3
         
            link_groups.append(tmp)
      n=2
      for l in link_groups:
         profil,pet,points,von=self.analyze(l[0])
         if pet not in SKIP_PETS and points < MAX_POINTS and profil not in self.kick:
            print "fight %s with %i -> # %s"%(pet,points,profil)
            fv(n,"einsatz",str(von))
            self.b.submit()
            #check for success
            text=self.b.get_html()
            o1=re.compile('Die Herausforderung wurde abgeschickt!')
            o2=re.compile('Das Passwort f.+r die Herausforderung ist falsch!')
            o3=re.compile('Es l.+uft bereits eine Herausforderung zwischen euch.')
            e1=o1.findall(text)
            e2=o2.findall(text)
            e3=o3.findall(text)
            if e1:
               print e1[0]
            elif e2:
               print e2[0]
            elif e3:
               print e3[0]
            else:
               pass#self.b.reload()
            self.kick.append(profil)
            self.b.back()
            #self.b.reload()
            #self.action()
         n+=1
            

   def analyze(self,link):
      if link.__len__()==3:
         link_str=str(link[0])
         o=re.compile('text=\'(.*) vom')
         e=o.findall(link_str)
         pet = e[0]
      else:   
         link_str=str(link[1])
         o=re.compile('text=\'\[(.*)\] Bei')
         e=o.findall(link_str)
         pet =e[0]
      link_str=str(link[0])
      o=re.compile('Kampfpunkte: (\d+)')
      e=o.findall(link_str)
      points = e[0]

      o=re.compile('xac(\d+)\.00-')
      e=o.findall(link_str)
      von = e[0]

      link_str=str(link[-1])
      o=re.compile('profil/(\d+)/\',')
      e=o.findall(link_str)
      profil = e[0]

      return (profil,pet,int(points),int(von))
s=session()
n=1
while 1:
   print "new action page "+str(n)
   s.action(n)
   n+=1

EDIT by gerold: Benutzername und Passwort aus dem Skript entfernt

.
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Einfach ausführen

python.exe name.py
DaDonna
User
Beiträge: 4
Registriert: Donnerstag 13. November 2008, 17:41

Bitte kopier einfach den Teil des obrigen codes, den ich wo einfügen muss.
Und schreib auch wie genau.
ich hab nähmlch kein plan.

denn wenn ich python ausführe kommt kommt son fenster wo was von help copyright usw steht....
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Start ausführen cmd

cd "name des ordnersmit datei"

python.exe dateiname.py
DaDonna
User
Beiträge: 4
Registriert: Donnerstag 13. November 2008, 17:41

str1442 hat geschrieben:Start ausführen cmd

cd "name des ordnersmit datei"

python.exe dateiname.py
soweit komm ich mit, das ich das programm "python (command line)" öffnen soll....

aber den rest kapier ich net...


PS:
Hab jetzt so ne datei die aussieht wie die andern fertigen python datein, aber wenn ich draufklick passiert nichts...
Redprince
User
Beiträge: 128
Registriert: Freitag 22. Oktober 2004, 09:22
Wohnort: Salzgitter
Kontaktdaten:

Du sollst Python nicht öffnen, du sollst dem Interpreter (python.exe) das Script als Argument übergeben, damit es interpretiert wird. str1442 hat zweimal beschrieben wie es geht, jetzt bist Du dran!
I am not part of the allesburner. I am the [url=http://allesburner.de]allesburner[/url].
DaDonna
User
Beiträge: 4
Registriert: Donnerstag 13. November 2008, 17:41

ok alles ok. habs geschafft!
gurke111
User
Beiträge: 28
Registriert: Freitag 26. Oktober 2007, 22:55

Jetzt wollte ich mich bei Dir einloggen, aber da war jemand anderes offenbar schon schneller...
Der Account wurde vom Spieler selbstständig gelöscht.
Für eine eventuelle Reaktivierung wende dich bitte an support@farbflut.biz

Vielen Dank,
das Pennergame.de Support Team
Da gehört schon was dazu, username und pw hier einfach zu posten...
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

@gurke111: LOOOL, und die Passwortstärke... *läster*
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Schlimmer finde ich das es Assis gibt die das ausnutzen und dann so ne scheiße machen. Mir ist auch aufgefallen das Username und PW da standen aber ich habe nicht mal versucht mich einzuloggen.
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Aufmerksam machen ist okay, ausnutzen nicht. Imho.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Och, nun stellt euch mal nicht so an. Wer schummln will, und sich dann noch doof anstellt...der hats schon verdient ;)
lunar

Sr4l hat geschrieben:Schlimmer finde ich das es Assis gibt die das ausnutzen und dann so ne scheiße machen.
Was ist nun schlimmer? Jemand, der die Account-Daten ausnutzt, oder jemand, der mit einem Skript cheaten möchte?
Mir ist auch aufgefallen das Username und PW da standen aber ich habe nicht mal versucht mich einzuloggen.
Wie edel ... fraglich aber, ob die Absichten des OP mit diesem Skript ebenfalls so edel waren ;)

Wie audax schon sagte: Wer sich beim Schummeln dumm anstellt, ...
Antworten