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

Wohnviertel remake auf PHP4 OOP Basis - 0.91
https://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=2533
Seite 3 von 18

Autor:  Auric [ Do 25 Mai, 2006 14:45 ]
Betreff des Beitrags: 

oh.. da ist wohl was in die Schleife geruscht, das dort nicht sein sollte...

Ich poste in den nächsten Stunden eh nochmal die Version 0.9.

@ Lyra: Ja, das ist so - die anderen Module gibt es noch nicht - abgesehen von der Küche. Mit den Bilder habe ich mich auch noch nicht so rehct beschäftigt, dafür ist bald das "umzugsscript" für Chaosmakers Wohnviertel fertig...

Autor:  Harutake [ Do 25 Mai, 2006 14:53 ]
Betreff des Beitrags: 

Öhm und soweit ich gesehen habe sind auch nirgends Möbel aufgelistet die man gekauft hat. Wäre schön diese wiederzusehen :)

Autor:  Auric [ Do 25 Mai, 2006 15:03 ]
Betreff des Beitrags: 

*g* kommt alles noch.. Nuna ber erstmal für all die, die von Chaosmakers WV auf diese umsteigen möchten: Das Umzugs-Script.

Dieses Script erstellt eine Backupdatei von den betroffenen Tabellen aus Chaosmakers version, Sammelt alle wichtigen Daten, konvertiert diese und schreibt sie letztenendes wieder in die Datenbank hinein.

Wichtig: Da ich selbst keinen zugriff auf eine Testversion für Chaosmakerst WV habe, musste ich die Tests mit leeren Tabellen bzw nicht vollständigen Tabellen durchführen. Desshalb übernehme ich keinerlei haftung für eventuell verlorene Daten! - Am besten ihr macht vorher noch einmal ein Komplett-Backup.

Ansonst, viel Erfolg damit,
Auric :wink:

Dateianhänge:
Dateikommentar: Umzugs-Script
umzug.zip [3.13 KIB]
319-mal heruntergeladen

Autor:  Auric [ Do 25 Mai, 2006 15:30 ]
Betreff des Beitrags: 

Sry für den Doppelpost..

Version 0.9 Ist nun hochgeladen - inklusive des Scripts dort oben und der Küche ( und einigen kleinen Fixes).

Achso - Lyra, die Funktion kannst du einfach über die "function output".. packen... da steht sie bei mir...ist aber eigentlich egal, solange sie nich in einer anderen Funktion steht.

Auric :wink:

Autor:  Leen [ Fr 26 Mai, 2006 10:21 ]
Betreff des Beitrags: 

Nochma ich :( .. beim umzug .. bleiben dann auch die verschiedenen wohnviertel erhalten?? als beispiel: ich hab das allgemeine wohnviertel in der stadt und ein gildenwohnviertel auf einer insel vor der stadt, in beiden stehen häuser .. wenn ich jetzt den umzug mache, sind dann beide wohnviertel weiterhin beziehbar?

Autor:  Auric [ Fr 26 Mai, 2006 10:29 ]
Betreff des Beitrags: 

Uff..dazu ist also die Locid....

Öhm...also sie sind zwar beide beziehbar, allerdings werden dann alle Häuser in allen Wohnvierteln angezeigt...mit ein bisschen gewerkel ließe sich das aber machen.. ich melde mich mal per ICQ bei dir...

Autor:  Lyra [ Fr 26 Mai, 2006 10:50 ]
Betreff des Beitrags: 

hm ja bei mir gabs die küche nicht mal..

na gut ich hab erstmal mein altes reingebaut, bis sich eine lösung anbietet..
denn es ist nicht egal, wo ich das mit dem lover in die common.php bau..

aber wenn das weiter ausgereift ist, schau ichs mir gern wieder an..
wenn ich helfen kann, dabei tu ich das gern, aber ich glaub, ich hab davon nicht die große Ahnung ^^

mfg Lyra

Autor:  Harutake [ So 04 Jun, 2006 20:42 ]
Betreff des Beitrags: 

Die Lagune von Rikka (aus Chaos WV):

Ungetestet, bitte vor dem Einbau den Code durchgehen um mögliche Fehler zu verhindern!

[php]
class lagune extends zimmer {
// Konstruktor
function lagune() {
$this->basis();
} // Ende Funktion

function basis() {
global $haus;
addcommentary();
if($session['user']['marriedto']==$haus->besitzerid || $session['user']['acctid']==$haus->besitzerid && $session['user']['marriedto']){
output('`qDu trittst durch eine unscheinbare Tür auf den Weg zur blauen Lagune. '.'Es ist angenehm warm, kein Wunder, denn in dem schön verstecktem Ort scheint die '.'Sonne immerfort. Der Sand ist weich und warm, und das Wasser hell und klar. Es wirkt '.'einladend.`n');
output('Am anderen Ufer siehst Du die hellen Wasserfälle, alles ist in '.'liebevolles Licht getaucht und Du spürst, hier kannst Du Dich hingeben, '.'denn keiner stört Euch hier.`n');
// Verheiratet?

$lagune = "lagune-".$haus->id;
$link = $this->back;
switch($_GET['act']) {
case "soap":
$soap = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session[user][acctid].",'/me `\&cremt Dir zärtlich den Rücken ein.')";
db_query(soap) or die(db_error(LINK));
redirect($link);
break;
case "shampoo":
$shampoo = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session[user][acctid].",'/me `\&wäscht sich die Haare um Dir zu gefallen.')";
db_query($shampoo) or die(db_error(LINK));
redirect($link);
break;

case "stroke":
$stroke = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session[user][acctid].",'/me `\&streichelt zärtlich über Deine duftende Haut.')";
db_query($stroke) or die(db_error(LINK));
redirect($link);
break;

case "love":
$love = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session[user][acctid].",'/me `\&zieht Dich zärtlich zu sich "."ins Wasser um Dich zu fühlen!')";
db_query($love) or die(db_error(LINK));
redirect($link);
break;

case "duft":
$duft = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session[user][acctid].",'/me `\&macht Kerzen und Duftöl ins Wasser, um Dich "."zu verwöhnen.')";
db_query($duft) or die(db_error(LINK));
redirect($link);
break;
}
viewcommentary($lagune,"sich gegenseitig verwöhnen:",20,"flüstert zärtlich");

// lagune nav
addnav("Aktionen");
addnav("Eincremen",$this->back."&act=soap");
addnav("Haarewaschen",$this->back."&act=shampoo");
addnav("Streicheln",$this->back."&act=stroke");
addnav("Lieben",$this->back."&act=love");
addnav("Duftkerzen",$this->back."&act=duft");
}else{
output("Du rüttelst ein wenig an der Tür - verschlossen.`n");
output("Tja, in der privaten Lagune hast du eben nichts zu suchen.");
}
addnav("Zurück zum Flur","nhouses.php?op=drin");
}
}[/php]

Autor:  Auric [ Mo 05 Jun, 2006 10:04 ]
Betreff des Beitrags: 

hm.. joah.. es waren noch ein paar kleinere Bugs drin... ich habe es mal gefixt:
[php]function basis() {
global $haus, $session;
addcommentary();
// Verheiratet?
if($session['user']['marriedto']==$haus->besitzerid || $session['user']['acctid']==$haus->besitzerid && $session['user']['marriedto']){
output('`qDu trittst durch eine unscheinbare Tür auf den Weg zur blauen Lagune. '.'Es ist angenehm warm, kein Wunder, denn in dem schön verstecktem Ort scheint die '.'Sonne immerfort. Der Sand ist weich und warm, und das Wasser hell und klar. Es wirkt '.'einladend.`n');
output('Am anderen Ufer siehst Du die hellen Wasserfälle, alles ist in '.'liebevolles Licht getaucht und Du spürst, hier kannst Du Dich hingeben, '.'denn keiner stört Euch hier.`n');
$lagune = "lagune-".$haus->id;
switch($_GET['act']) {
case "soap":
$soap = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `\&cremt Dir zärtlich den Rücken ein.')";
db_query($soap) or die(db_error(LINK));
redirect($this->back);
break;

case "shampoo":
$shampoo = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `\&wäscht sich die Haare um Dir zu gefallen.')";
db_query($shampoo) or die(db_error(LINK));
redirect($this->back);
break;

case "stroke":
$stroke = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `\&streichelt zärtlich über Deine duftende Haut.')";
db_query($stroke) or die(db_error(LINK));
redirect($this->back);
break;

case "love":
$love = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `\&zieht Dich zärtlich zu sich ins Wasser um Dich zu fühlen!')";
db_query($love) or die(db_error(LINK));
redirect($this->back);
break;

case "duft":
$duft = "INSERT INTO commentary (postdate,section,author,comment) VALUES (now(),'".$lagune."',".$session['user']['acctid'].",'/me `\&macht Kerzen und Duftöl ins Wasser, um Dich "."zu verwöhnen.')";
db_query($duft) or die(db_error(LINK));
redirect($this->back);
break;
} // Ende Switch
viewcommentary($lagune,"sich gegenseitig verwöhnen:",20,"flüstert zärtlich");
// lagune nav
addnav("Aktionen");
addnav("Eincremen",$this->back."&act=soap");
addnav("Haarewaschen",$this->back."&act=shampoo");
addnav("Streicheln",$this->back."&act=stroke");
addnav("Lieben (Geschützt)",$this->back."&act=love");
addnav("Duftkerzen",$this->back."&act=duft");
}else{
output("Du rüttelst ein wenig an der Tür - verschlossen.`n");
output("Tja, in der privaten Lagune hast du eben nichts zu suchen.");
} // Ende ELSE
addnav("Zurück zum Flur","nhouses.php?op=drin");
} // Ende Funktion
} // Ende Klasse[/php]

Viel Spass damit!

Autor:  Harutake [ Mo 05 Jun, 2006 10:27 ]
Betreff des Beitrags: 

Soo habs jetz mal getestet... Und muss feststallen das ich nich in die Lagune komme. Weder Als Eheman noch die Ehefrau kann pasieren, wüsste jemand ne Idee das zu beheben Oo seh momentan nähmlich den Fehler nicht.

Autor:  Auric [ Mo 05 Jun, 2006 21:36 ]
Betreff des Beitrags: 

*gegendenkpofschlag* Der Typische Fehler
"global $session;" fehlt.. ich fixe es in der Version oben mal...

Autor:  Auric [ So 11 Jun, 2006 20:35 ]
Betreff des Beitrags: 

So, nun auch noch mal eine kleine Erweiterungvon mir: Das Kinderzimmer.
Diese sollte natürlich nur dann verwendet werden, wenn auch dir Kindermod von -Dom installier ist. Zur not besteht aber noch eine Sicherung...
[php]
class kinderzimmer extends zimmer {
var $back;
// Buffs:
var $buffA = array("name" => "`2Kinderfreude"
,"roundmsg" => "Die Freude über dein Kind gibt dir Kaft"
,"wearoff" => "Die starke Freude verblasst."
,"rounds" => "75"
,"atkmod" => "1.10"
,"survivenewday" => "0"
,"activate" => "roundstart");
var $buffB = array("name" => "`2Kinderglück"
,"roundmsg" => "Das glückliche Lächelnd deines Kindes macht dich aufmerksamer"
,"wearoff" => "Die Erinnerung an das Lächeln deines Kinder verblasst"
,"rounds" => "75"
,"defmod" => "1.10"
,"survivenewday" => "0"
,"activate" => "roundstart");
var $buffC = array("name" => "`4Angst ums Kind"
,"roundmsg" => "Die Angst um dein Kind lässt dich unaufmerksamer Kämpfen"
,"wearoff" => "Du bist dir nun sicher, das es deinem Kind gut geht"
,"rounds" => "75"
,"atkmod" => "0.95"
,"defmod" => "0.95"
,"survivenewday" => "0"
,"activate" => "roundstart");
function kinderzimmer() {
$this->back = "nhouses.php?op=drin&go=".$_GET['go'];
$this->basis();
} // Ende Funktion

function basis() {
global $session;
// Maximal ein eigenes Kind abrufen, nur zur bestimmung ob Elter oder nicht.
if(KINDER) {
$kinder = (bool) db_num_rows(db_query("SELECT id FROM `kinder` WHERE mama=".$session['user']['acctid']." OR papa=".$session['user']['acctid']." LIMIT 1"));
if($_GET['machen']=="kind") {
output("Du gehtst zu deinem Kind uns beschäftigst dich eine Weile mit ihm.`n");
switch(e_rand(0,5)) {
case 0:
output("`2Dir bleibt noch einige Zeit im Gedächtnis hängen, wie sher sich dein Kind über deinen Besuch freute.");
$session['bufflist']['kind'] = $buffB;
break;

case 1:
output("`3Du spielst eine Weile mit deinem Kind unf fühlst dich danach ebenso gut, wie dein Sprössling selbst.");
$session['bufflist']['kind'] = $buffA;
break;

case 2:
output("`4Zwar beschäftigst du dich eine Weile mit deinem Kind, aber irgendwie wirst du danach das gefühl nicht los, das es sich gerade nicht wohl fühlt...");
$session['bufflist']['kind'] = $buffC;
break;

default:
output("Du kümmerst dich eine Weile um dein Kind und bemerkst dabei gar nicht, wie schnell die Zeit vergeht.");
$session['user']['turns']++;
} // Ende SWITCH
} elseif($kinder==true) {
output("Du betrittst das Kinderzimmer und entdeckst sofort dein Kind, das friedlich vor sich hin spielt.`n");
output("Möchtest du dich nicht ein wenig mit ihm beschäftigen?");
addnav("Mit Kind Spielen",$this->back."&machen=kind");
} else {
output("Da du keine Kinder hast, siehst du auch keinen Sinn darin, ins Kinderzimmer zu gehen.");
}
} else {
output("Da es in dieser Welt keine Kinder gibt, braucht man auch keine Kinderzimmer....");
}
addnav("Zurück zum Flur","nhouses.php?op=drin");
} // Ende Funktion
} // Ende Klasse[/php]

Einfach in die zimmer.php kopieren und pero Erweitertem Haussetup aktivieren.
Fertig!

Autor:  Painfull-Death [ Sa 17 Jun, 2006 10:51 ]
Betreff des Beitrags: 

Könnte man nicht so eine Erweiterung machen, dass der Admin des Servers selber die anzubauenden Zimmer auswählen kann? Also, dass sich jeder Admin dann selber Zimmer ausdenken kann und so?
Dann könnte man doch eine Veranda, ein Bad und so einbauen in das Haus. Wäre auch noch super^^

Autor:  Auric [ So 18 Jun, 2006 11:59 ]
Betreff des Beitrags: 

öhm.. genau das ist doch mit den Zimmer-modulen realisiert worden! Schlielich kann man die Zimmer die man haben möchte im Modul-Master aktivieren und die anderen ausschalten.

Und eigene Zimmer lassen sich ja ebenfalls recht einfach erstellen...

Autor:  Koloman [ Do 27 Jul, 2006 15:45 ]
Betreff des Beitrags: 

Hi,

wirklich nettes Skript. Danke dafür.
Mir sind auch ein paar Bugs aufgefallen:

1. Wenn man umstellt von einem vorhandenen WV wird das vorhandene RP nicht angezeigt ... ok, es ist nur eine kleine Änderung, könnte aber doch standardmäßig dann im Gemeinschaftsraum zu finden sein.

2. Das Schlafzimmer. Das funktioniert soweit sehr gut, solange nicht 2 chars mit einer 3stelligen AccountID verheiratet sind. Dann wird nämlich der Rest der "section" (default varchar(20)!) abgeschnitten und das RP verschwindet im Nirvana. Also entweder Spalte vergrössern, oder vielleicht schöner - die section-id in der viewcommentary kürzen.

3. Die Schatzkammer. Beim Abheben eines Goldbetrags landet man in einen badnav -> Tippfehler im action-Tag des Formulars.

Wenn mir nochwas auffällt meld ich mich. :)

Autor:  Koloman [ Di 01 Aug, 2006 16:24 ]
Betreff des Beitrags: 

Ja, und tatsächlich ... noch ein kleiner Bug:

$this->bbcode_second_pass_code('', '// Ermittlung der Installierten und Aktiven Hauserweiterungen START
$sql = "SELECT * FROM `zimmer` WHERE aktiv=1 AND level < ".$this->level->level." ORDER BY `zimmerid` ASC";
')

Mit dieser Zeile in der classes.php findet er nur die Räume die kleiner sind als der aktuelle Level es zulassen würde. Ähnlich steht es auch noch einmal in der nhouses.php. Einfach nach dem < noch ein = und die Sache rennt.

Autor:  Taraen [ Mi 02 Aug, 2006 15:10 ]
Betreff des Beitrags: 

hi!

Also: wenn sich die Spieler ein neues Haus bauen, haben sie immer unterschiedlich Spieler gleich einen Schlüssel für das Haus, obwohl der Besitzer des Hauses hin den Schlüssel gar nicht gegeben hat...

Wie kann ich das Prob. lösen?

mfg Taraen

Autor:  Auric [ Mi 02 Aug, 2006 20:57 ]
Betreff des Beitrags: 

Koloman hat geschrieben:
Ja, und tatsächlich ... noch ein kleiner Bug:

$this->bbcode_second_pass_code('', '// Ermittlung der Installierten und Aktiven Hauserweiterungen START
$sql = "SELECT * FROM `zimmer` WHERE aktiv=1 AND level < ".$this->level->level." ORDER BY `zimmerid` ASC";
')

Mit dieser Zeile in der classes.php findet er nur die Räume die kleiner sind als der aktuelle Level es zulassen würde. Ähnlich steht es auch noch einmal in der nhouses.php. Einfach nach dem < noch ein = und die Sache rennt.


Nein, das ist schon richtig so - wenn du dir das Script einmal genauer ansiehst, wirst du feststelen, das $haus/$this->level->level die ID der nächsten Ausbaustufe trägt. Das ist praktisch bedingt - vor allem wegen der Ausbaustufen-Speicherung in der DB

Wie es kommen soll, das plötzlich Leute schlüssel haben, die noch nicht vergeben sind kann ich mir allerdings nicht erklären *amkopfkratz*

Autor:  Koloman [ Do 03 Aug, 2006 10:22 ]
Betreff des Beitrags: 

Hmm. Ok. Aber ohne die Änderung bekomme ich, wenn ich z.B. einen Level 4 Ausbau habe, nur die Räume bis einschließlich Level 3 angezeigt. Warum ist das so gewollt? Denn dann kann ich, wenn ich die höchste Ausbaustufe habe (bei mir 9) nur Räume bis Level 8 betreten, obwohl ich bis Level 9 bauen kann.

Autor:  Sindu [ Do 03 Aug, 2006 14:11 ]
Betreff des Beitrags: 

Dein Wohnscript macht bei mirn ein fehler:
Parse error: syntax error, unexpected T_STRING in /home2/habbo/public_html/logd/logd/common.php on line 2052

das ist die Linie an dem ich dein Lover zusatz reingetan habe.

Hier der Quelltext:

$this->bbcode_second_pass_code('', '$playermount = getmount($session['user']['hashorse']);

$titles = array(
0=>array("Bauernjunge","Bauernmädchen"),
1=>array("Knecht", "Magd"),
2=>array("Bauer", "Bäuerin"),
3=>array("Grossbauer", "Grossbäuerin"),
4=>array("Spurenleser","Spurenleserin"),
5=>array("Jäger","Jägerin"),
6=>array("Gutshofverwalter","Gutshofverwalterin"),
7=>array("Gutsherr","Gutsherrin"),
8=>array("Bürger","Bürgerin"),
9=>array("Gladiator","Gladiatorin"),
10=>array("Legionär","Legionärin"),
11=>array("Centurio","Centurioness"),
12=>array("Meister","Meisterin"),
13=>array("Ratsherr", "Ratsfrau"),
14=>array("Verwalter","Verwalterin"),
15=>array("Bürgermeister", "Bürgermeisterin"),
16=>array("Major", "Major"),
17=>array("General", "General"),
18=>array("Edler", "Edle"),
19=>array("Ritter", "Ritterin"),
20=>array("Junker", "Junkerin"),
21=>array("Freiherr", "Freifrau"),
22=>array("Baron", "Baronin"),
23=>array("Fürst", "Fürstin"),
24=>array("Grossfürst", "Grossfürstin"),
25=>array("Herzog", "Herzogin"),
26=>array("Graf", "Gräfin"),
27=>array("Prinz", "Prinzessin"),
28=>array("Kronprinz", "Kronprinzessin"),
29=>array("König", "Königin"),
30=>array("Kaiser", "Kaiserin"),
31=>array("Drachentöter","Drachentöterin"),
32=>array("Bischof","Bischöfin"),
33=>array("Papst", "Päpstin"),
34=>array("Seele", "Seele"),
35=>array("Seliger", "Selige"),
36=>array("Heiliger", "Heilige"),
37=>array("Engel", "Engel"),
38=>array("Erzengel", "Erzengel"),
39=>array("Kraft", "Kraft"),
40=>array("Macht", "Macht"),
41=>array("Herrschaft", "Herrschaft"),
42=>array("Thron", "Thron"),
43=>array("Seraphim", "Seraphim"),
44=>array("Cherubim", "Cherubim"),
45=>array("Titan","Titanin"),
46=>array("Erztitan","Erztitanin"),
47=>array("Halbgott", "Halbgöttin"),
48=>array("Untergott","Untergöttin")
);

$beta = (getsetting("beta",0) == 1 || $session['user']['beta']==1);

/* Lover-Abfrage by Auric START */
function lover($wert="*",$player=false) {
global $session;
if($session['user']['marriedto']==0 || $session['user']['marriedto']==4294967295) {
return false;
} else {
if($player==false) {
$sql="SELECT `{$wert}` FROM `accounts` WHERE `acctid`={$session[user][marriedto]}";
} else {
$sql="SELECT `{$wert}` FROM `accounts` WHERE `acctid` = {$player} LIMIT 1";
}
$lover=db_fetch_assoc(db_query($sql));
if($lover) {
return $lover;
} else {
return false;
}
}
}
/* Lover-Abfrage by Auric ENDE */

?>
')

EDIT: Hat sich erledigt hab den fehler gefunden

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