anpera.net
http://anpera.homeip.net/phpbb3/

[Special , Tier , Addon] Der grüne Drache.
http://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=5220
Seite 1 von 1

Autor:  MySql [ Do 18 Nov, 2010 18:10 ]
Betreff des Beitrags:  [Special , Tier , Addon] Der grüne Drache.

Hallo,

ich habe mich mal von -DoM inspirieren lassen, was den grünen Drachen an geht. Genauer gesagt, das Ei des grünen Drachen. Es ist vermutlich nicht genau so wie bei ihm. Dennoch würde ich das gerne hier hochladen.

Beschreibung:
Der Spieler kann im Wald via Special eine Höhle finden. Diese Höhle ist gefährlich daher der Spieler dort mehr stirbt, als sonst wo. In dieser Höhle kann der Spieler Gold und Edelsteine finden und mit etwas Glück sogar das Ei des grünen Drachen (sofern es nicht schon ein anderer Spieler hat). Sobald der Spieler das Ei gefunden hat, könnte es aber sein das es noch genau im selben Moment zerstört wird oder der grüne Drache ihn tötet.

Sollte der Spieler allerdings das Ei heile und unversehrt aus der Höhle bekommen, so muss er 2000 Runden brüten. Alle 2 Stunden kann der Spieler sich in die Ställe begeben und dort sein Ei 'brüten'. Pro Spieltag (Alle 2 Stunden) kann der Spieler 20 Runden brüten. (Kann geändert werden!)

Doch da der Spieler nun das Ei des grünen Drachen hat, ist er ständig in Gefahr. Liegt er in den Feldern, so kann ihn ein Spieler umbringen und das Ei abnehmen. (Habe es für das Wohnviertel nicht übernommen. Aber wäre ja keine große Sache das selbst zu schreiben.)

Extra Felder in der Accounts-Tabelle entfallen, daher alles über die Settings-Tabelle läuft.

Einbau: Leicht.

Öffne pvp.php:

suche:

$this->bbcode_second_pass_code('', ' if (getsetting("hasegg",0)>0){
$sql = "SELECT name FROM accounts WHERE acctid = ".getsetting("hasegg",0);
$result = db_query($sql) or die(db_error(LINK));
$row = db_fetch_assoc($result);
output("`n`n$row[name] hat das goldene Ei!");
}')

füge danach ein:

$this->bbcode_second_pass_code('', ' /**
* Das Ei des grünen Drachen.
* by MySQL
* inspiriert von -DoM (my-logd.com)
* Spielerkampf - Wer hat das Ei?
**/
if( getsetting('hasdragonegg',0) ) {

$row = db_fetch_assoc(db_query('SELECT name FROM accounts WHERE acctid='.getsetting('dragoneggowner',0)));
output('`n`n'.$row['name'].' `@hat das Drachenei.');

}')

suche:

$this->bbcode_second_pass_code('', ' // Golden Egg - anpera
if ($badguy['acctid']==getsetting("hasegg",0)){
savesetting("hasegg",stripslashes($session[user][acctid]));
output("`n`^Du nimmst $badguy[creaturename] `^das goldene Ei ab!`0`n");
addnews("`^".$session['user']['name']."`^ nimmt {$badguy['creaturename']}`^ das goldene Ei ab!");
$session[user][reputation]+=2;
}')

füge danach ein:

$this->bbcode_second_pass_code('', ' /**
* Das Ei des grünen Drachen.
* by MySQL
* inspiriert von -DoM (my-logd.com)
* Spielerkampf - Ei "stehlen"
**/
if( $badguy['acctid'] == getsetting('dragoneggowner',0) ) {

$owner = $session['user']['acctid'];
savesetting('dragoneggowner',$owner);
output('`n`@Du nimmt '.$badguy['creaturename'].' `@das Drachenei ab!`0`n');
addnews('`@'.$session['user']['name'].' nahm '.$badguy['creaturename'].' `@das Drachenei in einem fairen Kampf ab.');

}')

Speichern, schließen, hochladen.

Öffne newday.php:

suche:

$this->bbcode_second_pass_code('', ' if ($_GET['resurrection']=="egg"){
addnews("`&{$session['user']['name']}`& hat das `^goldene Ei`& benutzt und entkam so dem Schattenreich.");
$spirits=-6;
//$session['user']['deathpower']-=100;
$session['user']['restorepage']="village.php?c=1";
savesetting("hasegg",stripslashes(0));
}')

füge danach ein:

$this->bbcode_second_pass_code('', ' if( $_GET['resurrection'] == '' ) {

savesetting('gebruetet',stripslashes(0));

}')

Speichern, schließen, hochladen.

Öffne configuration.php:

suche:

$this->bbcode_second_pass_code('', ' "Neue Tage,title",
"fightsforinterest"=>"Höchste Anzahl an übrigen Waldkämpfen um Zinsen zu bekommen,int",
"maxinterest"=>"Maximaler Zinssatz (%),int",
"mininterest"=>"Minimaler Zinssatz (%),int",
"daysperday"=>"Spieltage pro Kalendertag,int",
"dispnextday"=>"Zeit zum nächsten Tag in Vital Info,bool",
"specialtybonus"=>"Zusätzliche Einsätze der Spezialfertigkeit am Tag,int",
"activategamedate"=>"Spieldatum aktiv,bool",
"gamedateformat"=>"Datumsformat (zusammengesetzt aus: %Y; %y; %m; %n; %d; %j)",
"gametimeformat"=>"Zeitformat",')

füge danach ein:

$this->bbcode_second_pass_code('', ' 'Drachenei,title',
'hasdragonegg' => 'Drachenei momentan bei einem Spieler?,int',
'dragoneggowner' => 'Welcher Spieler hat das Drachenei?,int',
'bruetenday' => 'Wie viele Runden kann pro Tag gebrütet werden?,int',
'gebruetet' => 'Wie viele Runden wurden heute bereits gebrütet?,int',
'maxbruet' => 'Wie viele Runden müssen insgesamt gebrütet werden?,int',')

Speichern, schließen, hochladen.

Öffne stables.php:

suche:

$this->bbcode_second_pass_code('', '$futtercost = $session[user][level]*20;

addnav("Zurück zum Dorf","village.php");')

füge danach ein:

$this->bbcode_second_pass_code('', '/**
* Das Ei des grünen Drachen.
* by MySQL
* inspiriert von -DoM (my-logd.com)
**/
if( $session['user']['acctid'] == getsetting('dragoneggowner',0) ) {

addnav('Drachnei');

if( getsetting('maxbruet',2000) == 0 ) {

addnav('Tier abholen','dragonegg.php?op=holen');

}
else {

addnav('Ausbrüten','dragonegg.php?op=brueten');

}

}')

suche weiter:

$this->bbcode_second_pass_code('', 'addnav("Betrachte {$row['mountname']}`0","stables.php?op=examine&id={$row['mountid']}");')

ersetze mit:

$this->bbcode_second_pass_code('', ' if( $row['mountname'] != '`@Der grüne Drache`0' ) {

addnav("Betrachte {$row['mountname']}`0","stables.php?op=examine&id={$row['mountid']}");

}')

MySQL:

$this->bbcode_second_pass_code('', 'INSERT INTO `mounts` VALUES (9999, '`@Der grüne Drache`0', 'Das wohl stärkste Tier in diesem Land.', 'Kreaturen', 'a:16:{s:4:"name";s:17:"`@grüner Drache`0";s:8:"roundmsg";s:57:"`2Dein `@grüner Drache`2 steht dir in diesem Kampf bei.`2";s:7:"wearoff";s:41:"`2Dein `@grüner Drache`2 ist erschöpft.`0";s:9:"effectmsg";s:82:"`2Dein `@grüner Drache`2 schlägt deinen Gegner mit seinen großen Pranken nieder.`0";s:14:"effectnodmgmsg";s:57:"`2Dein `@grüner Drache`2 verfehlte deinen Gegner knapp.`0";s:13:"effectfailmsg";s:102:"`2Dein `@grüner Drache`2 setzt sich einfach neben dich auf den Boden und schaut dir beim kämpfen zu.`0";s:6:"rounds";s:3:"500";s:6:"atkmod";s:2:"50";s:6:"defmod";s:2:"50";s:5:"regen";s:2:"50";s:11:"minioncount";s:1:"1";s:15:"minbadguydamage";s:2:"25";s:15:"maxbadguydamage";s:2:"50";s:7:"lifetap";s:2:"10";s:12:"damageshield";s:2:"10";s:8:"activate";s:26:"roundstart,offense,defense";}', 100000, 1000000, 1, 100, 1, '`2Dein`@ grüner Drache`2 weckt die mit einer sanften Berührung seiner Schnauze!`0', '`2Dein `@grüner Drache`2 heilt dich mit seiner Kraft.`0', '`2Dein `@grüner Drache`2 heilt dich mit seiner Kraft ein wenig.`0', 100, 0, 90, '`2Dein `@grüner Drache`2 betritt die Mine`2.', '`2Dein `@grüner Drache`2 wurde von herabfallenden Brocken erschlagen.`2', '`2Dein `@gründer Drache`2 rettet Dich, als die Mine einstürzt.`0');')

So. Nun noch hier die 2 Dateien runterladen. hoehle.php in den Special-Ordner, dragonegg.php in den root. Fertig.

Freue mich über Kritik / Feedback.

~My.

Dateianhänge:
Dragonegg.zip [3.89 KIB]
118-mal heruntergeladen

Autor:  Devil [ Mo 05 Dez, 2011 15:35 ]
Betreff des Beitrags:  Re: [Special , Tier , Addon] Der grüne Drache.

Echt nettes Teil. Nur wie verhält sich das mit dem (neuen) Tiersystem von Teruk?
Wenn man das Ei ausgebrütet hat, übernimmt er dieses leider nicht wirklich...

Autor:  Saaxa [ Mo 05 Dez, 2011 23:43 ]
Betreff des Beitrags:  Re: [Special , Tier , Addon] Der grüne Drache.

ein blick in die stables.php würd da helfen, die lösung selbst zu finden ;)

dragonegg.php
PHP:
suche:

$row = db_fetch_assoc(db_query('SELECT * FROM mounts WHERE mountname="`@Der grüne Drache`0"'));
$session['user']['hashorse'] = $row['mountid'];
$playermount = getmount($row['mountid']);

ersetze mit:

//altes tier löschen, falls vorhanden
db_query("DELETE FROM mounts_usr WHERE acctid='".$session['user']['acctid']."'");
//drachen abholen
$sql = "SELECT * FROM mounts WHERE mountname="`@Der grüne Drache`0"'";
$result = db_query($sql);
$mount = db_fetch_assoc($result);
$session['bufflist']['mount']=unserialize($mount['mountbuff']);
db_query("INSERT INTO mounts_usr (acctid, mountname, mountdesc, mountcategory, mountlevel, mountbuff, mountcostgems, mountcostgold, mountactive, mountforestfights, tavern, newday, recharge, partrecharge, mine_canenter, mine_candie, mine_cansave, mine_tethermsg, mine_deathmsg, mine_savemsg) VALUES ('".$session['user']['acctid']."', '".$mount['mountname']."', '".addslashes($mount['mountdesc'])."', '".addslashes($mount['mountcategory'])."', '".$mount['mountlevel']."', '".$mount['mountbuff']."', '".$mount['mountcostgems']."', '".$mount['mountcostgold']."', '".$mount['mountactive']."', '".$mount['mountforestfights']."', '".$mount['tavern']."', '".addslashes($mount['newday'])."', '".addslashes($mount['recharge'])."', '".addslashes($mount['partrecharge'])."', '".$mount['mine_canenter']."', '".$mount['mine_candie']."', '".$mount['mine_cansave']."', '".addslashes($mount['mine_tethermsg'])."', '".addslashes($mount['mine_deathmsg'])."', '".addslashes($mount['mine_savemsg'])."')");
$playermount = getmount($session['user']['acctid']);

sollte alles sein, was zu tun ist....

Autor:  Devil [ Di 06 Dez, 2011 06:43 ]
Betreff des Beitrags:  Re: [Special , Tier , Addon] Der grüne Drache.

Danke schön =)

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/