callbacks = $this->timers = $this->streams = array(); $this->break = FALSE; } function addStream($stream, $id=NULL){ if($id === NULL) for($id = 0; $this->streams[$id]; $id++); $this->streams[$id] = $stream; return $id; } function remStream($mixed){ if(is_resource($mixed)) $id = array_search($mixed, $this->streams); else $id = $mixed; if($this->streams[$id]){ unset($this->streams[$id]); return TRUE; } } function addTimer($time, $function, $args=array()){ $this->timers[] = array('time' => (time() + $time), 'func' => $function, 'args' => $args); sort($this->timers); } function addCallback($mixed, $function, $args=array()){ if(is_resource($mixed)) $id = array_search($mixed, $this->streams); else $id = $mixed; if(!is_array($this->callbacks[$id])) $this->callbacks[$id] = array(); $this->callbacks[$id] = array('func' => $function, 'args' => $args); } function findWait(){ if($this->timers) foreach($this->timers as $timer){ if(!isset($min) || $timer['time'] < $min){ $min = $timer['time']; } return $min-time(); }else{ return 60; } } function wait($sock=FALSE){ if($sock) $function = "socket_select"; else $function = "stream_select"; while(!$this->break){ $select = array(); foreach($this->streams as $stream) $select[] = $stream; $wait = $this->findWait(); if($select){ if($function($select, $null, $null, $wait)){ $stream = $select[0]; $id = array_search($stream, $this->streams); if($this->callbacks[$id]) call_user_func_array($this->callbacks[$id]['func'], $this->callbacks[$id]['args']); } }else{ sleep($wait); } if($this->timers) foreach($this->timers as $x => $timer) if($timer['time'] <= time()){ call_user_func_array($timer['func'], $timer['args']); unset($this->timers[$x]); } sort($this->timers); } $this->break = FALSE; } } Class bot { //Public Variables Public $rs_cmb; Public $class; function connect() { $server = "hyperion.fl.us.SwiftIRC.net"; $port = "6667"; //$server = "Danty.net"; //$port = "6667"; $this->socket = fsockopen($server, $port, $errno, $errstr, 30) or die(); } function info($username, $password, $ajoin) { //fputs($this->socket, "USER $username steven10172.gopzap.com BOT:steven10172\n"); fputs($this->socket, "USER $username * ? :steven10172\n"); fputs($this->socket, "NICK $username\n"); fputs($this->socket, "PRIVMSG nickserv identify $password \n"); fputs($this->socket, "JOIN $ajoin \n"); } function msg($to, $message) { fputs($this->socket, "PRIVMSG ".$to." $message \n"); } function notice($to, $message) { fputs($this->socket, "NOTICE ".$to." $message \n"); } function join($channel, $username) { fputs($this->socket, "JOIN ".$channel."\n"); $this->msg($channel, "$username has invited me to join your channel"); } function leave($channel, $username, $reason) { $this->msg($channel, chr(3) ."07".$username . chr(3)."01 has requested me to part (REASON:".chr(3)."07 $reason )"); fputs($this->socket, "PART ".$channel." (REASON: $reason )\n"); } function part($channel) { fputs($this->socket, "PART $channel \n"); } function quit($message) { fputs($this->socket, "QUIT ".$message." \n"); } function rsstats($rsname, $nick, $command) { if($data = file_get_contents("http://hiscore.runescape.com/index_lite.ws?player=$rsname")) { echo "\n"; //echo $nick; echo "\n"; echo $rsname; echo "\n"; $skill = explode("\n", $data); $n = 0; for ($n = 0; $n < 24; $n++) { $skill[$n] = explode(',', $skill[$n]); if ($skill[$n][0] == '-1') { $skill[$n][0] = '-'; $skill[$n][1] = '-'; $skill[$n][2] = '-'; $skill[$n][3] = '-'; } else { //sets as interger so i can format the number settype($skills[$n][0], "int"); settype($skills[$n][2], "int"); // add commas to rank $skills[$n][0] = number_format($skills[$n][0]); // add commas to exp $skills[$n][2] = number_format($skills[$n][2]); } } $skill_name = 'Overall,Attack,Defence,Strength,Hitpoints,Ranged,Prayer,Magic,Cooking,Woodcutting,Fletching,Fishing,Firemaking,Crafting,Smithing,Mining,Herblore,Agility,Thieving,Slayer,Farming,Runecraft,Hunter,Construction'; $skill_name = explode(',', $skill_name); $n = 0; for ($n = 0; $n < 24; $n++) { $rsskill_name = chr(3) . "01".$skill_name[$n]; //Skill $rsskill_lvl = chr(3) . "04".$skill[$n][1]; // level $rs_stats[$n] = $rsskill_name." - ".$rsskill_lvl . chr(3) . "01 | "; } //1 = black 4 = red //sets the info as skill name $att = $skill[1][1]; $str = $skill[3][1]; $def = $skill[2][1]; $hp = $skill[4][1]; $prayer = $skill[6][1]; $range = $skill[5][1]; $mage = $skill[7][1]; //Calculates Combat $this->rscmb($att, $str, $def, $hp, $prayer, $range, $mage); //Sets the messages to send to user $first_message = chr(3) . "01Highscores for ". chr(3) . "04".$rsname; $second_message = $rs_stats[0]." ". chr(3) ."01 Combat ". chr(3) ."04".$this->rs_cmb." ". chr(3) ."01 Type ". chr(3) . "04".$this->class; ////////////$last_message = $rs_stats[0]." ".$rs_stats[1]." ".$rs_stats[2]." ".$rs_stats[3]." ".$rs_stats[4]." ".$rs_stats[5]." ".$rs_stats[6]." ".$rs_stats[7]." ".$rs_stats[8]." ".$rs_stats[9]." ".$rs_stats[10]." ".$rs_stats[11]." ".$rs_stats[12]." ".$rs_stats[13]." ".$rs_stats[14]." ".$rs_stats[15]." ".$rs_stats[16]." ".$rs_stats[17]." ".$rs_stats[18]." ".$rs_stats[19]." ".$rs_stats[20]." ".$rs_stats[21]." ".$rs_stats[22]." ".$rs_stats[23]." ".$rs_stats[24]; $rs_stats_1 = array(); $rs_stats_1[1] = $rs_stats[17]; $rs_stats_1[2] = $rs_stats[18]; $rs_stats_1[3] = $rs_stats[19]; $rs_stats_1[4] = $rs_stats[20]; $rs_stats_1[5] = $rs_stats[21]; $rs_stats_1[6] = $rs_stats[22]; $rs_stats_1[7] = $rs_stats[23]; $very_last_message = implode(" ", $rs_stats_1); //Unsets the variable so it not implode unset($rs_stats[0], $rs_stats[17], $rs_stats[18],$rs_stats[19],$rs_stats[20],$rs_stats[21],$rs_stats[22], $rs_stats[23]); $last_message = implode(" ", $rs_stats); //Sends messages if($command == "!") { $this->notice($nick, $first_message); $this->notice($nick, $second_message); $this->notice($nick, $last_message); $this->notice($nick, $very_last_message); } if($command == "@") { $this->msg($nick, $first_message); $this->msg($nick, $second_message); $this->msg($nick, $last_message); $this->msg($nick, $very_last_message); } unset($rsname, $data, $skill, $n, $skill_name, $rsskill_name, $rsskill_lvl, $first_message, $second_message, $last_message, $this->rs_cmb, $this->class); } else { $error = chr(3) . "04No stats were found for ". chr(3) . "07".$rsname; if($command == "!") { $this->notice($nick, $error); } if($command == "@") { $this->msg($nick, $error); } } } function rscmb($att, $str, $def, $hp, $prayer, $range, $mage) { $melee = $att + $str; $melee = $melee * 0.325; $base1 = $def + $hp; $base1 = $base1 * 0.25; $base2 = $prayer * 0.125; $base = $base1 + $base2; $range = $range * 0.48; $mage = $mage * 0.48; if($range >= $mage) { $secondary = $range; $this->class = "Ranger"; } else { $secondary = $mage; $this->class = "Mage"; } if($melee >= $secondary) { $secondary = $melee; $this->class = "Melee"; } else { $secondary = $secondary; } $this->rs_cmb = $base + $secondary; unset($att, $str, $def, $hp, $prayer, $range, $mage, $melee, $base1, $base2, $base, $secondary); } function read() { //while(true){ //GET'S RAW CODE $raw = fgets($this->socket); //CHECKS TO SEE IF SOMEONE TYPED ANYTHING if(strlen($raw)){ //SEPERATES RAW CODE $ex = explode(" ", $raw, 4); $raw .= " "; //PRINT'S TEST IN COMMAND PROMPT //echo nl2br($raw); //echo "\n"; echo "\n"; flush(); //SEPERATES THE DATA INTO CHANNEL, NICK, MSG_TYPE, TEXT preg_match('/^:([^!]+)![^\s]+\s([^\s]+)\s(?::)?([^\s]+)(?:\s(.+))?/i', $raw, $matches); list(,$nick, $msg_type, $chan, $text) = $matches; echo "\n"; echo $msg_type." [".$chan."] <".$nick."> ".$text; //$text .= " ----------"; echo "\n"; //$command = str_replace(array(chr(10), chr(13)), '', $ex[3]); if (stripos($text, " ")) { $text = explode(" ", $text, 2); $command = $text[0]; if(isset($text[1])){ $text = $text[1]; } } else { $text .= " fweufwhe"; $text = explode(" ", $text, 3); echo "\n"; echo "\n"; echo "\n"; if (isset($command)) { echo $command." <--COMMAND"; } echo "\n"; echo "\n"; print_r($text); echo "\n"; echo "GOOD GOOD GOOD GOOD"; echo "\n"; echo "\n"; //$command .= " "; echo $command; echo "\n"; } if($ex[0] == "PING"){ fwrite($this->socket, "PONG ".$ex[1]."\n"); } //if (stristr($command,':!eval')) { //$eval = explode(':!eval', $command); //$command = ":!eval"; //} //unset($raw); } if(isset($command)){ switch($command) { case ':!eval': //eval's the code said eval($text); //try { eval($eval[1]); } catch (exception $e) { $this->msg($username, "FAILED: ". $e->getMessage()); } //try { eval($eval[1]); } catch (Exception $e) { $this->msg( "Steven10172" , "FAILED:"); } //eval($eval[1]); or $this->msg("steven10172" ,"failed"); unset($text, $command); break; case ':!stats': if($text == "") { $this->notice($nick, "\X004Please specify a Runescape Username"); } else { $rsname = $text; $this->rsstats($rsname, $nick, "!"); } unset($rsname, $text, $command); break; case ':@stats': if($text == "") { $this->msg($nick, "\X004Please specify a Runescape Username"); } else { $rsname = $text; $this->rsstats($rsname, $chan, "@"); } unset($rsname, $text, $command); break; case ':!join': $this->join($text, $nick); $this->msg($text, "I have been request to join your channel by". chr(3) . "07". $nick); break; case ':!leave': $channel = $text; $nick = $nick; $reason = $text; $this->leave($channel, $nick, $reason); break; case ':!part': $channel = $chan; $this->part($channel); break; case ':!duelcommands': $this->msg($nick,"!duel"); $this->msg($nick,"!endduel"); $this->msg($nick,"---Duel Commands---"); $this->msg($nick,"!windstrike"); $this->msg($nick,"!waterstrike"); $this->msg($nick,"!earthstrike"); $this->msg($nick,"!firestrike"); $this->msg($nick,"!dds"); $this->msg($nick,"!flick"); $this->msg($nick,"!rubberchicken"); $this->msg($nick,"!dh"); $this->msg($nick,"!whip"); $this->msg($nick,"!icebarrage"); $this->msg($nick,"!tele"); $this->msg($nick,"---Duel Commands---"); break; case ':!duel': if ($duel2[$chan] == "active") { $this->notice($nick, "A duel is already active please wait for it to end."); } if ($duel[$chan] == "active") { $player2[$chan] = $nick; $this->msg($chan, "the match is set! ".$player1[$chan]." vs ".$player2[$chan]); $duel2[$chan] = "active"; $p1hp[$chan] = 99; $p2hp[$chan] = 99; $spec1[$chan] = 0; $spec2[$chan] = 0; $turn[$chan] = 1; } else { $duel[$chan] = "active"; $player1[$chan] = $nick; $this->msg($chan, $nick . " has initiated a duel type !duel to fight him"); } break; case ':!eat': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $p1hp[$chan] = $p1hp[$chan] + 20; $this->msg($chan, $player1[$chan]." eats a shark and gains 20 hp"); } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $p2hp[$chan] = $p2hp[$chan] + 20; $this->msg($chan, $player2[$chan]." eats a shark and gains 20hp"); } } break; case ':!windstrike': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $hit[$chan] = rand(0,2); $this->msg($chan, $player1[$chan]." has hit a ".$hit[$chan]); $p2h[$chan] = $p2hp[$chan] - $hit[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $hit[$chan] = rand(0,2); $this->msg($chan, $player2[$chan]." has hit a ".$hit[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } break; case ':!waterstrike': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $hit[$chan] = rand(0,3); $this->msg($chan, $player1[$chan]." has hit a ".$hit[$chan]); $p2h[$chan] = $p2hp[$chan] - $hit[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $hit[$chan] = rand(0,3); $this->msg($chan, $player2[$chan]." has hit a ".$hit[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } break; case ':!earthstrike': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $hit[$chan] = rand(0,4); $this->msg($chan, $player1[$chan]." has hit a ".$hit[$chan]); $p2h[$chan] = $p2hp[$chan] - $hit[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $hit[$chan] = rand(0,4); $this->msg($chan, $player2[$chan]." has hit a ".$hit[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } break; case ':!firestrike': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $hit[$chan] = rand(0,5); $this->msg($chan, $player1[$chan]." has hit a ".$hit[$chan]); $p2h[$chan] = $p2hp[$chan] - $hit[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $hit[$chan] = rand(0,5); $this->msg($chan, $player2[$chan]." has hit a ".$hit[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } break; case ':!dds': if ($nick == $player1[$chan]) { if ($turn[$chan] == 1) { if ($spec2 < 4) { $turn[$chan] = 2; $hit1[$chan] = rand(0,25); $hit2[$chan] = rand(0,25); $this->msg($chan, $player1[$chan]." has hit ".$hit1[$chan]."-".$hit2[$chan]); $p2hp[$chan] = $p2hp[$chan] - $hit1[$chan] - $hit2[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } else { $this->notice($nick, "you are out of specials"); } //else { // $this->notice($nick, "It's not your turn"); //} } } else { } if ($nick == $player2[$chan]) { if ($turn[$chan] == 2) { if ($spec2 < 4) { $turn[$chan] = 1; $hit1[$chan] = rand(0,25); $hit2[$chan] = rand(0,25); $this->msg($chan, $player2[$chan]." has hit ".$hit1[$chan]."-".$hit2[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit1[$chan] - $hit2[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } else { $this->notice($nick, "you are out of specials"); } //else { // $this->notice($nick, "It's not your turn"); //} } } else { } break; case ':!flick': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $hit[$chan] = rand(0,15); $this->msg($chan, $player1[$chan]." has hit a ".$hit[$chan]); $p2h[$chan] = $p2hp[$chan] - $hit[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $hit[$chan] = rand(0,15); $this->msg($chan, $player2[$chan]." has hit a ".$hit[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } break; case ':!rubberchicken': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $hit[$chan] = rand(0,4); $this->msg($chan, $player1[$chan]." has hit a ".$hit[$chan]); $p2h[$chan] = $p2hp[$chan] - $hit[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $hit[$chan] = rand(0,4); $this->msg($chan, $player2[$chan]." has hit a ".$hit[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } break; case ':!dh': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $hit[$chan] = rand(0,60); $this->msg($chan, $player1[$chan]." has hit a ".$hit[$chan]); $p2h[$chan] = $p2hp[$chan] - $hit[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $hit[$chan] = rand(0,60); $this->msg($chan, $player2[$chan]." has hit a ".$hit[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } break; case ':!whip': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $hit[$chan] = rand(0,40); $this->msg($chan, $player1[$chan]." has hit a ".$hit[$chan]); $p2h[$chan] = $p2hp[$chan] - $hit[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $hit[$chan] = rand(0,40); $this->msg($chan, $player2[$chan]." has hit a ".$hit[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } break; case ':!icebarrage': if ($turn[$chan] == 1) { if ($nick == $player1[$chan]) { $turn[$chan] = 2; $hit[$chan] = rand(0,50); $this->msg($chan, $player1[$chan]." has hit a ".$hit[$chan]); $p2h[$chan] = $p2hp[$chan] - $hit[$chan]; $this->msg($chan, $player2[$chan]." has ".$p2hp[$chan]." hp left"); if ($p2hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player1[$chan]." has defeated ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } else if ($turn[$chan] == 2) { if ($nick == $player2[$chan]) { $turn[$chan] = 1; $hit[$chan] = rand(0,50); $this->msg($chan, $player2[$chan]." has hit a ".$hit[$chan]); $p1hp[$chan] = $p1hp[$chan] - $hit[$chan]; $this->msg($chan, $player1[$chan]." has ".$p1hp[$chan]." hp left"); if ($p1hp[$chan] < 0) { //ADD STATS PART HERE $this->msg($chan, $player2[$chan]." has defeated ".$player1[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } else { } } } break; case ':!tele': if ($player1 == $nick || $player2 == $nick) { $this->msg($chan, $player2." loses the Death Match by Teleing away...What a nub!"); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); } break; case ':!endduel': $this->msg($chan, $nick." has ended the current duel of ".$player1[$chan]." and ".$player2[$chan]); unset($duel[$chan], $player1[$chan], $player2[$chan], $duel2[$chan], $p1hp[$chan], $p2hp[$chan], $spec1[$chan], $spec2[$chan], $turn[$chan], $hit1[$chan], $hit2[$chan]); break; } } //unset($raw, $ex, $matches, $nick, $chan, $msg_type, $text, $command); //} } } $bot = new bot(); $bot->connect(); $select = new select(); ?> //ADD try { 'EVAL CODE' } catch { } //try { eval($eval[1]); } catch (exception e) { $this->msg($username, "FAILED: ". e->getMessage(); } //try { eval($eval[1]); } catch (Exception $e) { $this->msg( "Steven10172" , "FAILED:"); } //or $this->msg("steven10172" ,"failed"); //eval($eval[1]); or $this->msg("steven10172" ,"failed"); //error_reporting(E_ALL);