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

mal wieder ne Frage zum geschenkeladen diesmal :)
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=1579
Seite 1 von 1

Autor:  Rikkarda [ Mi 20 Jul, 2005 16:08 ]
Betreff des Beitrags:  mal wieder ne Frage zum geschenkeladen diesmal :)

Bei mir horten sich mittlerweile beschwerden darüber, dass viele den eigentlichen Sinn des Geschenkeladen vergessen haben und die Toten Bettelmails an die lebenden schreiben und um Gefallen bitten.. einige schlagen bei absagen auch mal über die Stränge ;) nun haben die Bewohner von Silienta die Bitte an mich herangetragen das verschicken von Schädeln auf einen einmal täglichen Empfang zu reduzieren..

ich ab mich also dran versucht und leider keinen Erfolg gehabt.. ich bekomme einfach keinen db Eintrag beim Empfänger hin ;((


der Origninalcode für die Schädel sieht so aus:


if ($_GET[op2]=="gift12"){
$gift="Seltsamer Schädel";
$gefallen=e_rand(5,10);
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Doch eine seltsame Kraft wird frei, die dir $gefallen Gefallen bei Nardor bringt!";
db_query("UPDATE accounts SET deathpower=deathpower+$gefallen WHERE acctid=$name");
$session[user][gold]-=5000;
}


wie bekomme ich die Datenbank nun dazu für den Empfänger neben den Gefallen auch noch einen Eintrag zu machen Geschenk=1 , so dass man erst am neuen Tag einen weiteren Schädel erhalten könnte...


ich hoffe da kann uns wer weiterhelfen, denn die 2. Wahl war den Preis auf 7 gems zu erhöhen.. nur der Nachteil ist eben das sicherlich immer noch genausoviele betteln werden, dass die Spieler ihre Edelsteine opfern ;(


lg Rikka

Autor:  Eliwood [ Mi 20 Jul, 2005 16:49 ]
Betreff des Beitrags:  Re: mal wieder ne Frage zum geschenkeladen diesmal :)

[php]
# -- [SQL] --
# ALTER TABLE accounts ADD geschenk enum('Y','N') default 'N';

# -- [SEARCH] --
if ($_GET[op2]=="gift12"){
$gift="Seltsamer Schädel";
$gefallen=e_rand(5,10);
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Doch eine seltsame Kraft wird frei, die dir $gefallen Gefallen bei Nardor bringt!";
db_query("UPDATE accounts SET deathpower=deathpower+$gefallen WHERE acctid=$name");
$session[user][gold]-=5000;
}
# -- [REPLACE WITH] --
if ($_GET[op2]=="gift12"){
$row = db_fetch_assoc(db_query("SELECT acctid,name,geschenk FROM accounts WHERE acctid=$name"));
if ("N" == $row['geschenk'])
{
$gift="Seltsamer Schädel";
$gefallen=e_rand(5,10);
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Doch eine seltsame Kraft wird frei, die dir $gefallen Gefallen bei Nardor bringt!";
$session[user][gold]-=5000;
}
else
$gift="Seltsamer Schädel";
$gefallen=e_rand(5,10);
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Du höhrst aber nichts mehr als ein Lachen und fegst traurig die Stücke weg";
db_query("UPDATE accounts SET deathpower=deathpower+$gefallen WHERE acctid='$row[acctid]'");
$session[user][gold]-=5000;
}

[/php]

Ungetestet :)

Autor:  Meteora [ Mi 20 Jul, 2005 17:05 ]
Betreff des Beitrags: 

[php]if ($_GET[op2]=="gift12"){
$row = db_fetch_assoc(db_query("SELECT acctid,name,geschenk FROM accounts WHERE acctid=$name"));
if ("N" == $row['geschenk'])
{
$gift="Seltsamer Schädel";
$gefallen=e_rand(5,10);
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Doch eine seltsame Kraft wird frei, die dir $gefallen Gefallen bei Nardor bringt!";
$session[user][gold]-=5000;
}
else
$gift="Seltsamer Schädel";
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Du höhrst aber nichts mehr als ein Lachen und fegst traurig die Stücke weg";
$session[user][gold]-=5000;
}
[/php]

besser ;)

Autor:  Eliwood [ Mi 20 Jul, 2005 17:19 ]
Betreff des Beitrags: 

Argh, am falschen Ort gelandet dieser Query :D

Noch besser:

[php]if ($_GET[op2]=="gift12"){
$row = db_fetch_assoc(db_query("SELECT acctid,name,geschenk FROM accounts WHERE acctid=$name"));
if ("N" == $row['geschenk'])
{
$gift="Seltsamer Schädel";
$gefallen=e_rand(5,10);
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Doch eine seltsame Kraft wird frei, die dir $gefallen Gefallen bei Nardor bringt!";
db_query("UPDATE accounts SET deathpower=deathpower+$gefallen,geschenk='Y' WHERE acctid='$row[acctid]'");
$session[user][gold]-=5000;
}
else
{
$gift="Seltsamer Schädel";
$gefallen=e_rand(5,10);
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Du höhrst aber nichts mehr als ein Lachen und fegst traurig die Stücke weg";
$session[user][gold]-=5000;
}
} [/php]

Ach ja, in der newday noch $session['user']['geschenk'] = 'N';

Autor:  Rikkarda [ Mi 20 Jul, 2005 17:21 ]
Betreff des Beitrags: 

also erster Test von Hadi alle Schädel ohne Gefallen ;) mal den 3. jetzt versuch^^

Autor:  Rikkarda [ Mi 20 Jul, 2005 17:55 ]
Betreff des Beitrags: 

hm also es kommt bei allen Vorschlägen weder ein Eintrag geschenk=1 (was ich mir auch dachte, weil es nirgends drin steht^^) noch hat der erste Schädel gefallen gehabt ;) es kam gleich "Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Du höhrst aber nichts mehr als ein Lachen und fegst traurig die Stücke weg" ;(


lg Rikka


p.s. sry für doppelpost

Autor:  Eliwood [ Mi 20 Jul, 2005 18:54 ]
Betreff des Beitrags: 

Braucht es auch net ;)

db_query("UPDATE accounts SET deathpower=deathpower+$gefallen,geschenk='Y' WHERE acctid='$row[acctid]'");

,geschenk='Y'

Da wird geschrieben, dass der user das schon bekommt ;)

EDIT: Bei mir gehts einwandfrei, danke für die Idee ;)

Autor:  Rikkarda [ Mi 20 Jul, 2005 18:55 ]
Betreff des Beitrags: 

ja unglücklich ausgedrückt.. der erste Schädel ist aber auch bei N leer.. und es gibt keinen Eintrag für Y dann ;(

ist bei dir denn definitiv der erste Schädel mit Gefallen? *dummguck*

Autor:  Eliwood [ Mi 20 Jul, 2005 19:06 ]
Betreff des Beitrags: 

Rikkarda hat geschrieben:
ja unglücklich ausgedrückt.. der erste Schädel ist aber auch bei N leer.. und es gibt keinen Eintrag für Y dann ;(


Doch, im gleichen Query, du wolltest ja, dass der User nur einmal einen Schädel bekommen kann, aber beliebig viele verschicken, oder nicht?

Autor:  Rikkarda [ Mi 20 Jul, 2005 19:13 ]
Betreff des Beitrags: 

das stimmt.. nur sollte zumindest der erste empfangene Schädel auch Gefallen enthalten.. bei meinen tests war der Schädel nach dem newday aber auch leer... und beim nachsehen in der db war geschenk immer noch N obwohl er ja einen erhalten hat (der allerdings leer war)

Autor:  Eliwood [ Mi 20 Jul, 2005 19:20 ]
Betreff des Beitrags: 

Rikkarda hat geschrieben:
das stimmt.. nur sollte zumindest der erste empfangene Schädel auch Gefallen enthalten.. bei meinen tests war der Schädel nach dem newday aber auch leer... und beim nachsehen in der db war geschenk immer noch N obwohl er ja einen erhalten hat (der allerdings leer war)


Hab das aus meinen 2ten Post genauso eingebaut wies dort steht und es hat einwandfrei bei Tests geklappt....

Hier nochmal, so wie ichs bei mir hab (Eigenlich genau so...)
[php]
if ($_GET[op2]=="gift12"){
$row = db_fetch_assoc(db_query("SELECT acctid,name,geschenk FROM accounts WHERE acctid=$name"));
if ("N" == $row['geschenk'])
{
$gift="Seltsamer Schädel";
$gefallen=e_rand(5,10);
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Doch eine seltsame Kraft wird frei, die dir $gefallen Gefallen bei Nardor bringt!";
db_query("UPDATE accounts SET deathpower=deathpower+$gefallen,geschenk='Y' WHERE acctid='$row[acctid]'");
$session[user][gold]-=3000;
}
else
{
$gift="Seltsamer Schädel";
$gefallen=e_rand(5,10);
$effekt="Du untersuchst dieses merkwürdige Geschenk genauer. Dabei rutscht es dir aus der Hand und zerplatzt am Boden in 1000 Stücke. Du höhrst aber nichts mehr als ein Lachen und fegst traurig die Stücke weg";
$session[user][gold]-=3000;
}
}[/php]

Autor:  Rikkarda [ Do 21 Jul, 2005 03:02 ]
Betreff des Beitrags: 

hm frag mich warum aber wenn ich deinen 2. Post nehme funzt es komischerweise bei mir jetzt auch :) superdanke dir :)

lg Rikka

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