anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 10 Jun, 2025 21:17

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Keine anzeige in der Vitalinfo
BeitragVerfasst: Mi 26 Jul, 2006 13:57 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Hallo, ich habe ein kleines Problem: Ich habe in der Vitalinfo ein paar Felder für Fähigkeiten eingebaut. Das ganze Fähigkeitensystem regle ich wie Sanela, (also mit serialize) man kann darauf über $session['user']['skill']['SKILLNAME'] zugreifen, ohne immerein neues Feld in der DB anzulegen. Weiß jemand zufällig, wie man es so machen kann, das nicht einfach nichts in der Vitalinfo angezeigt wird? Also so soll es nicht sein:

Reiten /5

Ich habe es so versucht:

[php]if (!isset($session['user']['skill']['reiten']) || $session['user']['skill']['reiten']=="") $session['user']['skill']['reiten']=0;[/php]

aber das klappt nicht... kann mir jemand helfen?

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Keine anzeige in der Vitalinfo
BeitragVerfasst: Mi 26 Jul, 2006 14:03 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Montekar hat geschrieben:
Hallo, ich habe ein kleines Problem: Ich habe in der Vitalinfo ein paar Felder für Fähigkeiten eingebaut. Das ganze Fähigkeitensystem regle ich wie Sanela, (also mit serialize) man kann darauf über $session['user']['skill']['SKILLNAME'] zugreifen, ohne immerein neues Feld in der DB anzulegen. Weiß jemand zufällig, wie man es so machen kann, das nicht einfach nichts in der Vitalinfo angezeigt wird? Also so soll es nicht sein:

Reiten /5

Ich habe es so versucht:

[php]if (!isset($session['user']['skill']['reiten']) || $session['user']['skill']['reiten']=="") $session['user']['skill']['reiten']=0;[/php]

aber das klappt nicht... kann mir jemand helfen?


Teste mal das aus:
[php]if(!is_array($session['user']['skill'])) {
die('Fataler Fehler. user[skill] ist kein array!');
}
else {
if(empty($session['user']['skill']['reiten'])) {
$session['user']['skill']['reiten'] = 0;
}
}[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 26 Jul, 2006 15:07 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Ich habs probiert, leider klappt es nicht...
Das komische ist: Ich hab bisher 3 Fähigkeiten und bei den anderen beiden tritt der Fehler nicht auf...
Vielleicht sollt ich das ganze mal in die Anmeldung einbauen, also in der create.php einfach schreiben $session['user']['skill']['reiten']=0;
Das müsste doch gehen, oder?

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 26 Jul, 2006 16:05 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Montekar hat geschrieben:
Ich habs probiert, leider klappt es nicht...
Das komische ist: Ich hab bisher 3 Fähigkeiten und bei den anderen beiden tritt der Fehler nicht auf...
Vielleicht sollt ich das ganze mal in die Anmeldung einbauen, also in der create.php einfach schreiben $session['user']['skill']['reiten']=0;
Das müsste doch gehen, oder?


Also ist auch _gar_ keine Ausgabe gekommen?
Nicht wie die, die ich erzwingen wollte, wenn $session['user']['skill'] kein array ist?
Entserialisierst du den String auch?
Was steht in der Datenbank gespeichert?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 26 Jul, 2006 16:12 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Das einzige, was passiert ist, ist, das bei ausloggen stand:

Fataler Fehler. user[skill] ist kein array!

Da ja dann die Funktion saveuser() greift und das array aufgelöst wird...

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 26 Jul, 2006 16:36 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Montekar hat geschrieben:
Das einzige, was passiert ist, ist, das bei ausloggen stand:

Fataler Fehler. user[skill] ist kein array!

Da ja dann die Funktion saveuser() greift und das array aufgelöst wird...


Na also. Dann ist ja alles klar ^^
Du vergisst, das serialisierte array wieder zu entserialisieren.
Schau mal in der common.php
$session[user] = db_fetch_assoc($result);
Danach findest du unter anderem:
$session['user']['dragonpoints'] = unserialize($session['user']['dragonpoints']);
Und *genau* *das* musst du auch mit deinem array machen ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 26 Jul, 2006 16:42 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
^^
Habs nicht gleich gefunden, das kommt davon, wenn die Programmierer dieses Games die Array-Keys nicht 'key' so schreiben :)
Jetzt wird seltsamer weise alles so angezeigt:

Schwimmen /100

Jagen /100

Reiten /5

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 26 Jul, 2006 16:43 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Montekar hat geschrieben:
^^
Habs nicht gleich gefunden, das kommt davon, wenn die Programmierer dieses Games die Array-Keys nicht 'key' so schreiben :)
Jetzt wird seltsamer weise alles so angezeigt:

Schwimmen /100

Jagen /100

Reiten /5


Zeig mal wie du es gemacht hast...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 26 Jul, 2006 20:03 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Vital-Info
[php].templatereplace("statrow",array("title"=>"Schwimmen","value"=>"".$u['skill']['schwimmen']."`0/100".grafbar(100,$u['skill']['schwimmen'])))
.templatereplace("statrow",array("title"=>"Jagen","value"=>"".$u['skill']['jagen']."`0/100".grafbar(5,$u['skill']['jagen'])))
.templatereplace("statrow",array("title"=>"Reiten","value"=>"".$u['skill']['reitstunden']."`0/5".grafbar(5,$u['skill']['reitstunden'])))
[/php]

entserialisieren
[php]$session['user']['skill'] = unserialize($session['user']['skill']);[/php]


[php]if (is_array($session['user']['skill'])) $session['user']['skill'] = serialize($session['user']['skill']);[/php]

(*sichfragwarumesdenntrotzdemging* :)

Hui mir ist grad aufgefallen, das ich das vorher so hatte:

[php]if (is_array($session['user']['skill'])) $session['user']['sanela'] = serialize($session['user']['skill']);[/php]

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 26 Jul, 2006 20:10 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
[php]if (is_array($session['user']['skill'])) $session['user']['skill'] = serialize($session['user']['skill']); [/php]
=> Quatsch. Entferne die if-Abfrage da bitte.

gehts dann?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 27 Jul, 2006 10:51 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Das ist in der saveuser Funktion...
ich dachte das sollt genau so sein wie das darüber:

[php]
if (is_array($session[user][prefs])) $session[user][prefs]=serialize($session[user][prefs]);
[/php]

EDIT: ich glaub ich hab ne gute Idee: Wenn man einfach 0+jagdfähigkeit ausgibt, müsst es ja eigentlich klappen... Ich teste mal eben

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 27 Jul, 2006 11:38 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Jeah hat super geklappt! Hab einfach vor der Anzeige

[php]
$u['skill']['schwimmen']+=0;
$u['skill']['jagen']+=0;
$u['skill']['reitstunden']+=0;
[/php]

eingebaut :D

EDIT: Schade, klappt doch nicht. so wird es immer wieder auf 0 gesetzt... :-(

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 27 Jul, 2006 16:36 
Offline
Großmeister
Großmeister

Registriert: Fr 01 Jul, 2005 18:41
Beiträge: 484
Wohnort: Saarbrücken
Geschlecht: Männlich
[php]
.templatereplace("statrow",array("title"=>"Schwimmen","value"=>"".$u['skill']['schwimmen']."`0/100".grafbar(100,$u['skill']['schwimmen'])))
[/php]

Mach jedesmal das '`' vor der '0' weg, dann wird es zumindest mit 0/100 angezeigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 27 Jul, 2006 18:09 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Montekar hat geschrieben:
Das ist in der saveuser Funktion...
ich dachte das sollt genau so sein wie das darüber:

[php]
if (is_array($session[user][prefs])) $session[user][prefs]=serialize($session[user][prefs]);
[/php]

EDIT: ich glaub ich hab ne gute Idee: Wenn man einfach 0+jagdfähigkeit ausgibt, müsst es ja eigentlich klappen... Ich teste mal eben


Nein... Schmeiss das if da weg =/
Überleg mal was du gerade machst:
WENN "$session[user][prefs]" ein array,
DANN überschreibe "$session[user][prefs]" mit dem (entserialisierten-) Array AUS "$session[user][prefs]"

Ist ist nicht logisch. Weg mit der if da, bitte =)


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

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