anpera.net https://anpera.dyndns.org/phpbb3/ |
|
"Capture the Egg" https://anpera.dyndns.org/phpbb3/viewtopic.php?f=43&t=259 |
Seite 1 von 1 |
Autor: | anpera [ Di 02 Dez, 2003 03:23 ] |
Betreff des Beitrags: | "Capture the Egg" |
English translation available >here< Beschreibung: Dieses Addon/Hack fügt eine Art "Capture the Flag" zur PvP-Funktion von LoGD hinzu. Dazu gibt es ein neues Special Event, bei dem ein goldenes Ei gefunden werden kann. Aber dieses Ei existiert nur einmalig auf dem Realm! Besitzt ein Spieler bereits das Ei, wird bei dem Special Event kein weiteres gefunden. Das Ei ermöglicht es dem Besitzer, die Heilerin Golinda zu besuchen, solange er das Ei hat. Außerdem kann er es einmalig für eine kostenlose Wiederbelebung verwenden, wobei es danach wieder im Special Event gefunden werden kann. Er besitzt das Ei ansonsten solange, bis er entweder wieder das Special Event bekommt, oder bis ihm jemand das Ei in einem PvP-Kampf abnimmt. (Greift er selbst an, verliert er das Ei nicht.) Der aktuelle Besitzer des Eis kann in der Dark Horse Tavern kostenlos erfragt werden und wird in der Tabelle der Verfügbaren Spieler bei PvP angezeigt. Ist PvP deaktiviert, ist auch kein Ei zu finden. Autor: anpera ( logd@anpera.de ) Version: 1.0 Für LoGD Version: 0.9.7+jt Einbauanleitung:$this->bbcode_second_pass_code('', '----- Öffne: common.php ----- Finde: if ($conf['healer']) { Ersetze es durch: if ($conf['healer'] || $session['user']['acctid']==getsetting("hasegg",0)) { ----- Öffne: configuration.php ----- Finde: "PvP,title", ----- Füge danach ein: "hasegg"=>"Aktueller Besitzer des goldene Eis (Account-ID - 0=Niemand),int", ----- Öffne: specials/darkhorse.php ----- Finde: //addnav("Buy swill","forest.php?op=bartender&what=swill"); ----- Füge danach ein: addnav("Das goldene Ei","forest.php?op=bartender&what=egg"); }else if($HTTP_GET_VARS[what]=="egg"){ output("\"`7Schoscho, du willscht alscho etwasch über dasch goldene Ei wischen.`nNun, dasch ischt eine uralte Legende. Esch heischt, wer ein goldnesch Ei beschitscht, kann dem Tod entkommen. "); output("Auscherdem scholl dieschesch Ei der Schlüschel tschu einer Heilerin namensch Golinda schein. Ich glaube ja nicht daran."); if (getsetting("hasegg",0)==0){ output(" Niemand hat dasch Ei jemalsch gefunden."); } else { $sql = "SELECT acctid,name FROM accounts WHERE acctid = '".getsetting("hasegg",0)."'"; $result = db_query($sql) or die(db_error(LINK)); $row = db_fetch_assoc($result); output("`0\" Er beginnt zu flüstern: \"`7Aber esch geht dasch Gerücht um, dasch $row[name] `7genau dieschesch Ei gefunden haben scholl. Wenn du mich fragscht, ich würde $row[name] `7schogar töten, "); output(" um dasch herauschtschufinden, wenn ich könnte..."); } output("`0\""); if ($session['user']['acctid']==getsetting("hasegg",0)){ output("`n`nDu ziehst dich zurück, ohne den Mann in Versuchung zu bringen, dir das Ei wegnehmen zu wollen. An "); output("einem Tisch ausser Sichtweite untersuchst du das Ei und entdeckst seltsame Botschaften...`n`n`n"); viewcommentary("goldenegg","Botschaft hinterlassen:",10,""); } ----- Öffne: healer.php ----- Finde: if ($config['healer']) $golinda = 1; ----- Ersetze es durch: if ($config['healer'] || $session[user][acctid]==getsetting("hasegg",0)) $golinda = 1; ----- Öffne: index.php ----- Finde: $sql = "UPDATE accounts SET sentnotice=1 WHERE acctid='$row[acctid]'"; ----- Füge danach ein: if ($row[acctid]==getsetting("hasegg",0)) savesetting("hasegg",stripslashes(0)); ----- Öffne: list.php ----- (2x) Finde: $sql = "SELECT name,login,alive,location,sex,level,laston,loggedin,lastip,uniqueid ----- (2x) Füge in der Zeile ein (direkt nach ",uniqueid"): ,acctid ----- Finde: output("`&$row[name]`0"); ----- Ersetze es durch: output("`".($row[acctid]==getsetting("hasegg",0)?"^":"&")."$row[name]`0"); ----- Öffne: newday.php ----- Finde: $resline = $_GET['resurrection']=="true" ? "&resurrection=true" : "" ; ----- Ersetze es durch: if ($_GET['resurrection']=="true") { $resline = "&resurrection=true"; } else if ($_GET['resurrection']=="egg") { $resline = "&resurrection=egg"; } else { $resline = ""; } ----- Finde: $sp = array((-6)=>"Resurrected",(-2)=>"Very Low",(-1)=>"Low","0"=>"Normal",1=>"High",2=>"Very High"); ----- Füge davor ein: if ($_GET['resurrection']=="egg"){ addnews("`&{$session['user']['name']}`& hat das `^goldene Ei`& benutzt und entkam dem Schattenreich."); $spirits=-6; $session['user']['deathpower']-=100; $session['user']['restorepage']="village.php?c=1"; savesetting("hasegg",stripslashes(0)); } ----- Finde: if ($_GET['resurrection']!="true"){ ----- Ersetze es durch: if ($_GET['resurrection']!="true" && $_GET['resurrection']!="egg" ){ ----- Öffne: prefs.php ----- Finde: if ($HTTP_GET_VARS[op]=="suicide" && getsetting("selfdelete",0)!=0) { ----- Füge danach ein: if($session[user][acctid]==getsetting("hasegg",0)) savesetting("hasegg",stripslashes(0)); ----- Öffne: pvp.php ----- Finde: } else if ($HTTP_GET_VARS[act] == "attack") { ----- Füge davor ein: 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!"); } ----- Finde: $sql = "SELECT gold FROM accounts WHERE acctid='".(int)$badguy['acctid']."'"; ----- Füge davor ein: // 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!"); } ----- Öffne: shades.php ----- Finde: if ($session['user']['alive']) redirect("village.php"); ----- Füge danach ein: if ($session[user][acctid]==getsetting("hasegg",0)) addnav("Benutze das goldene Ei","newday.php?resurrection=egg"); ----- Alle Dateien speichern und schliessen. ----- Hochladen nach /specials/: goldenegg.php') Bemerkung: Das Special Event (goldenegg.php) funktioniert auch ohne die Änderungen der übrigen Dateien, macht dann aber wenig Sinn. Dateien: modifizierte common.php (Source) modifizierte configuration.php (Source) modifizierte healer.php (Source) modifizierte index.php (Source) modifizierte list.php (Source) modifizierte newday.php (Source) modifizierte prefs.php (Source) modifizierte pvp.php (Source) modifizierte shades.php (Source) special/goldenegg.php (Source) modifizierte special/darkhorse.php (Source) |
Autor: | anpera [ So 07 Dez, 2003 02:57 ] |
Betreff des Beitrags: | |
Fehler gefunden und ausgebessert: In prefs.php $this->bbcode_second_pass_code('', 'savesetting("hasegg",stripslashes(0)); ersetzt durch if($session[user][acctid]==getsetting("hasegg",0)) savesetting("hasegg",stripslashes(0));') |
Autor: | anpera [ Di 09 Dez, 2003 04:59 ] |
Betreff des Beitrags: | |
meine Güte - noch einer! Ich sollte wieder mehr tagsüber proggen... In index.php: $this->bbcode_second_pass_code('', '----- Finde: addnews("`^Das goldene Ei ist vergammelt."); ----- Lösche diese Zeile') Die Einbauanleitung ist auf dem neusten Stand. |
Autor: | Zarzal [ So 22 Aug, 2004 19:11 ] |
Betreff des Beitrags: | |
Es gibt noch 2 Designprobleme mit diesem Add-On. 1) Das Ei kann von jemanden mit PVP immunität gefunden werden und wenn er es nicht verwendet ist es ihm quasi nie abnehmbar. Entweder er kann es gar nicht erst finden oder es muss eine Art Verfallsdatum rein. Da kommen wir auch gleich zum 2) Problem: Ich hatte ein spieler ohne immunität der mit dem Ei immer bei Ramius ausgeloggt hat um nicht angrteifbar zu sein. Auf diese Art und weise bleibt er quasi endlos im Besitz des Ei's Ich denke, eine kleine Überarbeitung unter diesen gesichtspunkten tut Not. |
Autor: | anpera [ So 22 Aug, 2004 19:38 ] |
Betreff des Beitrags: | |
Beides stimmt so nicht ganz. Sobald der Besitzer des Eis den Wald betritt, kann er es jederzeit verlieren. Erst, wenn ein Spieler mit Immunität das Ei hat und für immer aufhört zu spielen, ist das Ei nicht mehr zugänglich - bis der Spieler gelöscht wird. Aber das kann, wie du schon erkannt hast, genauso passieren, wenn jemand ohne Immunität mit Ei stirbt, ausloggt und nie wieder kommt. Aaaaaaaaber gegen Letztere gibt es ja in der aktuellen Version den Schrein der Wiederbelebung, bei dem man andere Spieler aus dem Totenreich zurückholen kann! Ansonsten steht es dir natürlich frei, das Waldspecial entsprechend abzuändern. Eine Abfrage auf if ($session['user']['pvpflag']=="[Datum je nach Version]") blabla behebt zwar das Problem, dass Chars mit Immunität das Ei finden können, aber es behebt nicht das, dass man auch nach dem Finden des goldenen Eis die PvP-Immunität kaufen kann. Also müsstest du beim Kauf der Immunität auch noch was machen. (Etwa: if ($session['user']['acctid']==(int)getsetting("hasegg",0)) savesetting("hasegg","0");) ![]() |
Autor: | Zarzal [ So 22 Aug, 2004 21:33 ] |
Betreff des Beitrags: | |
ich sehe schon, nicht so einfach. Mein Spezi macht nur PVP und geht nicht in den Wald. Dann macht er seine Ramius Runden uhnd loggt da unten aus. Ich muss da mal die Göttlich Hand walten lassen. Ich geb denen eine Gewisse Toleranzzeit und wenn sie es Übertreiben greif ich ein. Das mit dem schrein ist ne feine Sache ![]() |
Autor: | Der_Maulwurf [ Do 20 Apr, 2006 18:03 ] |
Betreff des Beitrags: | |
hi ich hab ein problem ich arbeite schon länger an logtd habe vieles selbst gemacht nur das goldene ei hatte ich noch nicht kannte ich aber da ich in einigen games mod war und auch einfach nur gespielt hatte... so jetzt hab ich alles von deiner einbau leitung durchgeführt aber meon Browser sagt : Parse error: parse error in /var/www/htdocs/lotgd/pvp.php on line 239 so aber ich finde diesen ominösen fehler leider nciht hast du ne ahnung was das ist? odeer soll ich die ganze datei hier rein kopiern das ihr sucht ???? das sollte eigentlich bis montag fertig werden als geburtstags geschenk für meine brüder |
Autor: | Eliwood [ Do 20 Apr, 2006 18:05 ] |
Betreff des Beitrags: | |
Der_Maulwurf hat geschrieben: hi ich hab ein problem ich arbeite schon länger an logtd habe vieles selbst gemacht nur das goldene ei hatte ich noch nicht kannte ich aber da ich in einigen games mod war und auch einfach nur gespielt hatte... so jetzt hab ich alles von deiner einbau leitung durchgeführt aber meon Browser sagt :
Parse error: parse error in /var/www/htdocs/lotgd/pvp.php on line 239 so aber ich finde diesen ominösen fehler leider nciht hast du ne ahnung was das ist? odeer soll ich die ganze datei hier rein kopiern das ihr sucht ???? das sollte eigentlich bis montag fertig werden als geburtstags geschenk für meine brüder Öhm, wir können ungut raten, was der Fehler ist ![]() Übrigens wenn du das Spiel von hier herunter geladen hast ist es bereits drinn, das Ei. |
Autor: | Der_Maulwurf [ Do 20 Apr, 2006 20:17 ] |
Betreff des Beitrags: | |
hm ok danke ich hab dich bei icq angeschreiben^^ den fehler hab ich selbst gefunden danke trotzdem^^ |
Autor: | Montekar [ Sa 08 Jul, 2006 19:04 ] |
Betreff des Beitrags: | |
Echt ne Gute Idee, aber warum killt der Freif denn den Player nicht, wenn dieser das Ei nehmen will und der Greif zurückkommt? |
Autor: | Taraen [ Mo 07 Aug, 2006 14:32 ] |
Betreff des Beitrags: | |
Hallo! Also: bei mir ist es nun so, das sich ein spieler mit dem Ei bei Ramius ausgeloggt hat. Das Ei ist seid mehreren Woch nciht ereichbar. Löschen möchte ich den Spieler nicht, aber wie bekomme ich das Ei jetzt wieder ins Spiel?!? Einen Schrein der Wiederbelebung habe ich nicht... mfg Taraen |
Autor: | Eliwood [ Mo 07 Aug, 2006 14:36 ] |
Betreff des Beitrags: | |
Taraen hat geschrieben: Hallo!
Also: bei mir ist es nun so, das sich ein spieler mit dem Ei bei Ramius ausgeloggt hat. Das Ei ist seid mehreren Woch nciht ereichbar. Löschen möchte ich den Spieler nicht, aber wie bekomme ich das Ei jetzt wieder ins Spiel?!? Einen Schrein der Wiederbelebung habe ich nicht... mfg Taraen Wirf einen Blick in die Spieleinstellungen... *Dort* kannst du den Besitzer ändern ![]() |
Autor: | Taraen [ Mo 07 Aug, 2006 14:49 ] |
Betreff des Beitrags: | |
ups.... ![]() ![]() |
Autor: | Rikkarda [ Sa 28 Jul, 2007 17:49 ] |
Betreff des Beitrags: | |
anpera hat geschrieben: Beides stimmt so nicht ganz.
Sobald der Besitzer des Eis den Wald betritt, kann er es jederzeit verlieren. Erst, wenn ein Spieler mit Immunität das Ei hat und für immer aufhört zu spielen, ist das Ei nicht mehr zugänglich - bis der Spieler gelöscht wird. Aber das kann, wie du schon erkannt hast, genauso passieren, wenn jemand ohne Immunität mit Ei stirbt, ausloggt und nie wieder kommt. Aaaaaaaaber gegen Letztere gibt es ja in der aktuellen Version den Schrein der Wiederbelebung, bei dem man andere Spieler aus dem Totenreich zurückholen kann! Ansonsten steht es dir natürlich frei, das Waldspecial entsprechend abzuändern. Eine Abfrage auf if ($session['user']['pvpflag']=="[Datum je nach Version]") blabla behebt zwar das Problem, dass Chars mit Immunität das Ei finden können, aber es behebt nicht das, dass man auch nach dem Finden des goldenen Eis die PvP-Immunität kaufen kann. Also müsstest du beim Kauf der Immunität auch noch was machen. (Etwa: if ($session['user']['acctid']==(int)getsetting("hasegg",0)) savesetting("hasegg","0");) ![]() In Silienta habe ich es so hingehend modifiziert, dass man bei aufnahme vom Ei eine ggf. vorhandene PvP Immuntiät verliert und sich bei Besitz des Ei auch in dieser Zeit KEINE Immuntität in der Jägerhütte erwerben kann. Ein PvP Immuner bekommt bei mir halt einen Hinweis wenn er im Wald auf das Ei trifft, dass er diese Immunität verlieren würde, wenn er in den Besitz des Ei gelangt. Er hat ja die Wahl es liegen zu lassen. Fand diese Lösung halt sinniger, denn wenn man schon den Neid der Krieger auf sich zieht, sollte man halt auch angreifbar sein.. Ausserdem gibt es ja mittlerweile auch noch ein Addon (weiss grad net von wem, aber glaub ich ist auch hier geuppt) das man sollte der Träger des Ei tot sein, auch hier pvp im Land der Toten dann als selber Toter machen kann ![]() Jetzt fragen sich sicher einige, wieso ich so einen alten Thread noch einmal ausgrabe und Kommentiere *g* das liegt an der Felsenhoehle.php die mr. Edah heute hier geuppt hat. Ich habe auch für dieses Special eine mit den o.g. Änderungen angepasste Version für Silienta in meinem Source liegen, und wer Interesse daran hat sein "goldenes Ei" ebenfalls in diesem Sinne zu ändern, der kann mich gern kontaktieren. Die Source für das goldenegg.php und felsenhoehle.php liegen bei mir offen zugänglich, und die minimale Änderung in der Lodge.php bekommt man gern sofort auf Anfrage ![]() lg Rikkarda |
Autor: | Kevz [ Sa 28 Jul, 2007 17:59 ] |
Betreff des Beitrags: | |
Eine weitere Möglichkeit zum Überprüfen, wie lange bereits der jeweilige Spieler das Ei hat, wäre über eine Datenbankabfrage sinnvoll. Worauf ich hinaus will: Das man in der Datei "setnewday.php" eine Abfrage erstellt, die Überprüft, wie lange bereits das Ei abhanden ist bzw. der Spieler es hat. Und anschließend (anhand der Spieleinstellungen) das Ei nach xx Tagen wieder freigibt. €dit: Kaum einmal durchdacht, schon erstellt. ![]() |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |