php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.03.2009, 01:48  
Erfahrener Benutzer
 
Benutzerbild von Felk
 
Registriert seit: 23.02.2009
Beiträge: 235
PHP-Kenntnisse:
Fortgeschritten
Felk befindet sich auf einem aufstrebenden Ast
Felk eine Nachricht über MSN schicken Felk eine Nachricht über Skype™ schicken
Standard unfertiges Kampfsystem

Hi!
Ich hab neulich auf meinem Server ein Kampfsystem gefunden... doch ich habe es nie fertig gemacht!
Es fehlt noch ein Computergesteuerter Gegner!
Nun wollte ich von euch wissen... könnte das kleine Kampfsystem etwas Spass machen, wenn ich es fertig mache? Wenn ja, dann werd ich vielleicht mal weiterbauen...
(Ich wollte das mal für den Marti95. machen, der könnte euch bekannt sein ^^)
Hier erstmal die Adresse...
Fight
(wundert euch nicht, dass ihr direkt 4 Fehlermeldungen bekommt, das sind nur Notices, weil bestimmte Variablen nur zu Beginn ungesetzt sind)

Und hier natürlich der Code:
kampf.php
PHP-Code:
<?php
session_start
();
?>
<html>
<head>
<style type="text/css">

BODY {background-color:#333333; color:#FFFFFF;}
TD {border:1px solid #666666;}

</style>
<title>Fight</title>
</head>
<body>
<?php
error_reporting
(E_ALL);
include 
'functions.php';

$round = (int)$_SESSION['round'];

$s_leben = (int)$_SESSION['s_leben'];
$c_leben = (int)$_SESSION['c_leben'];

$s_concentrate = (int)$_SESSION['s_concentrate'];
$c_concentrate = (int)$_SESSION['c_concentrate'];

@
$action_type $_POST['action_type'];
@
$action_num = (int)$_POST['action_num'];

$s_atk 216;
$s_def 285;
$c_atk 245;
$c_def 209;

$s_max_leben 386;
$c_max_leben 347;

if (empty(
$action_type)) {
    unset(
$round);
}

if (empty(
$round)) {
    
$round 1;
    
$s_leben $s_max_leben;
    
$s_leben $s_max_leben;
    
$action_type 'none';
    
$s_concentrate 80;
    
$c_concentrate 80;
}
echo 
"<b>Runde $round!</b><br><br>";

if (
$action_type == 'none') {
    
$s_wert 0;
    
$c_wert 0;
}
if (
$action_type == 'active') {
    switch(
$action_num) {
        case 
1$s_wert wert_1($s_atk); break;
        case 
2$s_wert wert_2($s_atk); $s_concentrate=$s_concentrate-6; break;
        case 
3$s_wert wert_3($s_atk); $s_concentrate=$s_concentrate-22; break;
        case 
4$s_wert wert_4($s_atk); $s_concentrate=$s_concentrate-40; break;
    }
}

if (
$action_type == 'neutral') {
    switch(
$action_num) {
        case 
1$s_wert wert_x($s_def); $s_concentrate+=rand(4,7); break;
        case 
2$s_wert wert_x($s_def); $s_concentrate=$s_concentrate-10$s_leben += $s_max_leben/10; if ($s_leben>$s_max_leben) {$s_leben $s_max_leben;} break;
        case 
3$s_wert wert_3($s_def)-$s_def$s_concentrate+=rand(15,22); break;
        case 
4$s_wert wert_3($s_def)-$s_def$s_concentrate=$s_concentrate-10$s_leben += $s_max_leben/5; if ($s_leben>$s_max_leben) {$s_leben $s_max_leben;}; break;
    }
}

if (
$action_type == 'passive') {
    switch(
$action_num) {
        case 
1$s_wert $s_def; break;
        case 
2$s_wert wert_2($s_def); $s_concentrate=$s_concentrate-5; break;
        case 
3$s_wert wert_3($s_def); $s_concentrate=$s_concentrate-21; break;
        case 
4$s_wert wert_3($s_def)+wert_3($s_def); $s_concentrate=$s_concentrate-36; break;
    }
}
$s_prozent $s_leben/($s_max_leben/100);
?>
<img alt="Energie" title="Energie" src="herz.gif" border="0"> <?php echo "$s_leben/$s_max_leben ($s_prozent%)"?><br>
<img alt="ATK-Wert" title="ATK-Wert" src="atk.gif" border="0"> <?php echo $s_atk?><br>
<img alt="DEF-Wert" title="DEF-Wert" src="def.gif" border="0"> <?php echo $s_def?><br>
<img alt="Konzentration" title="Konzentration" src="funkel.gif" border="0"> <?php echo $s_concentrate?><br><br><br>

<table>
    <tr><td colspan=3><b>Agressiv</b></td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="active">
        <input type="hidden" value="1" name="action_num">
        <input type="submit" value="Angriff"></form>
    </td><td>Du greifst unkonzentriert mit deinem Standard-ATK Wert an!
    </td><td><img src="funkel.gif" border="0"> 0
    </td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="active">
        <input type="hidden" value="2" name="action_num">
        <input type="submit" value="Kick"<?php if ($s_concentrate 6) echo ' disabled'?>></form>
    </td><td>Mit dem Fu&szlig; hast du etwa 10% mehr Kraft, allerdings brauchst du auch Balance.
    </td><td><img src="funkel.gif" border="0"> 6
    </td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="active">
        <input type="hidden" value="3" name="action_num">
        <input type="submit" value="Haken"<?php if ($s_concentrate 22) echo ' disabled'?>></form>
    </td><td>Ein gezielter Schlag auf verwundbare Stellen richtet etwa 40% mehr Schaden an!
    </td><td><img src="funkel.gif" border="0"> 22
    </td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="active">
        <input type="hidden" value="4" name="action_num">
        <input type="submit" value="Punch"<?php if ($s_concentrate 40) echo ' disabled'?>></form>
    </td><td>Warte den richtigen Augenblick ab und schlag mit voller Kraft zu!<br>Du triffst deinen gegner mit dem doppeltem ATK-Wert, also 100% st&auml;rker!
    </td><td><img src="funkel.gif" border="0"> 40
    </td></tr>
    
    
    <tr><td colspan=3><b>Passiv</b></td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="neutral">
        <input type="hidden" value="1" name="action_num">
        <input type="submit" value="Konzentrieren"></form>
    </td><td>Du erh&auml;lst ein paar Konzentrationspunkte und wehrst mit etwa 80% deines DEF-Wertes ab.
    </td><td><img src="funkel.gif" border="0"> <font color="green">4-7</font>
    </td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="neutral">
        <input type="hidden" value="2" name="action_num">
        <input type="submit" value="Heilung"<?php if ($s_concentrate 10) echo ' disabled'?>></form>
    </td><td>Du erh&auml;lst 10% deiner maximalen Energie zur&uuml;ck und wehrst mit etwa 80% deines DEF-Wertes ab.
    </td><td><img src="funkel.gif" border="0"> 10
    </td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="neutral">
        <input type="hidden" value="3" name="action_num">
        <input type="submit" value="Hochkonzentration"></form>
    </td><td>Du bekommst einige Konzentrationspunkte und wehrst mit etwa 40% deines DEF-Wertes ab.
    </td><td><img src="funkel.gif" border="0"> <font color="green">15-22</font>
    </td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="neutral">
        <input type="hidden" value="4" name="action_num">
        <input type="submit" value="Risiko-Heilung"<?php if ($s_concentrate 10) echo ' disabled'?>></form>
    </td><td>Ein Notfall-Risiko... du bekommst zwar 20% deiner maximalen Energie zur&uuml;ck,<br>wehrst aber nur mit etwa 40% deiner Verteidigung ab!
    </td><td><img src="funkel.gif" border="0"> 10
    </td></tr>
    
    
    <tr><td colspan=3><b>Defensiv</b></td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="passive">
        <input type="hidden" value="1" name="action_num">
        <input type="submit" value="Verteidigen"></form>
    </td><td>Du wehrst mit deime DEF-Wert ab.
    </td><td><img src="funkel.gif" border="0"> 0
    </td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="passive">
        <input type="hidden" value="2" name="action_num">
        <input type="submit" value="Ausweichen"<?php if ($s_concentrate 5) echo ' disabled'?>></form>
    </td><td>Schau auf deinen Gegner! Somit kannst du mit etwa 10% mehr DEF ausweichen!
    </td><td><img src="funkel.gif" border="0"> 5
    </td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="passive">
        <input type="hidden" value="3" name="action_num">
        <input type="submit" value="Technik-Abwehr"<?php if ($s_concentrate 21) echo ' disabled'?>></form
    ></td><td>Mit der richtigen Technik kannst du den Angriff um etwa 40% besser abwehren.
    </td><td><img src="funkel.gif" border="0"> 21
    </td></tr>
    <tr><td><form action="#" method="post"><input type="hidden" name="action_type" value="passive">
        <input type="hidden" value="4" name="action_num">
        <input type="submit" value="Vorausdenken"<?php if ($s_concentrate 36) echo ' disabled'?>></form>
    </td><td>Konzentriere dich v&ouml;llig auf deinen gegner, um seine Bewegungen einsch&auml;tzen zu k&ouml;nnen!<br>Somit kannst du mit etwa dem dreifachen DEF-Wert abwehren! (280% um genau zu sein)
    </td><td><img src="funkel.gif" border="0"> 36
    </td></tr>
</table>
<?php
if ($action_type == 'active'$type='aggressiv';
if (
$action_type == 'passive'$type='Defensiv';
if (
$action_type == 'neutral'$type='Neutral';
if (
$action_type == 'none'$type='-';
echo 
"Dein Aktionstyp: $type<br>";
echo 
"Dein Wert: $s_wert"

// FLUSH //
$round++;
$_SESSION['round'] = $round;

$_SESSION['s_leben'] = $s_leben;
$_SESSION['c_leben'] = $c_leben;

$_SESSION['s_concentrate'] = $s_concentrate+rand(2,5);
$_SESSION['c_concentrate'] = $c_concentrate+rand(2,5);
?>
<br><form action="#" method="post">
<input type="submit" value="Neustart"></form>
</body>
</html>
Dazu fehlen noch ein paar Funktionen, die sind hier:

functions.php
PHP-Code:
<?php
function wert_1($atk) {
    
$tp $atk/10;
    
$tp $tp*2;
    
$toleranz rand(-$tp,$tp);
    return 
round($atk+$toleranz);
}

function 
wert_2($atk) {
    
$tp $atk/10;
    
$atk += $tp;
    
$tp $atk/10;
    
$tp $tp*2;
    
$toleranz rand(-$tp,$tp);
    return 
round($atk+$toleranz);
}

function 
wert_3($atk) {
    
$tp $atk/10;
    
$tp $tp*4;
    
$atk += $tp;
    
$tp $atk/10;
    
$tp $tp*2;
    
$toleranz rand(-$tp,$tp);
    return 
round($atk+$toleranz);
}

function 
wert_4($atk) {
    
$atk += $atk;
    
$tp $atk/10;
    
$tp $tp*2;
    
$toleranz rand(-$tp,$tp);
    return 
round($atk+$toleranz);
}
function 
wert_x($atk) {
    
$tp $atk/10;
    
$tp $tp*2;
    
$atk $atk-$tp;
    
$tp $atk/10;
    
$tp $tp*2;
    
$toleranz rand(-$tp,$tp);
    return 
round($atk+$toleranz);
}

?>
Hier noch etwas Kleinsch**ß zum besseren Verständnis:
Buchstaben s und c in den Variablen bedeuten Spieler und Computer! Diese Variablen könnten z.B. aus einer Datenbank ausgelesen werden!
bei action_num und action_type ist kein Kürzel davor, weil der Computer ja direkt im Script aggieren kann, und nichts per Formular übergeben muss ^^
die wert_1(), wert_2(), ... -funktionen Dienen nur zum Erstellen einer %-Zahl, um die der Wert erhöht wird und einen Toleranzwert... von 20%


so... hier beantworte ich auch gleich mal eine eventuelle Frage:

Was bedeutet der Aktionstyp und der Wert?
Mit dem Aktionstyp und dem Wert wird Schaden ermittelt, und zwar so:
Es gibt den Aktionstyp Defensiv (Passiv ist auch quasi defensiv) und Aktiv (oder Agressiv, weiss nichtmehr) und wenn der Spieler eine "passive" oder eine "neutrale" Aktion ausführt, dann ist der Aktionstyp defensiv, d.h. dass der Spieler dem Gegner KEINEN Schaden zufügen kann, aber dafür einen höheren Wert hat... zum Thema Wert gibts gleich mehr!
Wenn der Aktionstyp wiederrum Aktiv/Agressiv ist, dann kann der Spieler dem Gegner Schaden zufügen...
Jetzt mehr zum Wert:
Es muss natprlich auch ein Wert her... weil wenn der Spieler z.B. mit dem Wert 200 "defensiv" aggiert, aber der Gegner mit einem Wert von 300 "agressiv", dann werdem dem Spieler 100 Punkte an Leben abgezogen (300 - 200, also die Differenz der Werte). Hätte der Spieler allerdings einen defensiven Wert von 300 gehabt, und der Gegner einen von 200, dann wäre überhaupt kein Schaden abgezogen worden, da derjenige mit dem höheren Wert DEFENSIV aggiert hat...
ich hoffe, das versteht ihr!

bitte um Feedback
Felk ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.03.2009, 18:48  
Neuer Benutzer
 
Registriert seit: 19.03.2009
Beiträge: 4
condo befindet sich auf einem aufstrebenden Ast
Standard

Wow nicht schlecht aber kannst du vieleicht auch sagen wie man die 4/5 fehler beheben kann da blicke ich leider nicht durch dank voraus

Code:
Notice: Undefined variable: _SESSION in /usr/export/www/vhosts/funnetwork/hosting/condo/kampf.php on line 17

Notice: Undefined variable: _SESSION in /usr/export/www/vhosts/funnetwork/hosting/condo/kampf.php on line 18

Notice: Undefined variable: _SESSION in /usr/export/www/vhosts/funnetwork/hosting/condo/kampf.php on line 19

Notice: Undefined variable: _SESSION in /usr/export/www/vhosts/funnetwork/hosting/condo/kampf.php on line 20

Notice: Undefined variable: _SESSION in /usr/export/www/vhosts/funnetwork/hosting/condo/kampf.php on line 21
achso es würde mich echt freuen wenn du mir sagen köttes wenn der kampf gewonen ist wie man dan den links setz das er auf eine andere seite kommt danke

Geändert von condo (19.03.2009 um 18:55 Uhr).
condo ist offline   Mit Zitat antworten
Alt 19.03.2009, 19:09  
Erfahrener Benutzer
 
Benutzerbild von Felk
 
Registriert seit: 23.02.2009
Beiträge: 235
PHP-Kenntnisse:
Fortgeschritten
Felk befindet sich auf einem aufstrebenden Ast
Felk eine Nachricht über MSN schicken Felk eine Nachricht über Skype™ schicken
Standard

Das steht im 1. Beitrag...
"(wundert euch nicht, dass ihr direkt 4 Fehlermeldungen bekommt, das sind nur Notices, weil bestimmte Variablen nur zu Beginn ungesetzt sind)"
Es sind halt 5, weil ich mich verschrieben hab

Und ich hab schon längst an dem Kampfsystem weitergebaut!
Also ich habe von jemandem den Auftrag bekommen, es für das Browsergame dactilus-the-game.de zu bauen! Mittlerweile Hat man verschiedene Computergegner, Konzentration ist nun Magie, es gibt verschiedene Bilder, man bekommt Erfahrung und Geld, man kann Level aufsteigen und demenstprechend Waffen und Rüstungen kaufen, man kann wo übernachten, um seine Lebenspunkte wieder aufzuladen und man kann sich in beliebige Bereiche trainieren!
__________________
www.Speedcube.de, werde Speedcubing Meister! (Rubik's Cube lösen)
Felk ist offline   Mit Zitat antworten
Alt 19.03.2009, 19:23  
Neuer Benutzer
 
Registriert seit: 19.03.2009
Beiträge: 4
condo befindet sich auf einem aufstrebenden Ast
Standard

Das ist ja tool
respeckt

Würdest du die code für das KS hier Posten ? die erweiterung meine ich
Oder mir weningsten sagen was ich ändern muss bei denn 5 error da blicke ich nicht durch da sieht alles oki aus wo haste den dich verschrieben
condo ist offline   Mit Zitat antworten
Alt 19.03.2009, 19:29  
Erfahrener Benutzer
 
Benutzerbild von Felk
 
Registriert seit: 23.02.2009
Beiträge: 235
PHP-Kenntnisse:
Fortgeschritten
Felk befindet sich auf einem aufstrebenden Ast
Felk eine Nachricht über MSN schicken Felk eine Nachricht über Skype™ schicken
Standard

Also du kannst den Code vom jetzigen Kampfsystem nicht verwenden, da er komplett an die Datenbankstruktur von dactilus-the-game.de angepasst ist!
Du könntest natürlich deine Datenbank wie die von dactilus-the-game.de einrichten, aber das ist nicht das einzige Problem!
Das Kampfsystem ist in PHP-Fusion (ein CMS) eingebettet, was wiederrum Änderungen erfordert!

Außerdem hätte ich persönlich was dagegen, da ich die Arbeit für dactilus-the-game.de nicht einfach veröffentlichen will...
vielleicht überarbeite ich mal den Code und gebe eine Open-Source-Version raus, aber dazu muss ich erstmal fertig werden, und das bin ich noch nicht...

MFG, Felk.
__________________
www.Speedcube.de, werde Speedcubing Meister! (Rubik's Cube lösen)
Felk ist offline   Mit Zitat antworten
Alt 19.03.2009, 19:30  
Neuer Benutzer
 
Registriert seit: 19.03.2009
Beiträge: 4
condo befindet sich auf einem aufstrebenden Ast
Standard

das were echt net dank voraus
condo ist offline   Mit Zitat antworten
Alt 19.03.2009, 19:32  
Erfahrener Benutzer
 
Benutzerbild von Felk
 
Registriert seit: 23.02.2009
Beiträge: 235
PHP-Kenntnisse:
Fortgeschritten
Felk befindet sich auf einem aufstrebenden Ast
Felk eine Nachricht über MSN schicken Felk eine Nachricht über Skype™ schicken
Standard

Hmm... wofür brauchst du denn das Kampfsystem?
(Und was ist eigentlich deine Muttersprache?)
__________________
www.Speedcube.de, werde Speedcubing Meister! (Rubik's Cube lösen)
Felk ist offline   Mit Zitat antworten
Alt 14.02.2010, 21:01  
Benutzer
 
Registriert seit: 20.06.2009
Beiträge: 81
PHP-Kenntnisse:
Fortgeschritten
php-gamer kann nur auf Besserung hoffen
Standard

Stellst du auch den Neuen Source code rein?
php-gamer ist offline   Mit Zitat antworten
Alt 14.02.2010, 21:17  
Erfahrener Benutzer
 
Benutzerbild von Felk
 
Registriert seit: 23.02.2009
Beiträge: 235
PHP-Kenntnisse:
Fortgeschritten
Felk befindet sich auf einem aufstrebenden Ast
Felk eine Nachricht über MSN schicken Felk eine Nachricht über Skype™ schicken
Standard

der thread ist schon etwas älter. Aus dem KS ist mittlerweile was anderes geworden:
Battle System - Produkte - WBB/PHP-Fusion World
__________________
www.Speedcube.de, werde Speedcubing Meister! (Rubik's Cube lösen)
Felk ist offline   Mit Zitat antworten
Alt 15.02.2010, 15:24  
Benutzer
 
Registriert seit: 20.06.2009
Beiträge: 81
PHP-Kenntnisse:
Fortgeschritten
php-gamer kann nur auf Besserung hoffen
Standard

Mir würde das script von dem kampf system reichen von der website von dem links ganz oben.

Ein Kampfsystem für wbb brauch ich ned ^^
php-gamer ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kampfsystem Marti95. Scriptbörse 15 23.02.2009 16:08
Kampfsystem Marti95. Scriptbörse 8 19.02.2009 14:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php kampfsystem, kampfsystem php, unfertiges kampfsystem, php kampfsystem script, kampfsystem mit php, kampfsystem script, php browsergame kampfsystem, kampfsystem in php, http://www.php.de/scriptboerse/52381-unfertiges-kampfsystem.html, kampfsystem auf php basis, php kampfystem, kampfsystem php source code, funkel gif, script für ein kampfsystem, browsergame php kampfsystem script, fight script php browsergame, browsergame kampfsystem, kampfsystem browsergame php, kampfsystem.php, source kampf.php

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum