anpera.net
https://anpera.dyndns.org/phpbb3/

Eine geheimnisvolle Lampe
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=43&t=1755
Seite 1 von 1

Autor:  BlackWarrior [ Di 20 Sep, 2005 22:02 ]
Betreff des Beitrags:  Eine geheimnisvolle Lampe

hallo @ all,

so ich habe mich auch mal ein nem special versucht und ich hoffe mal das es irgendwie richtig läuft, bis jetzt was ich ausprobiert habe ging es eigentlich recht gut.

es ist eine geheimnisvolle lampe und wenn man genug erfahrung hat kann man an ihr reiben, wenn man aber nicht genügend hat kann man sie nur untersuchen.

hab mir das aus ein paar schnipseln abgeguckt und dann irgendwie nach meinen wünschen und vorstellungen zusammengewürfelt.

iss das erste von mir :)

greetz

Dateianhänge:
Dateikommentar: eine geheimnisvolle lampe
lampe.rar [1.96 KIB]
731-mal heruntergeladen

Autor:  Ventus [ Mi 21 Sep, 2005 07:34 ]
Betreff des Beitrags: 

das klappt so nicht!
$session[user][specialinc] = "lampe.php";
fehlt an einigen Stellen!

Autor:  BlackWarrior [ Mi 21 Sep, 2005 08:20 ]
Betreff des Beitrags: 

naja wie gesagt hab mir andere codes angeschaut und hab mir dann einfach mal so was eigenes zusammengehauen wie ich es haben wollte - wie einige sache davon funxen weiß ich ja halt schon aber noch nicht alles - war halt erstmal nur nen versuch von mir :)

Autor:  Tidus [ Mi 21 Sep, 2005 17:07 ]
Betreff des Beitrags: 

habs mir grad mal angeschaut hab das was du gesagt ahst da mal hinzugefügt und denke das es so besser sein müsste aber ich garanteire nicht ds ichs überall richtig gesetzt habe an manchen stellen msus man ja auch nur das eingeben ohne lampe php schauts euch einfach mal an ^^
hab auch selber den tipp bekommen immer die ' nach den eckigen klammern zu machen ^^ hab ich auch gleich mal ncoh gemacht ^^

Autor:  Cheyenne [ Fr 12 Mai, 2006 20:03 ]
Betreff des Beitrags: 

ich bin mal so frech auch wenn es dieses special schon lange gibt und packe die source mal von mir rein da man mit der version die man hier ziehen kann kein gold und keine gefallen bekommt auch wenn es da steht ;o)

[php]<?
// Eine geheimnisvolle Lampe
// 20.09.2005 BlackWarrior
//
// Je nach Erfahrung kann man an der Lampe

reiben oder sie nur untersuchen,
// Ich habe den Wert der Erfahrung auf 5000

festgelegt, aber das kann man ja noch ändern.
//

if (!isset($session)) exit();

if ($HTTP_GET_VARS['op']==""){
output("`n`2Du schlenderst gemütlich durch

den Wald als Du plötzlich vor Dir auf dem

Boden eine alte Öllampe liegen siehst.`n`n
Du betrachtest Dir die Lampe

genauer.`n`n");

if ($session['user']['experience']<=5000){
output("Da Du noch nicht über genügend

Erfahrung verfügst kannst Du die Lampe nur

untersuchen.");
output("`n`n<a

href='forest.php?op=untersuch'>Untersuche die

Lampe</a>`n<a

href='forest.php?op=nicht'>Lieber nichts

machen</a>",true);
addnav("Untersuche die

Lampe","forest.php?op=untersuch");


$session['user']['specialinc']="lampe.php";
}

if ($session['user']['experience']>=5000){
output("Du hast genug Erfahrung gesammelt

und weißt genau was Du mit der Lampe anstellen

sollst.");
output("`n`n<a

href='forest.php?op=reib'>Reibe an der

Lampe</a>`n<a

href='forest.php?op=nicht'>Lieber nichts

machen</a>",true);
addnav("An der Lampe

reiben","forest.php?op=reib");


$session['user']['specialinc']="lampe.php";
}
addnav("Lieber nichts

machen","forest.php?op=nicht");


$session['user']['specialinc']="lampe.php";
}
else if ($HTTP_GET_VARS['op']=="untersuch"){
$rand = e_rand(1,4);
output("`n`6Du weißt gar nicht so recht

was Du mit der Lampe anstellen sollst und

nimmst sie erst einmal in

Augenschein.`n`n`0");
switch ($rand) {
case 1:
output("`#Als Du die Lampe

herumwirbelst fallen ein paar Goldstücke aus

ihr heraus.`n`n
`^Du bekommst 500 Goldstücke`6 und

freust Dich über Deinen Gewinn.`0");
$session['user']['gold']+=500;
$session['user']['specialinc']="";
break;
case 2:
$experience =

$session['user']['experience']*0.1;
output("`6Du weißt zwar nicht so recht

was Du mit der Lampe anstellen sollst aber

beim nächsten Mal bist Du sicher schlauer`n
Du bekommst `^$experience Erfahrung

dazu.`0");


$session['user']['experience']+=$experience;
$session['user']['specialinc']="";
break;
case 3:
output("`6Du stellst Dich ein wenig

ungeschickt an, die Lampe fällt Dir aus der

Hand und fällt auf Deinen Fuß.`n
`%Da die Lampe aber sehr schwer ist

verlierst Du fast alle Lebenspunkte.`0");
$session['user']['hitpoints']=1;
$session['user']['specialinc']="";
break;
case 4:
output("`6Als Du die Lampe so hin und

her schwenkst fällt auf einmal ein alter

Knochen aus der Lampe,`n
Als Du ihn aufheben willst erscheint

Ramius und bedankt sich bei Dir das Du einen

seiner Knochen gefunden hast.`n
Natürlich gibst Du ihn seinen Knochen

wieder und er gibt Dir dafür 10 Gefallen.");
$session['user']['deathpower']+=10;
}
$session['user']['specialinc']="";
}
else if ($HTTP_GET_VARS['op']=="reib"){
$rand = e_rand(1,4);
output("`n`6Du weißt genau was Du zu tun

hast, denn das war eine Wunderlampe und daran

reibt man eben.
Du reibst und reibst und reibst und auf

einmal ....`n`n`0");
switch ($rand) {
case 1:
output("`#erscheint der Geist der

Lampe und sagt Dir aber gleich das er heute

nicht viel Zeit hat.`n
Er kramt in der Lampe herum und wirft

Dir auf einmal einen Sack Gold zu`n`n
`^In dem Sack findest Du 1000

Goldstücke`6 und bist daher auch nicht

verärgert das der Geist schon wieder weg

ist.`0");
$session['user']['gold']+=1000;
$session['user']['specialinc']="";
break;
case 2:
output("`6siehst Du nur wie die Hand

das Geistes aus der Lampe kommt.`n
Doch was hat er denn da?? Bevor Du

reagieren kannst fliegt Dir`^ein Edelstein`6

an den Kopf.`n
Das tat aber weh jetzt, Du verlierst

fast Deine gesamten Lebenspunkte.`0");
$session['user']['hitpoints']=1;
$session['user']['gems']++;
$session['user']['specialinc']="";
break;
case 3:
$experience =

$session['user']['experience']*0.2;
output("`6erscheint Dir der Geist und

lächelt Dir zu. Heute werde ich Dir mal eine

Geschichte erzählen,
sagt er zu Dir und fängt an zu reden

... und zu reden ... und zu reden. Du hörst

Dir aber dennoch die ganze Geschichte an.
Dadurch lernst Du viel und bekommst

`^$experience Erfahrung dazu.`0");


$session['user']['experience']+=$experience;
$session['user']['specialinc']="";
break;
case 4:
output("`6BOAH, wie siehst Du denn

aus?? fragt Dich der Geist und schüttelt mit

dem Kopf,`n
also da müssen wir auf alle Fälle

etwas tun. Der Geist holt ein paar Gegenstände

aus seiner Lampe und beginnt mit seinem

Werk,'n
als er endlich fertig ist zeigt er Dir

sein Ergebnis und Du musst gestehen das er

sehr gut gearbeitet hat.`n
Du bekommst zwei Charmepunkte.`0");
$session['user']['charme']+=2;


}
$session['user']['specialinc']="";
}
else if ($HTTP_GET_VARS['op']=="nicht"){
output("`n`@Du hast eigentlich keine Lust

auf ein Neues Abenteuer und willst die Lampe

so schnell wie möglich wieder loswerden.`n
Nicht weit weg von der Stelle an der Du

die Lampe gefunden hast siehst Du einen alten

morschen Baum, dort kann man sie sicher gut

verwahren`n
denkst Du so bei Dir und legst die Lampe

hinein. Dabei siehst Du etwas klitzern und

findest einen Edelstein.`0");
$session['user']['gems']++;
$session['user']['specialinc']="";
}
?>[/php]


so bekommen die user wirklich ihr gold und gefallen ^^

Autor:  Varius [ Sa 26 Aug, 2006 12:34 ]
Betreff des Beitrags: 

Hallo :)

Schönes Special hab es mal eingebaut und als superuser getestet und es erscheint :

Warning: Cannot modify header information - headers already sent by (output started at E:\KUNDENWEBS\logd.media-kontor.com\logdi\special2\lampe.php:120) in E:\KUNDENWEBS\logd.media-kontor.com\logdi\common.php on line 191

function compress_out ($input) {
//Based on old YaBBSE code (c)
//Open-Source Project by Zef Hemel (zef@zefnet.com <mailto:zef@zefnet.com>)
//Copyright (c) 2001-2002 The YaBB Development Team
if((function_exists("gzcompress")) && (function_exists("crc32"))){
if(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "x-gzip")){
$encode = "x-gzip";
}
elseif(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "gzip")){
$encode = "gzip";
}
if (isset($encode)){
header("Content-Encoding: $encode"); <--- das ist Zeile 191
$encode_size = strlen($input);
$encode_crc = crc32($input);
$out = "\x1f\x8b\x08\x00\x00\x00\x00\x00";
$out .= substr(gzcompress($input, 1), 0, -4);
$out .= pack("V", $encode_crc);
$out .= pack("V", $encode_size);
}
else{
$out = $input;
}
}

Wenn ich die Seite nru lade geht es weiter. aber ist ja auch nicht das wahre. Einer eine Idee ??

Bedanke mich

:wink:

Autor:  Eliwood [ Sa 26 Aug, 2006 12:46 ]
Betreff des Beitrags: 

Wir brauchen Zeile 120. +/- 5 Zeilen.

Autor:  Varius [ Sa 26 Aug, 2006 12:54 ]
Betreff des Beitrags: 

Hab ich voll verpent sorry wohl voll geträumt


function useronline(){ //Wer ist hier online? V.1.0 by Devilzimti
global $session,$SCRIPT_NAME;

$useronline = "<img src='images/uscroll.GIF' width='195' height='11' alt=''><br>
<table border='0' cellpadding='0' cellspacing='0' class='vitalinfo'>
<tr><td><tr><td><b>`6&nbsp;Hier anwesend:`0</b></td></tr>"; <----------- 120
$sql = "SELECT name,login FROM accounts
WHERE (accounts.restorepage LIKE '".$SCRIPT_NAME."%"."' OR accounts.acctid=".$session[user][acctid].")
AND loggedin = 1
AND locked = 0
AND laston>'".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." seconds"))."'
ORDER BY dragonkills,level;
";

$query =db_query($sql);

while($row = db_fetch_assoc($query)){
$useronline.= "<tr><td>&n

Hier auch der Link zu meiner Source

http://www.logd.media-kontor.com/logdi/ ... common.php

Autor:  Eliwood [ Sa 26 Aug, 2006 13:11 ]
Betreff des Beitrags: 

Sorry. War lampe.php... ^^"
Du hast sehr wahrscheinlich ein Leerzeichen vor dem öffnenden <?php oder nach dem schliessenden ?>.
Das verursacht den Fehler.

Autor:  Varius [ Mo 28 Aug, 2006 09:44 ]
Betreff des Beitrags: 

Ein letzter Versuch bevor ich es mit der Lampe aufgeben muß :(

function compress_out ($input) {
//Based on old YaBBSE code (c)
//Open-Source Project by Zef Hemel (zef@zefnet.com <mailto:zef@zefnet.com>)
//Copyright (c) 2001-2002 The YaBB Development Team
if((function_exists("gzcompress")) && (function_exists("crc32"))){
if(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "x-gzip")){
$encode = "x-gzip";
}
elseif(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "gzip")){
$encode = "gzip";
}
if (isset($encode)){
header("Content-Encoding: $encode");<---- das ist Zeile 191 Die so oft bemängelt wird
$encode_size = strlen($input);
$encode_crc = crc32($input);
$out = "\x1f\x8b\x08\x00\x00\x00\x00\x00";
$out .= substr(gzcompress($input, 1), 0, -4);
$out .= pack("V", $encode_crc);
$out .= pack("V", $encode_size);
}
else{
$out = $input;
}

Einer einen Einfall würde mich sehr freuen

:wink:

Autor:  Taikun14 [ Mo 28 Aug, 2006 12:55 ]
Betreff des Beitrags: 

Warning: Cannot modify header information - headers already sent by (output started at E:\KUNDENWEBS\logd.media-kontor.com\logdi\special2\lampe.php:120) in E:\KUNDENWEBS\logd.media-kontor.com\logdi\common.php on line 191

Damit is nich die common.php gemeint.. Wenn dann das: E:\KUNDENWEBS\logd.media-kontor.com\logdi\special2\lampe.php:120).

Aber wie Eli schon sagt du hast irgendwo n leerzeich vor <?php oder nach ?>

Autor:  Harthas [ Mo 28 Aug, 2006 18:47 ]
Betreff des Beitrags: 

Es MUSS nicht zwingen daran liegen ;-)

Soweit ich weiss gab es durchaus auch andere Fälle hier irgendwo im Forum...*g*

Autor:  Morpheus [ Mo 28 Aug, 2006 18:56 ]
Betreff des Beitrags: 

Öööhm, jaaa, das Problem hatt eich auch schon, gib das am besten mal in die Suchfunktion, da mußt Du was in der common.php ändern...weiß grade nicht mehr, was das war...der Tag war eben lang und anstrengend :D

Autor:  Eliwood [ Mo 28 Aug, 2006 19:32 ]
Betreff des Beitrags: 

Nein, es liegt diesmal 100% daran. Schaut mal die Fehlermeldung an... lampe.php. Das ist das Special. Zeile 120 meines Wissens das Ende.

Deshalb: Das Leerzeichen (Oder auch Steuerzeichen wie Wagenrücklauf, linefeed) nach dem schliessenden ?> macht den Fehler.

Autor:  Varius [ Di 29 Aug, 2006 20:05 ]
Betreff des Beitrags: 

Das kann nicht an einen Leerzeichen liegen das hatte ich nun bei 3 Special:
Lampe Brücke und Sarg. Die Brücke war sogar aus den drangon Forum runtergeladen also nicht kopiert. Beim Piraten brauchte ich 3 Versionen bis er ging. Die mit den Ehrenpunkten ging dann und imer wirder wurde die Zeile 191 bemängelt !

function compress_out ($input) {
//Based on old YaBBSE code (c)
//Open-Source Project by Zef Hemel (zef@zefnet.com <mailto:zef@zefnet.com>)
//Copyright (c) 2001-2002 The YaBB Development Team
if((function_exists("gzcompress")) && (function_exists("crc32"))){
if(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "x-gzip")){
$encode = "x-gzip";
}
elseif(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "gzip")){
$encode = "gzip";
}
if (isset($encode)){
header("Content-Encoding: $encode");<---- das ist Zeile 191 Die so oft bemängelt wird
$encode_size = strlen($input);
$encode_crc = crc32($input);
$out = "\x1f\x8b\x08\x00\x00\x00\x00\x00";
$out .= substr(gzcompress($input, 1), 0, -4);
$out .= pack("V", $encode_crc);
$out .= pack("V", $encode_size);
}
else{
$out = $input;
}

Autor:  Eliwood [ Di 29 Aug, 2006 20:10 ]
Betreff des Beitrags: 

Sorry - Aber es liegt definitiv an den Leerzeichen.
Wenn du keine Lust hast alle Scripte zu korrigieren, dann mach einfach das:

Suche common.php:

[php]echo compress_out($output);
ob_end_flush();
// echo $output; [/php]

Ersetze mit:

[php]// echo compress_out($output);
ob_end_flush();
echo $output; [/php]


Aber zu behaupten dass es nicht daran liegt, ohne es besser zu wissen, ist nicht ok!
Es liegt DEFINTIV daran. Wenn du willst, kann ich dir genau sagen, warum ein Leerzeichen sowas auslöst.

Autor:  Varius [ Di 29 Aug, 2006 20:42 ]
Betreff des Beitrags: 

Es geht nicht darum das ich keine Lust habe sondern das ich keine sehe. Kann ich Dir zb den Sarg mal per Mail schicken? Das wäre doch mal eine Möglichkeit. Vieleicht bin ich ja doch blind auf beide Augen.. Mitlerweile höre ich Deinen Satz schon im meinen Kopf wenn ich den Header sehe und schau sofort nach Leerzeichen :)


Die andere Lösung naja Du schreibst ja imer man soll Fehler nicht unterdrücken sondern beseitigen. Stimmt schon wenn bei meinen Auto die Öllampe blinkt mach ich auch kein Kaugummi davor

:wink:

Autor:  Eliwood [ Di 29 Aug, 2006 20:47 ]
Betreff des Beitrags: 

Ja, schick mir ne PN mit einem Zip-Archive der Datei. Einfach so die Sourcen sind gefährlich (Weitere Leerzeichen die Reinfliessen können).

Und dann kann ich, wenn du Lust hast, dir auch noch die Problematik erklären... Übrigens unterdrückt die obige Lösung den Fehler nicht, sondern verhindert ihn - allerdings zu kosten von mehr Traffic (compress_out komprimiert die Ausgabe, wenn der Browser es versteht. Spart Datenverkehr ;) )

Autor:  Varius [ Mi 30 Aug, 2006 10:41 ]
Betreff des Beitrags: 

Eliwood hat geschrieben:
Sorry - Aber es liegt definitiv an den Leerzeichen.
Wenn du keine Lust hast alle Scripte zu korrigieren, dann mach einfach das:

Suche common.php:

[php]echo compress_out($output);
ob_end_flush();
// echo $output; [/php]

Ersetze mit:

[php]// echo compress_out($output);
ob_end_flush();
echo $output; [/php]


Aber zu behaupten dass es nicht daran liegt, ohne es besser zu wissen, ist nicht ok!
Es liegt DEFINTIV daran. Wenn du willst, kann ich dir genau sagen, warum ein Leerzeichen sowas auslöst.



Ja gerne wüßte ich was die Leerzeichen auslösen und mir ist was aufgefallen

ob_end_flush(); <--- das fehlt bei mir

Autor:  Eliwood [ Fr 01 Sep, 2006 14:52 ]
Betreff des Beitrags: 

Dann ignorier das... Das ist nicht standard, sorry =)

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