anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 10 Jun, 2025 03:25

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
BeitragVerfasst: Mi 30 Mär, 2005 15:37 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: So 12 Sep, 2004 09:55
Beiträge: 97
Hallo,


Ich habe nun selber mal zum versuchen eine Special und ein normales Skript für die stadt geschrieben.


Wenn ich die Skripte aufrufe kommt ne weisse seite. Erst wenn ich die weisse seite Aktualisiere wird was angezeigt.
Woran kann so was liegen??


Noch ne Frage

$_GET[op]=="" wenn ich da statt dem op z.b opx schreibe umd beim ling dann auch addnav (" lol.php?opx=lol" geht das dann auch oder muss das immer op sein?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 15:57 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 02 Mär, 2004 18:16
Beiträge: 1206
1. sourcE?

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 16:10 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: So 12 Sep, 2004 09:55
Beiträge: 97
Die sieht so aus :

( Bei dem ereignis, wenn man da dann 1000 mal akualisiert bekommt man auch 1000 mal die sachen . das is jetzt das Script vom dem Stadt teil da iss auch imme rerst weisse Seite!)

$this->bbcode_second_pass_code('', '<html>

<head>
<title></title>
</head>

<body>

<?php
// By Fury
require_once "common.php";
page_header("Dark House");

if ($_GET[op]=="")

{
output (" Du betrittst das dunke Haus. An einem schwarzen Tisch`n");
output (" sitzt eine dunkle Gestalt, die sich eine Kapuze tief ins `n") ;
output (" Gesicht gezogen hat`n`n");
output (" Die Gestalt fragt dich : \"Hast du einen `@ DÄMONENSTEIN?\" `0 `n");




addnav("Ja","myranordrakhouse.php?op=yes") ;
addnav ("Nein","myranordrakhouse.php?op=no");
addnav ("Sonstiges");
addnav ("Verlasse das Haus","village.php");

}


if ($_GET[op]=="yes")
{
if ($session [user][megastone]>0 )
{
output (" Du hast ja wirklich einen!!!`n");
output (" Ich gebe dir `^10000 Gold`0 und `@10 Edelsteine`0 dafür");
$session [user][gems]+=10 ;
$session [user][gold]+=10000 ;
addnav ("Verlasse das Haus","village.php"); }

else {
output(" Du hast keien! Du hälst mich wohl für dumm!`n") ;
output(" So geht das nicht! `n") ;
output ("Die Gestalt klaut dir einen `^Edelstein`0!");
$session [user][gems]--;
addnav ("Verlasse das Haus","village.php");
}
}//Ende der 1. if bedingung

if ($_GET[op]=="no")

{
output (" Schade... Ich brauche dringend einen.`n" );
output (" Wenn du mir einen bringst bekommst du: `n`n");
output ("`^10000 Gold`0 und `@10 Edelsteine `0");
addnav ("Verlasse das Haus","village.php");
}






page_footer();

?>




</body>


</html>')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 16:23 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Versuchs mal nur mir <?php und ?>..... :D
Sonst sah ich keine Fehler
Versuchs mal eben ohne das HTML Zeugs.... Nur mit <?php etc...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 16:37 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 02 Mär, 2004 18:16
Beiträge: 1206
ich meinte nicht nur die datei sondern den ganzen source!

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 16:51 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Meteora hat geschrieben:
ich meinte nicht nur die datei sondern den ganzen source!


Ähm, Meteora....
Das is zwar jetzt Spam, aber....
Vielleicht nimmt er es ja wortwörtlich und... Nun ja.... Er könnte ja auf die Idee kommen und seinen ganzen Source posten :D
Man kann deinen Beitrag falsch verstehen....
Wenn man will :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 17:01 
Weg mit den ganzen Htmlgrundsachen (<html> <head> <body> ...), darum kümmert sich page_header von alleine (oder irre ich mich da??? denk eher nich...), solche tags doppelt erzeugen fehler (ich glaub das verarbeitet dann nichtmal mehr der Internetexplorer freiwillig). das es nach dem aktualisieren funktioniert liegt daran das dann ne badnav.php kommt die den letzten output (aber nur den der durch output, page_header und page_footer erzeugten) ausgibt...


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 17:06 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
hast recht stultus,
aber wie kommst du auf die idee html codes vor und nach den php zeichen einzubauen?
Ich glaube kaum das dass so in einem Script ist, desweiteren bringt dir das eh nichts wenn du Meteoras frage ausm weg gehst ;)


1.Weiße seiten werden durch leerzeichen hinter dem ?> erzeugt!
2.Weiße seiten können an <? / <?php liegen, einfach ausprobieren welches funzt! (wurde schon von chaos einmal erklärt^^)
3.Weiße seiten können dadurch verursacht werden wenn man einfach mal den page_header() / page_footer() vergisst...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 17:25 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: So 12 Sep, 2004 09:55
Beiträge: 97
Das hier is die Source ... aber ich habe ja die neue datei da noch nicht hochgeladen!

Das mache ich erst wenns aufm apache geht.

http://www.dragonlegend.de


Ich habe die html zeichen weggemacht und hinter dem ?> is auch kein zeichen mehr...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 20:00 
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
Das da oben kannst du als Special nicht einsetzen. Nur als normale Seite - und da müsste es ohne Leerzeichen und ohne die unnötigen Tags funktionieren. (Beachte, dass das Teil zwar "Dark House" heißt, in den Links aber als "myranordrakhouse.php" auftaucht! Nicht, dass da schon ein Fehler im hinführenden Link ist...)
[php]<?php
// By Fury
require_once "common.php";
page_header("Dark House");

if ($_GET[op]=="")

{
output (" Du betrittst das dunke Haus. An einem schwarzen Tisch`n");
output (" sitzt eine dunkle Gestalt, die sich eine Kapuze tief ins `n") ;
output (" Gesicht gezogen hat`n`n");
output (" Die Gestalt fragt dich : \"Hast du einen `@ DÄMONENSTEIN?\" `0 `n");




addnav("Ja","myranordrakhouse.php?op=yes") ;
addnav ("Nein","myranordrakhouse.php?op=no");
addnav ("Sonstiges");
addnav ("Verlasse das Haus","village.php");

}


if ($_GET[op]=="yes")
{
if ($session [user][megastone]>0 )
{
output (" Du hast ja wirklich einen!!!`n");
output (" Ich gebe dir `^10000 Gold`0 und `@10 Edelsteine`0 dafür");
$session [user][gems]+=10 ;
$session [user][gold]+=10000 ;
addnav ("Verlasse das Haus","village.php"); }

else {
output(" Du hast keien! Du hälst mich wohl für dumm!`n") ;
output(" So geht das nicht! `n") ;
output ("Die Gestalt klaut dir einen `^Edelstein`0!");
$session [user][gems]--;
addnav ("Verlasse das Haus","village.php");
}
}//Ende der 1. if bedingung

if ($_GET[op]=="no")

{
output (" Schade... Ich brauche dringend einen.`n" );
output (" Wenn du mir einen bringst bekommst du: `n`n");
output ("`^10000 Gold`0 und `@10 Edelsteine `0");
addnav ("Verlasse das Haus","village.php");
}


page_footer();

?>[/php]

Als Special:

[php]<?php
// By Fury
if ($_GET[op]=="" || $_GET[op]=="search") // nur die Langform wird vom Script auf "" gesetzt!!

{
output (" Du betrittst das dunke Haus. An einem schwarzen Tisch`n");
output (" sitzt eine dunkle Gestalt, die sich eine Kapuze tief ins `n") ;
output (" Gesicht gezogen hat`n`n");
output (" Die Gestalt fragt dich : \"Hast du einen `@ DÄMONENSTEIN?\" `0 `n");

$session[user][specialinc]="myranordrakhouse.php";

addnav("Ja","myranordrakhouse.php?op=yes") ;
addnav ("Nein","myranordrakhouse.php?op=no");
addnav ("Sonstiges");
addnav ("Verlasse das Haus","village.php");

}


if ($_GET[op]=="yes")

$session[user][specialinc]="";

{
if ($session [user][megastone]>0 )
{
output (" Du hast ja wirklich einen!!!`n");
output (" Ich gebe dir `^10000 Gold`0 und `@10 Edelsteine`0 dafür");
$session [user][gems]+=10 ;
$session [user][gold]+=10000 ;
addnav ("Verlasse das Haus","village.php"); }

else {
output(" Du hast keien! Du hälst mich wohl für dumm!`n") ;
output(" So geht das nicht! `n") ;
output ("Die Gestalt klaut dir einen `^Edelstein`0!");
$session [user][gems]--;
addnav ("Verlasse das Haus","village.php");
}
}//Ende der 1. if bedingung

if ($_GET[op]=="no")

$session[user][specialinc]="";

{
output (" Schade... Ich brauche dringend einen.`n" );
output (" Wenn du mir einen bringst bekommst du: `n`n");
output ("`^10000 Gold`0 und `@10 Edelsteine `0");
addnav ("Verlasse das Haus","village.php");
}

?>[/php]

Wenn du das Special im Dorf verlinken willst, kannst du "paths.php?ziel=myranordrakhouse" als Link verwenden.

Wie du deine $_GET[]-Variablen nennst, ist deine Sache. ;)

_________________
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: Mi 30 Mär, 2005 22:03 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: So 12 Sep, 2004 09:55
Beiträge: 97
Ok vielen Dank es läuft nun alles!

Aber wenn ich das ereignis aufrufe und 10 mal aktualisiere bekommt man alles 10 mal.

Auch im Trampelpfad bekommt man wenn man immer aktualisiert viele Edelsteine--

Woran kann das liegn?
Da muss man doch irgendwas ins Skript einsetzten dass das mit dem Aktualisieren nicht geht... und wenn man ein Cookie mit der Zeit setzt... könnte man ja die COokies ausmachen..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 23:00 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Das geht nicht da man ansonsten eine badnav bekommt, das ist der vorteil an LogD, so kann man das schummeln umgehn...


EDIT:
Is doch logisch wenne 10 mal neulädst das du dann auch 10 mal bekommst? :pein:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 30 Mär, 2005 23:29 
Teste es mit einem Spieler-Account! Bei Admin-Accounts greift der Cheatschutz nicht - eben damit man alles testen kann...


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 31 Mär, 2005 11:32 
Offline
Held
Held
Benutzeravatar

Registriert: Sa 04 Dez, 2004 21:54
Beiträge: 210
Wohnort: Köln
Geschlecht: Männlich
ich weiß nich aba wenn ich im special vom "hauptspecial" zur unterordnung gehe mache ich vor
if ($_GET[op]=="xyz"){
noch nen
else
also:
else if (_GET[op]=="xyz"){

_________________
Die einfachsten Probleme treten manchmal im Rechner auf:
'Mensch' konnte nicht nach 'Erde' kopiert werden. Datenträger ist voll.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 31 Mär, 2005 14:16 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Vaan hat geschrieben:
ich weiß nich aba wenn ich im special vom "hauptspecial" zur unterordnung gehe mache ich vor
if ($_GET[op]=="xyz"){
noch nen
else
also:
else if (_GET[op]=="xyz"){



Das ist doch egal....
IF heisst soviel wie WENN
Das in den Klammern ist die Bedingung
ELSE bedeutet, falls voriger Fall/Fälle nicht zutreffen
ELSE IF heisst also, falls voriger Fall/Fälle nicht zutrift/treffen UND die Bedingung erfüllt ist, so füre nen Anweisungsblock aus...
Und ELSE IF ist das gleiche wie ELSEIF, oder? *Nicht ganz sicher bin*


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 31 Mär, 2005 14:18 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: So 12 Sep, 2004 09:55
Beiträge: 97
ALso greift bei nem normalen USer, auch wenn ich das nicht in das special reinmamche autmatisch der cheat schutz mit der Bad nav??

Wie hat man denn das hinbekommen vom skript her??
Is das in der naticheat php?? das würde mich echt mal interssieren wei das geht, dass wenn man aktualisiert eine bad nav kommt!

Bitte zeig mir mal einer die stelle ind em Skript!


Und dann noch ne frage... is denn jede Variable aus nem anderen Skript global verwendbar oder muss man wenn man variablen aus nem anderen skript will imm requrie_once(xxx.php) schreiben?

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 31 Mär, 2005 14:27 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Eliwood hat geschrieben:
Das ist doch egal....

Falsch. :P
Zitat:
IF heisst soviel wie WENN
Das in den Klammern ist die Bedingung
ELSE bedeutet, falls voriger Fall/Fälle nicht zutreffen
ELSE IF heisst also, falls voriger Fall/Fälle nicht zutrift/treffen UND die Bedingung erfüllt ist, so füre nen Anweisungsblock aus...

Richtig.
Zitat:
Und ELSE IF ist das gleiche wie ELSEIF, oder? *Nicht ganz sicher bin*

Fast richtig. ;)
Das Ergebnis bei "elseif" ist das gleiche wie bei "else if". Allerdings ist "elseif" (minimal) schneller. Um es noch schneller zu machen, sollte man spätestens ab 3 elseifs, besser schon ab 2, auf "switch-case"-Anweisungen wechseln.

Aus selbem Grund ist es auch wichtig, elseif statt nur noch einem if bei den Ops zu nutzen: Das spart einiges an Rechenzeit, was bei LoGD nicht unwichtig ist.

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 31 Mär, 2005 15:00 
Offline
Held
Held
Benutzeravatar

Registriert: Sa 04 Dez, 2004 21:54
Beiträge: 210
Wohnort: Köln
Geschlecht: Männlich
ja else if und elseif ist das gleiche aba bei mir gehen specials nur wenn ich else if oda elseif vorsetze^^

_________________
Die einfachsten Probleme treten manchmal im Rechner auf:
'Mensch' konnte nicht nach 'Erde' kopiert werden. Datenträger ist voll.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 31 Mär, 2005 17:14 
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
Zitat:
Wie hat man denn das hinbekommen vom skript her??
Is das in der naticheat php??

Nein

Zitat:
das würde mich echt mal interssieren wei das geht, dass wenn man aktualisiert eine bad nav kommt!

Bitte zeig mir mal einer die stelle ind em Skript!

Uff, das sind mehrere Stellen...
Ist dir schonmal dieses "&c=123-4567" aufgefallen, dass auf jeder Seite hinten in der Adressleiste deines Browsers steht und bei allen Navs erscheint? Das ist Teil des Cheatschutzes. Vor dem Bindestrich ist eine Zahl, die mit jedem Klick (auch beim Aktualisieren oder Rückwärtsnavigieren) des Users um 1 erhöht wird, nach dem Strich steht ein Zeitcode (His). Beide Informationen werden automatisch an die Links der erlaubten Navs angehängt. (function addnav, common.php)

Wenn versucht wird, eine Seite aufzurufen, die nicht in den allowednavs steht, kommt ja bekanntlich badnav. (common.php, allgemeiner Code nach den Funktionsdeklarationen)
Beim Aktualisieren wird auch eine Seite aufgerufen, die normalerweise nicht in den allowednavs eingetragen ist. Also kommt badnav.

Beispiel 1:
Du gehst vom Dorf in die Kneipe und aktualisierst dort.
Im Dorf ist der Link auf die Kneipe ein erlaubter Schritt. In der Kneipe ist die Kneipe kein erlaubter Schritt - denn du bist ja schon dort und einen Link "In die Kneipe" gibts in der Kneipe nicht. Badnav ist die Folge.

Beispiel 2:
Du gehst vom Dorf in die PvP-Arena und aktualisierst dort.
Im Dorf ist der Link auf die Arena ein erlaubter Schritt. In der Arena ist ein Link "Aktualisieren" vorhanden. Man sollte also meinen, man könnte hier auch das Aktualisieren des Browsers verwenden, da die Arena sich selbst als gültigen Link hat. Trotzdem kommt badnav! Denn hier greift der 2. Teil des Cheatschutzes: "&c=123-4567"

Bei Specials läuft die Navigation über die forest.php und specialinc ab. Ich versuch das mal so zu erklären, wie ich es verstanden hab:
Ohne das &c=123-4567 käme es vor, dass man durch Aktualisieren eine Seite aufruft, die in den Navs als gültig eingetragen ist ("forest.php"). Aber das "&c=123-4567" verursacht zusammen mit dem fehlenden specialinc badnav und verhindert, dass man Belohnungen mehrfach kassieren kann.

Bei den Testlinks für Superuser wird specialinc direkt eingetragen, unabhängig davon, ob das Special das verlangt. (forest.php)

Ruft das Special die Funktion addnav() nicht auf, wie das oft bei der Rückkehr in den Wald gemacht wird, kann der Superuser so oft Aktualisieren, wie er will, denn durch das direkt gesetzte specialinc, den Aufbau der forest.php und die function forest() ist für ihn jedes neue &c= genauso für das abgelaufene Special gültig, wie für die normalen Waldnavs.

(Den Cheatschutz für Superuser in Specials aufrecht halten zu wollen, macht schon deshalb keinen Sinn, weil ein Superuser die Specials sowieso jederzeit aufrufen kann.)

Ein weiterer Unterschied zwischen Testlinks und der normalen Funktionsweise von Specials ist der, dass ein Spieler eine weiße Seite bekommt, obwohl es über den Testlink funktioniert, wenn der Fall $_GET['op']=="" ohne $_GET['op']=="search" abgefragt wird.


Lange Rede kurzer Sinn:
Specials verhalten sich über die Testlinks für Superuser anders, als wenn man sie als normaler User zufällig bekommt. Probiers einfach aus.

_________________
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: Fr 01 Apr, 2005 21:33 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: So 12 Sep, 2004 09:55
Beiträge: 97
Vielen Dank Anpera!!
Ich schau mir das in der common php nochmal genau an!

Was bedeutet denn $_Get[op]=="search" genau?? Wieso denn search? Was soll man da suchen??

Man schreibt doch am anfang:

if $_Get[op]==""
Also wenn das noch nicht definiert ist... dann mach folgendes...

z.b. addnav "anpera.php?op=erhatsdrauf^^"


nun ist ja $_Get[op] voll aber für was search^^ den rest hab ich voll verstanden.

Danke !


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 21 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 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