anpera.net
https://anpera.dyndns.org/phpbb3/

neue Räume bauen
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4587
Seite 1 von 1

Autor:  Doctamy [ Fr 27 Jun, 2008 09:39 ]
Betreff des Beitrags:  neue Räume bauen

Ich möchte gerne das der BM Räume bauen kann. Sprich für die Häuser oder für die Gilde.. Bei der Gilde wäre das zum Beispiel eine Schatzkammererweiterung. Eigentlich is das ja kein problem wenn ich wüsste wie ich die Rohstoffe bei uns abziehen kann. Da diese Erweiterungen ja auch Rohstoffe kosten sollen.

Ich geb jetzt einfach mal den Link für das Dorfamt, dort gibt es das Lager.

http://beta.legend-of-alfiriel.de/sourc ... 1&file=213

Das hier ist das Update wenn mann gearbeitet hat.

$this->bbcode_second_pass_code('', '$sql = 'SELECT Wert FROM lager where ID = 1'; //1 = holz, 2= stein 3 = getreide 4 = kohle
$result = db_query($sql) or die (db_error(LINK));
$row = db_fetch_assoc($result);
$wert = $row['Wert'];
$rohstoff = $wert + e_rand(1,5) ;

$sql = "UPDATE lager Set Wert = '$rohstoff' WHERE id = '1'";
$result = mysql_query($sql);')


Ich hoffe Ihr könnt mir helfen.

Autor:  Kevz [ Fr 27 Jun, 2008 10:47 ]
Betreff des Beitrags:  Re: neue Räume bauen

Damit z.B.?!
$this->bbcode_second_pass_code('', 'UPDATE `lager` SET `wert` = `wert`-5 WHERE `ID` = ...')

Autor:  Doctamy [ Fr 27 Jun, 2008 12:42 ]
Betreff des Beitrags:  Re: neue Räume bauen

omg war wohl noch nicht richtig wach...danke dir...


Edit: nun brauch ich noch die Abfrage. Also wenn nicht genug Rohstoffe da sind das man das nicht ausbauen kann..

Autor:  Morpheus [ Sa 28 Jun, 2008 13:50 ]
Betreff des Beitrags:  Re: neue Räume bauen

SQL ist nicht meine Stärke, aber mache eine Abfrage aller Werte aus dem Lager und weise ihnen Variablen zu,

$this->bbcode_second_pass_code('', '
$sql = 'SELECT Wert FROM lager where ID = 1';
$result = db_query($sql) or die (db_error(LINK));
$row = db_fetch_assoc($result);
$holz = $row['Wert'];
$sql = 'SELECT Wert FROM lager where ID = 2';
$result = db_query($sql) or die (db_error(LINK));
$row = db_fetch_assoc($result);
$stein = $row['Wert'];
...
')

Das hier wäre für jeden Rohstoff einzeln, aber einer der hiesigen SQL Experten kann Dir bestimmt den Befehl für die Sammelabfrage geben.
Danach, wenn Du es allgemein halten willst, eine einfache if Schleife

$this->bbcode_second_pass_code('', '
if (($holz<W) || ($stein<X) || ($getreide<Y) || ($kohle<Z)){
output("`3Du hast leider zu wenig Rohstoffe, um bauen zu können");
addnav("Z?`Zurück","xyz.php");
}else{
BAUBEGINNSCODE
}
')

Wenn Du es etwas ausführlicher machen willst, daß der Spieler auch weiß, was fehlt, mußt Du es ein wenig anders machen:

$this->bbcode_second_pass_code('', '
if ($holz<W){
output("`3Du hast leider zu wenig Holz, um bauen zu können");
addnav("Z?`Zurück","xyz.php");
}elseif ($stein<X){
output("`3Du hast leider zu wenig Stein, um bauen zu können");
addnav("Z?`Zurück","xyz.php");
}elseif ($getreide<X){
output("`3Du hast leider zu wenig Getreide, um bauen zu können");
addnav("Z?`Zurück","xyz.php");
}elseif ($kohle<X){
output("`3Du hast leider zu wenig Kohle, um bauen zu können");
addnav("Z?`Zurück","xyz.php");
}else{
BAUBEGINNCODE
}
')

Ich hoffe, daß Dir jetzt noch einer den richtigen Sammelbefehl gibt, dann solltest Du los legen können... :wink:

Autor:  Doctamy [ Sa 28 Jun, 2008 14:49 ]
Betreff des Beitrags:  Re: neue Räume bauen

Joa das hoffe ich auch....Vielen dank erstmal

Autor:  Doctamy [ Mo 07 Jul, 2008 21:30 ]
Betreff des Beitrags:  Re: neue Räume bauen

Kevz hat geschrieben:
Damit z.B.?!
$this->bbcode_second_pass_code('', 'UPDATE `lager` SET `wert` = `wert`-5 WHERE `ID` = ...')



Das funktioniert irgendwie nicht..ich hab mich heute mal dran gesetzt es fertig zu stellen aber der updatet die Zahlen nicht...Ich bekomme keine Fehlermeldung.

Autor:  -Vladir- [ Di 08 Jul, 2008 12:09 ]
Betreff des Beitrags:  Re: neue Räume bauen

Doctamy hat geschrieben:
Kevz hat geschrieben:
Damit z.B.?!
$this->bbcode_second_pass_code('', 'UPDATE `lager` SET `wert` = `wert`-5 WHERE `ID` = ...')



Das funktioniert irgendwie nicht..ich hab mich heute mal dran gesetzt es fertig zu stellen aber der updatet die Zahlen nicht...Ich bekomme keine Fehlermeldung.



$this->bbcode_second_pass_code('', '$sql = "UPDATE `lager` SET `wert` = `wert`-5 WHERE `ID` = ..."
db_query($sql) or die(sql_error($sql));')

so müsste es eiq funzen

Autor:  Kevz [ Di 08 Jul, 2008 12:32 ]
Betreff des Beitrags:  Re: neue Räume bauen

Doctamy,
wie sieht denn der PHP-Code bei dir aus, mit dem SQL-Syntax?!

Autor:  Doctamy [ Di 08 Jul, 2008 13:22 ]
Betreff des Beitrags:  Re: neue Räume bauen

Dank -Vladir- klappt es nun...Vielen Dank..

Autor:  -Vladir- [ Di 08 Jul, 2008 21:22 ]
Betreff des Beitrags:  Re: neue Räume bauen

Nichts Zu danken :D Helfe doch immer gerne ;)

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