[Wunsch]Safeknacker

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

DsMagic hat geschrieben:Jo , ist ja cool das du das jetzt doch noch mir DB machst . Ist das normal wen ich auf deinen Link gehe das im Hintergrund ein Code steht , und das Bild von dem Safe nicht da ist ???
Vielleicht kannst du den mod später auch phpBB komplitabel machen und den Cashmod mit einbauen !!!

Gruß DsMagic
Ps : Ich kann im moment nicht mehr so oft antworten weil , ich mir vorgestern bei einem Basketball spiel den arm gebrochen habe.
Also ich bin gerade dabei eine phpBB kompatible Version zu schreiben :wink:

Mit Template aber ohne lang Dateien, und das mit dem Code ist only für mein Safe Spiel^^
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Also hier ist die Demo: http://www.fanrpg.gut4me.de/mods/safeknacker.php

Und hier die SQL Anweisung:

Code: Alles auswählen

CREATE TABLE `phpbb_safe` (
  `geld_im_tresor` int(255) NOT NULL default '0',
  `zufall` int(1) NOT NULL default '0',
  `code_one` int(1) NOT NULL default '0',
  `code_two` int(1) NOT NULL default '0',
  `code_three` int(1) NOT NULL default '0',
  `code_four` int(1) NOT NULL default '0',
  `wins` int(255) NOT NULL default '0',
  `views` int(255) NOT NULL default '0'
) TYPE=MyISAM;
INSERT INTO `phpbb_safe` VALUES (0, 0, 0, 0, 0, 0, 0, 0);
desweiteren muss eine .tpl Datei angelegt werden die ihr in den subSilver ordner (oder den Ordner eures Templates) schiebt die so aussieht:

safeknacker.tpl :

Code: Alles auswählen

{CSS}
<!-- BEGIN switch_hilfe -->
<table border="0" align="center" width="400">
<tr>
<th class="row" colspan="2">Safeknacker - Hilfe</th>
</tr>
<tr>
<td class="row" align="center" nowrap="nowrap">Jede Zahl pro Feld hat nur eine Stelle<br />
Wenn der Safe geknackt wurde, hat man das Geld gewonnen<br />
was andere verloren haben.<br /><br />
Wen man gewonnen wird automatisch ein neuer Code generiert<br />
damit das Spiel nicht langweilig wird.<br />
(Ausser der Administratot hat eingestellt das automatisch ein<br />
neuer Code bei jedem Versuch generiert wird.</td>
</tr>
<tr>
<td class="row" align="center"><a href="safeknacker.php">Zum Spiel</a><br /><br /><br />Scripted by <a href="http://www.fanrpg.de/">fanrpg</a> <p>
    <a href="http://validator.w3.org/check?uri=referer"><img
        src="http://www.w3.org/Icons/valid-html401"
        alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
  </p></td>
</tr>
</table>  	   
<!-- END switch_hilfe -->

<!-- BEGIN switch_safeknackerindex -->
<table border="0" align="center" width="400">
<tr>
<th class="row" colspan="2">Safeknacker</th>
</tr>
<tr>
<td class="row" colspan="2" align="center">{END_RESULT}</td>
</tr>
<tr>
<td class="row"><form method="post">
Zahl 1: <input type="text" name="input_1"><br />
Zahl 2: <input type="text" name="input_2"><br />
Zahl 3: <input type="text" name="input_3"><br />
Zahl 4: <input type="text" name="input_4"><br />
<input type="submit" name="submit" value="Absenden">
</form></td>
<td class="row">{RESULT_ONE}{RESULT_TWO}{RESULT_THREE}{RESULT_FOUR}</td>
</tr>
<tr>
<td class="row" colspan="2" align="center">{WINS_OUT}<br />
{VIEWS_OUT}</td>
</tr>
<tr>
<td class="row" colspan="2" align="center"><a href="safeknacker.php?page=hilfe">Zur Hilfe</a><br /><br /><br />Scripted by <a href="http://www.fanrpg.de/">fanrpg</a> <p>
    <a href="http://validator.w3.org/check?uri=referer"><img
        src="http://www.w3.org/Icons/valid-html401"
        alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
  </p></td>
</tr>
</table>  
<!-- END switch_safeknackerindex -->
und die safeknacker.php die in den root kommt:

Code: Alles auswählen

<?php
define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 

$page_title = 'Safeknacker by fanrpg'; 
include($phpbb_root_path . 'includes/page_header.'.$phpEx); 

//
// Starten der Template Engine
//
$template->set_filenames(array( 
    'safeknacker' => 'safeknacker.tpl'
));

//
// CSS
//
$css = '<style type="text/css">
<!--
body {
font-size:16px;
color:#000000;
background-color:#CCCCCC;
font-style:oblique;
font-weight:bold;
}
.green { color:#00FF00; }
.red { color:#FF0000; }
.schriftgross { font-size:20px; }
.row { background-color:#FFFFFF;
border:2px solid #CCCCCC;}
-->
</style>';
//
// End CSS
//

//
// Start der Funktionen
//
function sql_error($query, $fehlertype)
{
if($fehlertype == "0")
  {
     echo("Ein unerwarteter Fehler ist aufgetreten");
  }
elseif($fehlertype == "1")
  {
    die("Ein unerwarteter Fehler ist aufgetreten");
  }
elseif($fehlertype == "2")
  {
     die(mysql_error());
  }
elseif($fehlertype == "3")
  {
    die("MySQL Fehler: ". mysql_error() . "<br />SQL: ".$query."<br />");
  }
}

function htmlundzahlen($var)
{
$var = str_replace("<", "<", $var);
$var = str_replace(">", ">", $var);
$var = str_replace("&", "&", $var);
$var = str_replace("A", "0", $var);
$var = str_replace("a", "0", $var);
$var = str_replace("B", "0", $var);
$var = str_replace("b", "0", $var);
$var = str_replace("C", "0", $var);
$var = str_replace("c", "0", $var);
$var = str_replace("D", "0", $var);
$var = str_replace("c", "0", $var);
$var = str_replace("E", "0", $var);
$var = str_replace("e", "0", $var);
$var = str_replace("F", "0", $var);
$var = str_replace("f", "0", $var);
$var = str_replace("G", "0", $var);
$var = str_replace("g", "0", $var);
$var = str_replace("H", "0", $var);
$var = str_replace("h", "0", $var);
$var = str_replace("I", "0", $var);
$var = str_replace("i", "0", $var);
$var = str_replace("J", "0", $var);
$var = str_replace("j", "0", $var);
$var = str_replace("K", "0", $var);
$var = str_replace("k", "0", $var);
$var = str_replace("L", "0", $var);
$var = str_replace("l", "0", $var);
$var = str_replace("M", "0", $var);
$var = str_replace("m", "0", $var);
$var = str_replace("N", "0", $var);
$var = str_replace("n", "0", $var);
$var = str_replace("O", "0", $var);
$var = str_replace("o", "0", $var);
$var = str_replace("P", "0", $var);
$var = str_replace("p", "0", $var);
$var = str_replace("Q", "0", $var);
$var = str_replace("q", "0", $var);
$var = str_replace("R", "0", $var);
$var = str_replace("r", "0", $var);
$var = str_replace("S", "0", $var);
$var = str_replace("s", "0", $var);
$var = str_replace("T", "0", $var);
$var = str_replace("t", "0", $var);
$var = str_replace("U", "0", $var);
$var = str_replace("u", "0", $var);
$var = str_replace("V", "0", $var);
$var = str_replace("v", "0", $var);
$var = str_replace("W", "0", $var);
$var = str_replace("w", "0", $var);
$var = str_replace("X", "0", $var);
$var = str_replace("x", "0", $var);
$var = str_replace("Y", "0", $var);
$var = str_replace("y", "0", $var);
$var = str_replace("Z", "0", $var);
$var = str_replace("z", "0", $var);
}
//
// Ende der Funktionen
// 

//
// Starte mit dem Safe Skript
//
if(isset($_POST['submit'])) {
$userinput_1 = $_POST['input_1'];
$userinput_2 = $_POST['input_2'];
$userinput_3 = $_POST['input_3'];
$userinput_4 = $_POST['input_4'];

//$userinput_1 = htmlundzahlen($userinput_1);
//$userinput_2 = htmlundzahlen($userinput_2);
//$userinput_3 = htmlundzahlen($userinput_3);
//$userinput_4 = htmlundzahlen($userinput_4);

$sql_zahl = "SELECT * FROM `".$table_prefix."safe` LIMIT 1";
$result_zahl = mysql_query($sql_zahl) or sql_error($sql_zahl, "3");
$zahl = mysql_fetch_assoc($result_zahl);

if($zahl['zufall'] == "1")
  {
    $code_one = rand(1, 9);
    $code_two = rand(1, 9);
    $code_three = rand(1, 9);
    $code_four = rand(1, 9);
  }
elseif($zahl['zufall'] == "0")
  {
    $sql_code = "SELECT * FROM `".$table_prefix."safe` LIMIT 1";
    $result_code = mysql_query($sql_code) or sql_error($sql_code, "3");
    $code = mysql_fetch_assoc($result_code);
    $code_one = $code['code_one'];
    $code_two = $code['code_two'];
    $code_three = $code['code_three'];
    $code_four = $code['code_four'];
  }
else
  {
    die("Konnte keinen Code generieren");
  }
if($userinput_1 == $code_one)
  {
    $result_one = "<span class=\"green\">Zahl 1 ist richtig:&nbsp;&nbsp;".$code_one."</span><br />";
  }
else
  {
    $result_one = "<span class=\"red\">Zahl 1 ist falsch:&nbsp;&nbsp;".$userinput_1."</span><br />";
  }	  
if($userinput_2 == $code_two)
  {
    $result_two = "<span class=\"green\">Zahl 2 ist richtig:&nbsp;&nbsp;".$code_two."</span><br />";
  } 
else 	
  {
    $result_two = "<span class=\"red\">Zahl 2 ist falsch:&nbsp;&nbsp;".$userinput_2."</span><br />";
  }	 
if($userinput_3 == $code_three)
  {
    $result_three = "<span class=\"green\">Zahl 3 ist richtig:&nbsp;&nbsp;".$code_three."</span><br />";
  } 
else 	
  {
    $result_three = "<span class=\"red\">Zahl 3 ist falsch:&nbsp;&nbsp;".$userinput_3."</span><br />";
  }	  
if($userinput_4 == $code_four)
  {
    $result_four = "<span class=\"green\">Zahl 4 ist richtig:&nbsp;&nbsp;".$code_four."</span><br />";
  } 
else 	
  {
    $result_four = "<span class=\"red\">Zahl 4 ist falsch:&nbsp;&nbsp;".$userinput_4."</span><br />";
  }

if($userinput_1 == $code_one && $userinput_2 == $code_two && $userinput_3 == $code_three && $userinput_4 == $code_four)
  {
    $sql_geldweg = "SELECT * FROM `".$table_prefix."safe` LIMIT 1";
	$result_geldweg = mysql_query($sql_geldweg) or sql_error($sql_geldweg, "3");
	$geldweg_array = mysql_fetch_assoc($result_geldweg);
	$geldweg = $geldweg_array['geld_im_tresor'];
	$old_wins = $geldweg_array['wins'];
	$old_wins++;
	$new_wins = $old_wins;
	$end_result = "<span class=\"schriftgross green\">Herzlichen Glückwunsch<br /><br />Du hast den Tresor geknackt,<br />Du erhälst ".$geldweg."€";
	$code_one_n = rand(1, 9);
    $code_two_n = rand(1, 9);
    $code_three_n = rand(1, 9);
    $code_four_n = rand(1, 9);
	if(empty($code_one_n))
	{
	die("Leer");
	}
	$sql_geldhinzu = "UPDATE `".$table_prefix."safe` SET `geld_im_tresor` = '0', `code_one` = '".$code_one_n."', `code_two` = '".$code_two_n."', `code_three` = '".$code_three_n."', `code_four` = '".$code_four_n."', `wins` = '".$new_wins."'";
	$result_geldhinzu = mysql_query($sql_geldhinzu) or sql_error($sql_geldhinzu, "3");
  }
if( ($userinput_1 != $code_one) or ($userinput_2 != $code_two) or ($userinput_3 != $code_three) or ($userinput_4 != $code_four) )
  {
    $sql_geldweg = "SELECT `geld_im_tresor` FROM `".$table_prefix."safe` LIMIT 1";
	$result_geldweg = mysql_query($sql_geldweg) or sql_error($sql_geldweg, "3");
	$geldweg_array = mysql_fetch_assoc($result_geldweg);
	$geldweg = $geldweg_array['geld_im_tresor'];
    $geldhinzu_rand = rand(100, 1000);
	$geldhinzu_rand + $geldweg;
	$geldhinzu = $geldhinzu_rand;
    $sql_geldhinzu = "UPDATE `".$table_prefix."safe` SET `geld_im_tresor` = '".$geldhinzu."' LIMIT 1";
	$result_geldhinzu = mysql_query($sql_geldhinzu) or sql_error($sql_geldhinzu, "3");
  	$end_result = "<span class=\"schriftgross red\">Du hast leider Pech gehabt<br /><br />Du hast den Tresor nicht geknackt,<br />Du legst ".$geldhinzu."€ in den Tresor"; 	   
  }
//
// Zählen der Spiele
//  
$view_sql_second = "SELECT `views` FROM `".$table_prefix."safe` LIMIT 1";
$var_view = mysql_query($view_sql_second) or sql_error($view_sql_second, "3");
$view_row = mysql_fetch_assoc($var_view);
$old_views = $view_row['views'];
$old_views++;
$new_views = $old_views;  
$view_sql = "UPDATE `".$table_prefix."safe` SET `views` = '".$new_views."' LIMIT 1";
$view_result = mysql_query($view_sql) or sql_error($view_sql, "3");  
//
// Ende des Zählens
// 
}
$sql_wins = "SELECT `wins` FROM `".$table_prefix."safe` LIMIT 1";
$result_wins = mysql_query($sql_wins) or sql_error($sql_wins, "3");
$row_wins = mysql_fetch_assoc($result_wins);
$wins = $row_wins['wins'];
if($wins == "")
  {
    $wins = "0";
  }
$wins_out = "Das Spiel wurde schon ".$wins."mal gewonnen";   
//
// Abfragen der Spiele
//
$select_views = "SELECT * FROM `".$table_prefix."safe` LIMIT 1";
$selected_views_result = mysql_query($select_views) or sql_error($select_view, "3");
$select_view_row = mysql_fetch_assoc($selected_views_result);
$views_out = "Das Spiel wurde schon ".$select_view_row['views']."mal gespielt";
//
// Ende
//

//
// Ende mit Safe Skript
//

//
// Schliessen der Datenbankverbindung
//
//$db = mysql_close($db);
//
// Ende schliessen von DB Verbindung
// 

//
// Starte HTML Output mit GET Seiten
//
if($_GET['page'] == "hilfe")
{
$template->assign_block_vars('switch_hilfe', array());
}
elseif($_GET['page'] == "")
{
$template->assign_block_vars('switch_safeknackerindex', array());
if(!empty($result_one))
{
$template->assign_block_vars('switch_safeknackertable', array());
}
} 
$template->assign_vars(array(
    'CSS' => $css, 
    'END_RESULT' => $end_result,
    'RESULT_ONE' => $result_one, 
    'RESULT_TWO' => $result_two,
	'RESULT_THREE' => $result_three,
	'RESULT_FOUR' => $result_four,
	'WINS_OUT' => $wins_out,
	'VIEWS_OUT' => $views_out
));
//
// Ende des HTML Outputs
//

//
// Parsen des HTML Outputs
//
$template->pparse('safeknacker');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 
?>
Hoffentlcih ist der Code net zu lang.. hab immo kein Zugriff auf FTP, gerade FTP Server abgestürzt :roll:
Benutzeravatar
SilverDragon
Mitglied
Beiträge: 238
Registriert: 31.07.2005 21:49
Wohnort: Osnabrück
Kontaktdaten:

Beitrag von SilverDragon »

DsMagic hat geschrieben:Also , Jeder Spieler kann so oft wie er will dieses Spiel spielen.
Eine 3-stellige Safe-Nummer muss geknackt werden.
Stimmt die Kombination, bekommt der User den
Safeinhalt und startet gleichzeitig eine neue Safekombination!
Ist der Safecode falsch, wandert zufällig gewähler Einsatz zwischen
50 und 100 in den Safe
Jeder Safeinhalt fängt bei 10000 an.

Hier mal ein Bild des Safes !!!
[ externes Bild ]
Ich habe mal angefangen einen Mod dazu zu machen.
Ich habe auch dein Gif-Bild mit eingebaut.
Drei Zahlen fand ich zu einfach und habe nun eine 5 stellige Kombination gemacht. Der Startwert liegt bei 50 € und bei falschen Versuchen wird ein Zufallsbetrag zwischen 10 und 50 € hinzugefügt.
Kannst du dir ja HIER anschauen.

Testaccount:
name: test
pw: test

Er läuft soweit schon ganz gut. Ich will noch eine Anbindung an den Cash-Mod einbauen. Dafür wäre es sinnvoll zu wissen, ob und wenn ja, welchen Cash-Mod du nutzt.

Greetz
...Versuch macht klug....
steffi1977
Mitglied
Beiträge: 1578
Registriert: 10.01.2004 22:49
Wohnort: Moers
Kontaktdaten:

Beitrag von steffi1977 »

ich nutze den Cash Mod von Xore Version 2.2.2 :D
DsMagic
Mitglied
Beiträge: 215
Registriert: 18.05.2005 07:10
Wohnort: Kerpen

Beitrag von DsMagic »

Ich benutze den gleichen Cash mod !!!
Aber könnte man nicht nur 1 kommbi nehmen die 5 Zahlen hat !!! Das ist sonst zu einfach , ich suche mir immer bei der Zahl 1 die Zahl dann merke ich mir die Zahl und mache das gleich bei den anderen Zahlen .Dan habe ich nach 1 Minute den Code . Und das ist langweilig :grin: Und könntes du bei dem grauen hintergrund die grüne schrift heller machen , ich habe erst garnicht gemerkt das da was stand . So , das wars . Mal schauen welcher mod am schluß besser wird .
Gruß DsMagic
Edit : Ich habe einen Fehler endeckt . Bei der 5 Zahl steht wen ich die zahl rihtig habe das : Zahl 5 ist richtig:&nbsp2
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

also *hust*
Programmed for phpBB 2.0.17 by SilverDragon
Das stimmt wohl nicht so ganz

wenn man nämlich das: http://test.homewar.de/safeknacker.php?page=hilfe aufruft sieht man das das mein Core ist
Benutzeravatar
SilverDragon
Mitglied
Beiträge: 238
Registriert: 31.07.2005 21:49
Wohnort: Osnabrück
Kontaktdaten:

Beitrag von SilverDragon »

@fanrpg:

das stimmt nur zum teil, da ich lediglich die hilfe drin hatte, sorry, das die "leiche" noch drin ist. das php-file habe ich komplett neu geschrieben, da ich das mod komplett in das phpbb eingebaut habe. bin noch nicht fertig geworden mit dem tpl das ich dazu schreibe, deshalb hatte ich mich vorübergehend deines tpls bedient, weil ich das php file testen wollte.

Ich hoffe du bist deshalb nicht sauer.

Ich werde mein eigenes tpl heute nacht fertig machen und dann austauschen.

@DSMagic & Steffi:

Der MOD ist halt noch nicht fertig. Sowas an einem Tag zu proggen ist mir aus Zeitgründen leider nicht möglich :D Aber ich hoffe ich kann heute nacht noch was schaffen. Später kann dann auch jeder User nicht dirket hintereinander teilnehmen. Auch werden später die richtigen nicht sofort angezeigt. Das genaue Spielkonzept steht noch nicht fest. Falls ihr also Ideen habt, lasst es mich wissen.

EDIT: Ich habe mal die Änderungen hier gemacht. Wenn ihr bei eurem Cash-Mod die Währung den user_points zugeordnet habt, müsste das funktionieren.

Code: Alles auswählen

##########################################################################################################
## If Using Cash-MOD version 2.2.2 from XORE, You can Add following lines to add the value to user-points#
##########################################################################################################

#
#-----[ OPEN ]---------------------------
#
safeknacker.php

#
#-----[ FIND ]---------------------------
#
$won = $value_one + $value_two;

#
#-----[ AFTER, ADD ]---------------------
#
	$cash_old = $userdata['user_points'];
    $cash = $cash_old + $value_one;

#
#-----[ FIND ]---------------------------
#
$new_round = $round + 1;

#
#-----[ AFTER, ADD ]---------------------
#
	$sql_cash = "UPDATE " .USERS_TABLE . " SET user_points = '".$cash."' WHERE user_id =".$userdata['user_id'];
   	$result_cash = mysql_query($sql_cash) or sql_error($sql_cash, "3");
dann sollte der Gewinn den User-Ponits hinzugefügt werden.
...Versuch macht klug....
Sputum
Mitglied
Beiträge: 197
Registriert: 19.03.2004 18:48

Beitrag von Sputum »

wann ist den mit einer final zu rechnen?
Benutzeravatar
SilverDragon
Mitglied
Beiträge: 238
Registriert: 31.07.2005 21:49
Wohnort: Osnabrück
Kontaktdaten:

Beitrag von SilverDragon »

Sputum hat geschrieben:wann ist den mit einer final zu rechnen?
ich habe noch ein paar ideen, die ich versuchen möchte. da ich etwas im stress bin, kann ich noch keine angabe zur final geben. aber ich denke es wird nicht allzu lange dauern.
...Versuch macht klug....
DsMagic
Mitglied
Beiträge: 215
Registriert: 18.05.2005 07:10
Wohnort: Kerpen

Beitrag von DsMagic »

Hi , wie sieht es aus ??? Habt ihr schon was neues ???
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“