anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 15:44

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 110 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mo 04 Jun, 2007 12:55 
Offline
Lehrling
Lehrling

Registriert: Do 26 Apr, 2007 15:10
Beiträge: 34
LoGD: www.naaban.de.ms
Danke dir :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 01:22 
Offline
Profi
Profi

Registriert: So 03 Sep, 2006 13:55
Beiträge: 141
Ich hab diesen wunderbaren Kerker bei mir auch einmal eingebaut und über die Admin Grotte kann jetzt ein Kerkerinsasse für noch längere Zeit eingesprerrt bleiben, als nur für einen Tag.

Ich habe aber auch ein großes Problem. Wenn ich jemanden einkerkere und diese Person spaziert dann auf den Dorfplatz passiert gar nichts. Sie wird also nicht in den Kerker geschickt.
Klickt eine Person zu oft und landet in der badnav.php, kommt sie ohne Probleme aus dem Kerker raus und vom Dorfplatz aus nicht mehr in den Kerker zurück.

Noch mal ganz kurz:
Wer prision==1 hat, kann trotzdem ungestört weiter playen und machen was er will, obwohl er sich auf dem Dorfplatz befindet und eigentlich durch das redirect("kerker.php") wieder im Kerker landen sollte.

Das gleibe Problem habe ich auch mit der Einzelhaft.

EDIT:
Ich bin blöd, hab den Link zu meiner Scource vergessen, aber hier kommt er. ^^

Source:
http://www.saturuusu-logd.de/source.php

Kann mir da bitte jemand helfen?

Schon einmal ein Danke im Voraus...

December


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 01:24 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Ersetz doch mal == durch >=.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 01:43 
Offline
Profi
Profi

Registriert: So 03 Sep, 2006 13:55
Beiträge: 141
Nein, das klappt immer noch nicht.

Man kann sich nach dem kleinen Besuch im Badnav (den sich dann ja wohl jeder gönnen wird von den Eingekerkerten) wieder frei bewegen.

December


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 01:46 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
[php]if($session['user']['prison'] >= 1) redirect('kerker.php');
elseif($session['user']['einzelhaft'] >= 1) redirect('kerker.php');
[/php]

Schon einmal etwas von mathematischen Vergleichsoperatoren gehört? :-P

>= ist einer, =. garantiert nicht. Gibts in PHP meines Wissens nach sowieso nicht (Das Ähnlichste wäre .=. Aber das ist kein Vergleichsoperator, sondern eine Zuweisung)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 01:53 
Offline
Profi
Profi

Registriert: So 03 Sep, 2006 13:55
Beiträge: 141
Es ist schön, dass du mir das alles erklärst, nur klappt das immer noch nicht.

Jeder kann wie es ihm beliebt, über den Badnav wieder in die Freiheit gelangen und dort weiterspielen.

December


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 01:54 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Hö... *blinzel*blinzel*

Kontrollier mal, welche Werte in die Accounts-Tabelle für den jeweilig eingekerkerten gespeichert werden.

EDIT: Hab den Fehler gefunden. War ein Klammerfehler in deiner village.php

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

if($session[user][geistereiche]==1){
redirect("geistereiche.php");
}

//Kerker Beginn
if($session['user']['prison'] >= 1) redirect('kerker.php');
elseif($session['user']['einzelhaft'] >= 1) redirect('kerker.php');
//Kerker End
}[/php]
Durch folgendes:
[php]if (empty($session['user']['alive']) redirect('shades.php');

elseif(!empty($session['user']['geistereiche'])) redirect('geistereiche.php');

//Kerker Beginn
elseif(!empty($session['user']['prison'])) redirect('kerker.php');
elseif(!empty($session['user']['einzelhaft'])) redirect('kerker.php');
//Kerker End[/php]


EDIT2: Ach... Mir ist noch etwas aufgefallen:
[php]if ($session['user']['location'] = 102);[/php]
Das ist absolut unnütz. Entweder machst du eine Zuweisung, oder aber die if-Kontrolle. Nur in seltenen Fällen wird in der if-Klausel auch eine Zuweisung unternommen.
Nimm hier bitte folgendes:
[php]$session['user']['location'] = 102;[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 02:06 
Offline
Profi
Profi

Registriert: So 03 Sep, 2006 13:55
Beiträge: 141
Ich bedanke mich schon mal für die nette Hilfe. Ein riesen Dankeschön, jetzt klappt alles wunderbar.

Aber eine kleine Frage habe ich noch, ist das korrekt, dass beim ersten "empty" kein "!" davorsteht?

Zu deinem EDIT:
Du hast mir vor einiger Zeit mal gesagt das wäre praktisch so, wenn ich einen Ort von zwei Städten aus erreichbar machen will.
Ich hab ja eine village.php und eine village1.php. Viele Orte wie z.B. Ruhmeshalle, etc. sind von beiden Städen aus erreichbar, deswegen diese Abfrage.

December


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 02:08 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Japp, das ist korrekt.

Mit empty kontrolliert man, ob eine Variable leer ist (Nicht existent ist, 0 oder false als Wert hat). Im ersten Fall tritt es also nur auf, wenn alive wirklich 0 ist (Der Spieler also Tod). In diesem Fall liefert empty true zurück.

Mit dem Ausrufezeichen (!) davor tritt die Nachfolgende Anweisung jedoch nur in Kraft, wenn die Variable eben NICHT leer ist. Wenn empty also false als Rückgabewert liefert.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 02:13 
Offline
Profi
Profi

Registriert: So 03 Sep, 2006 13:55
Beiträge: 141
Ok, da war ich gerade etwas verwirrt, ich hab noch nie mit "emtpy" gearbeitet.
Aber hey, ich hab heute wieder was dazugelernt und bedanke mich noch mal ganz herzlich wegen der super schnellen Hilfe hier und auch bei den Berufen.

December


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 07:49 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Harthas hat geschrieben:
Japp, das ist korrekt.

Mit empty kontrolliert man, ob eine Variable leer ist (Nicht existent ist, 0 oder false als Wert hat). Im ersten Fall tritt es also nur auf, wenn alive wirklich 0 ist (Der Spieler also Tod). In diesem Fall liefert empty true zurück.

Mit dem Ausrufezeichen (!) davor tritt die Nachfolgende Anweisung jedoch nur in Kraft, wenn die Variable eben NICHT leer ist. Wenn empty also false als Rückgabewert liefert.


Ein ! vor einer Funktion kehrt den Rückgabewert ins Gegenteil um - aus true wird false, aus false wird true.
Es ist der Übersichtlichkeit und der besseren Verständlichkeit anzuraten, das ! deshalb in die Bedinnung zu schreiben, damit keine Missverständnisse entstehen können.
Wobei die Form mit ! vor einem Wert natürlich einfacher und schneller zu schreiben ist *g*


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 10:20 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Okay, in diesem Falle war ich schlichtwegs falsch informiert gewesen ;-)

Das Ergebnis ist allerdings das gleiche *g*, Die If-Abfrage wird jeweils nur ausgeführt, wenn das Ergebnis (in diesem Falle) false ergibt, da sich dieses schliesslich in true abändert ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 09 Jun, 2007 12:01 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Harthas hat geschrieben:
Okay, in diesem Falle war ich schlichtwegs falsch informiert gewesen ;-)

Das Ergebnis ist allerdings das gleiche *g*, Die If-Abfrage wird jeweils nur ausgeführt, wenn das Ergebnis (in diesem Falle) false ergibt, da sich dieses schliesslich in true abändert ^^


Jaja, ich sag ja nicht, das es falsch ist :) Wenn leer - dann unwahr, und !unwahr, also nicht unwahr, ist wahr. Wobei nicht 2 zu unwahr wird, aber nicht 0 zu wahr. "" wird zu wahr, " " allerdings zu unwahr... :evil:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 14 Jun, 2007 14:58 
Offline
User
User
Benutzeravatar

Registriert: Di 12 Jun, 2007 14:32
Beiträge: 11
also ich habe ein probelem...
er öffnet zwar den kerker aber dann sehe ich nur eine weiße seite mit den ganzen beschreibungen und so weiter...

ich hoffe ihr könnt mir helfen^^

danke

edit:
Hier:
Problem

edit:

So hat sich erledigt^^

_________________
~Jede Widrichkeit des Schicksals birgt den Keim eines gleich großen oder größeren Vorteils in sich!~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 24 Aug, 2007 20:24 
Offline
Profi
Profi
Benutzeravatar

Registriert: Do 10 Mai, 2007 13:14
Beiträge: 159
Wohnort: Minden
Geschlecht: Männlich
Geb au ma wieder ne Frage ^^


Also kann man irgendwas bauen damit man einstellen kann wie lange ein USer sitzen soll??Also wenn ich den jetzt einbuchten will das ich dann auch einstellen kann (extra) WIE LANGE er drinn bleibt..Weil jetzt is die Standarteinstellung ja auf 2 Ingame Tage...Aber wenn er jez z.b. i-was Rassistisches sagt und er für 20 Tage rein soll das ich nicht immer wieder auf Einbuchten klicken muss...


Wäre nett wenn mir wer helfen würde ^^


Mfg,
Heximus

_________________
Nein ich bin nicht die Signatur, ich putze hier nur!! ô.O


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 24 Aug, 2007 21:28 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Manuell die Einsitzt Zeit eingeben ?

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 24 Aug, 2007 22:37 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 28 Aug, 2004 18:48
Beiträge: 1712
ka ob das nu der kerker hack ist den ich habe, aber ich habs so gelöst:

öffne user.php

suche den part der infos des users

$this->bbcode_second_pass_code('', '$userinfo = array(
"Account Info,title",
"acctid"=>"User ID,viewonly",
"login"=>"Login",
"newpassword"=>"Neues Passwort",
"emailaddress"=>"Email Adresse",
"locked"=>"Account gesperrt,bool",')

füge hinzu (feldname halt mit deinem anpassen):

$this->bbcode_second_pass_code('', '"imprisoned"=>"Anzahl der Kerkertage?,int",')


dann kannst über den usereditor ne zahl eingeben für die zeit der haft



@mysql: sehr konstruktive hilfe ;)

_________________
~Inaktiv und Abwesend solange Mysql hier Moderatorenrechte hat~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 25 Aug, 2007 12:39 
Offline
Profi
Profi
Benutzeravatar

Registriert: Do 10 Mai, 2007 13:14
Beiträge: 159
Wohnort: Minden
Geschlecht: Männlich
Also erst mal danke ^^

Hab aber leider ein Problem..Ich habe jetzt mal meinen Test Char eingelocht un es auf 50 Tage gesetzt...Aber in der Tabelle zeigt er es mir nicht an wie lange er sitzt...


Kann mir wer helfen??

$this->bbcode_second_pass_code('', ' "login"=>"Login",
"newpassword"=>"Neues Passwort",
"emailaddress"=>"Email Adresse",
"locked"=>"Account gesperrt,bool",
"imprisoned"=>"Anzahl der Kerkertage?,int",')


So sieht das jetzt bei mir in der User.php aus..


Mfg,
Heximus

_________________
Nein ich bin nicht die Signatur, ich putze hier nur!! ô.O


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 25 Aug, 2007 14:30 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Hast du in der DB auch das Feld auf int(11) gesetzt ? :?

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 25 Aug, 2007 15:18 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Sa 04 Aug, 2007 20:46
Beiträge: 65
o.O INT geht bis etwas über 4 Millionen da reicht völlig tinyint unsigned also wirds wohl nicht daran liegen das das Feld zu klein ist für 50 :P Hmm hast du auch das richtige Datenbankfeld angegeben?

_________________
Niveau ist noch immer keine Hautcreme
[php]$my = &new Brain;
$infos = $my->execute_command('Load PHP,SQL,XHTML,CSS,XML,JS Informations');
$my->convert('Information to text',$infos);
$my->kill_human_on_error();[/php]


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

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