ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Code Hack Requests / ProArcade fürs Thwb?


Seite 1 von 1

Bompo schrieb am 06.09.2004 um 20:53 Uhr

Gibt es sowas auch fürs Thwb, oder kann man sowas umschreiben?

http://www.vbulletin.org/forum/showthread.php?t=42880

Oder zumindest sowas in der Art, halt Spiele mit ner Highscore für das Thwb, also sowas das gleich die Benutzer aus dem thwb übernimmt?

Zweeper schrieb am 07.09.2004 um 17:22 Uhr

ja gibt es bereits aber der Hack wurde nicht offiziell bereit gestellt.
Mehr Infos kann ich dazu leider nicht geben. Mir sind da die Hände gebunden, sorry

Bompo schrieb am 11.09.2004 um 12:22 Uhr

@Zweeper
Hab schon gesehn das jemand das schon gemacht hat. Nur leider will er es ja nicht frei verfügbar machen. :(

Aber hindert das die Pro's hier unter uns den Hack fürs Thwb trotzdem umzuschreiben?

Der proarcade Hack wär schon eine Bereicherung für das Thwb. :)

Zweeper schrieb am 11.09.2004 um 12:37 Uhr

ja da stimm ich dir schon zu.

Bompo schrieb am 22.09.2004 um 13:09 Uhr

dumm nur das es anscheinend keinen von dennen interessiert.... :(

PhoenixDH schrieb am 27.09.2004 um 14:46 Uhr

Hat jemand die Version für Bulletin Board ?

Wenn ja schickt mir die mal bitte zu, komm da grad net ran auf deren Homepage !

E-Mail Addy in meinem Profil !

Bompo schrieb am 27.09.2004 um 18:44 Uhr

Zweeper hat eine Version noch auf seinem Server. :)
http://www.zweeper.de/arcade1-21.rar

bdominik schrieb am 27.09.2004 um 19:42 Uhr

DAs was Zweeper auf seiner Homepage als rar-datei liegen hat ist ein Hack für das WBB, also nicht fürs THWB.

Zweeper schrieb am 27.09.2004 um 20:05 Uhr

joa is fürs Burning Board.

PhoenixDH schrieb am 27.09.2004 um 20:13 Uhr

Is schon klar !

Bompo schrieb am 14.10.2004 um 12:21 Uhr

...und hat sich schon was getan :?

Bompo schrieb am 14.10.2004 um 14:29 Uhr

...und hat sich schon was getan :?

//Edit

ok ich fang mal an :P
Auch wenn jetzt die Gefahr besteht das ich mich absolut lächerlich mache

als erstes hab ich die ganzen Datein von http://www.zweeper.de/arcade1-21.rar
in die dafür jeweiligen Ordner kopiert. Also *.htm in Templates blablabla

dann als erstes die install-arcade.php abgeändert in

<?
include "./inc/header.inc.php";

if(!$step) {
?>

<html>

        <head>
                <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
                <title>Arcade Games Install</title>
        </head>

        <body bgcolor="#ffffff">
<?

thwb_query("CREATE TABLE bb".$n."_arcadeconfig (
  arcadeid tinyint(4) NOT NULL auto_increment,
  vpaver varchar(10) NOT NULL default '',
  path varchar(100) NOT NULL default '',
  usescoreicon tinyint(4) NOT NULL default '0',
  scoreiconname varchar(100) NOT NULL default '',
  scoreicondata mediumblob NOT NULL,
  usekingicon tinyint(4) NOT NULL default '0',
  kingiconname varchar(100) NOT NULL default '',
  kingicondata mediumblob NOT NULL,
  anzahl tinyint(4) NOT NULL default '0',
  scoresave tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (arcadeid)
    )");

thwb_query("CREATE TABLE bb".$n."_arcadegames (
  gameid int(11) NOT NULL auto_increment,
  name varchar(50) NOT NULL default '',
  title varchar(50) NOT NULL default '',
  description mediumtext NOT NULL,
  filename varchar(50) NOT NULL default '',
  thumbnailname varchar(100) NOT NULL default '',
  thumbnaildata mediumblob NOT NULL,
  active smallint(1) NOT NULL default '0',
  championactive tinyint(4) NOT NULL default '0',
  championid int(11) NOT NULL default '0',
  championtext varchar(255) NOT NULL default '',
  championcolor varchar(50) NOT NULL default '',
  scorevar varchar(50) NOT NULL default '',
  width int(11) NOT NULL default '0',
  height int(11) NOT NULL default '0',
  codebase mediumtext NOT NULL,
  querystring mediumtext NOT NULL,
  objectparam mediumtext NOT NULL,
  embedparam mediumtext NOT NULL,
  PRIMARY KEY  (gameid)
    )");

thwb_query("CREATE TABLE bb".$n."_arcade (
  scoreid int(11) NOT NULL auto_increment,
  game varchar(50) NOT NULL default '',
  date date NOT NULL default '0000-00-00',
  time time NOT NULL default '00:00:00',
  userid int(11) NOT NULL default '0',
  username varchar(50) NOT NULL default '',
  score int(11) NOT NULL default '0',
  comment varchar(70) NOT NULL default 'No comment',
  PRIMARY KEY  (scoreid)
    )");

thwb_query("INSERT INTO bb".$n."_arcadeconfig VALUES (1, '100B', 'games/', 1, '', '', 1, 'images/krone.gif', '',25,0);");


thwb_query("INSERT INTO bb".$n."_arcadegames VALUES (1, 'tetris', 'Tetris', 'Das Klassische Tetris, so wie wir es kennen und lieben...', 'tetris.swf', 'images/thumb-tetris.gif', '', 1, 0, 0, 'Tetris Champion', '#FF0000', '\$tetrisscore', 550, 380, 'classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"', 'username=\$username&s=\$session[sessionhash]&highscore=\$highscore&bbtitle=\$bbtitle&location=\$vpa_bburl&gamename=\$game', '<param name=\"quality\" value=\"high\">\r\n<param name=bgcolor value=\"#576375\">', 'pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"');");
thwb_query("INSERT INTO bb".$n."_arcadegames VALUES (2, 'breakout', 'Breakout', 'Ein Arkanoid Klon, feuer mit deinem Ball und dem Paddle die bunten Steine weg!', 'breakout.swf', 'images/thumb-breakout.gif', '', 1, 0, 0, 'Breakout Champion', '#ff0000', '\$breakoutscore', 400, 500, 'classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"', 'location=\$vpa_bburl&gamename=\$game&s=\$session[sessionhash]', '<param name=loop value=false> \r\n<param name=menu value=false> \r\n<param name=quality value=high> \r\n<param name=bgcolor value=#000000>', 'pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"');");
thwb_query("INSERT INTO bb".$n."_arcadegames VALUES (3, 'pacman', 'Pacman', 'Eine 1:1 Umsetzung des bekannten Arcade Klassikers PacMan ', 'pacman.swf', 'images/thumb-pacman.gif', '', 1, 0, 0, 'Pacman Champion', '#FF0000', '\$pacmanscore', 360, 420, 'classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\r\ncodebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"', 'location=\$vpa_bburl&gamename=\$game&s=\$session[sessionhash]', '<PARAM NAME=quality VALUE=high>\r\n<PARAM NAME=bgcolor VALUE=#000000>', 'pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"');");
thwb_query("INSERT INTO bb".$n."_arcadegames VALUES (4, 'spaceinvaders', 'Space Invaders', 'Die Invasion aus dem All kommt und nur du bist unsere einzige Rettung. ', 'invaders.swf', 'images/thumb-invaders.gif', '', 1, 0, 0, 'Space Invaders Champion', '#FF0000', '\$invadersscore', 500, 500, 'classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"', 'location=\$vpa_bburl&gamename=\$game&s=\$session[sessionhash]', '<param name=\"quality\" value=\"high\">\r\n<param name=\"menu\" value=\"false\">', 'pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"');");
thwb_query("INSERT INTO bb".$n."_arcadegames VALUES (5, 'snake', 'Snake', 'Iss soviel wie du kannst ohne deinen Schwanz oder die Mauer zu berühren.', 'snake.swf', 'images/thumb-snake.gif', '', 1, 0, 0, 'Snake Champion', '#FF0000', '\$snakescore', 400, 400, 'classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\r\ncodebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"', 'location=\$vpa_bburl&gamename=\$game&s=\$session[sessionhash]', '<param name=\"quality\" value=\"high\">\r\n<param name=\"menu\" value=\"false\">', 'pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"');");
thwb_query("INSERT INTO bb".$n."_arcadegames VALUES (6, 'kartracing', 'Kart Racing', 'Weiche den anderen Karts aus, wenn Du kannst !', 'kart.swf', 'images/kart.gif', '', 1, 0, 1, 'Kart Champion', '#FF0000', '\$kartscore', 570, 270, 'classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\r\ncodebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"', 'username=\$username&s=\$session&highscore=\$highscore&master_board_name=\$master_board_name&location=\$vpa_bburl&gamename=\$game', '<param name=\"quality\" value=\"high\">\n<param name=\"menu\" value=\"false\">', 'pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"');");
thwb_query("INSERT INTO bb".$n."_arcadegames VALUES (7, 'simon', 'Simon Says', 'Folge den Lichtern und Tönen !', 'simon.swf', 'images/simon.gif', '', 1, 0, 0, 'Simon Champion', '#FF0000', '\$simonscore', 400, 400, 'classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\r\ncodebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\"', 'username=\$username&s=\$session&highscore=\$highscore&master_board_name=\$master_board_name&location=\$vpa_bburl&gamename=\$game', '<param name=\"quality\" value=\"high\">\n<param name=\"menu\" value=\"false\">', 'pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"');");

echo "<center>Arcade Games-Hack abgeschlossen!</b><br></center>";


echo "<center><b>Installation erfolgreich!<br>Löschen Sie die install-arcade.php!</b></center></body></html>";

}
?>

dann kann man die Datei ausführen und die Tabellen sind erstmal drin, ist ja erstmal etwas :)

Bompo schrieb am 14.10.2004 um 14:36 Uhr

danach hab ich die proarcade.php etwas bearbeitet

<?php
error_reporting(7);
include "./inc/header.inc.php";

// little debug thing
if (isset($showallheaders)) {
  $headers = getallheaders();
  foreach ($headers as $name => $content)
    echo "headers[$name] = $content<br>\n";
}

$r_user = thwb_query("SELECT userid, username, useremail, userhomepage, userlocation, usericq, useraim, usermsn,
    userbday, useroccupation, userinterests, useravatar, usersignature, userposts, userjoin, userlastpost,
    userrating, uservotes, userhideemail, userbday, usertitle,userdoes, userdoesfid, (TO_DAYS(NOW())-TO_DAYS(userbday))/365 AS userage FROM ".$pref."user WHERE userid='$user[userid]'");
    
$user = mysql_fetch_array($r_user);



$arcadebits = new Template('./templates/'.$style['styletemplate'].'/vbproarcade_arcadebit.htm');
$threadbit = new Template('./templates/'.$style['styletemplate'].'/vbproarcade_playgame_flashcode.htm');
$arcade = new Template('./templates/'.$style['styletemplate'].'/frame.html');
$thisuserscore = new Template('./templates/'.$style['styletemplate'].'/vbproarcade_arcade_userscore_notking.htm');
$startgame = new Template('./templates/'.$style['styletemplate'].'/vbproarcade_playgame.htm');

// get userid/username
$user_name = thwb_query("SELECT username FROM tb_user");
$user_id = thwb_query("SELECT userid FROM tb_user");

// access check (here for future expansion)
switch($action) {
  case "arcade":
  case "scoreboard":
  case "topscoreboard":
    break;
  case "play":
  case "gameover":

    break;
  default:
    // if no action specified, go to arcade page
    $action = "arcade";
    break;
}

// admin access check (here for future expansion)
switch($bbuserinfo[usergroupid]) {
  case 6:
    $allaccess = true;
    break;
  default:
    $allacess = false;
    break;
}

// game checks
if (!isset($game) and ($action != "arcade")) {
  echo "vbProArcade Error: No game specified (todo: put something pretty here later)";
  exit();
}

// Infos holen über das Spiel was gespielt werden soll
$arcadeinfo = thwb_query("SELECT * FROM bb".$n."_arcadeconfig");
$anzahl = $arcadeinfo[anzahl];
$gameinfo = thwb_query("SELECT * FROM bb".$n."_arcadegames WHERE name='$game'");

if (!arcadeinfo) {
  echo "vbProArcade Error: Arcade configuration information could not be retrieved from the database.";
  exit();
}

if (!gameinfo) {
  echo "vbProArcade Error: Invalid game name specified (todo: put something pretty here later)";
  exit();
}

// get the score value
eval("\$thescore = \"$gameinfo[scorevar]\";");

// get the path to the arcade games
$gamepath = $arcadeinfo[path];

// get the title of the game
$gametitle = $gameinfo[title];


// put the correct suffix on a number
///////hier hab ich nix geändert/////////


// we are playing
if ($action == "play") {
if($user_id){

  $highscore_q = thwb_query("SELECT * FROM bb".$n."_arcade WHERE game='$game' ORDER BY score DESC LIMIT 1");
  $highscore_a = mysql_fetch_array($highscore_q);
  $highscore = $highscore_a[score];

  // get the information to call the game with
  $vpa_filename = $gamepath . $gameinfo[filename];
  $vpa_width = $gameinfo[width];
  $vpa_height = $gameinfo[height];
  $vpa_codebase = $gameinfo[codebase];

  $oparams = addslashes($gameinfo[objectparam]);
  $eparams = addslashes($gameinfo[embedparam]);

  // get the relative URL of the forum
  $vpa_bburl = reduceurl($php_path);

  // query string and param lists must be eval'd since it contains PHP vars
  eval("\$vpa_qstring = \"$gameinfo[querystring]\";");
  eval("\$vpa_oparams = \"$oparams\";");
  eval("\$vpa_eparams = \"$eparams\";");

  // get the code to call the game, then send the page

  eval($threadbit->GetTemplate("CONTENT"));
  //eval($arcade->GetTemplate());
    eval($startgame->GetTemplate());

}
else header("LOCATION: misc.php?action=access_error&boardid=$boardid&styleid=$styleid$session");
}


// register a new score
///////hier hab ich nix geändert/////////

// display the scoreboard
///////hier hab ich nix geändert/////////


// the main arcade page
if ($action == "arcade") {

  // get games info

  $allgames_q = thwb_query("SELECT * FROM bb".$n."_arcadegames WHERE active=1 ORDER BY title ASC");
  // do one game at a time
  while ($allgames = mysql_fetch_array($allgames_q)) {
        $gameid = $allgames[gameid];
      $gamename = $allgames[name];
      $gametitle = $allgames[title];
      $gametext = $allgames[description];
      $gameicon = $allgames[thumbnailname];

      $thumbgame = "<img src=\"$gameicon\" border=\"0\">";
      
      // get user's highest score for this game
      $highscore_q = thwb_query("SELECT score,username,userid FROM bb".$n."_arcade WHERE game='$gamename' ORDER BY score DESC LIMIT 1");
      $highscore_user_info = thwb_query("SELECT userid FROM tb".$n."_user WHERE username='".$highscore_q[username]."' ");

      $highscore = "$highscore_q[score]";

      if ($highscore > 0)
        $highscoreuser = "$highscore_q[username]";
      else
        $highscoreuser = "New Game!";

      // get the viewing user's highest score
      if ($user_id != 0) {

        $userscore_q = thwb_query("SELECT max(score) as maxscore FROM bb".$n."_arcade WHERE game='$gamename' AND username='$user_name'");
        $userscore_q = thwb_query("SELECT max(score) as maxscore FROM bb".$n."_arcade WHERE game='$gamename' AND username='$user_name'");
        $userscore = $userscore_q[maxscore];

          // user has played the game and has a valid score
          $totalusers_q = thwb_query("SELECT DISTINCT username, max(score) as maxscore FROM bb".$n."_arcade WHERE game='$gamename' GROUP BY username ORDER BY maxscore DESC");
          $totalusers = mysql_num_rows($totalusers_q);

          $userposition = 1;
          $foundpos = 0;

          while (($positionloop = mysql_fetch_array($totalusers_q)) and ($foundpos == 0))
            if ($positionloop[maxscore] > $userscore)
              $userposition++;
            else
              $foundpos++;

          // get the right suffix
          $userposition = suffixlogic($userposition);

          // make the number pretty
          $userscore = number_format($userscore);

          if (($userposition == "1st") and ($arcadeinfo[usekingicon] == 1)) {
            $thisuserscore = new Template('./templates/'.$style['styletemplate'].'/vbproarcade_arcade_userscore_king.htm');
            eval($thisuserscore->GetTemplate("CONTENT"));}
          else
        eval($thisuserscore->GetTemplate("CONTENT"));
        }
        else $thisuserscore = "Sie müssen angemeldet sein um zu spielen.";
  $gamelink = "<a href=\"proarcade.php?game=$allgames[name]&action=play\">$allgames[title]</a>";
      eval ($arcadebits->GetTemplate("CONTENT"));
}

//eval("dooutput(\"".gettemplate("vbproarcade_arcade")."\");");
$navpath .= 'Arcade Hack';
eval($arcade->GetTemplate());
}
?>

ich wollte einfach mal erstmal erreichen, dass er die User aus der Thwb Datenbank übernimmt und man erstmal die Spiele aussuchen kann. Naja sagen wir es sind dazu "Ansätze" drin... :P

Also was muss hier auf jeden fall geändert werden? (*und nicht gleich mir den Kopf abreissen*)

PhoenixDH schrieb am 14.10.2004 um 15:10 Uhr

Das ist ja schonmal was, halte uns auf jeden Fall auf dem laufenden !!!!

Hast du den schon irgendwo eingebaut ? Wo man sich das anschaun kann ?

Mir ist da gleich mal noch was aufgefallen, die Tabellennamen sollten an die des THWB angepasst werden !

Braese schrieb am 15.10.2004 um 14:54 Uhr

wenn ich bock habe mache ich einen Hack, allerdings will ich vorher erst wissen wie es mit dem thwb weitergeht

MrNase schrieb am 15.10.2004 um 22:59 Uhr

Hallo Braese,

Lies mal den Beitrag von Luki in diesem Thema -> http://www.thwboard.de/forum/showtopic.php?threadid=6020&pagenum=2

Da sollte man ganz deutlich erkennen können, DASS es weitergeht. Wir sagen nur noch nicht genau WIE es weitergeht ;)

Braese schrieb am 16.10.2004 um 14:10 Uhr

MrNase postete
Hallo Braese,

Lies mal den Beitrag von Luki in diesem Thema -> http://www.thwboard.de/forum/showtopic.php?threadid=6020&pagenum=2

Da sollte man ganz deutlich erkennen können, DASS es weitergeht. Wir sagen nur noch nicht genau WIE es weitergeht ;)

jup und was steht in meinem beitrag? das ich wissen will wie es weitergeht :p z.b. so dinge ob es nach einer 2.85 Beta wieder 1 Jahr oder länger dauert bis ein Update kommt, was noch alles geplant ist usw.

Seite 1 von 1