anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 10:26

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Eine Frage zu Modulen
BeitragVerfasst: Do 17 Aug, 2006 13:51 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Ja hallo erstmal :)
ich habe eine kleine Frage: Wie kann man ein Modul 'dazu bringen', das bei jedem neuen Tag eine Variable (bzw. ein Teil eines Arrays) auf 0 gesetzt wird? Ich habe es so probiert, aber das ging leider nicht:

[php]
function xxx_dohook($hookname, $args){
if ($hookname=="newday") {
$session['user']['beispiel']=0;
}
return $args;
}
[/php]

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 17 Aug, 2006 14:08 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Fr 06 Jan, 2006 01:33
Beiträge: 459
Wohnort: Simmern
Geschlecht: Männlich
LoGD: http://www.morpheus-lotgd.de
Aus einem meiner Module:

$this->bbcode_second_pass_code('', ' "prefs"=>array(
...
"wielangnoch"=>"Wie lange wirkt der freiwillige Aderlass noch?,int|0",
...
switch($hookname){
...
case ("newday"):
$wln=get_module_pref("wielangnoch");
if ($wln>1) {
$wielangnoch--;
set_module_pref("wielangnoch",$wln);
output("`n`6Du spuerst noch immer die wohltuende Wirkung des Aderlasses.`n");
$session['user']['hitpoints']*=1.1;
} elseif (get_module_pref("wielangnoch")==1) {
set_module_pref("wielangnoch",0);
output("`n`6Die Wirkung des Aderlasses hoert auf.`n");
}')

_________________
Ich bin das Land, meine Augen sind der Himmel, meine Glieder die Bäume, ich bin der Fels, die Wassertiefe. Ich bin nicht hier, um die Natur zu beherrschen oder sie auszubeuten. Ich bin selbst Natur.

(Hopi)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 17 Aug, 2006 14:31 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
vielen dank :)

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 17 Aug, 2006 16:23 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Ach ja ich hätte noch eine Frage...
Ich brauche für ein Modul etwas, damit beim kämpfen ab und zu etwas gefunden wird, wie Edelsteine ungefähr... Kann mir da auch jemand helfen? :)

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 17 Aug, 2006 16:26 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
@ Erster Post: Naja. Weisst du, warum es nicht geht/ging?
Die Variable "$session" muss erst global gemacht werden... :P
(global $session;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 17 Aug, 2006 16:54 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Ach so ja stimmt :D
Hätt ich mir eigentlich auch denken können...
:bash: ^^

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 17 Aug, 2006 20:18 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Weiss auch noch jemand das zweite? :)

Offtopic: Cooles Bild Eliwood ;)

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 17 Aug, 2006 20:25 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Du könntest dich in den hook "alter-gemchance" einhaken... Da 0 zurück geben und selbst was überweisen.

// Das ist Roy - Sohn von Eliwoood =P


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 17 Aug, 2006 21:18 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Fr 06 Jan, 2006 01:33
Beiträge: 459
Wohnort: Simmern
Geschlecht: Männlich
LoGD: http://www.morpheus-lotgd.de
Also die Frage verstehe ich wahrlich nicht...mach es doch ganz konventionell, z.B. so...

$this->bbcode_second_pass_code('', ' if ($battle){
include_once("battle.php");

if ($victory){
output("`2Es war ein harter Kampf, aber Du hast ihn gewonnen.`n`n",);
output("`2Du richtest Deine Rüstung wieder her ");
switch(e_rand(1,8)){
case 1:
case 2:
case 3:
case 4:
output("`3 und ziehst weiter.`n`n",);
addnav("Weiter","xy.php?op=z");
break;
case 5:
case 6:
output("`3 und als Du grade weiter ziehen willst, siehst Du etwas unter dem Körper von XXX liegen. Du siehst nach und findest ???`n`n",);
addnav("Weiter","xy.php?op=z");
break;
case 7:
output("`3 und als Du grade weiter ziehen willst, siehst Du etwas unter dem Körper von XXX liegen. Du siehst nach und findest ???`n`n",);
addnav("Weiter","xy.php?op=z");
break;
case 8:
output("`3 und als Du grade weiter ziehen willst, siehst Du etwas unter dem Körper von XXX liegen. Du siehst nach und findest ???`n`n",);
addnav("Weiter","xy.php?op=z");
break;
}')

_________________
Ich bin das Land, meine Augen sind der Himmel, meine Glieder die Bäume, ich bin der Fels, die Wassertiefe. Ich bin nicht hier, um die Natur zu beherrschen oder sie auszubeuten. Ich bin selbst Natur.

(Hopi)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 18 Aug, 2006 07:44 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Ich meine beim ganz normalen kämpfen im Wald, das man halt wie Edelsteine etwas finden kann...
:???:

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 18 Aug, 2006 14:40 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
:cry: :cry: :cry:
Bitte brauche dringend Hilfe weiss keiner wie das geht oder sagts nur keiner?
:(

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 18 Aug, 2006 14:43 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
1. Auch wir haben Freizeit oder müssen arbeiten? oO
2. Hast du meinen Beitrag überhaupt gelesen? ^^

Zitat:
Du könntest dich in den hook "alter-gemchance" einhaken... Da 0 zurück geben und selbst was überweisen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 18 Aug, 2006 16:47 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Ja aber das versteh ich nicht :(

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 18 Aug, 2006 21:42 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Montekar hat geschrieben:
Ja aber das versteh ich nicht :(


oO

Ich muss mir nun echt wieder mal son Modul anschauen, um dir das vorzuwerfen? oO
Na gut.

[php]
// Für die Funktion _install()
module_addhook("alter-gemchance");

// Für die Funktion _dohook()
if($hookname === 'alter-gemchance') {
if(mt_rand(0,10) > 3) {
// Deine anderen Findendinger und sonstiger Code

$args['chance'] = 0; // Darf anschliessend keinen Edelstein finden
return $args;
}
else return $args;
}[/php]

Einfach anpassen. Das kannst du so nicht übernehmen ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 17 Sep, 2006 11:08 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Hmmm... Also entweder bin ich zu blöd oder es geht nicht...
(Warscheinlich eher das erste ^^)

Ah ich hab ne Idee:

An welcher Stelle (und in welchem Script) wird denn das hier ausgegeben?

You receive 153 gold!
You receive 33 total experience!

Dann könnte man das doch eigentlich von Hand öffnen und dahinter was einfügen, oder?

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 17 Sep, 2006 13:31 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Montekar hat geschrieben:
Dann könnte man das doch eigentlich von Hand öffnen und dahinter was einfügen, oder?


... Und beim nächsten Update ist dann alles wieder weg...
Warum meinst du, gibt es diese Module?? Um genau diesen Ansatz für eine Problemlösung auszulöschen.
Du musst dich mit einem Modul an den entsprechenden Stellen einhacken. Anders gelöst wäre es Schwachsinn.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 17 Sep, 2006 18:33 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Ja aber dann würde es wenigstens überhaupt gehen...
*Module sehr kompliziert find*

_________________
Mal wieder da...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 17 Sep, 2006 20:26 
Offline
Newbie

Registriert: So 17 Sep, 2006 20:17
Beiträge: 3
Ohne jetzt groß auf die Vor- und Nachteile einer modulbasierten Engine eingehen zu wollen:

Nimm einfach ein Modul, dass sich in "battle-victory" einhookt. An der Stelle in der dohook kannst du dann einfach hinzufügen, was du willst und alles ist gut. :)
[php]<?php

function findloot_getmoduleinfo(){
$info = array(
"name"=>"Find Loot",
"author"=>"Christian Rutsch",
"version"=>"1.00",
"category"=>"SomeFunnyStuff",
);
return $info;
}
function findloot_install(){
module_addhook("battle-victory");
return true;
}
function findloot_uninstall(){
return true;
}
function findloot_dohook($hookname,$args){
global $session;
$chance = e_rand(1,100);
if ($chance > 90) {
$session['user']['gold'] += 1000;
output("`2Bei deinem Glück findest du in den Taschen von `^%s`2 noch `^1000 Goldstücke`2.", $args['creaturename']);
}
return $args;
}

?>[/php]

(Da das Modul nur einen einzigen Hook verwendet, erübrigt sich im Übrigen auch die Überprüfung während der dohook-Funktion, welcher hook grade läuft...)

Bei einem echten Modul sollten natürlich die Chance und der Wert per setting anpassbar sein. (Und sicherlich auch levelabhängig...)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 18 Sep, 2006 08:56 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 15 Okt, 2005 14:06
Beiträge: 864
Geschlecht: Männlich
LoGD: http://shinobilegends.com
Das wäre ein Modul mit Erklärungen, wer mehr wissen will

http://wiki.dragonprime.net/index.php?t ... ple_Module


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

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