anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Fr 29 Mär, 2024 09:29

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: "Capture the Egg"
BeitragVerfasst: Di 02 Dez, 2003 03:23 
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
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)

_________________
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


Zuletzt geändert von anpera am Di 09 Dez, 2003 05:02, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 07 Dez, 2003 02:57 
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
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));')

_________________
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 09 Dez, 2003 04:59 
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
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.

_________________
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: So 22 Aug, 2004 19:11 
Offline
Eingeweihter
Eingeweihter

Registriert: Do 12 Aug, 2004 13:02
Beiträge: 91
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 22 Aug, 2004 19:38 
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
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");) ;)

_________________
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: So 22 Aug, 2004 21:33 
Offline
Eingeweihter
Eingeweihter

Registriert: Do 12 Aug, 2004 13:02
Beiträge: 91
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 :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Apr, 2006 18:03 
Offline
Newbie

Registriert: Do 20 Apr, 2006 17:53
Beiträge: 2
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Apr, 2006 18:05 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 20 Apr, 2006 20:17 
Offline
Newbie

Registriert: Do 20 Apr, 2006 17:53
Beiträge: 2
hm ok danke
ich hab dich bei icq angeschreiben^^



den fehler hab ich selbst gefunden danke trotzdem^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 08 Jul, 2006 19:04 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Echt ne Gute Idee, aber warum killt der Freif denn den Player nicht, wenn dieser das Ei nehmen will und der Greif zurückkommt?

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 07 Aug, 2006 14:32 
Offline
Eingeweihter
Eingeweihter

Registriert: Do 22 Dez, 2005 17:58
Beiträge: 93
LoGD: http://www.legend-green-dragon.de/logd/ ... illage.php
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 07 Aug, 2006 14:36 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
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 :P


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 07 Aug, 2006 14:49 
Offline
Eingeweihter
Eingeweihter

Registriert: Do 22 Dez, 2005 17:58
Beiträge: 93
LoGD: http://www.legend-green-dragon.de/logd/ ... illage.php
ups.... :bash: danke! :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 17:49 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 28 Aug, 2004 18:48
Beiträge: 1712
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

_________________
~Inaktiv und Abwesend solange Mysql hier Moderatorenrechte hat~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 17:59 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
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. :) - Bei Interesse einfach mal hier vorbei schauen.


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 39 Gäste


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