function hack_player_account() { $building_id = JRequest::getvar('bank_id'); $user = JFactory::getUser(); $now = time(); $db = JFactory::getDBO(); $account_id = JRequest::getvar('playerid'); $query = " SELECT *\n FROM j17_jigs_bank_accounts\n WHERE player_id = {$user->id} AND bank_id ={$building_id}"; $db->setQuery($query); $player = $db->loadObject(); $query = " SELECT *\n FROM j17_jigs_bank_accounts\n WHERE player_id = {$account_id} AND bank_id = {$building_id}"; $db->setQuery($query); $account = $db->loadObject(); if ($player->bank_sec_level > $account->bank_sec_level) { $account->amount = $account->amount - 100; $player->amount = $player->amount + 90; $message = " You win"; } elseif ($player->bank_sec_level < $account->bank_sec_level) { if (in_array(34, $player->skills)) { $player->level++; $message = "You lose"; } } else { $message = "You draw"; } MessagesHelper::sendFeedback($user->id, $message); //$this->sendWavyLines($text); $query = "UPDATE j17_jigs_bank_accounts SET amount = {$player->amount}, timestamp = {$now} WHERE player_id = {$user->id} AND bank_id ={$building_id}"; $db->setQuery($query); $db->query(); $query = "UPDATE j17_jigs_bank_accounts SET amount = {$account->amount}, timestamp = {$now} WHERE player_id = {$account->player_id} AND bank_id ={$building_id}"; $db->setQuery($query); $db->query(); return $this->get_account_list(); }
function attack() { $db = JFactory::getDBO(); $user = JFactory::getUser(); $id = JRequest::getvar('id'); $monster = $this->getMonster($id, $db); $player = $this->getPlayer($user, $db); $attackRoundMonster = $monster->defence + rand(0, 6); $attackRoundPlayer = $monster->attack + rand(0, 6); if ($attackRoundPlayer > $attackRoundMonster) { $query = "UPDATE #__jigs_monsters SET health = health -10 WHERE id= {$id}"; $db->setQuery($query); $db->query(); $message = 'You caused 10 hit points of damage'; MessagesHelper::sendFeedback($user->id, $message); } $query = "SELECT health FROM #__jigs_monsters WHERE id= {$id}"; $db->setQuery($query); $result['id'] = $id; $result['health'] = $db->loadResult(); $entryData = array('category' => 'monsterHealthCategory', 'title' => 'title', 'article' => $result, 'when' => time()); $context = new ZMQContext(); $socket = $context->getSocket(ZMQ::SOCKET_PUSH, 'my pusher'); if ($socket->connect("tcp://localhost:5555")) { // echo 'connected'; } if ($socket->send(json_encode($entryData))) { // echo 'delivered'; } return true; }
function use_hobbits($id, $total, $workforce_required) { $db = JFactory::getDBO(); if ($total >= $workforce_required) { $query = "UPDATE #__jigs_hobbits SET status = 2 \n\t\t WHERE owner = {$id} \n\t\t ORDER BY xp ASC\n\t\t LIMIT {$workforce_required}"; $db->setQuery($query); $db->query; // $message_result = Jview::loadHelper('messages'); //got an error without this $message = "{$workforce_required} hobbits have begun work"; MessagesHelper::sendFeedback($id, $message); return true; } MessagesHelper::sendFeedback($id, "no hobbits"); return false; }
public function use_battery_new($id, $energy_units_required) { $db = JFactory::getDBO(); $user = JFactory::getUser(); $message = "Energy Required : " . $energy_units_required; MessagesHelper::sendFeedback($user->id, $message); $batteries = $this->get_all_energy($id); $total = $this->get_total_energy($id); $message = "Total Energy available : " . $total; MessagesHelper::sendFeedback($user->id, $message); if ($total < $energy_units_required) { $message = "not enough energy"; MessagesHelper::sendFeedback($user->id, $message); return false; } $i = 1; foreach ($batteries as $battery) { if ($energy_units_required > 0) { if ($energy_units_required < $battery->units) { $db = JFactory::getDBO(); $battery->units = $battery->units - $energy_units_required; $message = $energy_units_required . " unit(s) deducted from battery " . $i; $energy_units_required = 0; MessagesHelper::sendFeedback($user->id, $message); } else { $energy_units_required = $energy_units_required - $battery->units; $message .= $battery->units . " unit(s) deducted from battery " . $i . "<br/>"; $battery->units = 0; $message .= "zero units remaining in battery " . $i . "</br>"; MessagesHelper::sendFeedback($user->id, $message); } $sql = "UPDATE #__jigs_batteries SET units = " . $battery->units . " WHERE id = " . $battery->id; $db->setQuery($sql); $result = $db->query(); } else { $message = "energy transer complete"; MessagesHelper::sendFeedback($user->id, $message); break; } $i++; } $total = $this->get_total_energy($id); $message = $total . " remaining energy units"; MessagesHelper::sendFeedback($user->id, $message); return true; }
function get_free_seed() { $db = JFactory::getDBO(); $user = JFactory::getUser(); $query = "SELECT seed_list FROM #__jigs_crop_seeds WHERE #__jigs_crop_seeds.owner = {$user->id} "; $db->setQuery($query); $result = $db->loadResult(); $result_array = explode(',', $result); if (in_array(1, $result_array)) { $message = "You already received your yearly supply of Bonsanto(tm) Basic Seeds level 1"; $message .= "Your attempt to defraud the people of Pryamid City has been recorded"; } else { $result_array[] = 1; $string = implode($result_array, ','); $sql = "INSERT INTO #__jigs_crop_seeds (seed_list,owner)\n VALUES ('{$string}', {$user->id}) ON DUPLICATE KEY\n UPDATE seed_list = '{$string}'"; $db->setQuery($sql); $db->query(); $message = "You receive your yearly supply of Bonsanto Basic Seeds level 1"; } MessagesHelper::sendFeedback($user->id, $message); return $message; }
function test_level($user_id) { $user = JFactory::getUser(); $db = JFactory::getDBO(); $now = time(); $query = "SELECT xp FROM #__jigs_players where id = {$user_id}"; $db->setQuery($query); $xp = $db->loadResult(); $milestones = array(100, 200, 400, 800, 1600, 2000, 4000, 8000); foreach ($milestones as $check) { if ($xp == $check) { $query = "UPDATE #__jigs_players SET level=level+1, statpoints = statpoints + 5 WHERE id = {$user_id}"; $db->setQuery($query); $db->query(); $text = 'Citizen ' . $user->username . ' leveled up'; $this->sendWavyLines($text); MessagesHelper::sendFeedback($user->id, $text); } } }
function sell() { $db = JFactory::getDBO(); $user = JFactory::getUser(); $building_id = JRequest::getvar('building_id'); $item = JRequest::getvar('item'); $sell = JRequest::getvar('sell'); $player_money = $this->get_player_money($db, $user); if ($sell == 'objects') { $query1 = "SELECT buy_price FROM #__jigs_shop_prices WHERE item_id = {$item} AND shop_id = " . $building_id; $query2 = "DELETE FROM #__jigs_objects WHERE #__jigs_objects.player_id = {$user->id} AND item_id= {$item} LIMIT 1"; $text = "You sold object."; } if ($sell == 'crops') { $total_crops = $this->get_total_crops(); $query2 = "Update #__jigs_farms\n LEFT JOIN #__jigs_buildings\n on #__jigs_farms.building = #__jigs_buildings.id\n SET total = 0\n WHERE #__jigs_buildings.owner = {$user->id}"; $text = "You sold {$total_crops} crops."; $xp_type = 'nbr_crops'; } if ($sell == "battery") { $query2 = "UPDATE #__jigs_batteries SET id = {$building_id} WHERE id = {$user->id} LIMIT 1"; $text = "You sold battery"; } if ($sell == "metal") { $query1 = "SELECT buy_price FROM #__jigs_shop_metal_prices WHERE item_id = {$item} AND shop_id = " . $building_id; $query2 = "UPDATE #__jigs_metals SET quantity = quantity - 1 WHERE #__jigs_metals.player_id = {$user->id} AND item_id= {$item} "; $text = "You sold metal"; } if ($sell == "weapon") { $query1 = "SELECT sell_price FROM #__jigs_weapon_types WHERE id = " . $item; $query2 = "DELETE FROM #__jigs_weapons WHERE #__jigs_weapons.player_id = {$user->id} AND item_id=" . $item . " LIMIT 1"; $text = "You sold weapon"; } if ($sell == "crystals") { $query1 = "SELECT buy_price FROM #__jigs_crystal_prices WHERE #__jigs_crystal_prices.item_id =" . $item; $query2 = "DELETE FROM #__jigs_crystals WHERE #__jigs_crystals.player_id = {$user->id} AND item_id= {$item} LIMIT 1"; $text = "You sold crystals"; } if ($sell == "papers") { $query1 = "SELECT buy_price FROM #__jigs_papers WHERE #__jigs_papers.id =" . $item; $query2 = "DELETE FROM #__jigs_papers WHERE #__jigs_papers.player_id = {$user->id} AND item_id= {$item} LIMIT 1"; $text = "You sold papers"; } //////////////////////////Get Buy Price for player ///////// if ($sell == "crops") { $buy_price = $total_crops * 1000; } elseif ($sell == "battery") { $buy_price = 90; } else { $db->setQuery($query1); $buy_price = $db->loadResult(); } ////Update players money//////////////////////////////////// $player_money = $player_money + $buy_price; $this->update_players_money($db, $player_money, $user); ////////// Delete item or update ownership ///////////////// $db->setQuery($query2); $db->query(); /////////////////// Increment XP /////////////////////////// $test = $this->increment_xp($xp_type, $user->id); ////////////////// Send Messages ////////////////////////// MessagesHelper::sendFeedback($user->id, $text); return $player_money; }
/** * @param $energyUnitsRequired * @param $batteries * @param $user * @param $message * @return string */ protected function unitsDeductedLoop($energyUnitsRequired, $batteries, $user, $message) { $iter = 1; foreach ($batteries as $battery) { if ($energyUnitsRequired > 0) { if ($energyUnitsRequired < $battery->units) { $db = JFactory::getDBO(); $battery->units = $battery->units - $energyUnitsRequired; $message = $energyUnitsRequired . " unit(s) deducted from battery " . $iter; $energyUnitsRequired = 0; MessagesHelper::sendFeedback($user->id, $message); } else { $energyUnitsRequired = $energyUnitsRequired - $battery->units; $message .= $battery->units . " unit(s) deducted from battery " . $iter . "<br/>"; $battery->units = 0; $message .= "zero units remaining in battery " . $iter . "</br>"; MessagesHelper::sendFeedback($user->id, $message); } $sql = "UPDATE #__jigs_batteries SET units = " . $battery->units . "\n WHERE id = " . $battery->id; $db->setQuery($sql); $db->query(); } else { $message = "energy transer complete"; MessagesHelper::sendFeedback($user->id, $message); break; } $iter++; } return; }