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*)