'; 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){ $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['level'] < CHAR_MAX_LEVEL && $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 ($char['level'] == CHAR_MAX_LEVEL) { $char_exp[0] = 0; } 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!! } function addExpToArena($user_id, $n_exp){ $arena = getArena($user_id); $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){ 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); } } ?>