anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 12 Jun, 2025 16:11

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Überfallen
BeitragVerfasst: Sa 24 Nov, 2007 19:33 
Offline
Newbie

Registriert: Fr 20 Jul, 2007 11:36
Beiträge: 6
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 ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 24 Nov, 2007 19:50 
Offline
Held
Held

Registriert: Di 18 Jul, 2006 16:03
Beiträge: 294
Ich hätte es so gemacht
if($session["user"]["uberfall"]==0){

:wink:

_________________
Billig und gut einfach nur zum empfehlen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 24 Nov, 2007 20:04 
Offline
Newbie

Registriert: Fr 20 Jul, 2007 11:36
Beiträge: 6
Varius hat geschrieben:
Ich hätte es so gemacht
if($session["user"]["uberfall"]==0){

:wink:


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.. :( Könnte mir da nochjemand helfen weil sonnst kann man belibig oft überfallen pro Tag :( Und jaja ich kenn mich mit sql net aus ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 24 Nov, 2007 20:44 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
[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 :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 24 Nov, 2007 21:39 
Offline
Profi
Profi
Benutzeravatar

Registriert: Di 20 Nov, 2007 11:55
Beiträge: 132
LoGD: http://www.land-elysion.de/logd/
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.

_________________
Ich kann das nicht! ....

Denk an die Hummel

Sie hat eine Flügelfläche von 0,7 cm² bei einem Eigengewicht von 1,2 g. Aerodynamisch ist es unmöglich, das eine solche Konstruktion flugfähig ist. Aber das weiß die Hummel nicht, sie fliegt dennoch!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 25 Nov, 2007 09:31 
Offline
Newbie

Registriert: Fr 20 Jul, 2007 11:36
Beiträge: 6
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.


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

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