anpera.net
http://anpera.homeip.net/phpbb3/

Hausmodul (Schatzkammer Tracker)
http://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=1536
Seite 1 von 1

Autor:  Kevz [ Sa 09 Jul, 2005 13:01 ]
Betreff des Beitrags:  Hausmodul (Schatzkammer Tracker)

Also, wie der Name schon sagt, kann man mit diesem Modul sehr einfach überprüfen wer wieviel Gold eingezahlt hat und wieviele Rubine...

Und je nach dem wieviel er eingezahlt hat und wie rausgenommen hat kann man Diebe sehr schnell überprüfen ;)


Installation:

housefunctions.php

Suche:
[php]// getting data for pvp (burgling a house)
function getpvpdata($select,$order='a.maxhitpoints DESC',$limit=1) {
global $session;
$pvptime = getsetting("pvptimeout",600);
$pvptimeout = date("Y-m-d H:i:s",time()-$pvptime);
$days = getsetting("pvpimmunity", 5);
$exp = getsetting("pvpminexp", 1500);
$sql = "SELECT $select FROM accounts a
LEFT JOIN items i1 ON i1.class='Schlüssel' AND i1.owner=a.acctid AND i1.hvalue > 0 WHERE
(a.locked=0) AND
(a.alive=1 AND a.location=2) AND
(a.laston < '".date("Y-m-d H:i:s",time()-getsetting("LOGINTIMEOUT",900))."' OR a.loggedin=0) AND
(a.age > $days OR a.dragonkills > 0 OR a.pk > 0 OR a.experience > $exp) AND
(a.acctid <> ".$session['user']['acctid'].") AND
(a.pvpflag <> '5013-10-06 00:42:00') AND
(a.pvpflag < '$pvptimeout') AND
((a.housekey=".(int)$session['user']['specialmisc']['houseid']." AND i1.id IS NULL) OR i1.value1=".(int)$session['user']['specialmisc']['houseid'].")
".($order!=''?'ORDER BY '.$order:'')." ".($limit>0?'LIMIT '.$limit:'');
$result = db_query($sql) or die(db_error(LINK));
return $result;
}[/php]

Darunter:
[php]// [© 2005 by Day aliaz Kevz]
function houselog($houseid, $acctid, $value, $gold=0, $gems=0){
$sql = 'select logid from houselog where acctid = '.$acctid.' and houseid = '.$houseid.' ';
$result = db_query($sql) or die(db_error($sql));

if(db_num_rows($result)==0) db_query('insert into houselog (houseid, acctid, gold, gems) values ('.$houseid.', '.$acctid.', '.$gold.', '.$gems.')');
else db_query('update houselog set gold = gold'.$value.''.$gold.', gems = gems'.$value.''.$gems.' where acctid = '.$acctid.' and houseid = '.$houseid.'');
}[/php]


housemodules/treasury.php

Für Gold
Suche:
[php]$goldinhouse += $amt;
setmoduledata($moduleid,'gold',$goldinhouse,$session['user']['specialmisc']['houseid']);
$session['user']['gold'] -= $amt;[/php]

Darunter:
[php]houselog($session['user']['specialmisc']['houseid'], $session['user']['acctid'], '+', $amt,0);[/php]

Suche:
[php]$goldinhouse -= $amt;
setmoduledata($moduleid,'gold',$goldinhouse,$session['user']['specialmisc']['houseid']);
$session['user']['gold'] += $amt;[/php]

Darunter:
[php]houselog($session['user']['specialmisc']['houseid'], $session['user']['acctid'], '+', $amt,0);[/php]


Für Edelsteine
Suche:
[php]else {
$gemsinhouse -= $amt;
setmoduledata($moduleid,'gems',$gemsinhouse,$session['user']['specialmisc']['houseid']);
$session['user']['gems'] += $amt;[/php]

Darunter:
[php]houselog($session['user']['specialmisc']['houseid'], $session['user']['acctid'], '-', 0,$amt);[/php]

Suche:
[php]else {
$gemsinhouse += $amt;
setmoduledata($moduleid,'gems',$gemsinhouse,$session['user']['specialmisc']['houseid']);
$session['user']['gems'] -= $amt;[/php]

Darunter:
[php]houselog($session['user']['specialmisc']['houseid'], $session['user']['acctid'], '+', 0,$amt);[/php]

SQL:
$this->bbcode_second_pass_code('', 'CREATE TABLE `houselog` (
`logid` int(11) NOT NULL auto_increment,
`houseid` int(11) NOT NULL default '0',
`acctid` int(11) NOT NULL default '0',
`gold` int(11) NOT NULL default '0',
`gems` int(11) NOT NULL default '0',
PRIMARY KEY (`logid`)
);')

Dann einfach die Datei houselog.php in den housemodules ordner Packen und über den Hausmeister installieren..

Have fun ;)

Würde mich über Feedback freuen



Ps:
Chaos, ich habe deshalb die function dort in die housefunctions.php reingepackt weil es dort besser angebracht ist als irgendwo in der common.php ich hoffe du hast nix dagegen :)

Autor:  Chaosmaker [ Sa 09 Jul, 2005 13:40 ]
Betreff des Beitrags: 

Naja, sinnvoll wäre es vmtl., die Funktion ins Schatzkammer-Modul einzufügen, da sie ja dort genutzt wird und keine "allgemeine" Hausfunktion ist.
Das hat mich aber auf die Idee gebracht, daß man im Online-Editor noch neue Funktionen einfügen können sollte.

Autor:  Kevz [ Sa 09 Jul, 2005 13:42 ]
Betreff des Beitrags: 

Chaosmaker hat geschrieben:
Das hat mich aber auf die Idee gebracht, daß man im Online-Editor noch neue Funktionen einfügen können sollte.



Sry, was meinst du damit genau, komm da nicht so mit...
Was für einen "Online-Editor"?

Autor:  Chaosmaker [ Sa 09 Jul, 2005 13:51 ]
Betreff des Beitrags: 

Hast Du Dir mal eine halbwegs aktuelle Version des Hausmeisterscript angeguckt bzw. auch meine Aussagen im entsprechenden Thread gelesen? Da hab ichs erklärt.

Autor:  Izze [ Sa 09 Jul, 2005 14:06 ]
Betreff des Beitrags: 

hi,

feine sache, erleichtert das leben vermutlich ungemein.

bekomme aber einen fehler, dass der table "houselog" nicht gefunden wird.

Autor:  Kevz [ Sa 09 Jul, 2005 14:09 ]
Betreff des Beitrags: 

Arg*selbsthau* sry, hab vergessen oben mit beizulegen^^
is drin ;)

Sry Chaos, habs grad erst bemerkt das die Optionen da sind, hab net wirklich drauf geachtet^^, interessant ;)

€:
Die sql steht oben

Autor:  Izze [ Sa 09 Jul, 2005 14:35 ]
Betreff des Beitrags: 

hmm,

muss es nicht beim zweiten goldeintrag anstatt

[php]else {
$gemsinhouse -= $amt;
setmoduledata($moduleid,'gems',$gemsinhouse,$session['user']['specialmisc']['houseid']);
$session['user']['gems'] += $amt; [/php]

besser

[php]else {
$goldinhouse -= $amt;
setmoduledata($moduleid,'gold',$goldinhouse,$session['user']['specialmisc']['houseid']);
$session['user']['gold'] += $amt;[/php]

und danach dann

[php]houselog($session['user']['specialmisc']['houseid'], $session['user']['acctid'], '-', $amt,0);[/php]

heissen?
zumindest gehts so bei mir besser, denn er zählte kein gold.

EDIT
  • evtl. auch den minusbereich anzeigen damit man die schulden sieht :roll:
  • alle bewohner anzeigen, auch sich selber als owner
  • oben drüber noch gesamt gold und gesamt edelsteine anzeigen, erspart das hüpfen in die schatzkammern

Autor:  Kevz [ Sa 09 Jul, 2005 15:05 ]
Betreff des Beitrags: 

Das mit dem Gold ist doch oben so...
Zu dem mit dem Besitzer selbst kann man machen ist ja kein Prob, das mit dem Minus ist so, sobald der User schulden hat wird Auto. Rot angezeigt mit - zeichen, sobald er etwas eingezahlt hat und nicht in schulden ist kommt ein + mit grüner anzeige ;)

Das mit den Gesamt betrag kann man machen is ja kein prob, aber das miit dem gold und edelsteinen is ja eig. schon der gesamt betrag von dh. wäre es nicht logisch noch einen bereich dafür zu machen...

Autor:  Kevz [ Sa 09 Jul, 2005 15:14 ]
Betreff des Beitrags: 

So neue vers. ist da...
Es werden dort alle Mitbewohner angezeigt + der Besitzer selbst..
Aber man muss berückstigen das evtl. das besitzer selbst mehrmals angezeigt wird wegen der Schlüssel anzahl die nicht vergeben sind

Autor:  Izze [ Sa 09 Jul, 2005 17:25 ]
Betreff des Beitrags: 

das mit dem gold ist oben beim zweiten eintrag im

$gemsinhouse

bereich statt

$goldinhouse

es gibt jeweils 2 bereiche mit $goldinhouse und 2 mit $gemsinhouse.

nach der orignalanweisung würde man 1 x etwas in einem $goldinhouse bereich eintragen und 3 x in $gemsinhouse.

dabei sollte das 2 x 2 sein.
ich drücke mich evtl etwas kompliziert aus aber schau nochmal dort wo man in der tresory.php den gold bereich ändern muss.

ansonsten gehts mit der anderen version einwandfrei.
bis halt, dass der besitzer mehrfach gezeigt wird aber damit kann man leben.

bei den schulden hört aber bei 0 auf.
wird zwar rot aber steht bei 0 und nicht bei etwa -7 edelsteine.
das meinte ich damit.

danke für die mühen.

Autor:  Kevz [ Sa 09 Jul, 2005 17:59 ]
Betreff des Beitrags: 

Ok werds gleich nochmal nachgucken

Autor:  Izze [ Sa 09 Jul, 2005 18:07 ]
Betreff des Beitrags: 

ich schau später nochmal rein. muss zur arbeit.

Autor:  Kevz [ Sa 09 Jul, 2005 18:58 ]
Betreff des Beitrags: 

Ubs, kleiner fehler bei der SQL, hier des update:

$this->bbcode_second_pass_code('', 'ALTER TABLE `houselog` CHANGE `gems` `gems` INT( 11 ) NOT NULL DEFAULT '0';
ALTER TABLE `houselog` CHANGE `gold` `gold` INT( 11 ) NOT NULL DEFAULT '0';
ALTER TABLE `houselog` CHANGE `houseid` `houseid` INT( 11 ) NOT NULL DEFAULT '0';')

Autor:  Izze [ Sa 09 Jul, 2005 20:20 ]
Betreff des Beitrags: 

werd ich morgen machen, komme jetzt nicht an den local server.

schönen dank nochmal. :wink:

Autor:  Kevz [ Sa 09 Jul, 2005 20:47 ]
Betreff des Beitrags: 

Np... :)

Autor:  Izze [ So 10 Jul, 2005 12:28 ]
Betreff des Beitrags: 

ok, jetzt gehts auch mit dem minusbereich, fein.

in dem sql update fehlen die ; am ende der jeweiligen zeilen, ansonsten ok. :)

Autor:  azraeldemon [ Mi 27 Sep, 2006 22:52 ]
Betreff des Beitrags: 

salve ,

hab mir auch mal dein houselog drauf gemacht! klasse sache !

nur was mich stört ist das der hausbesitzer/in so oft angezeigt wird wie schlüssel noch nicht vergeben sind!

hast du da evtl schon ne lösung parat?

Autor:  azraeldemon [ Do 28 Sep, 2006 21:25 ]
Betreff des Beitrags: 

das obere hat sich erledigt kann man mit leben

nur ein prob hab ich

bei kleinen beträgen egal ob gems oder gold rechnet der ganz brav + und - auch die anzeige geht ins minus!

nur bei beträgen wie

200 500 oder gar 700 will der nur + rechnen !

im script ist ja alles inordnung und die einbauten sind alle so wie hier beschrieben dennoch macht er das nicht so wie soll

weiss einer rat?

Autor:  Arwen Anouk [ Mi 11 Mai, 2011 15:38 ]
Betreff des Beitrags:  Re: Hausmodul (Schatzkammer Tracker)

Hallo,

wo ist denn die Datei die man hochladen soll?

Autor:  MrEgo [ Mi 11 Mai, 2011 16:20 ]
Betreff des Beitrags:  Re: Hausmodul (Schatzkammer Tracker)

hier^^
Dateianhang:
houselog_126.rar [2.14 KIB]
57-mal heruntergeladen

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