failed $nothin_msg = array('Da war wohl jemand vor dir da!', 'Die Schatztruhe ist voller Steine!', 'Naja, dabei sein is alles, ne??!', 'Diese Schatztruhe war leer, vielleicht klappts ja das nächte Mal'); displayErrorMessage('Schatztruhe geöffnet','Niete!! ' . $nothin_msg[mt_random_wrapper(0, count($nothin_msg)-1)],'zurück...'); return; } else { displayErrorMessage('Schatztruhe geöffnet','GOLD!! Du findest ganze '.$treasure.' ¥','zurück...'); db_query('UPDATE user SET geld = geld + '.$treasure.' WHERE id = '.$user['id']); return; } } else{ displayErrorMessage('Item nicht genutzt','Du hast garkeine Schatztruhe mehr!!','zurück...'); return; } } function useBohne($item_id, $user){ $chars = getCharsOfUser($user['id']); $required = false; foreach($chars as $row){ $hp = explode(',', $row['hp']); $mp = explode(',', $row['mp']); if($hp[0] != $hp[1] || $mp[0] != $mp[1]){ $required = true; } } if(!$required){ displayErrorMessage('Item nicht genutzt','All deine Chars sind voll geheilt!!','zurück...'); return; } // So nun nutzen db_query('DELETE from sp_ware WHERE item='.$item_id.' and user = '.$user['id'].' LIMIT 1'); foreach($chars as $row){ $hp = explode(',', $row['hp']); $mp = explode(',', $row['mp']); db_query('UPDATE chars SET hp=\''.$hp[1].','.$hp[1].'\', mp=\''.$mp[1].','.$mp[1].'\' WHERE id='.$row['id']); } displayErrorMessage('Änderungen übernommen','Item erfolgreich benutzt. Die HP und MP all deiner Chars sind wieder voll hergestellt!!','weiter...'); } // Die Funktion die die Fusion wirklich durchfuehrt!! function usePotaraReally($user, $item_id, $char1, $char2, $new_name = ''){ if($new_name === NULL || $new_name == ''){ displayErrorMessage(NULL,'Name nicht angegeben',displayHistoryBackLink()); } $char_v_1 = getChar($char1); $char_v_2 = getChar($char2); if($char_v_1['name'] != $new_name && $char_v_2['name'] != $new_name){ // Der Name der Fusion darf auch der Name eines der Chars sein $char_v_3 = mysqli_fetch_array(db_query('SELECT id FROM chars WHERE name=\''.$new_name.'\' LIMIT 1')); } if($char_v_1['besitzer'] != $user['id'] || $char_v_2['besitzer'] != $user['id']) { displayErrorMessage(NULL,$char_v_1['name'].' oder '.$char_v_2['name'].' gehört dir nicht!!',displayHistoryBackLink()); return; }else if($char_v_1['name'] == $char_v_2['name']) { displayErrorMessage(NULL,'2x den gleichen Char zu fusioniern ist nicht möglich!!',displayHistoryBackLink()); return; }else if($new_name === NULL OR $char_v_3['id'] !== NULL) { displayErrorMessage(NULL,'Der Name '.$new_name.' ist schon vorhanden!!',displayHistoryBackLink()); return; }else if($char_v_1['fusion'] != 'nein' || $char_v_2['fusion'] != 'nein') { displayErrorMessage(NULL,$char_v_1['name'].' oder '.$char_v_2['name'].' ist schon Fusioniert!!',displayHistoryBackLink()); return; }else if($char_v_1['status'] != 'Frei' || $char_v_2['status'] != 'Frei'){ displayErrorMessage(NULL,$char_v_1['name'].' oder '.$char_v_2['name'].' ist nicht frei!!',displayHistoryBackLink()); return; } $hp1 = explode(',', $char_v_1['hp']); $mp1 = explode(',', $char_v_1['mp']); $hp2 = explode(',', $char_v_2['hp']); $mp2 = explode(',', $char_v_2['mp']); $new_hp = ($hp1[1] + $hp2[1]) ; $new_mp = ($mp1[1] + $mp2[1]); $sql = 'UPDATE chars SET fusion_rasse = \''.$char_v_2['rasse'].'\',' . 'fusion=\'ja\',' . // 'name=\''.$new_name.'\',' . 'starke=starke+'.$char_v_2['starke'].',' . 'verteidigung=verteidigung+'.$char_v_2['verteidigung'].',' . 'speed=speed+'.$char_v_2['speed'].',' . 'ausdauer=ausdauer+'.$char_v_2['ausdauer'].',' . 'glueck=glueck+'.$char_v_2['glueck'].',' . 'training_points=training_points+'.$char_v_2['training_points'].',' . 'lernpunkte=lernpunkte+'.$char_v_2['lernpunkte'].',' . 'hp=\''.$new_hp.','.$new_hp.'\',' . 'mp=\''.$new_mp.','.$new_mp.'\',' . 'dead_list = \'\',' . 'preis = 0,' . 'siege = 0,' . 'niederlagen = 0,' . 'liga_punkte = 0,' . // 'frucht = \'Keine\',' . // frucht is NULL now!! 'frucht = NULL,' . 'liga_siege = 0,' . 'liga_niederlagen = 0,' . 'clan_train = 0 ' . 'where id = '.$char1; // echo $sql.'
'; $qry = db_query($sql); // Umkopieren der Techniken // Hat das Update geklappt? Wenn nein abbrechen if(db_affected_rows() <= 0){ displayErrorMessage('Schwerwiegender Fehler','Fusion konnte nicht durchgeführt werden, melden sie sich bei einem GM!!',displayHistoryBackLink()); return; } db_query('DELETE from sp_ware WHERE item='.$item_id.' and user = '.$user['id'].' LIMIT 1'); // Potara loeschen!! // 1. Ermitteln der Attacken die beide chars gemeinsam hatten $qry = db_query('select l1.at_id,l1.benutzt + l2.benutzt as benutzt from lernen l1 inner join lernen l2' . ' on l1.at_id = l2.at_id ' . ' where (l1.besitzer = '.$char1.' and l2.besitzer = '.$char2.')'); // 2. Addieren der Ausfuehrungsanzahl while($row = mysqli_fetch_assoc($qry)){ $attarray[] = $row['at_id']; db_query('Update lernen set benutzt = '.$row['benutzt'].' where at_id = '.$row['at_id'].' and besitzer = '.$char1); } // 3. Ermitteln und Umschreiben der Attacken die char2 hat die char1 jedoch nicht besaß db_query('Update lernen set besitzer = '.$char1.' where besitzer = '.$char2.' and at_id NOT IN('.join($attarray,',').')'); // 4. Loeschen der Eintraege von char2 db_query('Delete from lernen where besitzer = '.$char2); db_query('DELETE FROM chars WHERE id='.$char2.' LIMIT 1'); // Char kann erst jetzt gelöscht werden db_query('Update chars set name=\''.$new_name.'\' WHERE id = '.$char1); displayErrorMessage('Änderungen übernommen','Charakter: '.$new_name.' erfolgreich fusioniert!!','weiter...'); return; } function confirmPotaraUse($item_id, $char1, $char2, $new_name){ $char_v_1 = getChar($char1); $char_v_2 = getChar($char2); $weiter_an = 'Ja' . ' | abbrechen'; displayErrorMessage('Frage','Wollen sie echt die Chars '.$char_v_1['name'].' + '.$char_v_2['name'].' fusionieren??',$weiter_an); } function askForPotaraUse($user, $item_id){ // Spezielle abfrage in der Char-Tabelle (Koenne aber durch Puffern schneller sein, als diese SQL-Anfrage) $all_charakter = db_query('SELECT id, name FROM chars WHERE besitzer='.$user['id'].' and fusion != \'ja\''); $options = ''; while($row = mysqli_fetch_array($all_charakter)) { $options.= ''; } ?>
Char1:
Char2:
benutzen | '.displayHistoryBackLink()); } if(is_numeric($item_id)){ // Die Seite kann nur mit gültiger Itemid aufgerufen werden!! useItem($user_ida, $item_id, $ab, $ak, $char1, $char2, $new_name); } else{ displayErrorMessage(NULL, 'Itemid ist nicht numerisch!!',displayHistoryBackLink()); } ?>