anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 25 Apr, 2024 12:39

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Problemm auf eine Seite zu Kommen
BeitragVerfasst: Sa 16 Jan, 2010 19:31 
Offline
Lehrling
Lehrling

Registriert: Do 31 Dez, 2009 16:04
Beiträge: 42
LoGD: http://www.legend-of-dragon-fire.de.vu/
Guten Arbend zusammen da ich gerade ein script gemacht habe
und es eigendlich soweit geht, gibt es trost den Problemm mit ei paar stellen in script.


Das Script Heist Reise Büro
dient als Andere Reise Möglichkeit

Zu Dorf Stadt usw


Mein erstes problemm ist
ich komme nicht mehr auf die Seite des Script.
In der village.php ist alles richtig benannt wurden.
Also addnav("Das Kleine Reise Büro","reise-büro1.php");

trost dem pasiert bei mir nixs.
habe auf } geprüft obwas fehlt aber ich habe bis jetzt nixs gefunden.

Arbeite derzeit mit das Proggramm Notepad++

Reise Büro
$this->bbcode_second_pass_code('', '<?

require_once "common.php";
checkday();
#checkfood();

if ($session['user']['alive']){
}else{
redirect("shades.php");
}


page_header("Reise Büro");
$name=$session[user][name];
switch($HTTP_GET_VARS[op]){

case "":
output("`c<font size='+1'>`bCondo's Reise Büro`b</font>`c`n`n`n",true);
output("`tDu läufst in das Reise Büro und siehst viele verschiedene Bilder an der Wand.");
output("Du bemerkst viele der Speziellen Reise Orte, worüber die Leute immer reden, und dann bemerkst du den Mann der vor dir steht....`n`n");
output("\"Hallo $name`0, `tMein Name ist Condo. Suchst du Ein Reise Pass Ich habe hier einige Pässe die ich dir verkaufen kann!\"");
output("Der Mann macht für ein paar Minuten eine Pause und spricht dann weiter:`n`n\"Der 40er Reise Pass kostet `15000 Gold`0 Gold und `%10 Edelsteine`0");



if ($session[user][reisepass]<>1 && $session[user][gold]>=15000 && $session[user][gems]>10){
addnav("Kaufe Reisepass","reise-büro1.php?op=steam");}
break;


case "steam":
$keys = getsetting("reisepass",0);
if( $keys > 1) {
output("`Condo sagt.Etweder hast du genug noch oder du hast kein Gold.");
} else {
output("Du hast dir ein 40er Reisepass gekauft!!!");
savesetting("reisepass", $keys-1);
$session[user][reisepass]+=40;
$session[user][gold]>14999;
$session[user][gold]-=15000;
if ($session[user][gems]>9){
$session[user][gems]-=10;
}
if ($session[user][reisepass]==0 && $session[user][gold]>=15000 && $session[user][gems]>=10){
addnav("Du Brauchst neue Reise Pässe","reise-büro1.php?op=steam");}
}
break;
}
addnav("");
addnav("Zurück zum Hanseviertel","stadt.php");
page_footer();
?> ')











Dann habe ich das Problemm der If abfrage ob ich noch genug reisepässe
habe.

(reisepass ist in der SQL datenban vorhanden=



Start der Reise
$this->bbcode_second_pass_code('', '<?

require_once "common.php";
checkday();
#checkfood();

if ($session['user']['alive']){
}else{
redirect("shades.php");
}

output("<span style='color: #7FFF55'>",true);
page_header("Reise Weg");
$name=$session[user][name];
switch($HTTP_GET_VARS[op]){

case "":
output("`c<font size='+1'>`bCondo's Reise Büro`b</font>`c`n`n`n",true);
output("`tDu läufst in das Reise Büro und siehst viele verschiedene Bilder an der Wand.");
output("Du bemerkst viele der Speziellen Reise Orte, worüber die Leute immer reden, und dann bemerkst du den Mann der vor dir steht....`n`n");
output("\"Hallo $name`0, `tMein Name ist Condo. Suchst du Ein Reise Pass Ich habe hier einige Pässe die ich dir verkaufen kann!\"");
output("Der Mann macht für ein paar Minuten eine Pause und spricht dann weiter:`n`n\"Ach du hast schon einen okay du kannst Reisen`0");


if ($session[user][reisepass]>1 ){
addnav("Auf Reisen gehen","reise.php?op=pass");}
break;


case "pass":
output("Du hast dir den reisepass gekauft!!!");
if ($session[user][reisepass]>0){
$session[user][reisepass]-=1;
addnav("Nach Migra Reisen","stadt.php");
addnav("Nach Sanela Reisen","sanela.php");
}
if ($session[user][reisepass]==0 && $session[user][gold]>=15000 && $session[user][gems]>=10){
addnav("Du hast kein Reise Pass kauf dir einen","reise-büro1.php?op=steam");}
}


addnav("");
addnav("Zurück zum Hanseviertel","stadt.php");
page_footer();
?> ')

Ich hatte bei der erste version von mein script alles richtig gehabt.
Musste aber was ändern und weiss nicht mehr was das wahr.
Danach waren die fehler da.

bitte um hilfe vielen dank


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 19:47 
Offline
Held
Held

Registriert: Fr 22 Feb, 2008 06:39
Beiträge: 276
Wohnort: Solingen
LoGD: http://apocalypse-rpserver.de/source.php
ändere mal das Ü in ue


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 19:54 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
Mal abgesehen von der grauenhaften Einrückung, der Verwendung veralteter Variablen, dem Verweigern von ' in Arrayschlüssel und dem übermäßigen Gebrauch der output Funktion, fällt mir auf dem ersten Blick kein Fehler auf.

Außerdem ist "Geht nicht" keine so gute Fehlerbeschreibung wie z.B. Fehlermeldungen die du posten könntest (Falls welche auftreten)

Versuch mal php an das <? ganz oben "php" dranzuhängen, also <?php daraus zu machen.


edit


Ach, der Dateiname hat ein Umlaut (hab ich übersehen). Das sollte man nicht machen und der Fehler sein.


Zuletzt geändert von Welv am Sa 16 Jan, 2010 21:06, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 20:52 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 12 Mai, 2008 21:51
Beiträge: 137
Geschlecht: Weiblich
Irgendwie habe ich das Gefühl, jedes mal wenn ich einen deiner Posts lese im Kopf kirre zu werden.
Leg dir nen Duden zu, Open office oder was weiß ich, irgendwas was sowohl deine Rechtschreibung als auch deine Grammatik verbessert. Is ja nicht aus zu halten....

Habe nun beide scripte bei mir getestet, allerdings unter den Link: test.php
Fehlermeldungen kamen keine, schient also wirklich am ü im php-Namen zu liegen

kleine Anmerkungen zum Script:

$this->bbcode_second_pass_code('', 'if ($session[user][reisepass]<>1 && $session[user][gold]>=15000 && $session[user][gems]>10){')

denke nicht, dass <> richtig ist, denn entweder ist etwas größer, kleiner oder gleich.
Normalerweise nimmt man ja als standard 0... also soll es wohl >=1 sein...

$this->bbcode_second_pass_code('', ' case "steam":
$keys = getsetting("reisepass",0);
if( $keys > 1) {
output("`Condo sagt.Etweder hast du genug noch oder du hast kein Gold.");
} ')

was das soll verstehe ich auch nicht, da getsetting einen wert aus den Spieleinstellungen rausholt, nicht aber einen Wert des Spielers...
zumal der Satz grauenhaft ist... aber ich spiele hier nun nicht Deutschlehrer

in der zweiten Php:
if ($session[user][reisepass]>1 ){
sollte wohl auch >=1 sein...

ich frage mich echt wie du behaupten kannst dein Script hätte mal funktioniert, denke die kamen nicht von jetzt auf gleich
Nur weil es keine Fehlermeldung aus gespuckt hat heißt es noch lange nicht, dass nicht doch n Fehler drinnen ist.

Just my two cents...
Das Mine


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 22:42 
Offline
Held
Held

Registriert: Fr 17 Okt, 2008 20:06
Beiträge: 253
Geschlecht: Männlich
LoGD: off
Also steinigt mich, wenn ich mich irre.. aber muss es am amfang nicht

$this->bbcode_second_pass_code('', '<?php') heißen?

Und dann

$this->bbcode_second_pass_code('', 'if ($session['user']['alive']){
}else{
redirect("shades.php");
}')

Das ist doch auch humbug oder? Da wird geprüft ob einer lebt.. Falls ja.. wird NIX getan.. falls nein wird man auf den Friedhof weitergeleitet..

Wenn er diese Prüfung machen will, muss es nicht so aussehen?

$this->bbcode_second_pass_code('', '<?php

require_once "common.php";
checkday();
#checkfood();

if ($session['user']['alive']){
[..] //hier den rest (page_header bis page_footer

}else{
redirect("shades.php");
}

?>')

_________________
Wenn ihr mir sagt wie ich es als Datei hochlade, dann kann ich die Source hochladen die ihr wollt .D


Zuletzt geändert von Patzue am Sa 16 Jan, 2010 22:44, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 22:43 
Offline
Held
Held

Registriert: Fr 17 Okt, 2008 20:06
Beiträge: 253
Geschlecht: Männlich
LoGD: off
shit wollte editieren nich quoten

_________________
Wenn ihr mir sagt wie ich es als Datei hochlade, dann kann ich die Source hochladen die ihr wollt .D


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 22:49 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 16 Jul, 2005 22:40
Beiträge: 693
Wohnort: /var/server/home/castle
Geschlecht: Männlich
LoGD: http://www.kokoto.de/
Skype: Apfelschokowodkakekskuchen
Patzue das ist Blödsinn natürlich könnte man das auch einfachher lösen, aber das ist schon richtig so wenn er tot ist kommt er ins schattenreich, der code kann auch ausserhalb davon stehen ~ da der redirect sowieso das ausführen des restlichen codes sinnlos macht XD


EDIT: Außerdem sollte sich der Mensch neben einer besseren Rechtschreibung auch einen entwas ansehnlicheren und syntaktisch richtigeren Programmierstiel angewöhnen ...


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 22:58 
Offline
Held
Held

Registriert: Fr 17 Okt, 2008 20:06
Beiträge: 253
Geschlecht: Männlich
LoGD: off
achso.. Dachte, so wie es da steht, passiert halt nix mit einem lebenden und er bleibt auf einer weißen Seite stecken.. K danke ;) (Wieder was neues gelernt)

_________________
Wenn ihr mir sagt wie ich es als Datei hochlade, dann kann ich die Source hochladen die ihr wollt .D


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 23:31 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Patzue hat geschrieben:
Also steinigt mich, wenn ich mich irre.. aber muss es am amfang nicht

$this->bbcode_second_pass_code('', '<?php') heißen?

Und dann

$this->bbcode_second_pass_code('', 'if ($session['user']['alive']){
}else{
redirect("shades.php");
}')

Das ist doch auch humbug oder? Da wird geprüft ob einer lebt.. Falls ja.. wird NIX getan.. falls nein wird man auf den Friedhof weitergeleitet..


Nein, Humbug nicht unbedingt - da redirect ein exit; aufruft, wird der Rest sowieso nicht abgearbeitet. Natürlich könnte man es kürzer schreiben:
$this->bbcode_second_pass_code('', 'if (!$session['user']['alive']){
redirect("shades.php");
}')
Oder so, wie dus angeregt hast. Eigentlich ist es aber gar nicht notwendig - weil, wenn man die Navs richtig setzt, kann man tot sowieso nicht dorthin gelangen.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 23:46 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 12 Mai, 2008 21:51
Beiträge: 137
Geschlecht: Weiblich
Ist es nicht so, dass einen Checkday ohnehin in die Schatten schickt?
oder es zumindest vorgesehen ist?
*ist gerade zu müde sich das genauer an zu sehen und durch zu steigen*
$this->bbcode_second_pass_code('', ' if ($CheckIfDead) {
if (!$session['user']['alive']){
while (@ob_end_clean());
redirect("shades.php");
}
}')
steht zumindest bei meiner common in der checkday Funktion...

just my 2 cents again


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 16 Jan, 2010 23:53 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 16 Jul, 2005 22:40
Beiträge: 693
Wohnort: /var/server/home/castle
Geschlecht: Männlich
LoGD: http://www.kokoto.de/
Skype: Apfelschokowodkakekskuchen
Minerva weiß ja nicht welche version du verwendest aber in der standart 097 ist es meinermeinung nach so nur enthalten wenn man das Dasher Gildensystem einbaut :)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 17 Jan, 2010 00:01 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 12 Mai, 2008 21:51
Beiträge: 137
Geschlecht: Weiblich
oh.. stimmt.. hatte grade keine andre zu Hand als die von zwei schon etwas weiteren Servern ^^'
war wohl in beiden eingebaut... dann hab ich nichts gesagt.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 17 Jan, 2010 01:02 
Offline
Eingeweihter
Eingeweihter

Registriert: Mo 31 Aug, 2009 09:26
Beiträge: 67
Geschlecht: Männlich
LoGD: http://nydoria.at
Also abgesehen von den Dingen die schon von anderen erwähnt wurden passen auch noch ein paar andere Dinge nicht in dem Script, zumindest so wie dasmeine Augen sehen:
condo hat geschrieben:
$this->bbcode_second_pass_code('', '\"Der 40er Reise Pass kostet `15000 Gold`0 Gold und `%10 Edelsteine`0");')
So wie ich das sehe wird hier der Preis falsch dargestellt, nämlich 5000 in der Farbe `1 - Anstatt 15000 wonach dann auch abgefragt wird.
$this->bbcode_second_pass_code('', '{
output("Du hast dir ein 40er Reisepass gekauft!!!");
savesetting("reisepass", $keys-1);
$session[user][reisepass]+=40;
$session[user][gold]>14999;
$session[user][gold]-=15000;
if ($session[user][gems]>9){
$session[user][gems]-=10;
}')
Also die Zeile "$session[user][gold]>14999;" ist eine reine Abfrage, ohne einer if Verknüpfung, die kannst du dir also sparen, erfüllt hier soweit ich sehe keinen Sinn.
Und die Abfrage "if ($session[user][gems]>9)" ist auch nicht wirklich toll hier, denn selbst wenn es ein User schaffen sollte irgendwie Edelsteine zwischen Link (w das schon abgefragt wird) und diesem Ereignis zu verlieren, will man ihn j wohl auch nicht noch dafür belohnen indem man ihm dann nichts abzieht nur weil er weniger als 10 Edelsteine hat - weil den Reisepass hat er zum Zeitpunkt der Abfrage längst in der Tasche ("$session[user][reisepass]+=40;")...
$this->bbcode_second_pass_code('', 'if ($session[user][reisepass]<>1 && $session[user][gold]>=15000 && $session[user][gems]>10)
addnav("Kaufe Reisepass","reise-büro1.php?op=steam");}
break;')
Und mit dieser Zeile "$session[user][gems]>10"wird abgefragt ob der User 11 Edelsteine oder mehr hat, das heisst er gibt zwar nur 10 aus, braucht aber 11 um den Link zu sehen - kommt öfters auch richtig vor, ist also wohl ein Flüchtigkeitsfehler.
Weniger flüchtig ist das daran: "if ($session[user][reisepass]<>1" - dieser Teil führt nämlich dazu dass der Link kommt wenn man weniger oder mehr als 1 in Reispass hat. Das funktioniert nur richtig wenn"if ($session[user][reisepass]" als Schalter funktioniert der nur 0 oder 1 annehmen kann. Da "if ($session[user][reisepass]" in dem Script um 40 erhöht wird, kann es also auch höhere Werte annehmen, eine passende Abfrage wäre wohl
$this->bbcode_second_pass_code('', 'if ($session[user][reisepass]==0 && $session[user][gold]>=15000 && $session[user][gems]>=10)')
So wie du sie dann weiter unten verwendet hast
Und wenn du Abfragen willst ob irgendetwas einen Wert NICHT besitzt ist es besser "!=" anstatt "<>" zu verwenden
Das wären soweit die gröbsten Sachen die mir als erstes ins Auge gestochen sind...


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

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