anpera.net
https://anpera.homeip.net/phpbb3/

mehr settings per modul
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=3183
Seite 1 von 1

Autor:  the_Cr0w [ Sa 09 Dez, 2006 10:45 ]
Betreff des Beitrags:  mehr settings per modul

kann ich über ein modul mehr settings in ein anderes modul einfügen? ich schreib eine erweiterung zu einem meiner module und dazu würde ich gern mehr settings einfügen.

oder ne andere möglich keit wär im vorhandenen modul die settings ein baun. dann bezieht die erweiterung die benötigten settings von dort, falls es möglich is :D

Autor:  Nightborn [ Sa 09 Dez, 2006 11:17 ]
Betreff des Beitrags: 

0.97
hä? na hau doch einfach die in den code rein, settings mußt du doch sowieso im code ändern, also?

1.x.x
wenn du in der erweiterung settings einbaust, aber _nicht_ dort benutzt, dann kann das hauptmodul auch nix damit anfangen... also wirst du sicher die erweiterungssettings auch in der erweiterung benutzen, oder?

dann hook dich einfach in das hauptmodul und mach die erweiterungssettings im erweiterungssmodul.

beispiel:

modul bank (nur gold)
-> settings: balance, maxdailyuse

jetzt schreib ich ein gemeinlagerungsmodul

zusatzmodul gems (hookt in footer-mybank)
-> settings: gembalance, maxdailyuses

wenn du ein modul selber geschrieben hast, und es sehr stark erweitert wird oder es allgemein Sinn macht, kann man das auch ins hauptmodul komplett integrieren, aber ich hab viele module wo das nicht so ist.

Autor:  the_Cr0w [ Sa 09 Dez, 2006 12:30 ]
Betreff des Beitrags: 

eingehookt hab ich mich. aber ich wollte es so machen, dass neue settings im hauptmodul erscheinen wenn die erweiterung aktiv is.

Autor:  Nightborn [ Sa 09 Dez, 2006 13:15 ]
Betreff des Beitrags: 

jetzt müsstest mal ganz konkret werden, was das hauptmodul eigentlich machen soll...

"es soll halt drauf zugreifen" .. na woher soll es denn wissen, daß die settings für es bestimmt sind?
es ergänzt sich ja nicht automatisch um den code, der nötig ist für die neuen dinger...

schreib mal genau was du willst. es macht nämlich so überhaupt keinen sinn, was du versuchst.

Autor:  the_Cr0w [ Sa 09 Dez, 2006 13:17 ]
Betreff des Beitrags: 

hab nochn problem.

$this->bbcode_second_pass_code('', 'case "newday":
if($session['user']['race'] != "Vampir")
break;
if (get_module_setting("needbloodall") == "no")
break;
if (get_module_pref("needblood") == "no")
break;
$blooddays = get_module_pref("bluttage");
$blooddays - 1;
if($blooddays > 0)
{
set_module_pref("bluttage", $blooddays);
break;
}else{
$session['user']['alive']=false;
$session['user']['hitpoints']=0;
output("Du bist tot. Hättest du mehr Blut getrunken wäre das nicht passiert.");
addnav("Daily News","news.php");
addnews("%s ist gestorben, weil er nicht genug Blut getrunken hat",$session['user']['name']);
#$blooddays = get_module_pref("bluttageall");
set_module_pref("bluttage", get_module_pref("bluttageall"));
}
break;')

eigentlich sollte die variable $blooddays bei jedem neuen tag um 1 erniedrigt werden. wenn sie null erreicht ist man tod.
das problem is, dass entweder die variable nicht erniedrigt wird oder ich nicht sterbe.

Autor:  Nightborn [ Sa 09 Dez, 2006 13:50 ]
Betreff des Beitrags: 

$blooddays - 1;

<--

$blooddays--;

wenn dann... $blooddays-1 macht nix weiter als -1 abzuziehen und das in den datensümpfen verschwinden zu lassen.... $blooddays=$blooddays-1; wäre das, was du wolltest, oben die kurzform.

debug() ist übrigens eine tolle hilfe (flag dafür aktivieren in deinem usereditor für dich), so kann man alle variablen + arrays abfragen... und solche sachen sehen.

Ich nehme an, dein anderes Problem ist gelöst.

Autor:  the_Cr0w [ Sa 09 Dez, 2006 14:44 ]
Betreff des Beitrags: 

ja. andres problem is gelöst. ich habs mit modulehook(); innerhalb der settings des hauptmoduls versucht. hat nicht funktioniert. jetzt bau ich die erweiterung eben direkt ins hauptmodul ein. is einfacher :D

Autor:  the_Cr0w [ Sa 09 Dez, 2006 15:07 ]
Betreff des Beitrags: 

jetzt sinkt blooddays. aber wenn es auf null is kommt folgende meldung

$this->bbcode_second_pass_code('', 'INSERT INTO lotgd_module_userprefs (modulename,setting,userid,value) VALUES ('racevampirext','bluttage','1','3')

Doppelter Eintrag 'racevampirext-bluttage-1' für Schlüssel 1
Call Stack:
1: db_query() called from f:\easyphp\www\logd\logd 1.1.0 dragonprimeedition (eng)\lib\modules.php on line 756
2: set_module_pref() called from f:\easyphp\www\logd\logd 1.1.0 dragonprimeedition (eng)\lib\modules.php on line 730
3: get_module_pref() called from f:\easyphp\www\logd\logd 1.1.0 dragonprimeedition (eng)\modules\racevampirext.php on line 59
4: racevampirext_dohook() called from f:\easyphp\www\logd\logd 1.1.0 dragonprimeedition (eng)\lib\modules.php on line 512
5: modulehook() called from f:\easyphp\www\logd\logd 1.1.0 dragonprimeedition (eng)\modules\racevampir.php on line 119
6: racevampir_dohook() called from f:\easyphp\www\logd\logd 1.1.0 dragonprimeedition (eng)\lib\modules.php on line 512
7: modulehook() called from f:\easyphp\www\logd\logd 1.1.0 dragonprimeedition (eng)\lib\pageparts.php on line 653
8: charstats() called from f:\easyphp\www\logd\logd 1.1.0 dragonprimeedition (eng)\lib\pageparts.php on line 119
9: page_footer() called from f:\easyphp\www\logd\logd 1.1.0 dragonprimeedition (eng)\newday.php on line 531')

Autor:  Nightborn [ Sa 09 Dez, 2006 18:06 ]
Betreff des Beitrags: 

mhm, lösch mal den einen doppelten eintrag. k.a. wo der herkam.

Autor:  the_Cr0w [ Sa 09 Dez, 2006 22:11 ]
Betreff des Beitrags: 

ich weiß es auch nicht, aber ich poste mal den code der newday ausgeführt wird

$this->bbcode_second_pass_code('', 'case "newday":
if($session['user']['race'] != "Vampir")
break;
if (get_module_setting("needbloodall") == "no")
break;
if (get_module_pref("needblood") == "no")
break;
$blooddays = get_module_pref("bluttage");
$blooddays--;
if($blooddays > 0)
{
set_module_pref("bluttage", $blooddays);
break;
}else{
$session['user']['alive']=false;
$session['user']['hitpoints']=0;
output("Du bist tot. Hättest du mehr Blut getrunken wäre das nicht passiert.");
addnav("Daily News","news.php");
addnews("%s ist gestorben, weil er nicht genug Blut getrunken hat",$session['user']['name']);
#$blooddays = get_module_pref("bluttageall");
set_module_pref("bluttage", get_module_pref("bluttageall"));
}
break;')

vielleicht findet jemand den fehler

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/