'; db_query($sql); } // Sooo und nun gehts darum ob wir neue Attacken lernen können // Ersma die ganzen Infos laden $sql = 'SELECT * FROM lernen where besitzer = '.$char_id; $qry = db_query($sql); while($row = mysqli_fetch_assoc($qry)){ $lern[$row['at_id']] = $row; // Zum späteren Check ob die Reqs erfüllt sind $atkid[] = $row['at_id']; // Zum ausschliessen der Attacken } // Wir können jetzt schon die Attacken ausschließen, die wir schon können!! if(count($atkid) > 0){ $zusatz = ' AND id NOT IN('.join($atkid,',').')'; } // Lernbare Attacken auswählen if(!is_null($char['frucht'])){ $sql = 'select * from attacken where (Frucht is NULL or Frucht = (Select id from wochen_markt where item = \''.$char['frucht'].'\')) and (rassen != \'\' and rassen != \'0\') and level <= '.$char['level'].$zusatz; } else { $sql = 'select * from attacken where (Frucht is NULL) and (rassen != \'\' and rassen != \'0\') and level <= '.$char['level'].$zusatz; } // echo $sql.'
'; $qry = db_query($sql); // Das geht leider nicht mit dieser Datenstruktur direkt auszuwählen $raceid[] = getCharRaceId($char_id); if(!is_null(getFusionRaceId($char_id))){ $raceid[] = getFusionRaceId($char_id); } // So und nun arbeite jede Attacke durch die nur im geringsten Lernbar sein könnte ... while($row = mysqli_fetch_assoc($qry)) { // Erstmal checken ob es eine Fruchtattacke ist (durch die SQL-Anweisung werden alle nicht zutreffenden Früchte ausgeblockt) $learnable = false; if(!is_null($row['Frucht'])){ // Ok es is ne Frucht-attacke :) Also können wir sie lernen :) $learnable = true; } else { // Ok, dann müssen wir die Rasse checken :) $races = preg_split('#,#', $row['rassen']); for($i=0;$i'; $learnable = false; break; } } } if($learnable){ db_query('INSERT lernen SET name=\''.$row['name'].'\', at_id=\''.$row['id'].'\', besitzer=\''.$char_id.'\', aktiv=\'1\''); echo ''; } } } function addExpToChar($char_id, $n_exp){ // TODO: Optimize so only one update is required ;) $char = getChar($char_id, false); // We really want the actual char!! $char_exp = explode(',', $char['exp']); $char_exp[0] += $n_exp; $lvls = 0; $tp = 0; $lp = 0; while($char_exp[0] >= $char_exp[1]){ // Level UP!! $lvls++; $char['level']++; $char_exp[0] -= $char_exp[1]; $char_exp[1] = calculateRequiredExpChars($char['level']); $tp += calculateTrainingPoints($char['level']); $lp += 10; } if($lvls > 0){ // Ist Char um mindestens ein Level gestiegen? echo ''; $sql = 'Update chars set exp = \''.$char_exp[0].','.$char_exp[1].'\', lernpunkte = lernpunkte +'.$lp.', training_points = training_points + '.$tp.', level = level + '.$lvls.' where id = '.$char_id; } else { $sql = 'Update chars set exp = \''.$char_exp[0].','.$char_exp[1].'\' where id = '.$char_id; } // echo $sql.'
'; db_query($sql); $char = getChar($char_id, false); // We really want the actual char!! if($char['level'] > 25) { // remove this char out of the registration of the beginners tournament db_query('Delete from turnier1 where art = \'klein\' and charakter = \''.$char_id.'\''); } } function addExpToArena($user_id, $n_exp){ $sql = 'SELECT * from arena where besitzer = '.$user_id; $qry = db_query($sql); $arena = mysqli_fetch_assoc($qry); $arena_exp = explode(',', $arena['exp']); $arena_exp[0] += $n_exp; $lvls = 0; while($arena_exp[0] >= $arena_exp[1]){ // Level UP!! $lvls++; $arena['level']++; $arena_exp[0] -= $arena_exp[1]; $arena_exp[1] = calculateRequiredExpArena($arena['level']); } if($lvls > 0){ // db_query("UPDATE arena SET exp='$ne_exp1,$new_exp', level='$level1', skill='$skill_points' WHERE besitzer='$user_ida[id]' LIMIT 1"); echo ''; db_query('Update arena set exp=\''.$arena_exp[0].','.$arena_exp[1].'\', level='.$arena['level'].', skill=skill+'.$lvls.' WHERE besitzer='.$user_id); } else{ db_query('Update arena set exp=\''.$arena_exp[0].','.$arena_exp[1].'\' WHERE besitzer='.$user_id); } } ?>