anpera.net https://anpera.homeip.net/phpbb3/ |
|
Help please - Eigenes Special - teilweise "kaputt"? https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=2069 |
Seite 1 von 1 |
Autor: | Pastarix [ Di 03 Jan, 2006 09:33 ] |
Betreff des Beitrags: | Help please - Eigenes Special - teilweise "kaputt"? |
Hi @all, ich habe ein eigenes Script erstellt, auf der Basis einiger der anderen, vorhandenen Scripte. Es läuft - bis auf weiteres. Ich habe einen Teil der Funktionen noch nicht im Griff, glaube ich. Vielleicht kann mir einer von Euch helfen, die Reste auszubügeln... würde das Script dann auch gern zur Verfügung stellen. Die Teile, die nicht laufen, sind: - Beim Angriff (egal, welcher) wird zwar der Kampf gemacht und es gibt auch EXP und Gold, aber nicht die Outputs usw. Wie fange ich das ab? - ich kriege die beiden anderen Specials Darkhorse und Castle nicht verlinkt. Wie mach ich das? Danke schonmal für Eure Hilfe!!! Pastarix Hier ist das Special "Zigeunerbande": <?php //zigeuner.php //Pastarix //Pastarix@gmx.de //Variablen definieren $gold =(e_rand(2,1000)); $gem =(e_rand(1,4)); $exp = round($session['user']['experience']*0.03); if ($_GET['op']=="") { output("(c) PSt`n"); output("`n`c`b`1Die Zigeunerbande`b`c`n`n"); output("`9Du gehst gelangweilt Deiner Wege, da erblickst Du nach kurzer"); output("Zeit den Lichtschein eines großen Lagerfeuers. Als Du Dich langsam"); output("näherst, siehst Du einige Planwagen am Lager stehen, die sicher in"); output("einem Kreis um das Feuer aufgereiht sind. Direkt am Feuer stehen"); output("ein paar Gestalten, die sich leise unterhalten."); output("Was willst Du tun?"); addnav("Das Lager"); addnav("Sie belauschen","forest.php?op=lausch"); addnav("Sie beobachten","forest.php?op=guck"); addnav("Sie angreifen","forest.php?op=kill"); addnav("Zurück in den Wald","forest.php?op=back"); $session['user']['specialinc']="zigeuner.php"; } if ($_GET['op']=="lausch") { output("`n`c`b`1Die Zigeunerbande`b`c`n`n"); output("`9Du horchst regungslos und verfolgst das Gespräch. Es ist sehr"); output("interessant, denn Du erfährst"); switch(e_rand(1,6)) { case 1: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, metzeln sie Dich rücksichtslos nieder."); output("`n`n`^Du bist tot.`nDu verlierst all dein Gold.`nDu verlierst ".$exp." Erfahrungspunkte."); $session['user']['alive']=false; $session['user']['hitpoints']=0; $session['user']['gold']=0; $session['user']['experience']*0.97; addnews($session['user']['name']."`9 wurde von Zigeunern umgebracht.`b"); addnav("Tägliche News","news.php"); break; case 2: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $badguy = array( "creaturename"=>"Zigeunerwachmann", "creatureexp"=>$session['user']['experience']*0.05, "creaturegold"=>$session['user']['gold']*0.1, "creaturelevel"=>$session[user][level], "creatureweapon"=>"Rostiges Krummschwert", "creatureattack"=>$session['user']['attack']*0.95, "creaturedefense"=>$session['user']['defence']*1.05, "creaturehealth"=>round($session['user']['maxhitpoints']*0.89),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $HTTP_GET_VARS['op']="fight"; include("battle.php"); if ($victory) { $badguy=array(); $session['user']['badguy']=""; output("`n`n`#Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt!`n"); output("`#Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk.`n"); $session['user']['gold']+=$gold; $session['user']['experience']*1.03; output("`#Du hast etwas Gold gefunden und bist erfahrener geworden.`n"); } elseif ($defeat) { $badguy=array(); $session[user][badguy]=""; output("`n`n`#Die Wache zerhackt Dich in Stücke, läßt Dich aber leben und jagt Dich davon.`n"); $session['user']['hitpoints']=1; addnews("`%".$session[user][name]."`5 wurde von Zigeunern aus ihrem Lager gejagt."); } else { fightnav(true,true); } break; case 3: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greifen Sie Dich an, aber Du bist schneller und"); output("kannst ihnen in den Wald entkommen."); $session['user']['experience']*0.999; addnews($session['user']['name']."`9 wurde von Zigeunern verjagt.`b"); addnav("Zurück in den Wald","forest.php"); break; case 4: output("vom Versteck der Bande, wo sie einen Wahrsageautomaten haben."); output("Du schleichst Dich dorthin, um Dir ein Horoskop zu holen."); $session['user']['experience']*1.01; addnav("Horoskop","horoskop.php"); break; case 5: output("von dem Versteck der Bande, wo sie ihren Edelsteinschatz aufbewahren."); output("Du beschließt, Dir die Steine zu schnappen. In dem kleinen Lager liegen"); output("".$gem." Edelsteine."); $session['user']['gems']+=$gem; addnews($session['user']['name']."`9 hat den Zigeunern Edelsteine geraubt.`b"); addnav("Abhauen.","forest.php"); break; case 6: output("von dem Versteck der Bande, wo sie ihren Goldschatz aufbewahren."); output("Du beschließt, Dir die Münzen zu schnappen. In dem kleinen Lager liegen"); output("".$gold." Goldstücke."); $session['user']['gold']+=$gold; addnews($session['user']['name']."`9 hat den Zigeunern Gold geraubt.`b"); addnav("Schnell weg.","forest.php"); break; } } if ($_GET['op']=="guck") { output("`n`c`b`1Die Zigeunerbande`b`c`n`n"); output("`9Du horchst regungslos und verfolgst das Gespräch. Es ist sehr"); output("interessant, denn Du erfährst"); switch(e_rand(1,4)) { case 1: output("von dem Versteck der Bande, wo sie ihren Edelsteinschatz aufbewahren."); output("Du beschließt, Dir die Steine zu schnappen. In dem kleinen Lager liegen"); output("".$gem." Edelsteine."); $session['user']['gems']+=$gem; addnews($session['user']['name']."`9 hat den Zigeunern Edelsteine geraubt.`b"); addnav("Abhauen.","forest.php"); break; case 2: output("von dem Versteck der Bande, wo sie ihren Goldschatz aufbewahren."); output("Du beschließt, Dir die Münzen zu schnappen. In dem kleinen Lager liegen"); output("".$gold." Goldstücke."); $session['user']['gold']+=$gold; addnews($session['user']['name']."`9 hat den Zigeunern Gold geraubt.`b"); addnav("Schnell weg.","forest.php"); break; case 3: output("von einem Schleichweg, der Dich von hier aus zur Burg führen könnte."); addnav("Zur Burg.","/special/castle.php"); addnav("In den Wald.","forest.php"); break; case 4: output("von einem Schleichweg, der Dich von hier aus zur Darkhorse Taverne führen könnte."); addnav("Zur Taverne.","/special/darkhorse.php"); addnav("In den Wald.","forest.php"); break; } } if ($_GET['op']=="kill") { output("`n`c`b`1Die Zigeunerbande`b`c`n`n"); output("`9Du horchst regungslos und verfolgst das Gespräch. Es ist sehr"); output("interessant, denn Du erfährst"); switch(e_rand(1,5)) { case 1: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $badguy = array( "creaturename"=>"Zigeunerwache", "creatureexp"=>$session['user']['experience']*0.05, "creaturegold"=>$session['user']['gold']*0.1, "creaturelevel"=>$session[user][level]-=1, "creatureweapon"=>"Kurzschwert", "creatureattack"=>$session['user']['attack']*0.5, "creaturedefense"=>$session['user']['defence']*0.5, "creaturehealth"=>round($session['user']['maxhitpoints']*0.5),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $HTTP_GET_VARS['op']="fight"; include("battle.php"); if ($victory) { $badguy=array(); $session['user']['badguy']=""; output("`n`n`#Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt!`n"); output("`#Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk.`n"); $session['user']['gold']+=$gold; $session['user']['experience']*1.03; output("`#Du hast etwas Gold gefunden und bist erfahrener geworden.`n"); } elseif ($defeat) { $badguy=array(); $session[user][badguy]=""; output("`n`n`#Die Wache zerhackt Dich in Stücke, läßt Dich aber leben und jagt Dich davon.`n"); $session['user']['hitpoints']=1; addnews("`%".$session[user][name]."`5 wurde von Zigeunern aus ihrem Lager gejagt."); } else { fightnav(true,true); } break; case 2: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $badguy = array( "creaturename"=>"Zigeunerjunge", "creatureexp"=>$session['user']['experience']*0.01, "creaturegold"=>$session['user']['gold']*0.01, "creaturelevel"=>$session[user][level]-=4, "creatureweapon"=>"Messer", "creatureattack"=>$session['user']['attack']*0.3, "creaturedefense"=>$session['user']['defence']*0.3, "creaturehealth"=>round($session['user']['maxhitpoints']*0.3),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $HTTP_GET_VARS['op']="fight"; include("battle.php"); if ($victory) { $badguy=array(); $session['user']['badguy']=""; output("`n`n`#Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt!`n"); output("`#Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk.`n"); $session['user']['gold']+=$gold; $session['user']['experience']*1.03; output("`#Du hast etwas Gold gefunden und bist erfahrener geworden.`n"); } elseif ($defeat) { $badguy=array(); $session[user][badguy]=""; output("`n`n`#Die Wache zerhackt Dich in Stücke, läßt Dich aber leben und jagt Dich davon.`n"); $session['user']['hitpoints']=1; addnews("`%".$session[user][name]."`5 wurde von Zigeunern aus ihrem Lager gejagt."); } else { fightnav(true,true); } break; case 3: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $badguy = array( "creaturename"=>"Zigeunerhauptmann", "creatureexp"=>$session['user']['experience']*0.15, "creaturegold"=>$session['user']['gold']*0.2, "creaturelevel"=>$session[user][level]+=2, "creatureweapon"=>"Zweihandschwert", "creatureattack"=>$session['user']['attack']*0.9, "creaturedefense"=>$session['user']['defence']*0.9, "creaturehealth"=>round($session['user']['maxhitpoints']*0.9),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $HTTP_GET_VARS['op']="fight"; include("battle.php"); if ($victory) { $badguy=array(); $session['user']['badguy']=""; output("`n`n`#Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt!`n"); output("`#Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk.`n"); $session['user']['gold']+=$gold; $session['user']['experience']*1.03; output("`#Du hast etwas Gold gefunden und bist erfahrener geworden.`n"); } elseif ($defeat) { $badguy=array(); $session[user][badguy]=""; output("`n`n`#Die Wache zerhackt Dich in Stücke, läßt Dich aber leben und jagt Dich davon.`n"); $session['user']['hitpoints']=1; addnews("`%".$session[user][name]."`5 wurde von Zigeunern aus ihrem Lager gejagt."); } else { fightnav(true,true); } break; case 4: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $badguy = array( "creaturename"=>"Zigeunerschamane", "creatureexp"=>$session['user']['experience']*0.25, "creaturegold"=>$session['user']['gold']*0.4, "creaturelevel"=>$session[user][level]+=5, "creatureweapon"=>"Zauberstab", "creatureattack"=>$session['user']['attack']*0.95, "creaturedefense"=>$session['user']['defence']*0.95, "creaturehealth"=>round($session['user']['maxhitpoints']),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $HTTP_GET_VARS['op']="fight"; include("battle.php"); if ($victory) { $badguy=array(); $session['user']['badguy']=""; output("`n`n`#Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt!`n"); output("`#Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk.`n"); $session['user']['gold']+=$gold; $session['user']['experience']*1.03; output("`#Du hast etwas Gold gefunden und bist erfahrener geworden.`n"); } elseif ($defeat) { $badguy=array(); $session[user][badguy]=""; output("`n`n`#Die Wache zerhackt Dich in Stücke, läßt Dich aber leben und jagt Dich davon.`n"); $session['user']['hitpoints']=1; addnews("`%".$session[user][name]."`5 wurde von Zigeunern aus ihrem Lager gejagt."); } else { fightnav(true,true); } break; case 5: output("Du metzelst die Burschen alle nieder. Nachdem Du das Lager durchsucht hast, findest Du ihren Schatz in einem der Wagen. Du erbeutest eine Menge..."); $session['user']['gems']+=$gem; $session['user']['gold']+=$gold; addnews($session['user']['name']."`9 hat den Zigeunern ihren Schatz geraubt.`b"); addnav("Schnell weg.","forest.php"); break; } } if ($_GET['op']=="back"){ output("`9Du lässt das Lager schnell hinter dir..."); $session['user']['specialinc']=""; } ?> |
Autor: | Amerilion [ Di 03 Jan, 2006 10:26 ] |
Betreff des Beitrags: | |
Zum Einbinden von Specials in einer anderes Special: http://anpera.homeip.net/forum/viewtopi ... ths&t=1661 und hier nochmal eine Erklärung die Anpera mal gegeben hat: anpera hat geschrieben: Aber LoGD 0.9.7 ext GER 3 bietet eine Möglichkeit, ein Special direkt zu verlinken. Mal das Beispiel mit der Goldmine:
$this->bbcode_second_pass_code('', 'addnav("Goldmine","paths.php?ziel=goldmine");') Als "ziel=" einfach den Dateinamen des Specials (in der veröffentlichten Version ohne Dateiendung .php) angeben. ![]() |
Autor: | Skoll [ Di 03 Jan, 2006 10:33 ] |
Betreff des Beitrags: | |
Um die Burg oder die Taverne zu verlinken mach das so [php]<?php addnav("Zur Taverne","forest.php?op=darkhorse"); addnav("Zur Burg","forest.php?op=castle"); ?> [/php] das müsste glaub so sein notfalls lässte mal das op= weg aber nur wenns so nicht geht. |
Autor: | Pastarix [ Di 03 Jan, 2006 10:41 ] |
Betreff des Beitrags: | |
DANKE! Also Burg und Taverne ruft das Special jetzt richtig auf. Die Frage ist also noch, wie ich die Kämpfe so gestalten kann, daß das System die nicht in die normale battle-Schleife schickt und ich dann eine Auswertung selbst machen kann. So nach dem System: Kampf Sieg => Ich geb selber was an. Niederlage => Ebenfalls. Will nicht, daß derjenige tot ist. (s. o.). Gruß und danke schonmal! Pasta |
Autor: | Skoll [ Di 03 Jan, 2006 10:49 ] |
Betreff des Beitrags: | |
so wie ich das versteh als message "du hast den Zigeuner umgelegt" udn "du wurdest von dem Zigeuner umgelegt" ?? |
Autor: | Pastarix [ Di 03 Jan, 2006 10:54 ] |
Betreff des Beitrags: | |
nicht nur. Hab das ja auch im Script drin. (vollständig nur oben) if ($victory) output("`n`n`#Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt!`n"); output("`#Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk.`n"); $session['user']['gold']+=$gold; $session['user']['experience']*1.03; output("`#Du hast etwas Gold gefunden und bist erfahrener geworden.`n"); elseif ($defeat) output("`n`n`#Die Wache zerhackt Dich in Stücke, läßt Dich aber leben und jagt Dich davon.`n"); $session['user']['hitpoints']=1; addnews("`%".$session[user][name]."`5 wurde von Zigeunern aus ihrem Lager gejagt."); Muss ich die Werte $victory und $defeat nochmal neu definieren? Wenn ja, wie? .-) Oder sind die in der battle.php ausreichend drin? Hab keeeen Plan mehr... schon so viele Versionen versucht... P. |
Autor: | Skoll [ Di 03 Jan, 2006 11:01 ] |
Betreff des Beitrags: | |
[php]if ($badguy[creaturehealth]<=0 && $session[user][hitpoints]>0){ $victory=true; $defeat=false; $count=0; }else{ if ($session[user][hitpoints]<=0){ $defeat=true; $victory=false; $count=0; }else{ $defeat=false; $victory=false; } } }[/php] ich denke da wird das definiert. also du willst nach einem Kampf das da steht du hast gewonnen oder wie ? sorry das cih mich blöd anstell *g* |
Autor: | Skoll [ Di 03 Jan, 2006 11:03 ] |
Betreff des Beitrags: | |
[php] case 2: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $badguy = array( "creaturename"=>"Zigeunerwachmann", "creatureexp"=>$session['user']['experience']*0.05, "creaturegold"=>$session['user']['gold']*0.1, "creaturelevel"=>$session[user][level], "creatureweapon"=>"Rostiges Krummschwert", "creatureattack"=>$session['user']['attack']*0.95, "creaturedefense"=>$session['user']['defence']*1.05, "creaturehealth"=>round($session['user']['maxhitpoints']*0.89),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $HTTP_GET_VARS['op']="fight"; [/php] das da so kopieren das es so aussieht: [php] include("battle.php"); if ($victory) { output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $badguy = array( "creaturename"=>"Zigeunerwachmann", "creatureexp"=>$session['user']['experience']*0.05, "creaturegold"=>$session['user']['gold']*0.1, "creaturelevel"=>$session[user][level], "creatureweapon"=>"Rostiges Krummschwert", "creatureattack"=>$session['user']['attack']*0.95, "creaturedefense"=>$session['user']['defence']*1.05, "creaturehealth"=>round($session['user']['maxhitpoints']*0.89),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $HTTP_GET_VARS['op']="fight"; $badguy=array(); $session['user']['badguy']=""; output("`n`n`#Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt!`n"); output("`#Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk.`n"); $session['user']['gold']+=$gold; $session['user']['experience']*1.03; output("`#Du hast etwas Gold gefunden und bist erfahrener geworden.`n"); } elseif ($defeat) { $badguy=array(); $session[user][badguy]=""; output("`n`n`#Die Wache zerhackt Dich in Stücke, läßt Dich aber leben und jagt Dich davon.`n"); $session['user']['hitpoints']=1; addnews("`%".$session[user][name]."`5 wurde von Zigeunern aus ihrem Lager gejagt."); } else { fightnav(true,true); } break; [/php] |
Autor: | Pastarix [ Di 03 Jan, 2006 11:11 ] |
Betreff des Beitrags: | |
jetzt kommt gar kein Kampf mehr - es wird zwar alles richtig ausgeführt, aber das sieht dann nur so aus: Du horchst regungslos und verfolgst das Gespräch. Es ist sehr interessant, denn Du erfährst von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt. Da sie den Wert kennen, greift Dich ihr Anführer sofort an. Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt! Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk. Du hast etwas Gold gefunden und bist erfahrener geworden. Man sollte aber schon die Möglichkeit haben, es zu beeinflussen wie sonst auch. Nur nach dem Ausgang eben soll das Script wieder die richtigen Antworten geben... .-) Wir nähern uns. Wiederum danke! Pasta |
Autor: | Skoll [ Di 03 Jan, 2006 11:24 ] |
Betreff des Beitrags: | |
und wenn du das mal rückgängig machst und wo die gewinn mesasge komtm ein Nav einfügst wo da steht [php] addnav("weiter","forest.php?op=kampfende"); [/php] ??? da kann du dann wieder alles mögliche beeinflussen mfg Arpi |
Autor: | Skoll [ Di 03 Jan, 2006 11:48 ] |
Betreff des Beitrags: | |
so ab da weis ich nimmer weiter! so melde sich bitte ein großer coder ... ![]() ![]() ![]() ![]() |
Autor: | Pastarix [ Di 03 Jan, 2006 12:12 ] |
Betreff des Beitrags: | |
leider nix... ich hatte dann nur eine Schleife, die mich immer wieder zu einer leeren Seite "im Wald" geführt hat... .-) Danke für Deine Hilfe! Pasta PS: Kann sich ein "großer Coder" das dann mal bitte bitte ansehen? .-) |
Autor: | Amerilion [ Di 03 Jan, 2006 12:22 ] |
Betreff des Beitrags: | |
Skoll hat geschrieben: Um die Burg oder die Taverne zu verlinken mach das so
[php]<?php addnav("Zur Taverne","forest.php?op=darkhorse"); addnav("Zur Burg","forest.php?op=castle"); ?> [/php] das müsste glaub so sein notfalls lässte mal das op= weg aber nur wenns so nicht geht. Geht so nicht... Kein speciallinc gesetzt ![]() Deshalb gibt es die paths.php ja... Um die Kampfszene anzugucken fehlt mir grad leider die Zeit, bekomm gleich Besuch ![]() |
Autor: | Pastarix [ Di 03 Jan, 2006 12:39 ] |
Betreff des Beitrags: | |
Danke. .-) Aber das Verlinken hatte ich doch schon von Skoll "repariert" bekommen... Das läuft... .-) Keine Eile. Das tuts auch morgen noch. Pasta |
Autor: | Meteora [ Di 03 Jan, 2006 13:39 ] |
Betreff des Beitrags: | |
Skoll hat geschrieben: das da so kopieren das es so aussieht:
[php] include("battle.php"); if ($victory) { output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $badguy = array( "creaturename"=>"Zigeunerwachmann", "creatureexp"=>$session['user']['experience']*0.05, "creaturegold"=>$session['user']['gold']*0.1, "creaturelevel"=>$session[user][level], "creatureweapon"=>"Rostiges Krummschwert", "creatureattack"=>$session['user']['attack']*0.95, "creaturedefense"=>$session['user']['defence']*1.05, "creaturehealth"=>round($session['user']['maxhitpoints']*0.89),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $HTTP_GET_VARS['op']="fight"; $badguy=array(); $session['user']['badguy']=""; output("`n`n`#Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt!`n"); output("`#Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk.`n"); $session['user']['gold']+=$gold; $session['user']['experience']*1.03; output("`#Du hast etwas Gold gefunden und bist erfahrener geworden.`n"); } elseif ($defeat) { $badguy=array(); $session[user][badguy]=""; output("`n`n`#Die Wache zerhackt Dich in Stücke, läßt Dich aber leben und jagt Dich davon.`n"); $session['user']['hitpoints']=1; addnews("`%".$session[user][name]."`5 wurde von Zigeunern aus ihrem Lager gejagt."); } else { fightnav(true,true); } break; [/php] wieso den gegner erst beim sieg deklarieren? ![]() |
Autor: | anpera [ Di 03 Jan, 2006 14:37 ] |
Betreff des Beitrags: | |
Probiers mal damit. Das Kampfscript ist am Ende des Specials untergebracht. Da bei allen Kämpfen am Ende das selbe passiert, braucht das nicht doppelt und dreifach vorhanden zu sein. Das hätte so auch nie funktioniert, da du immer auf $_GET['op'] abfragst, dieses aber durch fightnav() auf "fight" oder "run" gesetzt wird. Und dieser Fall wurde nirgendwo im Special abgefragt (weiße Seite, bzw. Standardverhalten des Waldscripts). Am Ende des Kampfs haben auch Navs gefehlt. Ich hab einfach mal einen Link zurück in den Wald eingefügt. Wenn du unterschiedliche Enden nach einem Kampf haben willst, kannst du bei der Gegnerdefinition $session['user']['specialmisc'] setzen und bei defeat oder victory darauf abfragen. Oder du nimmst den Gegnernamen, um die Fälle zu unterscheiden. Das nächste Problem waren fehlende $session['user']['specialinc'], was an der einen oder anderen Stelle möglicherweise zu einer Dauerschleife in dieses Special geführt hätte, oder das Special vorzeitig beendet hätte. Noch ein Fehler ist mir aufgefallen: In deinen addnews() stand immer der LoGD-Code für Fettschrift am Ende der Zeile, jedoch nicht an deren Anfang. Dadurch war der bestenfalls wirkunslos. Ich gehe mal davon aus, dass die Newsmeldung fett geschrieben sein sollte und habe das entsprechend korrigiert. Das ganz ist nicht getestet! Keine Garantie auf Fehlerfreiheit, besonders fehlende ; Aber das Prinzip, wie ein Kampf am besten in ein Special eingebaut wird, sollte trotzdem rüberkommen.[php]<?php //zigeuner.php //Pastarix //Pastarix@gmx.de //Variablen definieren $gold =(e_rand(2,1000)); $gem =(e_rand(1,4)); $exp = round($session['user']['experience']*0.03); $battle=false; if ($_GET['op']=="" || $_GET['op']=="search") { output("(c) PSt`n"); output("`n`c`b`1Die Zigeunerbande`b`c`n`n"); output("`9Du gehst gelangweilt Deiner Wege, da erblickst Du nach kurzer"); output("Zeit den Lichtschein eines großen Lagerfeuers. Als Du Dich langsam"); output("näherst, siehst Du einige Planwagen am Lager stehen, die sicher in"); output("einem Kreis um das Feuer aufgereiht sind. Direkt am Feuer stehen"); output("ein paar Gestalten, die sich leise unterhalten."); output("Was willst Du tun?"); addnav("Das Lager"); addnav("Sie belauschen","forest.php?op=lausch"); addnav("Sie beobachten","forest.php?op=guck"); addnav("Sie angreifen","forest.php?op=kill"); addnav("Zurück in den Wald","forest.php?op=back"); $session['user']['specialinc']="zigeuner.php"; } if ($_GET['op']=="lausch") { output("`n`c`b`1Die Zigeunerbande`b`c`n`n"); output("`9Du horchst regungslos und verfolgst das Gespräch. Es ist sehr"); output("interessant, denn Du erfährst"); switch(e_rand(1,6)) { case 1: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, metzeln sie Dich rücksichtslos nieder."); output("`n`n`^Du bist tot.`nDu verlierst all dein Gold.`nDu verlierst ".$exp." Erfahrungspunkte."); $session['user']['alive']=false; $session['user']['hitpoints']=0; $session['user']['gold']=0; $session['user']['experience']*0.97; addnews("`b".$session['user']['name']."`9 wurde von Zigeunern umgebracht.`b"); addnav("Tägliche News","news.php"); break; case 2: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $session['user']['specialinc']="zigeuner.php"; $badguy = array( "creaturename"=>"Zigeunerwachmann", "creatureexp"=>$session['user']['experience']*0.05, "creaturegold"=>$session['user']['gold']*0.1, "creaturelevel"=>$session[user][level], "creatureweapon"=>"Rostiges Krummschwert", "creatureattack"=>$session['user']['attack']*0.95, "creaturedefense"=>$session['user']['defence']*1.05, "creaturehealth"=>round($session['user']['maxhitpoints']*0.89),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $battle=true; break; case 3: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greifen Sie Dich an, aber Du bist schneller und"); output("kannst ihnen in den Wald entkommen."); $session['user']['experience']*0.999; addnews("`b".$session['user']['name']."`9 wurde von Zigeunern verjagt.`b"); $session['user']['specialinc']=""; addnav("Zurück in den Wald","forest.php"); break; case 4: output("vom Versteck der Bande, wo sie einen Wahrsageautomaten haben."); output("Du schleichst Dich dorthin, um Dir ein Horoskop zu holen."); $session['user']['experience']*1.01; addnav("Horoskop","horoskop.php"); break; case 5: output("von dem Versteck der Bande, wo sie ihren Edelsteinschatz aufbewahren."); output("Du beschließt, Dir die Steine zu schnappen. In dem kleinen Lager liegen"); output("".$gem." Edelsteine."); $session['user']['gems']+=$gem; addnews("`b".$session['user']['name']."`9 hat den Zigeunern Edelsteine geraubt.`b"); $session['user']['specialinc']=""; addnav("Abhauen.","forest.php"); break; case 6: output("von dem Versteck der Bande, wo sie ihren Goldschatz aufbewahren."); output("Du beschließt, Dir die Münzen zu schnappen. In dem kleinen Lager liegen"); output("".$gold." Goldstücke."); $session['user']['gold']+=$gold; addnews("`b".$session['user']['name']."`9 hat den Zigeunern Gold geraubt.`b"); $session['user']['specialinc']=""; addnav("Schnell weg.","forest.php"); break; } } if ($_GET['op']=="guck") { output("`n`c`b`1Die Zigeunerbande`b`c`n`n"); output("`9Du horchst regungslos und verfolgst das Gespräch. Es ist sehr"); output("interessant, denn Du erfährst"); switch(e_rand(1,4)) { case 1: output("von dem Versteck der Bande, wo sie ihren Edelsteinschatz aufbewahren."); output("Du beschließt, Dir die Steine zu schnappen. In dem kleinen Lager liegen"); output("".$gem." Edelsteine."); $session['user']['gems']+=$gem; addnews("`b".$session['user']['name']."`9 hat den Zigeunern Edelsteine geraubt.`b"); $session['user']['specialinc']=""; addnav("Abhauen.","forest.php"); break; case 2: output("von dem Versteck der Bande, wo sie ihren Goldschatz aufbewahren."); output("Du beschließt, Dir die Münzen zu schnappen. In dem kleinen Lager liegen"); output("".$gold." Goldstücke."); $session['user']['gold']+=$gold; addnews("`b".$session['user']['name']."`9 hat den Zigeunern Gold geraubt.`b"); $session['user']['specialinc']=""; addnav("Schnell weg.","forest.php"); break; case 3: output("von einem Schleichweg, der Dich von hier aus zur Burg führen könnte."); $session['user']['specialinc']=""; addnav("Zur Burg.","paths.php?ziel=castle"); addnav("In den Wald.","forest.php"); break; case 4: output("von einem Schleichweg, der Dich von hier aus zur Darkhorse Taverne führen könnte."); $session['user']['specialinc']=""; addnav("Zur Taverne.","paths.php?ziel=darkhorse"); addnav("In den Wald.","forest.php"); break; } } if ($_GET['op']=="kill") { output("`n`c`b`1Die Zigeunerbande`b`c`n`n"); output("`9Du horchst regungslos und verfolgst das Gespräch. Es ist sehr"); output("interessant, denn Du erfährst"); switch(e_rand(1,5)) { case 1: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $session['user']['specialinc']="zigeuner.php"; $badguy = array( "creaturename"=>"Zigeunerwache", "creatureexp"=>$session['user']['experience']*0.05, "creaturegold"=>$session['user']['gold']*0.1, "creaturelevel"=>$session[user][level]-=1, "creatureweapon"=>"Kurzschwert", "creatureattack"=>$session['user']['attack']*0.5, "creaturedefense"=>$session['user']['defence']*0.5, "creaturehealth"=>round($session['user']['maxhitpoints']*0.5),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $battle=true; break; case 2: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $session['user']['specialinc']="zigeuner.php"; $badguy = array( "creaturename"=>"Zigeunerjunge", "creatureexp"=>$session['user']['experience']*0.01, "creaturegold"=>$session['user']['gold']*0.01, "creaturelevel"=>$session[user][level]-=4, "creatureweapon"=>"Messer", "creatureattack"=>$session['user']['attack']*0.3, "creaturedefense"=>$session['user']['defence']*0.3, "creaturehealth"=>round($session['user']['maxhitpoints']*0.3),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $battle=true; break; case 3: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $session['user']['specialinc']="zigeuner.php"; $badguy = array( "creaturename"=>"Zigeunerhauptmann", "creatureexp"=>$session['user']['experience']*0.15, "creaturegold"=>$session['user']['gold']*0.2, "creaturelevel"=>$session[user][level]+=2, "creatureweapon"=>"Zweihandschwert", "creatureattack"=>$session['user']['attack']*0.9, "creaturedefense"=>$session['user']['defence']*0.9, "creaturehealth"=>round($session['user']['maxhitpoints']*0.9),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $battle=true; break; case 4: output("von dem Versteck der Bande, doch leider wirst Du von den Wachen bemerkt."); output("Da sie den Wert kennen, greift Dich ihr Anführer sofort an."); $session['user']['specialinc']="zigeuner.php"; $badguy = array( "creaturename"=>"Zigeunerschamane", "creatureexp"=>$session['user']['experience']*0.25, "creaturegold"=>$session['user']['gold']*0.4, "creaturelevel"=>$session[user][level]+=5, "creatureweapon"=>"Zauberstab", "creatureattack"=>$session['user']['attack']*0.95, "creaturedefense"=>$session['user']['defence']*0.95, "creaturehealth"=>round($session['user']['maxhitpoints']),0, "diddamage"=>0); $session['user']['badguy']=createstring($badguy); $battle=true; break; case 5: output("Du metzelst die Burschen alle nieder. Nachdem Du das Lager durchsucht hast, findest Du ihren Schatz in einem der Wagen. Du erbeutest eine Menge..."); $session['user']['gems']+=$gem; $session['user']['gold']+=$gold; $session['user']['specialinc']=""; addnews("`b".$session['user']['name']."`9 hat den Zigeunern ihren Schatz geraubt.`b"); addnav("Schnell weg.","forest.php"); break; } } if ($_GET['op']=="back"){ output("`9Du lässt das Lager schnell hinter dir..."); $session['user']['specialinc']=""; } if ($_GET['op']=="fight") $battle=true; if ($_GET['op']=="run") $battle=true; // hier ist also kein Weglaufen möglich if ($battle){ include("battle.php"); if ($victory) { $badguy=array(); $session['user']['badguy']=""; output("`n`n`#Der Zigeuner bricht blutüberströmt zusammen. Du hast gesiegt!`n"); output("`#Du scheuchst die anderen Wachen weg und machst Dich an Dein Werk.`n"); $session['user']['gold']+=$gold; $session['user']['experience']*1.03; output("`#Du hast etwas Gold gefunden und bist erfahrener geworden.`n"); addnav("Weg hier","forest.php"); $session['user']['specialinc']=""; } elseif ($defeat) { $badguy=array(); $session['user']['badguy']=""; output("`n`n`#Die Wache zerhackt Dich in Stücke, läßt Dich aber leben und jagt Dich davon.`n"); $session['user']['hitpoints']=1; addnews("`%".$session[user][name]."`5 wurde von Zigeunern aus ihrem Lager gejagt."); addnav("Weg hier","forest.php"); $session['user']['specialinc']=""; } else { fightnav(true,true); } } ?>[/php] |
Autor: | Pastarix [ Di 03 Jan, 2006 14:53 ] |
Betreff des Beitrags: | |
Danke schonmal... so isses momentan kaputt. .-) Bringt nur krassen Buchstabensalat aus - aber das Prinzip ist wichtig... ich versuche heute abend oder morgen nochmal weiter - wenns dann geht => hier. .-) Wenn nicht => auch hier. .-)) Pasta |
Autor: | anpera [ Di 03 Jan, 2006 15:30 ] |
Betreff des Beitrags: | |
Oki, hab das nochmal durchgeguckt und einige Fehler in der Gegnerdefinition bereinigt. Immer noch nicht getestet. |
Autor: | Pastarix [ Di 03 Jan, 2006 21:04 ] |
Betreff des Beitrags: | |
Danke!!! ES LÄUFT!!! Lassen wir es also so einfach zum Download stehen. Allerdings muß da noch die Menge der Erfahrung angepasst werden - habe testweise den Hauptmann gekillt und 4 Level auf einen Schlag ist ein bissel viel... DANKE! Pasta (ärgert Euch nachher mit dem nächsten) |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |