anpera.net
https://anpera.homeip.net/phpbb3/

Bei Anklick Geldabzug
https://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=3132
Seite 1 von 1

Autor:  Appx [ Do 23 Nov, 2006 03:31 ]
Betreff des Beitrags:  Bei Anklick Geldabzug

Also ich habe neue Orte eingebaut doch will ich das so einstellen das wenn man auf denn Link zu dem Ort Klickt einem 250 Gold abgezogen werden jetzt die frage wie muss ich denn Link da gestalten das es ihm automatisch beim Anklicken die 250 Gold abzieht ?

Mfg, Appx

Autor:  Tidus [ Do 23 Nov, 2006 03:46 ]
Betreff des Beitrags: 

Ich empfehle dir das du es eventuell so machst


Du klickst den link und kommst in ein zwischen teil wo 250 gold abzeogen wird und auf das wo man danach hinkommt redirectet wird ungefähr so:

[php]
addnav('blubb','xxx.php?op=gold');

if($_GET['op']=='gold'){
$session['user']['gold']-=250;
redirect("xxx.php?op=der ort wo du hin willst");
}
[/php]
ich hoffe ich konnte dir helfen und das es in etwa so funktioniert wie du es gern hättest :D

Autor:  Appx [ Do 23 Nov, 2006 06:22 ]
Betreff des Beitrags: 

das funkt irgendwie ned ....

Autor:  Harthas [ Do 23 Nov, 2006 07:29 ]
Betreff des Beitrags: 

[php]addnav('blubb','blubb.php?op=blabb');

if($_GET['op']=='blabb'){
$session['user']['gold']-=250;
output("Dies ist ei gar mächtiges Blubb");
} [/php]


Vermutlich liegt es daran, dass er ein redirect eingebaut hatte ;-)

Oder wie hast du es denn genau angewendet?

Autor:  Tidus [ Do 23 Nov, 2006 10:33 ]
Betreff des Beitrags: 

hm, aber wenn du in die stadt php das einbaust wird es doch ejdesmal abgezogen wenn er auf die hauptstadt geht das is doch doof :pein:

Autor:  Rikkarda [ Do 23 Nov, 2006 11:06 ]
Betreff des Beitrags:  Re: Bei Anklick Geldabzug

Appx hat geschrieben:
Also ich habe neue Orte eingebaut doch will ich das so einstellen das wenn man auf denn Link zu dem Ort Klickt einem 250 Gold abgezogen werden jetzt die frage wie muss ich denn Link da gestalten das es ihm automatisch beim Anklicken die 250 Gold abzieht ?

Mfg, Appx



ich würde es auch wenn so machen, dass er das gold in der bank abzieht denn sonst hast du vielleicht minus in der Tasche. oder halt den link nur sichtbar machst wenn derjenige auch fakt 250 gold bei sich trägt.. denn wenn einer 0 gold in tasche und 0 gold in bank hat.. sollte er den ort doch sicher auch net betreten dürfen oder?

Autor:  Leen [ Do 23 Nov, 2006 11:12 ]
Betreff des Beitrags: 

ich würde es so machen:

[php]
// Ausgangsscript.php:
addnav('blubb (soundsoviel Gold)','blubb.php?op=blabb');

// blubb.php:

if($_GET['op']=='blabb'){
if ($session['user']['gold'] < 250){
output("Du kannst den Wegzoll nicht bezahlen, kehre um!");
addnav("zurück","Ausgangsscript.php");}
else{
$session['user']['gold']-=250;
output("Du hast den Wegzoll bezahlt");
addnav("Weiter","blubb.php");}
} [/php]

Man könnte natürlich den Teil auch im Ausgangsscript reinschreiben, das wäre egal

Zitat:
hm, aber wenn du in die stadt php das einbaust wird es doch ejdesmal abgezogen wenn er auf die hauptstadt geht das is doch doof


Wenn er jedesmal für z.b. das Passieren der Strasse/Tor bezahlen soll, dann ist das doch ok, wenn er aber nur einmal bezahlen soll, wäre hier wohl meines Erachtens eine Abfrage von Nöten, mit Datenbank-Eintrag in der Accounts z.B. "wegzoll" und das auf 1 setzen, wenn er ihn bezahlt hat und beim neuen Tag auf 0 oder nie mehr .. wie auch immer die Wünsche des Einbauers sind

Autor:  Bill Tür [ Do 23 Nov, 2006 11:27 ]
Betreff des Beitrags: 

Setz doch einfach ne Tür oder nen Raum dazwischen.

dann kommt in die Village der addnav auf den durchgang, der in etwa so aussieht:
[php]
if $session[user][gold]>=250 {
addnav("zahlen und eintreten","durchgang.php?op=zahle");
addnav("doch nicht","village.php");
}ELSE{
output("komm wieder wenn du geld hast.");
addnav("zurück","village.php");
}

if($_GET['op']=='zahle') {
$session[user][gold]-=250;
addnav("weiter","blubb.php");
}
[/php]

is umständlich, aber funzt und kann als grundlage für alle durchgänge dieser art genutzt werden ^^

Autor:  Tidus [ Do 23 Nov, 2006 12:16 ]
Betreff des Beitrags: 

Ob man jetz weiter klickt oder autmoatisch zur Stadt weitergeleitet wird ist doch egal xD

Autor:  Harthas [ Do 23 Nov, 2006 12:49 ]
Betreff des Beitrags: 

Man könnte es natürlich auch so machen :-P

[php]addnav("GOld bezahlen","bezahlen.php?op=gold&wert=50");

if($_GET['op']=='gold') {

$session['user']['gold']-=$_GET['wert'];
addnav("weiter","blubb.php");
}
[/php]

Und dann, je nachdem wie viel abgeogen werden soll, den Nav etwas verändern (Kann durchaus praktisch sein, wenn die Spieler unterschiedlich viel zahlen müssen, um an den gleichen Ort zu kommen).

Autor:  theTJ [ Do 23 Nov, 2006 19:12 ]
Betreff des Beitrags: 

Harthas hat geschrieben:
Man könnte es natürlich auch so machen :-P

[php]addnav("GOld bezahlen","bezahlen.php?op=gold&wert=50");

if($_GET['op']=='gold') {

$session['user']['gold']-=$_GET['wert'];
addnav("weiter","blubb.php");
}
[/php]

Und dann, je nachdem wie viel abgeogen werden soll, den Nav etwas verändern (Kann durchaus praktisch sein, wenn die Spieler unterschiedlich viel zahlen müssen, um an den gleichen Ort zu kommen).


auch dann kann man noch ausweiten ;-)

man könnte ein script auch so aufbauen und dazwischen schalten:
[php]
//link
addnav("Woauchimmer","pay.php?j=woauchimmer.php&amp;g=100");


// pay.php
if(!isset($_GET['j'])) {
//nur zur sicherheit falls n link kaputt ist...
output("Scriptfehler");
addnav("Zurück zum Dorf","village.php");
} else {
if(!isset($_GET['g'])) { $gold = 50; }
else { $gold = $_GET['g']; }
$jurney = $_GET['j'];

output("Du musst ".$gold." Gold Wegzoll bezahlen");
if($session['user']['gold'] >= $gold) addnav("bezahle und geh weiter",$jurney);
if($session['user']['gold'] < $gold) addnav("Du hast nicht genug Gold");
addnav("zur&uuml;ck","village.php");
}
[/php]

natürlich kann man über eine dritte Variable noch verschiedene zurückmöglichkeiten manchen...

ungetestet, aber sollte funzen ;-)
greetz

theTJ

Autor:  anpera [ Do 23 Nov, 2006 19:38 ]
Betreff des Beitrags: 

Mit einem addnav auf den Ort verweisen. Z.B.:

addnav("50 Gold bezahlen und betreten","ort.php?op=betreten");

Im Script dann z.B.:
[php]// ort.php

...

// Gold abziehen beim ersten Betreten
if ($_GET['op']="betreten"){
if ($session['user']['gold']<50){
output("`\$Nicht genug Gold!");
addnav("Zur Bank","bank.php");
}else{
$session['user']['gold']-=50;
}
}

// Eigentliches Script
if ($_GET['op']="blablablubb"){
...
addnav("Zurück","ort.php"); // Zurück zu Ort, ohne erneut zu bezahlen
...
}elseif ($_GET['op']="hmpf"){
...
addnav("Ins Dorf","village.php");
...
}else{
...
// Standardcode
...
addnav("Blablablubb","ort.php?op=blablablubb");
addnav("Hmpf","ort.php?op=hmpf");
...
}
...[/php]
Das spart sowohl ein redirect, wie auch den zusätzlichen Klick.

Autor:  Auric [ Fr 24 Nov, 2006 14:32 ]
Betreff des Beitrags: 

aber dann könnte man aus den if nach "// Eigentliches Script" auch noch ein elseif machen... wäre ordentlicher, odeR? ^^

Autor:  anpera [ Fr 24 Nov, 2006 14:39 ]
Betreff des Beitrags: 

Nein.
Denn dann würde nur das Geld abgezogen werden, ohne dass das eigentliche Script (unter dem letzten else) ausgeführt werden würde. Du müsstest dann wieder einen zusätzlichen Nav einfügen, um vom Geldabzug ins eigentliche Geschehen zu gelangen. ;)

Autor:  Auric [ Fr 24 Nov, 2006 18:21 ]
Betreff des Beitrags: 

Argh... übersehen :pein:

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