6){ displayErrorMessage('Kampf erstellen nicht Möglich!', 'Ihre Arena ist geschlossen', displayHistoryBackLink()); return; } else if($arena['zustand'] <= 0.5){ displayErrorMessage('Kampf erstellen nicht Möglich!', 'Ihre Arena ist in einem mieserablen Zustand', displayHistoryBackLink()); return; } $char_a = getChar($charid); if(!isUserOwnerOf($user['id'],$charid)){ return $char_a['name'].': Der Char gehört dir nicht.'; } if($char_a['status'] != 'Frei') { return $char_a['name'].': Der Char ist nicht frei!'; } if(($kampf_pw != '' && !is_null($kampf_pw)) && $user['pw_fight'] < 1) { return $char_a['name'].': Sie dürfen nur 4 Passwortkämpfe pro Tag machen!'; } $char_hp = explode(',', $char_a['hp']); if($char_hp['0'] < 50) { return $char_a['name'].': Die HP des Chars ist unter 50.'; } if($char_hp[0] <= ($char_hp[1] / 100) * $char_a['aufgeben']) { return $char_a['name'].': Die HP des Chars ist unter seiner Aufgabegrenze.'; } $w_zeit = time() + 43200; mysql_query('UPDATE chars SET status=\'Kampf Erstellt\' WHERE id='.$charid); if($lvl != 0){ $sql = 'INSERT INTO kampf_list(lvlmin, lvlmax, kampfname, charakter, passwort, besitzer, zeit, zeit_rec, ip) values ('.($char_a['level']-$lvl).', '.($char_a['level']+$lvl).', \''.$kampf_name.'\', '.$charid.', \''.$kampf_pw.'\', \''.$user['nickname'].'\', '.$w_zeit.', '.$kampf_zeit.', \''.$_SERVER['REMOTE_ADDR'].'\')'; } else{ $sql = 'INSERT INTO kampf_list(lvlmin, lvlmax, kampfname, charakter, passwort, besitzer, zeit, zeit_rec, ip) values (0, 0, \''.$kampf_name.'\', '.$charid.', \''.$kampf_pw.'\', \''.$user['nickname'].'\', '.$w_zeit.', '.$kampf_zeit.', \''.$_SERVER['REMOTE_ADDR'].'\')'; } // echo $sql.''; $fight_row = mysql_fetch_assoc(mysql_query($sql)); if(!$fight_row){ $fight_row = mysql_fetch_assoc(mysql_query('SELECT * FROM kampf_list where id = '.$kampf_id)); if(!$fight_row){ displayErrorMessage(NULL,'Kampf existiert nicht mehr!', displayHistoryBackLink()); } else if($_SERVER['REMOTE_ADDR'] == $fight_row['ip']){ displayErrorMessage(NULL,'Kampf kann nicht angenommen werden, da die IP gleich ist!', displayHistoryBackLink()); } else if($fight_row['lvlmax'] != 0 && $fight_row['lvlmin'] > $char_a['level']){ displayErrorMessage(NULL,'Level zu niedring!', displayHistoryBackLink()); } else if($fight_row['lvlmax'] != 0 && $fight_row['lvlmax'] < $char_a['level']){ displayErrorMessage(NULL,'Level zu hoch!', displayHistoryBackLink()); } else if($fight_row['passwort'] != $kampf_pw){ displayErrorMessage(NULL,'Passwort falsch!', displayHistoryBackLink()); } else{ displayErrorMessage(NULL,'Kampf konnte nicht angenommen werden, warum auch immer!', displayHistoryBackLink()); } semaphoreDown($ressource2); semaphoreDown($ressource1); return; } $char_b = getChar($fight_row['charakter']); if(isUserOwnerOf($user['id'], $fight_row['charakter'])){ displayErrorMessage(NULL,'Annehmen von eigenen Fights ist nicht möglich!', displayHistoryBackLink()); semaphoreDown($ressource2); semaphoreDown($ressource1); return; } createAbholcode($char_a['id']); createAbholcode($char_b['id']); // Ein Kampf kostet 1 Aktionspunkt! hasDoneAction($user, 1); // So nun kann der Fight in aller Ruhe starten! starteFight($char_a, $char_b, $fight_row); displayErrorMessage(NULL,'Kampf angenommen...', ''); semaphoreDown($ressource2); semaphoreDown($ressource1); } function nehmeAutofightAn($user, $charid, $kampf_name, $kampf_zeit, $lvl){ $char_a = getChar($charid); if(!isUserOwnerOf($user['id'],$charid)){ return $char_a['name'].': Der Char gehört dir nicht.'; } if($char_a['status'] != 'Frei') { return $char_a['name'].': Der Char ist nicht frei!'; } $char_hp = explode(',', $char_a['hp']); if($char_hp['0'] < 50) { return $char_a['name'].': Die HP des Chars ist unter 50.'; } if($char_hp[0] <= ($char_hp[1] / 100) * $char_a['aufgeben']) { return $char_a['name'].': Die HP des Chars ist unter seiner Aufgabegrenze.'; } // Char ist ok! Suche Fight ^^ if($kampf_name !== '' && !is_null($kampf_name)){ $whereclause = ' kampfname like \''.$kampf_name.'\' AND '; } if($lvl > 0 && $lvl < 10){ $sql = 'SELECT kl.id FROM kampf_list kl inner join chars c on kl.charakter = c.id WHERE c.level between '.($char_a['level'] - $lvl).' and '.($char_a['level'] + $lvl).' AND '.$whereclause.' kl.besitzer != \''.$user['nickname'].'\' AND ('.$char_a['level'].' between kl.lvlmin and kl.lvlmax OR kl.lvlmax = 0) AND kl.IP != \''.$_SERVER['REMOTE_ADDR'].'\' AND kl.rasse != \'NPC\' AND kl.zeit_rec = '.$kampf_zeit.' AND passwort = \'\' ORDER BY id ASC'; } else { $sql = 'SELECT id FROM kampf_list WHERE '.$whereclause.' besitzer != \''.$user['nickname'].'\' AND ('.$char_a['level'].' between lvlmin and lvlmax OR lvlmax = 0) AND IP != \''.$_SERVER['REMOTE_ADDR'].'\' AND rasse != \'NPC\' AND zeit_rec = '.$kampf_zeit.' AND passwort = \'\' ORDER BY id ASC'; } // Nur mal die ID-Liste ausgeben // echo $sql.'
'; $qry = mysql_query($sql); $fight_row = NULL; while($row = mysql_fetch_assoc($qry)){ $ressource = 'Kampf:'.$row['id']; // Wichtig, die Semaphore!! if(semaphoreUP($ressource)){ // TRUE, diese Anfrage darf bearbeitet werden $fight_row = mysql_fetch_assoc(mysql_query('SELECT * FROM kampf_list where id = '.$row['id'])); if($fight_row){ break; } } semaphoreDown($ressource); // kein Break?? Dann gebe Ressource frei!! } if(!$fight_row){ return $char_a['name'].': Es konnte kein Fight gefunden werden!'; } // Nur noch Informationen ueber den anderen Char holen!! $chara_2 = getChar($fight_row['charakter']); createAbholcode($char_a['id']); createAbholcode($chara_2['id']); // Pro Char kostet das annehmen 1 Aktionspunkt hasDoneAction($user,1); // So nun kann der Fight in aller Ruhe starten! starteFight($char_a, $chara_2, $fight_row); semaphoreDown($ressource); return $char_a['name'].': Kampf wurde erfolgreich angenommen!'; } function autokampf($user, $kampf_name, $char_id, $kampf_zeit, $lvl){ if(!is_numeric($lvl) || !is_numeric($kampf_zeit) || $kampf_zeit < 0 || c > 4){ displayErrorMessage(NULL,'Fehlerhafte Eingabe!',displayHistoryBackLink()); return; } $kampf_zeit *= 300; // User darf erstmal nix mehr machen! $ressource = 'User:'.$user['id']; // Wichtig, die Semaphore!! if(!semaphoreUP($ressource)){ // TRUE, diese Anfrage darf bearbeitet werden displayErrorMessage(NULL,'Verarbeitung gerade in Gange, bitte warten...', displayHistoryBackLink()); return; } if(is_array($char_id)){ for($i=0;$i\n"; } } } else { $tmp = 'Kein Char ausgewählt!'; } displayErrorMessage(NULL,$tmp, ''); semaphoreDown($ressource); } function erstelleFights($user, $kampf_name, $kampf_pw, $char_id, $kampf_zeit, $lvl){ if(!is_numeric($lvl) || !is_numeric($kampf_zeit) || $kampf_zeit < 0 || c > 4){ displayErrorMessage(NULL,'Fehlerhafte Eingabe!',displayHistoryBackLink()); return; } $kampf_zeit *= 300; if($kampf_name === NULL || $kampf_name == '') { // Kampfname ist fuer alle gleich einzugeben! displayErrorMessage(NULL,'Geben sie bitte den Kampfnamen ein.',displayHistoryBackLink()); return; } // User darf erstmal nix mehr machen! $ressource = 'User:'.$user['id']; // Wichtig, die Semaphore!! if(!semaphoreUP($ressource)){ // TRUE, diese Anfrage darf bearbeitet werden displayErrorMessage(NULL,'Verarbeitung gerade in Gange, bitte warten...', displayHistoryBackLink()); return; } if(is_array($char_id)){ for($i=0;$i\n"; } } // Pro erstellter Fight kostet es einen Aktionspunkt! hasDoneAction($user,count($char_id)); } else { $tmp = 'Kein Char ausgewählt!'; } displayErrorMessage(NULL,$tmp, ''); semaphoreDown($ressource); } function displayAutoFights($user, $portal, $pagenum){ ?>
Autofight!
Kampfname
Charakter '.$row['name'].'
'."\n"; } ?>
Kampf Zeit
Level Begrenzung
Falls kein Kampf gefunden wird: Autofight ohne Namensbegrenzung
Kampf erstellen
 
7){ displayErrorMessage('Kampf erstellen nicht Möglich!', 'Ihre Arena ist geschlossen', displayHistoryBackLink()); return; } else if($arena['zustand'] <= 0.5){ displayErrorMessage('Kampf erstellen nicht Möglich!', 'Ihre Arena ist in einem mieserablen Zustand', displayHistoryBackLink()); return; } ?>
Kampf Erstellen
Kampfname
Charakter '.$row['name'].'
'."\n"; } ?>
Kampf Zeit
Level Begrenzung
Passwort
 
Auto Kampf / NPC Kampf Begrenzt / Free 4 All Kampf Erstellen
Gegner Info Kampf Zeit Arena Passwort Kämpfen



LVL Begrenzung: '.$char_min.' - '.$char_max; } echo 'Level: '.$char['level'].'
'.$ca_pls.': '.$ca_pl.$lvlbegr; ?>
Min '.$row['a_name'].' ('.$row['besitzer'].')
'; echo 'Stehplätze: '.$row['steh'].'
'; echo 'Sitzplätze: '.$row['sitz'].'
'; echo 'Logenplätze: '.$row['loge'].'
'; echo 'Luxus: '.$row['luxus'].'
'; ?>
'; } else { ?> zurückziehen annehmen
###LABEL###'); ?>
Kampf annehmen
Charakter
Passwort
 
'; while (list($key, $val) = each($_GET)) { echo ''; } echo '
Bitte Code eingeben
'; $auth = false; } } if($auth == false){ // Do nothing anymore } else if($charm == 1){ displayKampfErstellen($user_ida, $portal, $pagenum); display($user_ida, $portal, $pagenum); } else if($charm == 2){ // function charm2($user, $kampf_name, $kampf_pw, $char_id, $kampf_zeit, $lvl){ erstelleFights($user_ida, $kampf_name, $kampf_pw, $char_id, $kampf_zeit, $lvl); display($user_ida, $portal, $pagenum); } else if($charm == 3){ autokampf($user_ida, $kampf_name, $char_id, $kampf_zeit, $lvl); display($user_ida, $portal, $pagenum); } else if($charm == 4){ displayKampfAnnehmen($user_ida, $kampf_id,$portal, $pagenum); display($user_ida, $portal, $pagenum); } else if($charm == 5){ displayAutoFights($user_ida, $portal, $pagenum); display($user_ida, $portal, $pagenum); } else if($charm == 6){ nehmeKampfAn($user_ida, $char_id, $kampf_id, $kampf_pw); display($user_ida, $portal, $pagenum); } else if($charm == 7){ zieheKampfZurueck($user_ida, $kampf_id); display($user_ida, $portal, $pagenum); } else{ display($user_ida, $portal, $pagenum); } ?>