anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Modt https://anpera.dyndns.org/phpbb3/viewtopic.php?f=25&t=2184 |
Seite 1 von 1 |
Autor: | Squall [ Di 31 Jan, 2006 05:04 ] |
Betreff des Beitrags: | Modt |
Servus Ich habe erstmal das Forum durchsucht,aber leider nix gefunden,was meinen Frage beantworten könnte. Es geht darum,das viele User die Modt erst garnicht öffnen und dadurch dinge nicht lesen...ich möchte das ändern..hab aber keine Ahnung wie,über hilfe wäre ich dankbar 1.Die Modt sollte von allein aufspringen..wenn man eine neue Nachricht eingibt und der User die erst lesen muß,damit er weiter machen kann.. wäre das überhaupt machtbar?Und wenn ja wie? Mfg ![]() |
Autor: | Auric [ Di 31 Jan, 2006 10:54 ] |
Betreff des Beitrags: | |
Hmm.. erstmal heist es motd (message of the day). Zu deinem Problem: ich hätte da eine idee: Wenn es nur für neue Tage gelten soll könnte man in der accounts-datenbank ein neues Feld 'motdgelesen' als kleinen int anlegen. Dann sucht man sich die Stelle in der das Popup für die motd geöffnet wird, wenn eine Neue Nachricht drin ist. Darunter fügt man dann einfach ein, das der 'motdgelesen' Wert umgestellt wird - meinetwegen auf 0 - wenn eine neue info besteht. Manche Leute machen das Fenster ja einfach nicht auf (darauf willst du gleube ich hinaus..) und die haben dann diese 0 da stehen. Nun muss man im motd Fenster selbst noch den wert wieder auf 1 stellen. Zu guter letzt muss dann in die newday.php noch eine if-Abfrage nach dem wert. Ist dieser Null, so kommt der user nicht weiter, bis er die motd gelesen hat. Soweit die Theorie |
Autor: | anpera [ Di 31 Jan, 2006 12:45 ] |
Betreff des Beitrags: | |
Erstmal müssen 3 Dinge klar sein: 1) Sobald ungelesene MotDs vorhanden sind, erscheint bei dem jeweiligen Spieler der MotD-Link hell unterlegt. 2) Das MotD-Fenster springt bei allen Spielern automatisch auf, sobald eine neue Meldung eingetragen wird. Diese Funktion wird nur leider von aktivierten Popup-Blockern verhindert. 3) Daraus folgt, es gibt bereits ein Feld in der Datenbank, in dem eingetragen wird, ob ein User die MoTDs gelesen hat. Und nicht nur ob, sonder sogar wann. Die Auswertung erfolgt in der common.php bei jedem Klick. ![]() Es wäre also eine leichte Übung, z.B. auf dem Dorfplatz bei jedem Klick $session['user']['lastmotd'] mit dem Datum der letzten MotD zu vergleichen und den Spieler auf eine eigene MotD-Seite umzuleiten, falls eine aktuelle MotD vorhanden ist. Das Problem dabei ist das, dass der Spieler eventuell gerade in diesem Moment keine Lust oder keine Zeit hat, die MotD zu lesen und sie ungelesen wieder wegklickt und zum Dorfplatz zurück geht. Dann muss die MotD aber trotzdem als gelesen gespeichert werden, da der Spieler sich sonst in einer Endlosschleife befinden würde. Der Nachteil dabei ist, dass der MotD-Link dann nicht mehr als Hinweis hell aufleuchten könnte, sobald ungelesene MotDs vorhanden sind - denn es gäbe ja keine ungelesenen MotDs mehr. Vielleicht ist es sinnvoller, den MotD-Link bei neuen Meldungen blinken zu lassen...? Oder dem Knopf einen verständlicheren Namen zu geben...? Es stimmt nämlich: neue MotDs werden nur zu gerne ignoriert. |
Autor: | Auric [ Di 31 Jan, 2006 14:37 ] |
Betreff des Beitrags: | |
anpera hat geschrieben: [...]
Das Problem dabei ist das, dass der Spieler eventuell gerade in diesem Moment keine Lust oder keine Zeit hat, die MotD zu lesen und sie ungelesen wieder wegklickt und zum Dorfplatz zurück geht. Dann muss die MotD aber trotzdem als gelesen gespeichert werden, da der Spieler sich sonst in einer Endlosschleife befinden würde. Der Nachteil dabei ist, dass der MotD-Link dann nicht mehr als Hinweis hell aufleuchten könnte, sobald ungelesene MotDs vorhanden sind - denn es gäbe ja keine ungelesenen MotDs mehr. [...] Gibt es hier im Forum beim registrieren nicht soetwas wie einen countdown, wenn man sich die Regeln durchliest? Also dass man sich die Motd 15 sec lan angucken MUSS, um den weiterführenden Link zu bekommen? Klar, da bräuchte mann dan JS für, aber ansonsten dürfte das doch nicht allzu schwer sein, oder? |
Autor: | Eliwood [ Di 31 Jan, 2006 17:25 ] |
Betreff des Beitrags: | |
Man könnte ja einfach einen nervenden Hinweis deponieren... Ein Schild, mit der Aufschrift "Du hast die neue MoTD noch nicht gelesen", dass vor jedem normalen Text kommt... Ziemlich nervend, sowas, und kann einen User sicherlich dazu veranlassen, die MoTD zu lesen *gg* |
Autor: | Kakerlake [ Mi 01 Feb, 2006 14:45 ] |
Betreff des Beitrags: | |
hab lokal ne kleine sache verändert: bisher wurde die variable für motd angeschaut/nicht angeschaut in der news.php auf true gesetzt, bei mir jetzt in der motd.php soll heißen wer das script nicht aufruft sondern direkt blockt wird icht ehr als leser markiert ne weitere möglichkeit(die ich leider nicht behersche) wäre das popup durch js aufzurufen da einige popupblocker da nicht so penibel sind |
Autor: | Eliwood [ Mi 01 Feb, 2006 17:15 ] |
Betreff des Beitrags: | |
Kakerlake hat geschrieben: hab lokal ne kleine sache verändert:
bisher wurde die variable für motd angeschaut/nicht angeschaut in der news.php auf true gesetzt, bei mir jetzt in der motd.php soll heißen wer das script nicht aufruft sondern direkt blockt wird icht ehr als leser markiert ne weitere möglichkeit(die ich leider nicht behersche) wäre das popup durch js aufzurufen da einige popupblocker da nicht so penibel sind Sag mir mal... Wie willst du es denn ohne JavaScript machen? Mit Java? ![]() |
Autor: | Kakerlake [ Do 02 Feb, 2006 16:31 ] |
Betreff des Beitrags: | |
ne, bisher wurde in der newsday.php die variable für news als gelsesen gesetzt, bei mir erst in der motd.php wenn man das script ausführt was die bei mir nicht der fall ist wenn das script im popupblocker hängenbleibt |
Autor: | Eliwood [ Fr 03 Feb, 2006 16:33 ] |
Betreff des Beitrags: | |
Kakerlake hat geschrieben: ne, bisher wurde in der newsday.php die variable für news als gelsesen gesetzt, bei mir erst in der motd.php wenn man das script ausführt was die bei mir nicht der fall ist wenn das script im popupblocker hängenbleibt Meine Antwort bezog sich alleine auf die Stelle: Zitat: ne weitere möglichkeit(die ich leider nicht behersche) wäre das popup durch js aufzurufen da einige popupblocker da nicht so penibel sind
Auf nichts weiter, weshalb deine Antwort... na ja, nicht passt. |
Autor: | Squall [ Fr 03 Feb, 2006 23:00 ] |
Betreff des Beitrags: | |
Hm Anpera verstehe was du meinst... nur bei mir blickt meine Motd nicht..ka warum.. sonst erstmal danke für eure antworten ![]() |
Autor: | Garlant [ Fr 03 Feb, 2006 23:35 ] |
Betreff des Beitrags: | |
Ich würde mir eine "Gemeinheit" einfallen lassen, für alle die Spieler, welche Popups im Spiel blockieren. Bestimmte Ingamefunktionen setzten dann halt mal vorraus, das für die Domain, auf der das spiel läuft, die Popups zugelassen werden. Andernfalls wird der Spieler nicht das volle potentzial meiner geplanten Dinge ausnutzen können. ![]() So lassen sich User auch recht gut erziehen, die Popupblocker so ein zu stellen, das sie die Motd's durchlassen und bestätigen(somindest so in der Art). Das wäre mein Weg um die User dazu zu bringen, diese zu lesen. |
Autor: | Kakerlake [ Fr 03 Feb, 2006 23:54 ] |
Betreff des Beitrags: | |
möglichkeit: anstelle in der newday.php die motd nur als popup zu starten einfach das popup und im hauptfenster alle navs weg und den nächsten nav bekommt man in der motd.php |
Autor: | Arîzto [ Mo 06 Feb, 2006 17:43 ] |
Betreff des Beitrags: | |
Und wie kommst dann mit dem Link wieder ins eigentlich Fenster? Oder willst in dem kleinen weiter machen? Nja, ich hatte auch gedacht, die Links zu deaktivieren... In der newday beispw. ... Dann halt nur ein aktiver Link "Aktualisieren", und wenn man die MoTD gelesen hat, und auf diesen Link klickt erscheinen die anderen Links auch wieder aktiv. |
Autor: | Kakerlake [ Mo 06 Feb, 2006 19:53 ] |
Betreff des Beitrags: | |
da wäre doch die fiese alternative die motd als fenster zu arbeiten das hieße dann effektive: [php]$session[user][loggedin]){ $header=str_replace("{headscript}","<script language=\"JavaScript\" type=\"text/javascript\">".popup("motd.php")."</script>",$header); $session[needtoviewmotd]=true;[/php] ändern in: [php] $session[user][loggedin]){ $session[needtoviewmotd]=true; redirect("motd.php?op=main"); [/php] suche popup_header("MotD"); ersetze mit [php] if ($_GET['op'] == "main"){ page_header(MotD); addnav("Weiter","village.php"); }else { popup_header("motd"); }[/php] dann noch popup_footer(); suchen und mit folgendem ersetzen: [php]if ($_GET['op'] == "main"){ page_footer(); } else { popup_footer(); }[/php] NICHT GETESTET UND NICHT ÜBERPRÜFT[/php] |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |