anpera.net https://anpera.homeip.net/phpbb3/ |
|
Items kaufen, die nur einmalig verfügbar sind https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=3247 |
Seite 1 von 1 |
Autor: | Liriope [ Mo 01 Jan, 2007 17:00 ] |
Betreff des Beitrags: | Items kaufen, die nur einmalig verfügbar sind |
Also.. ich bin gerade dabei, einen Voodooladen zu proggen, Problem dabei ist nur, dass es Voodoopuppen geben soll, die aber nur einmalig vorhanden sind, also ähnlich wie die Items im Wald etc., das ist weiter nicht das problem nun soll aber aus einer Liste die Puppen auswählbar sein, und zwar -aller- Dorfbewohner, gibts die nicht, kommt ne Nachricht, ist die kaufbar, gehts dann zum Kauf weiter. Problem dabei eben erstmal, dass die Namen verwendet werden müssten und zu gucken, ob das Item schon in Besitz eines anderen Users ist. Habs bisher mal mit der Liste aus dem Shop im Garten versucht, wollte aber nicht recht funktionieren http://circle-of-prophets.com/logd/source.php?url=/logd/voodooshop.php ist dann der Link zur kompletten Source |
Autor: | Kevz [ Mo 01 Jan, 2007 19:03 ] |
Betreff des Beitrags: | |
Schonmal versucht eine Item Klasse zu erstellen, worin die Käufer mit der Voodoo-Pupe enthalten sind? Zwar nicht besonders Sauber, aber es sollte fürs erste ausreichen denke ich. Bearbeiten musst es ja dennoch ![]() Hier mal ein bsp: [php]<?php // Accounts auslesen // Voodoo-Puppen auslesen - // diese befinden sich in der Item Tabelle $sql = 'SELECT `a`.`acctid`, `a`.`name`, `i`.`owner` FROM `accounts` `a` LEFT JOIN `items` `i` ON `i`.`class` = "Voodoo"'; $result = db_query($sql) or die(db_error($sql)); // Variablen // über Voodoo-Puppen/Bewohner $User = ''; $Voodoo = ''; // Bewohner auflisten while ($row = db_fetch_assoc($result)) { // Voodoo-Puppen vorhanden? if ($row['owner'] == $row['acctid']) { $Voodoo .= sprintf('%s, ', addslashes(stripslashes($row['name']))); } else { $User .= sprintf('%s, ', addslashes(stripslashes($row['name']))); } } // Bewohner ausgeben output("Voodoo-Puppen:`n{$Voodoo}`n`nBewohner:`n{$User}"); ?>[/php] |
Autor: | Liriope [ Mo 01 Jan, 2007 20:00 ] |
Betreff des Beitrags: | |
Dankeschön, ich probiers morgen einmal. EDIT: Itemklasse hab ich schon erstellt, nennt sich vorläufig (ganz kreativ) Voodoo, auch alle Spieler sind inzwischen (wenn auch manuell) eingefügt, ich schau mal, ob ichs hinbekomme, dass bei der Charaktererstellung gleich eine Puppe erstellt wird. Itemklasse, wo jedoch die Käufer enthalten sind, hab ich nicht erstellt, hab gedacht, dass es mit einer variablen gehen müsste, da man ja ohnehin nur 1x pro DK eine kaufen kann. |
Autor: | anpera [ Mo 01 Jan, 2007 20:25 ] |
Betreff des Beitrags: | |
Warum machst du es nicht so, dass die Puppe mit der entsprechenden acctid im Feld hvalue (und dem Namen in der Beschreibung ... z.B.) erst dann erstellt wird, wenn ein Käufer danach fragt UND noch keine Puppe mit diesem hvalue in der items-Tabelle vorhanden ist? Ist schon eine Puppe vorhanden, kann diese halt nicht mehr gekauft werden, weil vorhanden = im Besitz ist. Bei Gebrauch oder Verlust wird die Puppe einfach wieder aus der items-Tabelle gelöscht und es kann von vorne beginnen. Oder hab ich da jetzt nen Denkfehler und versteh nicht ganz, was du brauchst? |
Autor: | Kevz [ Mo 01 Jan, 2007 20:30 ] |
Betreff des Beitrags: | |
Nein Anpera, du liegst schon richtig. Habe jetzt gerade auch den Denkfehler bemerkt wo du es auf das Datenbankfeld "hvalue" angesprochen hast. Denn dieses ist ja sozusagen "ein extra Feld" um extra Werte anzugeben. Wäre in deinem fall durchaus von vorteil/nöten. Btw.: Anpera, eine Frage am rande bzw Abseits des Thread Themas. Wie sieht es denn nun vorraussichtlich mit der neuen LotGD Version von dir aus der ext 4? |
Autor: | Liriope [ Di 02 Jan, 2007 14:13 ] |
Betreff des Beitrags: | |
Aber, um mal ganz dreist und unwissend zu fragen, wie wäre dann der Code für das Erstellen eines Items und das anschließende wieder Löschen, wenns denn gewünscht ist. Genau das ist es eigentlich, was ich brauch. |
Autor: | Kevz [ Di 02 Jan, 2007 14:41 ] |
Betreff des Beitrags: | |
Die übergabe der ID, erfolgt via URL übergabe id! Kann man natürlich auch anderswertig übergeben. Dient nur als bsp... Zb.: [php]<?php // Item Löschen nach // dem Wert hvalue! // hvalue, stellt die acctid // des Users da. $sql = 'DELETE FROM `items` WHERE `hvalue` = "'.(int)$_GET['id'].'" AND `class` = Voodoo""'; $result = db_query($sql) or die (db_error($sql)); // Prüfen ob Item // gelöscht wurde oder nicht. if (db_num_rows($result)) { rawoutput('Das Item wurde erfolgreich gelöscht!'); } else { rawoutput('Das Item konnte nicht gelöscht werden!'); } ?>[/php] |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |