anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mo 09 Jun, 2025 07:11

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Geschenkeladen editor
BeitragVerfasst: Mo 26 Mai, 2008 21:50 
Offline
Eingeweihter
Eingeweihter

Registriert: So 11 Mai, 2008 11:56
Beiträge: 66
LoGD: legendotgd.de.vu
Ich möchte drauf hinweisen das man hier deutsch sprechen sollte,
also so, dass es auch ein Anfänger wie ich versteht.

Es geht mir darum wie ich Geschenke hinzufügen kann oder ob es sogar
einen editor gibt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Geschenkeladen editor
BeitragVerfasst: Mo 26 Mai, 2008 22:01 
Offline
User
User

Registriert: Mi 21 Mai, 2008 10:36
Beiträge: 10
PHP:
addnav("Tulpe","newgiftshop.php?op=send&op2=gift1");
if ($session[user][gold] > 10) addnav("Rose - 10 Gold","newgiftshop.php?op=send&op2=gift2");
if ($session[user][gold] > 20) addnav("Strauß Rosen - 20 Gold","newgiftshop.php?op=send&op2=gift3");
if ($session[user][gold] > 40) addnav("Pralinen - 40 Gold","newgiftshop.php?op=send&op2=gift4");
if ($session[user][gold] > 60) addnav("Freundschaftsbändchen - 60 Gold","newgiftshop.php?op=send&op2=gift5");
if ($session[user][gold] > 100) addnav("Freundschaftsanhänger - 100 Gold","newgiftshop.php?op=send&op2=gift6");
if ($session[user][gold] > 200) addnav("Halskette - 200 Gold","newgiftshop.php?op=send&op2=gift7");
if ($session[user][gold] > 500) addnav("Plüschdrachen - 500 Gold","newgiftshop.php?op=send&op2=gift8");
if ($session[user][gold] > 1000) addnav("Beutel Heilkräuter - 1000 Gold","newgiftshop.php?op=send&op2=gift9");
if ($session[user][gold] > 1500) addnav("Drachenei - 1500 Gold","newgiftshop.php?op=send&op2=gift10");
if ($session[user][gold] > 2000) addnav("Goldenes Amulett - 2000 Gold","newgiftshop.php?op=send&op2=gift11");
if ($session[user][gold] > 3000) addnav("Seltsamer Schädel - 3000 Gold","newgiftshop.php?op=send&op2=gift12");
output("`n<ul><a href=\"newgiftshop.php?op=send&op2=gift1\">Tulpe</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift1");
if ($session[user][gold] > 10){
output("<a href=\"newgiftshop.php?op=send&op2=gift2\">Rose - 10 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift2");
}
if ($session[user][gold] > 20){
output("<a href=\"newgiftshop.php?op=send&op2=gift3\">Strauß Rosen - 20 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift3");
}
if ($session[user][gold] > 40){
output("<a href=\"newgiftshop.php?op=send&op2=gift4\">Pralinen - 40 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift4");
}
if ($session[user][gold] > 60){
output("<a href=\"newgiftshop.php?op=send&op2=gift5\">Freundschaftsbändchen - 60 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift5");
}
if ($session[user][gold] > 100){
output("<a href=\"newgiftshop.php?op=send&op2=gift6\">Freundschaftsanhänger - 100 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift6");
}
if ($session[user][gold] > 200){
output("<a href=\"newgiftshop.php?op=send&op2=gift7\">Halskette - 200 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift7");
}
if ($session[user][gold] > 500){
output("<a href=\"newgiftshop.php?op=send&op2=gift8\">Plüschdrachen - 500 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift8");
}
if ($session[user][gold] > 1000){
output("<a href=\"newgiftshop.php?op=send&op2=gift9\">Beutel Heilkräuter - 1000 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift9");
}
if ($session[user][gold] > 1500){
output("<a href=\"newgiftshop.php?op=send&op2=gift10\">Drachenei - 1500 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift10");
}
if ($session[user][gold] > 2000){
output("<a href=\"newgiftshop.php?op=send&op2=gift11\">Goldenes Amulett - 2000 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift11");
}
if ($session[user][gold] > 3000){
output("<a href=\"newgiftshop.php?op=send&op2=gift12\">Seltsamer Schädel - 3000 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift12");
}


So sieht das ganze in der newgiftshop.php aus. Wenn du nun etwas hinzufügen willst, dann brauchst du den Preis, setzt deinen Nav an die richtige Stelle (wenn die Abfrage wegen dem Gold schon vorhanden ist, {} nicht vergessen) und einen Text wie bei den anderen an die richtige Stelle setzen.

Weiter unten kommen dann die Abfragen bezüglich der op2. Da du deinem Geschenk wahrscheinlich den "Namen" gift13 gibts, musst du noch zusätzlich im Stil der vorhergehenden Abfragen eine neue hinzufügen.

Beispiel wäre jetz eine... goldene Rose (Handarbeit) für 3000 Gold. Dann änderst du den oberen Navteil so um:
PHP:
if ($session[user][gold] > 3000){
addnav("Seltsamer Schädel - 3000 Gold","newgiftshop.php?op=send&op2=gift12");
addnav("Goldene Rose (Handarbeit) - 3000 Gold","newgiftshop.php?op=send&op2=gift13");}


Dann fügst du nach
PHP:
output("<a href=\"newgiftshop.php?op=send&op2=gift12\">Seltsamer Schädel - 3000 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift12");

noch
PHP:
output("<a href=\"newgiftshop.php?op=send&op2=gift13\">Goldene Rose (Handarbeit) - 3000 Gold</a><br>",true);
addnav("","newgiftshop.php?op=send&op2=gift13");


Zu guter letzt fügst du hinter
PHP:
if ($HTTP_GET_VARS[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 Ramius bringt!";
db_query("UPDATE accounts SET deathpower=deathpower+$gefallen WHERE acctid=$name");
$session[user][gold]-=3000;
}

noch
PHP:
if ($HTTP_GET_VARS[op2]=="gift13"){
$gift="Goldene Rose (Handarbeit)";
$session[user][gold]-=1500;
}

an. Und schon sollte das neue Geschenk im Laden sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Geschenkeladen editor
BeitragVerfasst: Di 27 Mai, 2008 12:09 
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
Anmerken sollte man dabei noch, daß die Rose, wenn Du sie unten noch beifügst, wie es Atrocis beschrieben hat,

$this->bbcode_second_pass_code('', '
if ($HTTP_GET_VARS[op2]=="gift13"){
$gift="Goldene Rose (Handarbeit)";
$session[user][gold]-=1500;
}
')

einfach nur ein Geschenk ist, also nicht im Haus eingelagert werden kann und nach dem Schenken schon wieder weg ist. Willst Du dagegen ein Geschenk schaffen, daß im haus auch eingelagert werden kann, mußt Du es unten so anfügen:

$this->bbcode_second_pass_code('', '
if ($HTTP_GET_VARS[op2]=="gift13"){
$gift="Goldene Rose (Handarbeit)";
db_query("INSERT INTO items (name,owner,class,gold,description) VALUES ('`^Goldene Rose',$name,'Geschenk',15'`2Eine handgearbeitete, `^goldene Rose`2. Ein Geschenk von ".$session[user][name].".')");
$session[user][gold]-=1500;
')
Statt 15 (gibt den Wert in Gold beim Verkauf an) kannst Du auch 1, 1000 oder jeden beliebigen Wert nehmen, bedenke aber, daß es nicht zuviel Gold geben sollte, sonst hast Du Dir einen BUG geschaffen, wie Spieler, nach dem DK, wieder schnell zu Gold komen können.
Den Text hinten kannst Du auch nach belieben ändern, er ist das, was im Haus dann angezeigt wird hinter dem Gegenstand, sprich, wenn Du das einfügst, was ich oben geschrieben habe, siehst Du im Haus dann folgendes:

Goldene Rose Eine handgearbeitete, goldene Rose. Ein Geschenk von XY (XY=Name des Schenkers)

So kannst Du dann so viele, neue Geschenke, die man im Haus einlagern kann, machen, wie Du willst... :wink:

_________________
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: Geschenkeladen editor
BeitragVerfasst: Di 27 Mai, 2008 13:17 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 17 Apr, 2006 08:39
Beiträge: 290
Wohnort: Lübeck
Geschlecht: Männlich
LoGD: http://antara-rosadrache.de
Skype: eichi-san
Bitte, wenn schon immerwieder die Rede von PHP5 ist, dann korregiert das gleich mit..

Anstelle von $HTTP_GET_VARS das benutzen -> $_GET

Garnicht erst anfangen wieder son "Mist" einzubauen.. gewöhnt es euch lieber gleich an ;)

LG, Eichi

EDIT
Und die Arrayschlüssel.. und die SQL dürfte nicht gehen, Strings müssen in ' gesetzt sein.. Außerdem ein Komma vergessen...

$this->bbcode_second_pass_code('', ' if ($_GET['op2']=="gift13"){
$gift="Goldene Rose (Handarbeit)";
db_query("
INSERT INTO items (
name,owner,class,gold,description
) VALUES (
'`^Goldene Rose','{$name}','Geschenk',15,'`2Eine handgearbeitete, `^goldene Rose`2. Ein Geschenk von {$session['user']['name']}'
)
");
$session[user][gold]-=1500;
}')

Viel hübscher :P

_________________
Ist es nicht die Weisheit, die ein Mensch zu erlangen sucht?!
Der Knochen kommt nicht von alleine zum Hund, schön wärs ._.

Schokopudding, der sich von alleine kochen kann.......


BLUBBBEL!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Geschenkeladen editor
BeitragVerfasst: Di 27 Mai, 2008 15:11 
Offline
User
User

Registriert: Mi 21 Mai, 2008 10:36
Beiträge: 10
Eichi hat geschrieben:
Anstelle von $HTTP_GET_VARS das benutzen -> $_GET
Garnicht erst anfangen wieder son "Mist" einzubauen.. gewöhnt es euch lieber gleich an ;)

Memo an mich selbst, ab 23 Uhr die c&p-Texte erst noch einmal checken xD


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Geschenkeladen editor
BeitragVerfasst: Di 27 Mai, 2008 15:30 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Eichi: Wenn man schon auf solche Kleinigkeiten hindeutet, dann sollte man auch alles ändern.
$session['user']['gold'] -= 1500;

Im übrigen kann man sowohl '{$name}' als auch einfach $name schreiben, wobei mir zweiteres besser gefällt, da man schlichtwegs weniger schreiben muss. Aber wieso verwendest du hier die {} anstelle von '..'? Wird von kaum Jemandem gebraucht, und führt daher eher zu Verwirrung.


Eine Frage hab ich dann allerdings doch. Was ist der genaue Unterschied zwischen ' {$name} ' und ' '.$name.' '? Und irre ich mich, wenn ich meine, dass man {} eher für integere Werte verwenden sollte denn für Strings?


Mit freundlichen Grüssen,
Harthas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Geschenkeladen editor
BeitragVerfasst: Di 27 Mai, 2008 15:48 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 17 Apr, 2006 08:39
Beiträge: 290
Wohnort: Lübeck
Geschlecht: Männlich
LoGD: http://antara-rosadrache.de
Skype: eichi-san
$session['user']['gold'] -= 1500;

Hab ich übersehen ^^°

Zitat:
Eine Frage hab ich dann allerdings doch. Was ist der genaue Unterschied zwischen ' {$name} ' und ' '.$name.' '? Und irre ich mich, wenn ich meine, dass man {} eher für integere Werte verwenden sollte denn für Strings?


'. <- Der . ist lediglich ein verkettungsoperator, kann Fehler verursachen wenn man ' anstelle von " in einem String benutzt, da PHP Variablen in Strings mit " interpretiert, mit ' hingegen nicht, es sei denn du benutzt {}, was PHP nebenbei bemerkt schneller interpretiert da es genau weiß was mit dem String angestellt werden soll, bei deiner Lösung "sucht" PHP also erstmal nach einer Lösung, wobei deine Lösung nicht falsch ist.

Vieles ist auch ne Frage des Geschmacks, das war aber auch nicht mein Ziel, mir ging es hauptsächlich um die Fehler, Komma fehlt etc.

LG, Eichi

EDIT
Da $name im obigen Beispiel ein String ist und kein Boolean-Wert/INTEGER müsste es in der SQL mit ' eingetragen werden, da PHP mit ' aber keine Variablen mehr interpretiert würde die SQL nichtmehr funktionieren.
Weitere Lösung wäre mit escapen, wieder die Geschmacksfrage..
Auszug aus der SQL:
,\"$name\",
oder eben
,'{$name}',

Falsch:
,$name,
es sei denn es ist ein INTEGER-Wert oder NULL, false, true
;)
Hab ich was vergessen? :pein:

_________________
Ist es nicht die Weisheit, die ein Mensch zu erlangen sucht?!
Der Knochen kommt nicht von alleine zum Hund, schön wärs ._.

Schokopudding, der sich von alleine kochen kann.......


BLUBBBEL!


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 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