anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 24 Nov, 2009 07:54

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: problem mit ausrüsten von gegenständen
BeitragVerfasst: Do 08 Okt, 2009 07:31 
Offline
Eingeweihter
Eingeweihter

Registriert: So 17 Mai, 2009 11:57
Beiträge: 78
Wohnort: chemnitz, cottbus, koblenz
Geschlecht: Männlich
LoGD: gamingfacts.eu/source.php
Skype: drimatu
hallo, in meinem Inventar hab ich zur Zeit mehrere Dinge die ich ausrüsten könnte.
Das Problem: Egal welches Item ich ausrüsten möchte und es anklick, es wird immer das letzte in der Liste ausgerüstet. hab leider die nächsten 2-3 wochen keinen serverzugang, sodass ich nur auf xampp weiter arbeiten kann. mfg


Nach oben
 Profil E-Mail senden  
 
 Betreff des Beitrags: Re: problem mit ausrüsten von gegenständen
BeitragVerfasst: Do 08 Okt, 2009 16:37 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1337
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
hast du mal geschaut, ob die Links (die du zum Ausrüsten anklickst) korrekt sind? Womöglich verweisen die alle auf die selbe ID oder so.

Ansonsten: Querys ausgeben lassen und anschauen.

_________________
Mehr oder minder inaktiv


Nach oben
 Profil E-Mail senden  
 
 Betreff des Beitrags: Re: problem mit ausrüsten von gegenständen
BeitragVerfasst: Di 13 Okt, 2009 09:09 
Offline
Eingeweihter
Eingeweihter

Registriert: So 17 Mai, 2009 11:57
Beiträge: 78
Wohnort: chemnitz, cottbus, koblenz
Geschlecht: Männlich
LoGD: gamingfacts.eu/source.php
Skype: drimatu
falls noch jemand helfen kann, die datei ist nun auf dem server, es ist die rucksack.php.
sie wurde aus der invhandler.php und der prefs.php zusammen geschustert. mfg


Nach oben
 Profil E-Mail senden  
 
 Betreff des Beitrags: Re: problem mit ausrüsten von gegenständen
BeitragVerfasst: Di 13 Okt, 2009 09:48 
Offline
Freak
Freak
Benutzeravatar

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1767
Wohnort: Schweiz
Geschlecht: Männlich
Nach
Code:
if ($_GET['op']=="fit"){
muss erst einmal die Variable $item definiert werden. Muss die Item-Daten aus der Datenbank zur übergebenen ID enthalten.
Code:
$sql="SELECT * FROM items WHERE id=$_GET[id]";
$result = db_query($sql) or die(db_error(LINK));
$item = db_fetch_assoc($result);
So stehts auch in der invhandler.php ;-)

_________________
Ein Zwerg geht an einer Kneipe vorbei.


Nach oben
 Profil E-Mail senden  
 
 Betreff des Beitrags: Re: problem mit ausrüsten von gegenständen
BeitragVerfasst: So 01 Nov, 2009 22:32 
Offline
Eingeweihter
Eingeweihter

Registriert: Fr 17 Okt, 2008 20:06
Beiträge: 74
Geschlecht: Männlich
LoGD: Noch offline
Hat was mit dem Namen vom thread zu tun.. aber nicht genau das gleiche Problem.. Wenn ich ein Item benutzen will, hab ich keinerlei! navs. Und in der invhandler.php kann ich bei besteim willen keinen Fehler finden (ist die standart invhandler von der ds25)

Code:
<?php
/**
* invhandler.php: neuer Itemhandler für Drachenserver-Itemsystem
* @author talion <t@ssilo.de>
* @version DS-E V/2
*/

require_once('common.php');
require_once(LIB_PATH.'house.lib.php');

$id = (int)$_REQUEST['id'];
$ret = $_REQUEST['ret'];

$base_link = 'invhandler.php?ret='.urlencode($ret).'&id='.$id;

if ( isset($id) ){
   $item = item_get('id='.$id);
}


page_header('Inventar');

switch($_GET['op']) {
   
   // Inventar, Benutzen
   case 'use':
      
      $item_hook_info['link'] = $base_link;
      $item_hook_info['ret'] = $ret;
      
      item_load_hook($item['use_hook'],'use',$item);
      
      break;
   
   // Wegwerfen   
   case 'wegw':   
      
      if($_GET['act'] != 'ok') {
         output('`QBist du dir sicher, '.$item['name'].'`Q unwiederbringlich aufzugeben?');      
         
         addnav('Nein, zurück!',$ret);
         
         addnav('Ja, weg damit!',$base_link.'&op=wegw&act=ok');
      }
      else {
         
         output('`QDu schleppst '.$item['name'].'`Q in eine dunkle Seitengasse und lässt es dort stehen und liegen. Da wird sich schon jemand drum kümmern..');      

         item_delete('id='.$id);
         
         addnav('Zum Inventar',$ret);      
         
      }      
   
      break;

   // Einlagern in Haus o. Gemach   
   case 'einl':   
      
      if($_GET['act'] == 'house') {
      
         $sql = 'SELECT k.*,h.status,h.houseid,h.owner,h.housename FROM keylist k LEFT JOIN houses h ON h.houseid=k.value1 WHERE k.owner='.$session['user']['acctid'].' ORDER BY id ASC';
         $res = db_query($sql);
            
         while($k = db_fetch_assoc($res)) {
            $link = $base_link.'&op=einl&act=ok&housenr='.$k['houseid'];
            output('<a href="'.$link.'">'.$k['housename'].'</a>`n',true);
            addnav('',$link);         
   
         }
         addnav('Zurück','invhandler.php?op=house&id='.$id);
         
      }
      elseif($_GET['act'] == 'private') {
         
         output('`QDu besitzt Schlüssel zu Privatgemächern in diesen Häusern:`n`n');
         
         $sql = 'SELECT i.*,h.status,h.houseid,h.owner,h.housename FROM items i LEFT JOIN houses h ON h.houseid=i.value1 WHERE i.tpl_id="privb" AND i.owner='.$session['user']['acctid'].' AND i.value1!='.$session['user']['house'].' ORDER BY id ASC';
         $res = db_query($sql);
         
         if($session['user']['house']) {
            
            $link = $base_link.'&op=einl&act=ok&housenr='.$session['user']['house'].'&private='.$session['user']['acctid'];
            output('<a href="'.$link.'">Privatgemach in eigenem Haus</a>`n',true);
            addnav('',$link);
            
         }
                        
         while($k = db_fetch_assoc($res)) {
            $link = $base_link.'&op=einl&act=ok&housenr='.$k['houseid'].'&private='.$session['user']['acctid'];
            output('<a href="'.$link.'">'.$k['housename'].'</a>`n',true);
            addnav('',$link);         
   
         }
         addnav('Zurück',$base_link.'&op=einl');

      }
      elseif($_GET['act'] == 'ok') {
         
         $housenr = (int)$_GET['housenr'];
         $private = (int)$_GET['private'];
         
         // Check auf Gesamtzahl dieses Stücks
         $max_count = $item['deposit'.($private ? '_private' : '')];
         $count = item_count( ' deposit1 = '.$housenr.' AND deposit2 = '.$private.' AND tpl_id="'.$item['tpl_id'].'"' );
         
         if($max_count == 0) {
            output('`QMal ehrlich, du willst '.$item['name'].'`Q doch nicht wirklich einlagern?! Nicht mal ein Erztroll würde sowas tun..');
         }
         elseif($count >= $max_count) {
            output('`QDu kannst von diesem edlen Stück maximal '.$max_count.' Exemplare eingelagert haben. Mehr hätte einfach keinen Stil..');
         }
         else {
         
            $sql = 'SELECT status FROM houses WHERE houseid='.$housenr;
            $res = db_query($sql);
            $house = db_fetch_assoc($res);
                     
            if($private) {
               $max_count = get_max_furniture($house['status'],true);
            }
            else {
               $max_count = get_max_furniture($house['status']);
            }
            
            $count = item_count(' deposit1 = '.$housenr.' AND deposit2 = '.$private);
                     
            if($count > $max_count) {
               output('`QDu hast dort bereits `q'.$count.'`Q Möbel deponiert. Mehr passt einfach nicht rein!');
            }
            else {
               output("`QDu suchst für `q$item[name]`Q einen Ehrenplatz in deinem Haus, an dem `q$item[name]`Q von jetzt an den Staub fangen wird.");
                              
               item_set(' id='.$item['id'] , array('deposit1'=>$housenr,'deposit2'=>$private) );
            }
         }         
               
      }
      else {
         
         output('`QWohin willst du `q'.$item['name'].'`Q bringen?');
         
         if($session['user']['house']) {addnav('Ins Haus',$base_link.'&op=einl&act=ok&housenr='.$session['user']['house']);}
         if($session['user']['house'] || db_num_rows(db_query("SELECT i.id FROM items i WHERE i.tpl_id='privb' AND i.owner=".$session['user']['acctid']." AND i.value1!=".$session['user']['house'])) > 0) {
            addnav('In Privatgemächer',$base_link.'&op=einl&act=private');
         }
         
      }
      
      addnav('Zum Inventar',$ret);
   
      break;
   
   // Auslagern aus Haus o. Gemach   
   case 'ausl':
      
      output('`QDu packst '.$item['name'].'`Q wieder in dein Inventar.');
      
      item_set('id='.$id,array('deposit1'=>0,'deposit2'=>0) );
      
      addnav('Zum Inventar',$ret);
      
      break;
      
   // Waffe, Rüstung o.ä. anlegen
   case 'ausr':
      
      if($item['equip'] == ITEM_EQUIP_WEAPON) {
         
         $w_old = item_set_weapon($item['name'],$item['value1'],$item['gold'],$id);
         
         $old_name = $w_old['name'];
         
         $old_attack = $session['user']['attack'] - $session['user']['weapondmg'] + $w_old['tpl_value1'];
                  
         output('`QDu tauschst `q'.$old_name.'`Q gegen '.$item['name'].'.
               Dein Angriff verändert sich dadurch von '.$old_attack.' auf '.$session['user']['attack'].'!');
                  
      }      
      
      else if($item['equip'] == ITEM_EQUIP_ARMOR) {
         
         $a_old = item_set_armor($item['name'],$item['value1'],$item['gold'],$id);
         
         $old_name = $a_old['name'];
         
         $old_defence = $session['user']['defence'] - $session['user']['armordef'] + $a_old['tpl_value1'];
                  
         output('`QDu tauschst `q'.$old_name.'`Q gegen '.$item['name'].'.
               Deine Verteidigung verändert sich dadurch von '.$old_defence.' auf '.$session['user']['defence'].'!');
                  
      }      
      
      addnav('Zum Inventar',$ret);
      
      break;
   
   // Angelegtes Item ablegen und in Invent zurückpacken   
   case 'abl':
      
      if($_GET['what'] != '') {
         $what = $_GET['what'];
      }
      else {
         if($item['equip'] == ITEM_EQUIP_WEAPON) {
            $what = 'weapon';
         }
         else if($item['equip'] == ITEM_EQUIP_ARMOR) {
            $what = 'armor';
         }
      }      
   
         
      if($what == 'weapon') {
         
         $old = $session['user']['attack'];
            
         // ohne Params, um Fists zu setzen
         $w_old = item_set_weapon();
         
         $old_name = $w_old['name'];
         
         output('`QDu legst `q'.$old_name.'`Q ab.
               Dein Angriff verändert sich dadurch von '.$old.' auf '.$session['user']['attack'].'!');
         
      }
      
      else if($what == 'armor') {
         
         $old = $session['user']['defence'];
            
         // ohne Params, um T-Shirt zu setzen
         $a_old = item_set_armor();
         
         $old_name = $a_old['name'];
         
         output('`QDu legst `q'.$old_name.'`Q ab.
               Deine Verteidigung verändert sich dadurch von '.$old.' auf '.$session['user']['defence'].'!');
         
      }
      
      addnav('Zum Inventar',$ret);      
            
      break;

   
}

page_footer();
?>

_________________
Wenn ihr mir sagt wie ich es als Datei hochlade, dann kann ich die Source hochladen die ihr wollt .D


Nach oben
 Profil E-Mail senden  
 
 Betreff des Beitrags: Re: problem mit ausrüsten von gegenständen
BeitragVerfasst: So 01 Nov, 2009 23:02 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 28 Aug, 2004 18:48
Beiträge: 1625
LoGD: http://silienta-logd.de/source.php
$ret mal auswerfen lassen?

_________________
~möp~

Damit einige mal sehen, dass woanders ebenso gedacht wird wie hier :P
http://www.php-resource.de/forum/showthread/t-75276.html
http://www.html.de/php/17438-php-script-teilweise-refreshen.html


Nach oben
 Profil E-Mail senden  
 
 Betreff des Beitrags: Re: problem mit ausrüsten von gegenständen
BeitragVerfasst: Do 05 Nov, 2009 15:57 
Offline
Eingeweihter
Eingeweihter

Registriert: Fr 17 Okt, 2008 20:06
Beiträge: 74
Geschlecht: Männlich
LoGD: Noch offline
Rikkarda hat geschrieben:
$ret mal auswerfen lassen?


Steinige mich für mein Unwissen wenn du willst.. aber.. auswerfen :???:

EDIT: Die anderen navs gehen alle (Wenn ich einlager / auslager)

Edit 2: Wenn du mit auswerfen z.b. output(''.$ret.''); meinst, wirft es mir, wenn ich ein Item benutzrn will

invent.php

das is die invent.php..

Code:
<?php

require_once("common.php");

page_header('Inventar');

// Bei Eintritt in Beutel: Letzte besuchte Seite speichern
if($_GET['r']) {
   set_restorepage_history($g_ret_page);
   redirect('invent.php');
}

$str_ret = get_restorepage_history();

output('`&`c`bGesammelter Besitz von '.$session['user']['name'].'`&:`c`b`n`n');

if($session['user']['weapon'] != 'Fists' ||  $session['user']['armor'] != 'T-Shirt') {
   
   addnav('Ausrüstung');
   
   if($session['user']['weapon'] != 'Fists') { addnav( $session['user']['weapon'].'`0 ablegen!' , 'invhandler.php?op=abl&what=weapon&ret='.urlencode(calcreturnpath()) ); }
   if($session['user']['armor'] != 'T-Shirt') { addnav( $session['user']['armor'].'`0 ablegen!' , 'invhandler.php?op=abl&what=armor&ret='.urlencode(calcreturnpath()) ); }
   
}

$int_depo = (int)$_REQUEST['depo'];
$str_depo_where = ' ';
if($int_depo == 1) {   // Beutel
   $str_depo_where .= 'AND (deposit1=0 OR deposit1='.ITEM_LOC_EQUIPPED.')';
}
elseif($int_depo == 2) {
   $str_depo_where .= 'AND (deposit1>0 AND deposit1!='.ITEM_LOC_EQUIPPED.')';
}

addnav('Besitz');
addnav(($int_depo == 0 ? '`^' : '').'..alles','invent.php?r='.urlencode($ret).'&depo=0');
addnav(($int_depo == 1 ? '`^' : '').'..im Beutel','invent.php?r='.urlencode($ret).'&depo=1');
addnav(($int_depo == 2 ? '`^' : '').'..in Häusern','invent.php?r='.urlencode($ret).'&depo=2');

item_show_invent( ' showinvent=1 AND owner='.$session['user']['acctid'].$str_depo_where, false, 0, 1, 1, '`iDein Beutel ist leer!`i' );

addnav('Sonstiges');

if(!empty($str_ret)) {
   addnav('Zurück',$str_ret);
}
else {
   addnav('Zu den News','news.php');
}


page_footer();
?>

_________________
Wenn ihr mir sagt wie ich es als Datei hochlade, dann kann ich die Source hochladen die ihr wollt .D


Nach oben
 Profil E-Mail senden  
 
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 1 Gast


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 phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum