anpera.net
https://anpera.dyndns.org/phpbb3/

problem mit ausrüsten von gegenständen
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=25&t=5015
Seite 1 von 1

Autor:  drimatu [ Do 08 Okt, 2009 07:31 ]
Betreff des Beitrags:  problem mit ausrüsten von gegenständen

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

Autor:  Auric [ Do 08 Okt, 2009 16:37 ]
Betreff des Beitrags:  Re: problem mit ausrüsten von gegenständen

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.

Autor:  drimatu [ Di 13 Okt, 2009 09:09 ]
Betreff des Beitrags:  Re: problem mit ausrüsten von gegenständen

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

Autor:  Harthas [ Di 13 Okt, 2009 09:48 ]
Betreff des Beitrags:  Re: problem mit ausrüsten von gegenständen

Nach$this->bbcode_second_pass_code('', 'if ($_GET['op']=="fit"){')muss erst einmal die Variable $item definiert werden. Muss die Item-Daten aus der Datenbank zur übergebenen ID enthalten.
$this->bbcode_second_pass_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 ;-)

Autor:  Patzue [ So 01 Nov, 2009 22:32 ]
Betreff des Beitrags:  Re: problem mit ausrüsten von gegenständen

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)

$this->bbcode_second_pass_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();
?>
')

Autor:  Rikkarda [ So 01 Nov, 2009 23:02 ]
Betreff des Beitrags:  Re: problem mit ausrüsten von gegenständen

$ret mal auswerfen lassen?

Autor:  Patzue [ Do 05 Nov, 2009 15:57 ]
Betreff des Beitrags:  Re: problem mit ausrüsten von gegenständen

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..

$this->bbcode_second_pass_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();
?>
')

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