Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
Christian

[Tip] Flash Games

Recommended Posts

@tom45

Du musst dich mal auf deren Diskussions-Board umsehen, da gibt es neue Spiele, und ein bisschen wird auch diskutiert wie man neue einbaut ...

Ist aber alles auf Englisch !

Original-Text:

---------

If you want to edit the flash file, you need to figure out the score variable and where the game ends. Usually the score is either just score or _root.score.

In the end of the game put

var gname="[gname of that game]";

var gscore = _root.score;

getURL("index.php?act=Arcade&do=newscore", "_self", "POST");

That will give the arcade the score! Good luck with it.

Also, any games you convert, please add them to the forum here so that everyone has access to them.

----------

Nun gut, ist nicht sooo schwer. du brauchst:

- Das Flash-Game, vorliegend als SOURCE-CODE (*.fla nicht *.swf) - WICHTIG

- Nun musst du das Game dazu bringen, das es per "/index.php?act=Arcade&do=newscore" - ein Formular überträgt, Methode: POST !

- Der gname (trägt man im ACP zu jedem Game ein), ist der Name der Variable welche mit dem Post übertragen wird, und den spielnamen beinhaltet.

- Die Variable gscore welche die Score beinhaltet.

- Das Arcade Script überprüft nun noch Member ID und ob du berechtigt bist Scores zu posten, und dann ruft es das Fenster auf, wo du deine Score sieht, und evtl. Kommentar dazu schreiben darfst !

------------------------------------------------------------------

FAZIT:

Du brauchst den SOURCE-CODE einer Flash-Datei, deswegen kannst ned einfach jedes Flash-Game umwandeln.

Beschummeln ist RELATIV leicht möglich, wenn man ein falsches Game kreirt, welches als gname den Namen von nem anderen Game hat.

------------------------------------------------------------------

ERGO:

Wenn du den Source-Code von nem Game kriegst (Autor fragen), und kannst Flash nicht wirklich gut, Poste es in dem Diskussionsforum vom eigentlichen Programmierer von dem Game-Mod !

hier

Hoffe das war jetzt klar, BLACK :blush:

EDIT:

Derzeit geht es zum Beispiel, wenn ich einfach:

index.php?act=Arcade&do=newscore&gname=tetris&gscore=293043

Mache, und SCHON hab ich diese vielen Punkte in Tetris :)

(Gibt schon eine Sicherheitsupdate auf der Seite !)

Edited by Blackman

Share this post


Link to post

Hallo habe auch ein Problem, bei mir kommt immer wenn ich auf das Arcade Symbol klicke folgende Meldung:

Could not fetch the templates from the database. Template skin_Arcade, ID 1

Mit resynchen geht es nicht weg, oder ich mach dabei was falsch....

Kann mir jemand helfen???

Edited by Real_Gargamel

Share this post


Link to post

Du hast die Datei skin_Arcade.php nicht in den Ordner Skin/s1/ geladen. Danach musst du dann die Templates Resynchronisieren, dann gehts.

Share this post


Link to post

Achtung: Mal eine kleine Warnung zu dem Zusatz Crown System Installation in der Anleitung.

Mit dieser Modifikation wird ja in den Themen bei dem jeweiligen Mitglied angezeigt, ob er/sie bei einem Spiel Führer in der Highscoreliste ist.

Jedenfalls ist dieses "Kunstwerk" eine echte Katastrophe und ein Resourcenfresser ohne Ende.

Ich bin da nur zufällig drauf gestoßen, weil ich für Andy eine Anpassung machen wollte und es gesehen habe, denn den Mod hab ich mir noch nicht angeschaut.

Zu der Begründung, dieser Teil der Erweiterung baut eine eigenständige Verbindung zur Datenbank auf und umgeht so geschickt die Zählung der Queries, was sonst jedem Webmaster graue Haare bekommen hät lassen. ;)

Dieser Teil der Erweiterung braucht 3 Abfragen pro Beitrag, was bei Beispiel 10 Beiträgen pro Seite bei einem Thema mal eben 30 zusätzliche Datenbankabfragen sind. Dabei ist es auch egal, ob es ein einziger User war, der alle 10 Beiträge geschrieben hat, denn der Mod macht da keine Unterschiede. ;)

Aber ich hab daraufhin einen kleinen Bugfix geschrieben. Mit dieser Erweiterung ist es nur eine zusätzliche Datenbankabfrage, egal wieviele Beiträge pro Seite angezeigt werden. Desweiteren werden nur die Bilder angezeigt, kein Textlink mehr daneben und außerdem hab ich es unter den normalen Mitgliederinformationen gesetzt.

Um es nochmal kar zu machen, es geht hierbei nur um den Abschnitt Crown System Installation, nicht um den eigentlichen Mod!!!!

Okay, nun zu meiner Erweiterung bzw. Änderung. :)

Zunächst einmal alle Änderungen, die unter Crown System Installation stehen, rückgängig machen.

Dann in der Datei Topic.php folgende Stelle finden

    var $pfields    = array();
   var $pfields_dd = array();
   var $md5_check  = "";
und darunter folgendes einfügen
	var $champions = array();
Nun folgende Stelle finden:
  //--------------------------------------------
 // Grab the posts we'll need
 //--------------------------------------------

 $first = intval($ibforums->input['st']);

 if ( $ibforums->vars['post_order_column'] != 'post_date' )
 {
 $ibforums->vars['post_order_column'] = 'pid';
 }

 if ( $ibforums->vars['post_order_sort'] != 'desc' )
 {
 $ibforums->vars['post_order_sort'] = 'asc';
 }
Darunter einfügen:
  $this->get_maxscore();
Suchen:
  $member['member_posts'] = $ibforums->lang['m_posts'].' '.$std->do_number_format($member['posts']);
Darunter einfügen:
  $member['member_champion'] = "";
 
 foreach ($this->champions as $k => $v)
 {
 if ($v['m_id'] == $member['id'])
 {
   $member['member_champion'] .= "<a href='index.php?act=Arcade&do=stats&gameid=".$k."'><img src='arcade/images/".$v['game']."2.gif' border='0' title='".$v['title']." Champion'></a>&nbsp;";
 }
 }
Suchen:
}

?>
Diesmal darüber einfügen:
	function get_maxscore()
{
 global $DB;
 
 $champ = array();
 $score = array();
 
 $DB->query("SELECT s.mid, s.gid, max( s.score ) as max_score, l.gname, l.gtitle
   FROM ibf_games_scores s
   LEFT  JOIN ibf_games_list l ON ( s.gid = l.gid )
   GROUP  BY s.mid, s.gid
   ORDER  BY s.gid DESC ");
 
 while ($row = $DB->fetch_row())
 {
 if (!isset($score[$row['gid']]))
 {
   $score[$row['gid']] = $row['max_score'];
   
   $champ[$row['gid']] = array('m_id'  => $row['mid'],
         'game'  => $row['gname'],
         'title' => $row['gtitle']
         );
 }
 else
 {
   if ($score[$row['gid']] < $row['max_score'])
   {
   $champ[$row['gid']]['m_id'] = $row['mid'];
$score[$row['gid']]  = $row['max_score'];  
   }
 }
 }
 
 $this->champions = $champ;
}
In der skin_topic.php dann folgendes suchen:
        {$author['member_status']}<br /><br />
Und darunter einfügen:
        {$author['member_champion']}<br /><br />

Das war es schon und nun sollte es alles besser optimiert sein. ;)

Vorallem wird jetzt auch der Cache der Mitglieder verwendet, soll heißen, das wenn ein Mitglied mehrmals im Thema geschrieben hat, nicht jedes Mal die Grafiken neu ermittelt werden müssen. ;)

Ich hoffe mal, das ich nun mal wieder an meinen Mods arbeiten kann, anstatt solche extremen Fehler anderer auszubügeln. :lol: :P

Edited by Stefan

Share this post


Link to post

Ich hoffe mal, das ich nun mal wieder an meinen Mods arbeiten kann, anstatt solche extremen Fehler anderer auszubügeln. :lol::P

hehe...

Ich denke, daß hoffen wir alle :)

@all,

Sorry wenn der nächste Mod von Stefan etwas länger auf sich warten läßt, ich nehme die Schuld diesmal voll und ganz auf mich, da ich Ihn heute von allem nur erdenklichen abgehalten habe :D:lol:

Aber wirklich klasse, ich kann nur jedem raten der den Mod benutzt, diese änderung zu machen, dadurch ist das ganze ne ganze menge Resourcenschonender und besser Optimiert !

Danke nochmal an Stefan für die Mühe, die Bugs von anderen Moddern auszubügeln ;)

Share this post


Link to post

Also Stefan was soll ich sagen Respekt :)

Jetzt weiß ich auch warum ich die Modifikation (Crown System) nicht eingebaut hatte, ich hatte mir das irgendwie schon gedacht,das das nicht gerade resourcenschonend abläuft.

Naja nun kann ich ja mit ruhigen Gewissen das Gimmick einbauen!

thx

mfg silencer

Share this post


Link to post

Hi!

Ich hab den Fix von Stefan auch eingebaut (Danke!), aber es sind jetzt manche 'Champions' durcheinander geraten. Ich hab zB das Symbol, dass ich Breakout-Champion bin, bin ich aber gar nicht. Dafür bin ich Target-Champion, das steht aber bei wem anders.

Weiss da einer ne Lösung!

Edit: Es sind übrigens nicht alle Symbole vertauscht. Nur ca. 3-4 sind durcheinander...

Edited by AntjeNDR

Share this post


Link to post

Was soll es da genauer zu sagen geben? :D

Du musst halt mal im AdminCP => Skins & Templates => Style Sheets nachschauen, wo sich dort der Eintrag "fieldset" befindet, und der sollte dann dafür zuständig sein, was du suchst.

Share this post


Link to post

Hi!

Ich hab den Fix von Stefan auch eingebaut (Danke!), aber es sind jetzt manche 'Champions' durcheinander geraten. Ich hab zB das Symbol, dass ich Breakout-Champion bin, bin ich aber gar nicht. Dafür bin ich Target-Champion, das steht aber bei wem anders.

Weiss da einer ne Lösung!

Edit: Es sind übrigens nicht alle Symbole vertauscht. Nur ca. 3-4 sind durcheinander...

Ich schau mir das nochmal in Ruhe an.

Share this post


Link to post

Jap, defintiv, der Fehler ist drin, die Champions sind ein bisschen durcheinander gekommen :)))

Außerdem verlängert sich das Fenster so doof, wenn man in mehr als 6 Spielen Champion ist, wäre besser wenn nach 6 Spielen ein Zeilenumbruch kommt :)

  $count = 0;

  foreach ($this->champions as $k => $v)

 	 {    

    if ($v['m_id'] == $member['id'])

   	 {	

      $count ++;

      $member['member_champion'] .= "<a href='index.php?act=Arcade&do=stats&gameid=".$k."'><img src='arcade/images/".$v['game']."2.gif' border='0' title='".$v['title']." Champion'></a>&nbsp;";

      if ($count == 6)

     	 {

     	 $member['member_champion'].= "<br>";

     	 }

   	 }

 	 }

Ist dieser Code okay, oh heiliger Stefan ? Jedenfalls fügt er einen Zeilenumbruch nach 6 Symbolen ein ... :)

Edited by Blackman

Share this post


Link to post

oh je, jetzt wird hier der Stefan schon als "heiliger" gesprochen :lol:

übrigens, ich kann es nicht bestätigen, daß die Champions durcheinander geraten wären, bei mir scheint alles im Lot zu sein ;)

Share this post


Link to post
Guest APGdream

Einer meiner member meinte sie kann nicht darauf zugreifen obwohl sie eingeloggt ist

"fehler in datenbank" oder so ähnlich...

-----

Hat jemand ne idee?

-----

bei allen anderen usern funzt es jedenfalls einwandfrei und ist heiß begehrt;arcade mod

andy.

Share this post


Link to post

Dann kann ich dir nur sagen, liegts an dem User. Soll dir mal einen Screenshoot geben, bzw eine genaue Fehlerbeschreibung... "Oder so" hilft uns da nicht viel weiter :D

Share this post


Link to post

Hi Rigo,

ich habe was im sytle sheet gefunden weiss aber nicht was ich da ändern soll...

fieldset.search { padding: 6px; line-height: 150% }

???

what can i do?

danke im voraus

Share this post


Link to post

bei mir funktionier das ganze irgendwie nicht habe mal versucht es auf einem Testboard zu installieren http://www.daniel-portal.de/testboard/index.php sobald sich ein User einloggen will dann kommt eine Fehlermeldung nämlich:

There appears to be an error with the Invision Power Board database.

You can try to refresh the page by clicking here, if this does not fix the error, you can contact the board administrator by clicking here

Error Returned

mySQL query error: SELECT moderator.mid as is_mod, moderator.allow_warn, m.id, m.name, m.mgroup, m.password, m.email, m.restrict_post, m.view_sigs, m.view_avs, m.view_pop, m.view_img, m.auto_track, m.arcade_ban,

m.mod_posts, m.language, m.skin, m.new_msg, m.show_popup, m.msg_total, m.time_offset, m.posts, m.joined, m.last_post,

m.last_visit, m.last_activity, m.dst_in_use, m.view_prefs, m.org_perm_id, m.temp_ban, m.sub_end, g.*

FROM ibf_members m

LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup)

LEFT JOIN ibf_moderators moderator ON (moderator.member_id=m.id OR moderator.group_id=m.mgroup )

WHERE m.id=1

mySQL error: Unknown column 'm.arcade_ban' in 'field list'

mySQL error code:

Date: Tuesday 09th of March 2004 09:14:12 AM

Share this post


Link to post

Hi Rigo,

ich habe was im sytle sheet gefunden weiss aber nicht was ich da ändern soll...

fieldset.search { padding: 6px; line-height: 150% }

???

what can i do?

danke im voraus

Das sollte es auch nicht sein. Such mal in deinem StyleSheet nach dieser Farb-Angabe: #0046D5. Wenn du da was findest, schau mal, was passiert, wenn du es änderst. Notfalls merk dir wo, damit du es wenns Falsch war wieder Rückgängig machen kannst.

@daniel987: Hast du denn auch die Installations Datei ausgeführt, die die MySQL Tabellen anlegt bzw ändert?

Share this post


Link to post

:blush: Hab ganz vergessen den Installer auszuführen bei mir wird keine Link für die Games gezeigt obwohl ich unter Group Permission alles richtig eingestellt habe nur um sicherzustellen das es nicht daran liegt habe ich sogar noch das Crown System geadet aber das hat auch nicht genützt woran könnte es liegen das nichts angezeigt wird?

Share this post


Link to post

So jetzt scheint es zu halbwegs zu funzen habe das ganze jetzt mal auf mein echtes Board angewendet. Allerdings gibt es hier ein Problem, ich habe ja nicht mehr die Original admin Datei, denn beim Upgrade auf eine deutsche Version, wurde die Datei admin.php überschrieben. Wo soll ich denn nun die Zeile: 'arcade' => 'arcade', einfügen? Nach der Anleitung kann ich nicht gehen denn die Zeile: 'skinfix' => 'skinfix', existiert nicht. Muss man es irgendwo hier

*----------------------------------

   What do you want to require today?

	------------------------------------*/


	$choice = array(

      "idx"      => "doframes",

      "menu"     => "menu",

      "index"    => "index",

      "cat"      => "categories",

      "forum"    => "forums",

      "mem"      => "member",

      'group'    => "groups",

      'mod'      => 'moderator',

      'op'       => 'settings',

      'help'     => 'help',

      'skin'     => 'skins',

      'wrap'     => 'wrappers',

      'style'    => 'stylesheets',

      'image'    => 'imagemacros',

      'sets'     => 'stylesets',

      'templ'    => 'templates',

      'rtempl'   => 'remote_template',

      'lang'     => 'languages',

      'import'   => 'skin_import',

      'modlog'   => 'modlogs',

      'field'   => 'profilefields',

      'stats'   => "statistics",

      'quickhelp' => "quickhelp",

      'adminlog'  => "adminlogs",

      '[url="https://www.invisionpower.com/clients/index.php?app=nexus&module=promotion&section=referral&id=5636&direct=aHR0cDovL3d3dy5pbnZpc2lvbnBvd2VyLmNvbS8%3D"]IPS[/url]'       => '[url="https://www.invisionpower.com/clients/index.php?app=nexus&module=promotion&section=referral&id=5636&direct=aHR0cDovL3d3dy5pbnZpc2lvbnBvd2VyLmNvbS8%3D"]IPS[/url]',

      'mysql'     => 'mysql',

      'pin'       => 'plugins',

      'emaillog'  => 'emaillogs',

      'multimod'  => 'multi_moderate',

      'prefs'     => "prefs",

      'spiderlog' => "spiderlogs",

      'warnlog'      => "warnlogs",

      'csite'     => 'ad_dynamiclite',

       );



	/***************************************************/

einfügen?

EDIT: Wenn ich es einfach unter 'csite' => 'ad_dynamiclite', einfüge dann kommt folgende Meldung:

Incorrect access

You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.

Edited by daniel987

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×