anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Fr 18 Jul, 2025 11:20

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di 03 Jan, 2006 09:33 
Offline
User
User
Benutzeravatar

Registriert: Di 03 Jan, 2006 09:22
Beiträge: 20
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']="";
}
?>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 10:26 
Offline
Meister
Meister

Registriert: Sa 25 Sep, 2004 11:49
Beiträge: 337
Wohnort: Irgendwo im Sauerland
LoGD: http://www.rulina.de/logd/source.php
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. ;)

_________________
*Mekkelon - Mitglied im Renais-Völkerbund*
Thread


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 10:33 
Offline
Lehrling
Lehrling

Registriert: Sa 06 Aug, 2005 10:57
Beiträge: 48
Wohnort: Passau
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 10:41 
Offline
User
User
Benutzeravatar

Registriert: Di 03 Jan, 2006 09:22
Beiträge: 20
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 10:49 
Offline
Lehrling
Lehrling

Registriert: Sa 06 Aug, 2005 10:57
Beiträge: 48
Wohnort: Passau
so wie ich das versteh als message
"du hast den Zigeuner umgelegt"
udn
"du wurdest von dem Zigeuner umgelegt"
??


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 10:54 
Offline
User
User
Benutzeravatar

Registriert: Di 03 Jan, 2006 09:22
Beiträge: 20
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 11:01 
Offline
Lehrling
Lehrling

Registriert: Sa 06 Aug, 2005 10:57
Beiträge: 48
Wohnort: Passau
[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*


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 11:03 
Offline
Lehrling
Lehrling

Registriert: Sa 06 Aug, 2005 10:57
Beiträge: 48
Wohnort: Passau
[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]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 11:11 
Offline
User
User
Benutzeravatar

Registriert: Di 03 Jan, 2006 09:22
Beiträge: 20
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 11:24 
Offline
Lehrling
Lehrling

Registriert: Sa 06 Aug, 2005 10:57
Beiträge: 48
Wohnort: Passau
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 11:48 
Offline
Lehrling
Lehrling

Registriert: Sa 06 Aug, 2005 10:57
Beiträge: 48
Wohnort: Passau
so ab da weis ich nimmer weiter! so melde sich bitte ein großer coder ...
:???: :???: :???: :???:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 12:12 
Offline
User
User
Benutzeravatar

Registriert: Di 03 Jan, 2006 09:22
Beiträge: 20
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? .-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 12:22 
Offline
Meister
Meister

Registriert: Sa 25 Sep, 2004 11:49
Beiträge: 337
Wohnort: Irgendwo im Sauerland
LoGD: http://www.rulina.de/logd/source.php
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 :roll:
Deshalb gibt es die paths.php ja...

Um die Kampfszene anzugucken fehlt mir grad leider die Zeit, bekomm gleich Besuch ;)

_________________
*Mekkelon - Mitglied im Renais-Völkerbund*
Thread


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 12:39 
Offline
User
User
Benutzeravatar

Registriert: Di 03 Jan, 2006 09:22
Beiträge: 20
Danke.
.-)
Aber das Verlinken hatte ich doch schon von Skoll "repariert" bekommen... Das läuft... .-)
Keine Eile. Das tuts auch morgen noch.

Pasta


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 13:39 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 02 Mär, 2004 18:16
Beiträge: 1206
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? :roll:

_________________
R.I.P.
†26.7.2004 - 20.3.2006†
†MeteorA†


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 14:37 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
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]

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 14:53 
Offline
User
User
Benutzeravatar

Registriert: Di 03 Jan, 2006 09:22
Beiträge: 20
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 15:30 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Oki, hab das nochmal durchgeguckt und einige Fehler in der Gegnerdefinition bereinigt. Immer noch nicht getestet.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 03 Jan, 2006 21:04 
Offline
User
User
Benutzeravatar

Registriert: Di 03 Jan, 2006 09:22
Beiträge: 20
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)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum