anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mi 11 Jun, 2025 08:23

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Items->Zaubertränke
BeitragVerfasst: Fr 22 Feb, 2008 21:25 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Hallo alle miteinader,
und zwar habe ich wieder einmal ein Problem.

Und zwar kann man ja im Wald Komponenten für magische Tränke finden, wie z.B. Fledermausflügel.
Nun ist es ja so, dass man das Item Fledermausflügel auch mehrmals finden kann (so hab ichs eingestellt), und das entsprechend in der Inventartabelle angezeigt wird.

Soweit so gut...

Nun ist es bei mir so, dass wenn man das Item Fledermausflügel in eine Vorratskammer steckt/lagert, wird es vom Inventar des Betreffenden gelöscht, dafür aber

db_query("UPDATE medi SET drachen='1'"); (Ist das so richtig????)

in der sql ein Feld um eins erhöht...

??Wie kann man anzeigen lassen??: Du hast X Fledermausflügel, die du lagern kannst...Wie viel möchtest du lagern???.
(Quasi eine Abfrage, wie viele gleiche items man hat)

MfG


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Fr 22 Feb, 2008 21:59 
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
Hmmm, was SQL betrifft, bin ich auch kein Zauberer, es ist eher meine Archillesverse, ich denke aber mal, das kannst Du so machen:
$this->bbcode_second_pass_code('', '
$acctid=$session[user][acctid];
$sql = "SELECT * FROM medi WHERE ownerid='$acctid'";
$result = db_query($sql);
$row = db_fetch_assoc($result);
$dra=$row['drachen'];

output (" Du hast $dra Fledermausflügel gelagert");
')
Du kannst auch alle anderen Sachen, die Du noch in der Tabelle geührt hast, damit abfragen und anzeigen lassen, Du mußt sie nur auch so definieren, wie die Fledermausflügel, z.B. für das Einhornhaar
$this->bbcode_second_pass_code('', '
$ein=$row['einhorn'];
')

_________________
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: Re: Items->Zaubertränke
BeitragVerfasst: Fr 22 Feb, 2008 22:11 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Zählen, wieviele Fledermausflügel vorhanden sind, kannst du, in etwa, so machen:

$this->bbcode_second_pass_code('', 'SELECT COUNT(*) FROM items WHERE name = 'Fledermausflügel' AND class = 'Beute' AND owner = :acctid')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Fr 22 Feb, 2008 22:30 
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
Eliwood hat geschrieben:
Zählen, wieviele Fledermausflügel vorhanden sind, kannst du, in etwa, so machen:

$this->bbcode_second_pass_code('', 'SELECT COUNT(*) FROM items WHERE name = 'Fledermausflügel' AND class = 'Beute' AND owner = :acctid')


Öhm, Eli, mag ja sein, daß ich da falsch liege mit dem Befehl, von dem ich dachte, er sei richtig, aber er hat die Fledemausflügel, wie er schreibt, in eine eigene Tabelle verschoben und sie, wieso auch immer, drachen genannt, zumindest entnehme ich das seinem Befehl, den er oben gepostet hat... ;)

_________________
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: Re: Items->Zaubertränke
BeitragVerfasst: Fr 22 Feb, 2008 23:13 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Morpheus hat geschrieben:
Eliwood hat geschrieben:
Zählen, wieviele Fledermausflügel vorhanden sind, kannst du, in etwa, so machen:

$this->bbcode_second_pass_code('', 'SELECT COUNT(*) FROM items WHERE name = 'Fledermausflügel' AND class = 'Beute' AND owner = :acctid')


Öhm, Eli, mag ja sein, daß ich da falsch liege mit dem Befehl, von dem ich dachte, er sei richtig, aber er hat die Fledemausflügel, wie er schreibt, in eine eigene Tabelle verschoben und sie, wieso auch immer, drachen genannt, zumindest entnehme ich das seinem Befehl, den er oben gepostet hat... ;)


Du liegst falsch:

Zitat:
Und zwar kann man ja im Wald Komponenten für magische Tränke finden, wie z.B. Fledermausflügel.
Nun ist es ja so, dass man das Item Fledermausflügel auch mehrmals finden kann (so hab ichs eingestellt), und das entsprechend in der Inventartabelle angezeigt wird.??

Wie kann man anzeigen lassen??: Du hast X Fledermausflügel, die du lagern kannst...Wie viel möchtest du lagern???.
(Quasi eine Abfrage, wie viele gleiche items man hat)


Ich verstehe das so:
User geht in Wald. Kloppt Monster. Die Droppen Fledermausflügel. Die wandern in die items-Tabelle wie gehabt. Er hat nun ne Funktion gebastelt, in der man einlagern kann: in der Tabelle medis 1 hoch, in der Tabelle items 1 Item weg. Unsinniger Umweg, wenn man mich fragt, denn in der item-Tabelle gehts genauso gut, aber wie er will. ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Sa 23 Feb, 2008 10:10 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
)Hallo,

vielen dank für eure superschnellen Antworten.

Du verstehst mich vollkommen richtig, Elliwood.
(Nur bin ich nicht ganz deiner Meinung, dass dieser Weg unsinnig ist :D )
Denn dadurch sollen mehrere Spieler(ausgewählte User) auf dieses Lager zugreifen können...

Also das heißt:

1.) User bekommt zum Beispiel eine Drachenschuppe im Wald
(und geg. mehrmals)->geht alles in die Inventartabelle
2.) User geht zum Lager, soll nun sehen können wie viele Drachenschuppen er insgesamt besitzt und wie viele er lagern kann...
(X- Drachenschuppen von der Inventartabelle werden gelöscht, dafür das Feld drachen in der db um X erhöht)
3.) Der Vorteil ist nun, dass andere user diese Items (in Form der db) verwenden können, bzw. aus dem Lager nehmen können. (das alles soll also global funktionieren)

Meine Probleme wären diese Anzeige, wie viele gleiche Items man besitzt, zu erstellen und dass wenn man zum Beispiel 1 von 2 möglichen Items ablegen möchte auch nur 1 von der Itemtabelle gelöscht wird...und die db um 1 erhöht wird.

Elliwood, dein Befehl funktioniert leider nicht, gibt folgenden Befehl:Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\logd\X.php on line 262

Ich hoffe ich habe mich nun etwas verständlicher ausgedrückt...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Sa 23 Feb, 2008 12:41 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Nur so ne Frage - du hast schon gemerkt, dass das nur ein SQL-Query war?

$this->bbcode_second_pass_code('', '$res = db_query("SELECT COUNT(*) AS count FROM items WHERE name = 'Fledermausflügel' AND class = 'Beute' AND owner = $acctid");
$row = db_fetch_assoc($res);
$anzahlFledermausflügel = $row['count']')

Einen Flügel löschen:

$this->bbcode_second_pass_code('', 'db_query("DELETE FROM items WHERE name = 'Fledermausflügel' AND class = 'Beute' AND owner = $acctid LIMIT 1");')

Alles "Beute" zählen:

$this->bbcode_second_pass_code('', '$res = db_query("SELECT COUNT(*) AS count, name FROM items WHERE class = 'Beute' AND owner = $acctid GROUP BY name ORDER BY name");
$row = db_fetch_assoc($res);
while($row = db_fetch_assoc($res)) {
echo "Von $row[name] gibt es $row[count] Stück";
}')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Sa 23 Feb, 2008 12:45 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Mo 24 Apr, 2006 18:21
Beiträge: 408
Geschlecht: Männlich
LoGD: http://localhost
Superman hat geschrieben:
)Hallo,

vielen dank für eure superschnellen Antworten.

Du verstehst mich vollkommen richtig, Elliwood.
(Nur bin ich nicht ganz deiner Meinung, dass dieser Weg unsinnig ist :D )
Denn dadurch sollen mehrere Spieler(ausgewählte User) auf dieses Lager zugreifen können...

Also das heißt:

1.) User bekommt zum Beispiel eine Drachenschuppe im Wald
(und geg. mehrmals)->geht alles in die Inventartabelle
2.) User geht zum Lager, soll nun sehen können wie viele Drachenschuppen er insgesamt besitzt und wie viele er lagern kann...
(X- Drachenschuppen von der Inventartabelle werden gelöscht, dafür das Feld drachen in der db um X erhöht)
3.) Der Vorteil ist nun, dass andere user diese Items (in Form der db) verwenden können, bzw. aus dem Lager nehmen können. (das alles soll also global funktionieren)

Meine Probleme wären diese Anzeige, wie viele gleiche Items man besitzt, zu erstellen und dass wenn man zum Beispiel 1 von 2 möglichen Items ablegen möchte auch nur 1 von der Itemtabelle gelöscht wird...und die db um 1 erhöht wird.

Elliwood, dein Befehl funktioniert leider nicht, gibt folgenden Befehl:Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\logd\X.php on line 262

Ich hoffe ich habe mich nun etwas verständlicher ausgedrückt...


Dir ist aber schon klar, das du das ganze in db_query() packen musst?

€dit: Eli war schneller :lol:

_________________
Mal wieder da...


Zuletzt geändert von Montekar am Sa 23 Feb, 2008 16:45, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Sa 23 Feb, 2008 13:16 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Wunderbar....ich musste zwar einige Befehle noch anpassen...aber es geht jetzt.....


Nur noch eine Sache....

Wie mache ich das, dass nun das db Feld immer um 1 erhöht wird????

??? db_query("UPDATE medi SET drachen=++");???


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Sa 23 Feb, 2008 14:23 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
$this->bbcode_second_pass_code('', '
$medizin = 'SELECT drachen FROM medi WHERE medi_owner="'.$session['user']['name'].'"';
$result = db_query($medizin);
$win_lost = db_fetch_assoc($result);

$win_lost['drachen']++;
')

Würde ich machen... Mit nem Update geht es aber auch....

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Sa 23 Feb, 2008 14:30 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Superman hat geschrieben:
Wunderbar....ich musste zwar einige Befehle noch anpassen...aber es geht jetzt.....


Nur noch eine Sache....

Wie mache ich das, dass nun das db Feld immer um 1 erhöht wird????

??? db_query("UPDATE medi SET drachen=++");???


$this->bbcode_second_pass_code('', 'db_query('UPDATE medi SET drachen=drachen+1');')

@MySQL: Das, was du machen willst, ist absolut blödsinnig. Wert holen, hochzählen, wieder reinschreiben braucht *mehr* Zeit (wohl etwa doppelt so viel) als ein einziger Query o.O


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Sa 23 Feb, 2008 15:05 
Offline
Eingeweihter
Eingeweihter

Registriert: Mi 11 Apr, 2007 10:38
Beiträge: 80
Vielen, vielen.....Tausend DANK Elliwood.....
Du hast mir wieder einmal aus der Patsche geholfen!!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Sa 23 Feb, 2008 16:16 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 11 Feb, 2006 19:39
Beiträge: 596
Wohnort: Stuttgart - Waiblingen
Geschlecht: Männlich
LoGD: http://logd.legend-of-vinestra.de/source
Skype: da-chosen-one
MySql hat geschrieben:
$this->bbcode_second_pass_code('', '
$medizin = 'SELECT drachen FROM medi WHERE medi_owner="'.$session['user']['name'].'"';
$result = db_query($medizin);
$win_lost = db_fetch_assoc($result);

$win_lost['drachen']++;
')

Würde ich machen... Mit nem Update geht es aber auch....

Was genau soll das machen?

_________________
$this->bbcode_second_pass_code('', '(define-record-procedures choco-cookie
make-choco-cookie choco-cookie?
(choco-cookie-choco
choco-cookie-cookie))

(define Prinzenrolle
(make-choco-cookie choco-cookie-choco-standard (* 2 choco-cookie-cookie-standard)))')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Items->Zaubertränke
BeitragVerfasst: Sa 23 Feb, 2008 16:39 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
ahhhhhhhhhhhhhh php ist wieder da :DDDDDDDDDDDD *vom hogger fall*

PHP:
$medizin = 'SELECT drachen FROM medi WHERE medi_owner="'.$session['user']['name'].'"';
$result = db_query($medizin);
$win_lost = db_fetch_assoc($result);

$win_lost['drachen']++;


MySql hat geschrieben:
Mit nem Update geht es aber auch....


PHP:
output('Derzeit hast du '.$win_lost['drachen'].' {begriff}! Plus diesen einen sind es '.$win_lost['drachen'].' {begriff}!');


So kann man das halt noch ausgeben...
dazu halt noch
PHP:
WHERE medi_owner="'.$session['user']['name'].'"':


kann natürlich auch "acctid" sein..

Naja beides geht... Das eine dauert halt ein bissel länger dafür kann man es noch auslesen!

My.

_________________
Never change a running system. Bullshit! ;)


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 17 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:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum