anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Überfallen https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4153 |
Seite 1 von 1 |
Autor: | Noaimkiller [ Sa 24 Nov, 2007 19:33 ] |
Betreff des Beitrags: | Überfallen |
Hallo, ich habe ein kleines Problem bei meinem ersten Modul. Man sollte einmal am Tag jemanden (keinen richtigen Spieler sondern einen Computer) überfallen können. Nur leider kommt immer auch wenn man niemanden überfallen hat, dass man es schon getan hat. $this->bbcode_second_pass_code('', '<?php require_once "common.php"; page_header("Überfallen"); output("`c`b`&Jemanden überfallen`0`b`c"); if ($uberfall=="0") { $gold = e_rand($session[user][level]*10,$session[user][level]*50); output("`^Du hast einen Wanderer erfolgreich überfallen. Du hast $gold Gold erbeutet!`0"); $session[user][gold]+=$gold; $uberfall=="1"; } else { output("`^Du hast heute schoneinmal jemanden überfallen.`0"); } addnav("Zurück","village.php"); page_footer(); ?> ') Bitte verkneift euch die dummen Kommentare denn ich bin noch am lernen ^^ |
Autor: | Varius [ Sa 24 Nov, 2007 19:50 ] |
Betreff des Beitrags: | |
Ich hätte es so gemacht if($session["user"]["uberfall"]==0){ ![]() |
Autor: | Noaimkiller [ Sa 24 Nov, 2007 20:04 ] |
Betreff des Beitrags: | |
Varius hat geschrieben: Ich hätte es so gemacht
if($session["user"]["uberfall"]==0){ ![]() Danke ![]() Neuer Code: $this->bbcode_second_pass_code('', '<?php require_once "common.php"; page_header("Überfallen"); output("`c`b`&Jemanden überfallen`0`b`c"); if($session["user"]["uberfall"]==0){ $gold = e_rand($session[user][level]*10,$session[user][level]*50); output("`^Du hast einen Wanderer erfolgreich überfallen. Du hast $gold Gold erbeutet!`0"); $session[user][gold]+=$gold; $uberfall=="1"; $sql = "SELECT * FROM accounts WHERE uberfall='$_Post[uberfall]'"; } else { output("`^Du hast heute schoneinmal jemanden überfallen.`0"); } addnav("Zurück","village.php"); page_footer(); ?> ') Mit "$sql = "SELECT * FROM accounts WHERE uberfall='$_Post" wird aber "uberfall" net gespeichert.. ![]() ![]() |
Autor: | Naria [ Sa 24 Nov, 2007 20:44 ] |
Betreff des Beitrags: | |
[php]<?php require_once "common.php"; page_header("Überfallen"); output("`c`b`&Jemanden überfallen`0`b`c"); if($session["user"]["uberfall"]==0){ $gold = e_rand($session['user']['level']*10,$session['user']['level']*50); output("`^Du hast einen Wanderer erfolgreich überfallen. Du hast $gold Gold erbeutet!`0"); $session['user']['gold']+=$gold; /* $uberfall=="1"; //bringt nichts, da == vergleicht und nicht zuweist $sql = "SELECT * FROM accounts WHERE uberfall='$_Post[uberfall]'"; //Select wählt etwas aus, da du aber etwas verändern willst, müsstest du UPDATE nehmen(kann zu nem bug bei LogD führen) */ //Lässt sich aber einfacher machen: $session['user']['uberfall']=1; //damit weist du dem Feld 'uberfall' in der accounts des gerade aktiven Users den Wert 1 zu (das was du haben wolltest) } else { output("`^Du hast heute schoneinmal jemanden überfallen.`0"); } addnav("Zurück","village.php"); page_footer(); ?> [/php] So sollte es funktionieren, habe im Code ein wenig kommentiert ![]() |
Autor: | Dinarius [ Sa 24 Nov, 2007 21:39 ] |
Betreff des Beitrags: | |
als vorweghinweis ... nicht vergessen den auch wieder inner sql beim neuen Tag wieder zurück zusetzen. suche in newday.php[php]$session['user']['trauer']=0; $session['user']['seenmaster']=0;[/php] also irgendwo in dieser "Auflistung". und Füge dazu:[php]$session['user']['uberfall']=0;[/php] Dann wird es bei neuen Tag inner SQL auch wieder zurück gesetzt. Sonst würde es nur einmalig gehen. Wenn´s nicht zurücksetzt wird. |
Autor: | Noaimkiller [ So 25 Nov, 2007 09:31 ] |
Betreff des Beitrags: | |
Also ersteinmal Danke euch beiden =) @ Dinarius Danke =) Das wusst ich schon aber habs an den falschen Ort gesetzt @Naria Danke für die gute Erklärung =) So gehts. |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |