Guthaben Hack-Addon: Dieblinkspiel

XeRanoN
Titel: Guthaben Hack-Addon: Dieblinkspiel
Version: 1.2
Beschreibung: Voraussetzung?
Guthaben-Hack von Frostyz (mit oder ohne Shop)
Dieblink-Game von XeRanoN

Was macht der Hack?
Wenn man im Dieblink-Game jemandem etwas stiehlt, bekommt man diese Zahl zusätzlich noch auf sein Guthaben-Konto gutgeschrieben.

Einbauzeit?
~2 Minuten

Copyright?
Liegt bei mir, Roger "XeRanoN" Tschallener. Ist aber nirgends sichtbar.

Update auf Version 1.1
Schwerwiegender Bug wurde behoben! Bitte alle die noch die alte Version die Änderung durchführen, die ich auf der zweiten Seite beschrieben habe!

Update auf Version 1.2
Auch v1.1 hatte nen Bug die machte das das Teil gar ned funktionierte. Dieser ist nun in dieser Version behoben!
Version 1.2.5: Unterstützung des Dieblinkspiels 1.2 Augenzwinkern

20.11.05 Nur aktuelle Version funzt 100% !!!!

Der Hack darf weder als eigener ausgegeben werden, noch weitergegeben oder von jemanden anderen zum Download angeboten werden (auch nicht in abgeänderter Form). Des Weiteren ist es nicht erlaubt, den Hack im Zusammenhang mit einem Installationsservice oder Aehnlichem anzubieten.
----
Demo: http://www.ahnungslos.ch

weiter zum Download
Polarist2k
Ist es auch möglich, dass du den Hack umschreibst fürs 2.3.x mit dem Guthabenhack von Lasall? *liebgugg* Augenzwinkern

Greetz, Polarist
XeRanoN
Es wird den Dieblink-Hack ziemlich sicher NICHt fürs WBB 2.3 geben Augenzwinkern
Grudn siehe im Diebnlink Thread ^^
Soccerboard-Besitzer
Hmm, ich habe das nicht ganz kapiert. Durch den Eintrag in der index.php wird die Anzahl der gestohlenen UDs zum Guthaben addiert, oder?
Kann man das auch so einstellen, dass das 5-fache der UD-Menge addiert wird?
XeRanoN
Kann man, ja Augenzwinkern
einfach halt die gestohlene Menge (Variabel heist GLAUB ich $gestohlen ode rso...) *5 Augenzwinkern
natas
==>In index.php SUCHEN

//Guthaben Hack END

==>ERSETZEN mit:

$time=time();
$db->query("INSERT INTO bb".$n."_guthaben_konto (userid,begruendung,wieviel,date) VALUES ($wbbuserdata[userid], 'Beim Dieblinkspiel gestohlen', '$add','$time')");
//Guthaben Hack END


hab kein //Guthaben End aber der shop is drin und nur mit den ein läufts auch nit
XeRanoN
Häng mir doch bitte deine index.php an Augenzwinkern
Soccerboard-Besitzer
Zitat:
Kann man, ja Augenzwinkern
einfach halt die gestohlene Menge (Variabel heist GLAUB ich $gestohlen ode rso...) *5


Was soll das heißen? Soll ich die Variable (die heißt nicht $gestohlen) $fick durch $fick*5 ersetzen?
XeRanoN
@Soccerboard-Besitzer
einfach unter //Guthaben Hack BEGIN das einfügen:
$add=$add*5;

@natas
musst mri die datei NICHt mehr anhängen. Das //Guthaben Hack END musst du drin haben, das hast du, wenn du die anleitung efolgt hast, grad vorhin eingefügt...
natas
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
<head>
<SCRIPT LANGUAGE="JavaScript" SRC="snow.js"></SCRIPT> 

<SCRIPT LANGUAGE="JavaScript">
function snow()
{
Falling(30,"<FONT SIZE='5' FACE='Arial' COLOR='#FFFFFF'>*</FONT>", 60);  
}
</SCRIPT>
</head>
<body onload="snow()">
<?php
$filename="index.php";

require("./global.php");

if(isset($_COOKIE['boardvisit'])) $boardvisit=decode_cookie($_COOKIE['boardvisit']);
else $boardvisit=array();

if(isset($_COOKIE['threadvisit'])) $threadvisit=decode_cookie($_COOKIE['threadvisit']);
else $threadvisit=array();

$boardcache=array();
$permissioncache=array();
$modcache=array();

$lcdsetting $db->query_first("SELECT lcdon FROM bb".$n."_lcd_options");
    if ($lcdsetting['lcdon']) eval ("\$lcddisplay = \"".$tpl->get("lcd_display")."\";");

$activtime=time()-60*$useronlinetimeout;

$result $db->query("
 SELECT
 b.*".ifelse($showlastposttitle==1,", t.topic, i.*")."
 FROM bb".$n."_boards b
 ".ifelse($showlastposttitle==1,"LEFT JOIN bb".$n."_threads t ON (t.threadid=b.lastthreadid)
 LEFT JOIN bb".$n."_icons i USING (iconid)")."
 ORDER by b.parentid ASC, b.boardorder ASC");
while ($row $db->fetch_array($result)) $boardcache[$row['parentid']][$row['boardorder']][$row['boardid']] = $row;


$result $db->query("SELECT boardid, threadid, lastposttime FROM bb".$n."_threads WHERE visible = 1 AND lastposttime > '$wbbuserdata[lastvisit]' AND closed <> 3");
while($row=$db->fetch_array($result)) $visitcache[$row['boardid']][$row['threadid']]=$row['lastposttime'];

$result $db->query("SELECT * FROM bb".$n."_permissions WHERE groupid = '$wbbuserdata[groupid]'");
while ($row $db->fetch_array($result)) $permissioncache[$row['boardid']] = $row;

$result $db->query("SELECT bb".$n."_moderators.*, username FROM bb".$n."_moderators LEFT JOIN bb".$n."_users USING (userid) ORDER BY username ASC");
while ($row $db->fetch_array($result)) $modcache[$row['boardid']][] = $row;

$boardbit makeboardbit(0);

$index_pms="";
$quicklogin="";
$index_useronline="";
$index_stats="";

/* ############## STATS ############## */
if($showstats==1) {
 $members=$db->query_first("SELECT COUNT(*) AS members, MAX(userid) AS userid FROM bb".$n."_users WHERE activation = 1");
 $newestmember=$db->query_first("SELECT userid, username FROM bb".$n."_users WHERE userid = '$members[userid]'");
 $posts=$db->query_first("SELECT COUNT(*) AS posts FROM bb".$n."_posts");
 $threads=$db->query_first("SELECT COUNT(*) AS threads FROM bb".$n."_threads");

 $installdays = (time() - $installdate) / 86400;
 if ($installdays 1$postperday $posts['posts'];
 else $postperday sprintf("%.2f",($posts['posts'] / $installdays));

 eval ("\$index_stats = \"".$tpl->get("index_stats")."\";");
}
/* ############## Top 5 Statistik Mainpage Start ############## */

// Start Top 5 Poster
$posts5 $db->query("SELECT userid,username,userposts FROM bb".$n."_users ORDER BY userposts DESC LIMIT 5");
while ($posts5top $db->fetch_array($posts5)){
    
    $posts5name .= "» <a href=profile.php?userid=$posts5top[userid]&sid=$session[hash]>$posts5top[username]</a><br>";
    $posts5post .= "$posts5top[userposts] <br>";
}
// Ende Top 5 Poster

// Start Letzte 5 Mitglieder
$user $db->query("SELECT userid,userposts,username,regdate FROM bb".$n."_users WHERE activation='1' ORDER BY regdate DESC LIMIT 5");
while ($usertop $db->fetch_array($user)){
    
    $username .= "» <a href=\"profile.php?userid=$usertop[userid]&sid=$session[hash]\">$usertop[username]</a><br>";
    $userposts .= "$usertop[userposts] <br>";
}
// Ende Letzte 5 Mitglieder

// Start Letzte 5 Beiträge
$pop $db->query("SELECT
    bb".$n."_threads.topic,
    bb".$n."_threads.threadid,
        bb".$n."_threads.lastposttime,
    bb".$n."_threads.views,
        bb".$n."_users.userid,
    bb".$n."_threads.boardid as parentid,
    bb".$n."_users.username,
    bb".$n."_boards.invisible    
    FROM bb".$n."_threads
    LEFT JOIN bb".$n."_users ON (bb".$n."_users.userid=bb".$n."_threads.lastposterid) 
    LEFT JOIN bb".$n."_boards ON (bb".$n."_boards.boardid=bb".$n."_threads.boardid)
    WHERE bb".$n."_boards.invisible=0
    ORDER BY bb".$n."_threads.lastposttime DESC LIMIT 5");
while ($poptop $db->fetch_array($pop)){
   
    if(strlen($poptop[topic]) > '37'$poptop[topic] = "".substr($poptop[topic], 034)."...";
    $popthread .= "» <a href=\"thread.php?goto=lastpost&threadid=$poptop[threadid]&sid=$session[hash]\">$poptop[topic]</a><br>";
    $lastposter .= "<a href=\"profile.php?userid=$poptop[userid]&sid=$session[hash]\">$poptop[username]</a><br>";
    $popviews .= "$poptop[views] <br>";
}    
// Ende Letzte 5 Beiträge

// Start Top Themen
$pop1 $db->query("SELECT bb".$n."_threads.topic,
    bb".$n."_threads.threadid,
    bb".$n."_threads.views,
    bb".$n."_threads.boardid, 
    bb".$n."_boards.invisible
    FROM bb".$n."_threads
    LEFT JOIN bb".$n."_boards ON (bb".$n."_boards.boardid=bb".$n."_threads.boardid)
    WHERE bb".$n."_boards.invisible=0
    ORDER BY bb".$n."_threads.views DESC LIMIT 1");
while ($pop1top $db->fetch_array($pop1)){
    
    $pop1title "<a href=\"thread.php?threadid=$pop1top[threadid]&boardid=$pop1top[boardid]&sid=$session[hash]\">$pop1top[topic]</a>";
    $pop1views "$pop1top[views]";
}
// Ende Top Themen
// Start Top Bewertung
$voted $db->query("SELECT bb".$n."_threads.topic,
    bb".$n."_threads.threadid,
    bb".$n."_threads.voted,
    bb".$n."_threads.votepoints,
    bb".$n."_threads.boardid,
    bb".$n."_boards.invisible
    FROM bb".$n."_threads
    LEFT JOIN bb".$n."_boards ON (bb".$n."_boards.boardid=bb".$n."_threads.boardid)
    WHERE bb".$n."_boards.invisible=0 
    ORDER BY bb".$n."_threads.voted DESC LIMIT 1");
while ($votedtop $db->fetch_array($voted)){
    
    $votedthread "<a href=\"thread.php?threadid=$votedtop[threadid]&boardid=$votedtop[boardid]&sid=$session[hash]\">$votedtop[topic]</a>";
    $votedrating "$votedtop[votepoints]";
}
// Ende Top Bewertung
// Start des template aufrufs
eval ("\$top5threadstats = \"".$tpl->get("index_topfive")."\";");
// Ende templates aufruf
/* ############## USERONLINE ############## */
if($showuseronline==1) {
 $guestcount=0;
 $membercount=0;
 $useronlinebit '';
 $result $db->query("SELECT bb".$n."_sessions.userid, username, groupid, invisible FROM bb".$n."_sessions LEFT JOIN bb".$n."_users USING (userid) WHERE bb".$n."_sessions.lastactivity >= '".(time()-60*$useronlinetimeout)."' ORDER BY username ASC");
 while($row $db->fetch_array($result)) {
  if($row['userid']==0) {
   $guestcount++;
   continue;
  }
  $membercount++;
      if(!$row['invisible']) {
          if(isset($useronlinebit) && $useronlinebit != ''$useronlinebit .= ', ';
          eval ("\$useronlinebit .= \"".$tpl->get("index_useronline")."\";");
      }
 }
 $totaluseronline $membercount+$guestcount;
 if($totaluseronline>$rekord) {
  $rekord=$totaluseronline;
  $rekordtime=time();
  $db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord' WHERE varname='rekord'",1);
  $db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime' WHERE varname='rekordtime'",1);
  require ("./acp/lib/class_options.php");
  $option=new options("acp/lib");
  $option->write();
 }
 $rekorddate formatdate($dateformat,$rekordtime);
 $rekordtime formatdate($timeformat,$rekordtime);
 eval ("\$index_useronline = \"".$tpl->get("index_showuseronline")."\";");
}


if(!$wbbuserdata['userid']) {
 eval ("\$welcome = \"".$tpl->get("index_welcome")."\";");
 eval ("\$quicklogin = \"".$tpl->get("index_quicklogin")."\";");
}
else {
 $currenttime=formatdate($timeformat,time());
 $toffset=ifelse($default_timezoneoffset>=0,"+").$default_timezoneoffset;
 $lastvisitdate formatdate($dateformat,$wbbuserdata['lastvisit']);
 $lastvisittime formatdate($timeformat,$wbbuserdata['lastvisit']);
 eval ("\$welcome = \"".$tpl->get("index_hello")."\";");
 if($wbbuserdata['canusepms']==&& $showpmonindex==1) {
  $counttotal=0$countunread=0$countnew=0;
  $result $db->query("SELECT view, sendtime FROM bb".$n."_privatemessage WHERE deletepm <> 1 AND recipientid = '$wbbuserdata[userid]'");
  while($row=$db->fetch_array($result)) {
   $counttotal++;
   if($row['view']==0) {
    $countunread++;
    if($row['sendtime']>$wbbuserdata['lastvisit']) $countnew++;
   }
  }

  if($countnew>0) eval ("\$new_notnew = \"".$tpl->get("index_newpm")."\";");
  else eval ("\$new_notnew = \"".$tpl->get("index_nonewpm")."\";");
  eval ("\$index_pms = \"".$tpl->get("index_pms")."\";");
 }
}
$result $db->query_first("SELECT * FROM bb".$n."_shoutbox_config");
  if($result['status']==1) {
   $bbcode_smilies getclickysmilies(3,15);
   eval ("\$shoutbox = \"".$tpl->get("shoutbox")."\";");
  } 
/* ################## THIEF ############# */
$thief $HTTP_GET_VARS["u"];
if($thief!='')
{
  $out mysql_query("SELECT * FROM bb1_users WHERE username LIKE '$thief'");
  $fetch mysql_fetch_object($out);
  $last $fetch->lastip;
  $gefickte $fetch->thief_done;
  mysql_free_result($out);

  $ip $_SERVER['REMOTE_ADDR'];
  $exout mysql_query("SELECT * FROM bb1_thief_ip WHERE ip LIKE '$ip'");
  $fetchi mysql_fetch_object($exout);
  $exid $fetchi->ID;
  if(!$exid)
  {
   $MIN 2// Minimale Zufallszahl
   $MAX 12// Maximale Zufallszahl
   $add =  rand($MIN$MAX);
   $fick $gefickte $add;
   $losman mysql_query("UPDATE bb1_users Set thief_done = '$fick' WHERE username LIKE '$thief'");
   $eintragen mysql_query("INSERT INTO  bb1_thief_ip (ip, user) VALUES ('$ip', '$thief')");
//Guthaben Hack BEGIN
    $guthaben_jetzt=$db->query_first("SELECT guthaben FROM bb".$n."_users WHERE userid='$wbbuserdata[userid]'"); 
    $newguthaben=$guthaben_jetzt['guthaben']+intval($add);
        $db->query("UPDATE bb".$n."_users SET guthaben=$newguthaben WHERE userid = '$wbbuserdata[userid]'");
$time=time();
    $db->query("INSERT INTO bb".$n."_guthaben_konto (userid,begruendung,wieviel,date) VALUES ($wbbuserdata[userid], 'Beim Dieblinkspiel gestohlen', '$add','$time')");

    //Guthaben Hack END
   eval("\$tpl->output(\"".$tpl->get("thief_done")."\");");
  }
  else
  {
   eval("\$tpl->output(\"".$tpl->get("thief_failed")."\");");
  }
}
else
{
 eval("\$tpl->output(\"".$tpl->get("index")."\");");
}

?>
XeRanoN
@natas
und mit der index die du da gepostet hast läuft nix? Wenn das so ist: Kööntest du mir mal n screenshot von der Struktur deiner guthaben_konto-Tabelle aus PHPmyAdmin geben?
natas
[IMG]http://img505.imageshack.us/img505/8090/datenbank5ps.jpg[/IMG]
XeRanoN
Ach du sch....
Ich hab beim letzten Update des Hacks ne alte Version hochgeladen... Werd dies gleich updaten und ancher den Post hier editieren.

EDIT: Anleitung gefixt!
Soccerboard-Besitzer
Gut, habe das mal geändert. Kann aber noch nicht sagen, ob das jetzt klappt, habe nämlich ein Problem beim Guthaben-Hack mit den Kontoauszügen...
natas
läuft
XeRanoN
Zitat:
Original von natas
läuft

phu glück gehabt *g* hatt ekeine möglichkeit das ganze zu testen *g*
Pink.Tally
Kann ich den auch für die Guthabenversion 4.10 benutzen?
XeRanoN
@Pink.Tally
Am besten einfach ein Backup machen und ausprobieren Augenzwinkern .