private function update(player $player) { $db = db::obtain(); $data = array('account_id' => player::convert_id($player->get('steamid'))); $data = array_merge($data, $player->get_data_array()); $db->update_pdo(db::real_tablename('users'), $data, array('steamid' => $player->get('steamid'))); }
/** * Construct */ public function __construct(player $up) { parent::__construct($up); // vise liste over drapsforsøk for en bestemt spiller if (isset($_GET['up_id']) && access::has("mod", NULL, NULL, "login")) { $up_id = (int) $_GET['up_id']; $player = player::get($up_id); if ($player === false) { ess::$b->page->add_message("Fant ikke spilleren med id {$up_id}.", "error"); redirect::handle('drap?allef'); } $this->show_tries($player); } elseif (isset($_GET['offer_up_id']) && access::has("mod", NULL, NULL, "login")) { $up_id = (int) $_GET['offer_up_id']; $player = player::get($up_id); if ($player === false) { ess::$b->page->add_message("Fant ikke spilleren med id {$up_id}.", "error"); redirect::handle('drap?allef'); } $this->show_tries($player, true); } elseif (isset($_GET['allef']) && access::has("mod", NULL, NULL, "login")) { $this->show_tries(); } elseif (isset($_GET['forsok'])) { $this->show_tries($this->up); } elseif (isset($_GET['alle']) && access::has("mod", NULL, NULL, "login")) { $this->show_all(); } else { $this->show_main(); } ess::$b->page->load(); }
public function load() { $db = db::obtain(); $players = array(); $result = $db->fetch_array_pdo('SELECT * FROM users WHERE steamid IN (' . $this->get_ids_string() . ')', array()); foreach ($result as $r) { $player = new player(); $player->set_array((array) $r); $players[$player->get('steamid')] = $player; } return $players; }
/** * Handle notify URLs from PayPal */ public function action_notify() { file_put_contents(PATH_ROOT . "/paypal.log", print_r($_POST, true), FILE_APPEND); // TODO: remove this when tested on production if (!isset($_POST['receiver_email']) || $_POST['receiver_email'] != '*****@*****.**') { die; } // should really check for duplicates, but we don't // but it must be "completed" if (!isset($_POST['payment_status']) || $_POST['payment_status'] != 'Completed') { die; } // verify it $verify = Donation::verifyPayPalData($_POST); if (!$verify) { die; } // check for user etc $custom = postval("custom"); if (!preg_match('~^(.*):(.*);public=(0|1)$~', $custom, $matches)) { die; } trigger_error("should add"); $player = null; if ($matches[1] != "gjest") { // find this player $result = DB::get()->query("\n\t\t\t\tSELECT up_id\n\t\t\t\tFROM users_players\n\t\t\t\t\tLEFT JOIN users ON up_u_id = u_id\n\t\t\t\t\tLEFT JOIN sessions ON u_id = ses_u_id\n\t\t\t\tWHERE ses_id = " . DB::quote($matches[1]) . " AND up_id = " . DB::quote($matches[2]) . " LIMIT 1"); if ($up_id = $result->fetchColumn(0)) { $player = \player::get($up_id); } } $time = \ess::$b->date->parse(postval("payment_date")); // add it $d = Donation::create(postval("mc_gross"), $time, $matches[3] ? $player->id : null); putlog("CREWCHAN", sprintf("%%uDONASJON:%%u %s %s ble donert av %s", postval("mc_currency"), postval("mc_gross"), $player ? $player->data['up_name'] . ($matches[3] ? ' (synlig)' : ' (som anonym)') : 'anonym gjest')); // no output die; }
// fant ingen spller? $row = $result->fetch(); if (!$row) { ess::$b->page->add_message("Fant ikke spilleren.", "error"); redirect::handle("finn_spiller?finn=" . urlencode($name), redirect::ROOT); } // sende til korrekt side? if (!isset($_SERVER['REDIRECT_URL'])) { // send til korrekt side $address = game::address("/p/" . rawurlencode($row['up_name']) . ($by_id ? "/{$row['up_id']}" : ""), $_GET, array("id", "name")); redirect::handle($address, redirect::ROOT); } if (login::$logged_in && $row['up_id'] == login::$user->player->id) { $player = login::$user->player; } else { $player = player::get($row['up_id']); } } elseif (isset($_GET['id'])) { $up_id = (int) $_GET['id']; $result = \Kofradia\DB::get()->query("SELECT up_id, up_name FROM users_players WHERE up_id = {$up_id}"); $row = $result->fetch(); if (!$row) { ess::$b->page->add_message("Fant ikke spilleren.", "error"); redirect::handle("finn_spiller", redirect::ROOT); } // send til korrekt side $address = game::address("/p/" . rawurlencode($row['up_name']) . "/{$row['up_id']}", $_GET, array("id")); redirect::handle($address, redirect::ROOT); } elseif (isset($_GET['user'])) { // send til korrekt side $address = game::address("/p/" . rawurlencode($_GET['user']), $_GET, array("user"));
/** * Bryte ut fra fengsel */ protected function bryt_ut() { // allerede i fengsel? if ($this->up->fengsel_check()) { ess::$b->page->add_message("Du er allerede i fengsel.", "error"); redirect::handle(); } // har vi ikke nok energi? if (!$this->up->energy_check(self::ENERGY)) { ess::$b->page->add_message("Du har ikke nok energi for å bryte ut andre spillere nå."); redirect::handle(); } $time = intval(postval('time')); // hent informasjon @(list($up_id, $expire, $dusor) = explode("_", $_POST['up_id'] . "_", 3)); $up_id = intval($up_id); $expire = intval($expire); $dusor = game::intval($dusor); $up = player::get($up_id); if (!$up) { ess::$b->page->add_message("Fant ikke brukeren.", "error"); redirect::handle(); } // ikke i fengsel lengre? $wait = $up->fengsel_wait(); if ($wait == 0) { ess::$b->page->add_message('<user id="' . $up->id . '" /> er nok allerede brutt ut!', "error"); redirect::handle(); } // ikke riktig tid? if ($up->data['up_fengsel_time'] != $expire) { ess::$b->page->add_message('<user id="' . $up->id . '" /> har kommet i fengsel på nytt. Prøv igjen.', "error"); redirect::handle(); } // feil dusør? if ($up->data['up_fengsel_dusor'] != $dusor) { ess::$b->page->add_message('Dusøren til <user id="' . $up->id . '" /> har endret seg. Prøv på nytt.', "error"); redirect::handle(); } // sett opp sannsynlighet $prob = self::calc_prob($wait, $up->data['up_wanted_level'] / 10); $points = self::calc_points($prob); // sett opp dusør $dusor_org = $up->data['up_fengsel_dusor']; $dusor = bcmul($up->data['up_fengsel_dusor'], self::DUSOR_PROFIT); // klarte vi det? $success = rand(0, 999) < $prob * 10; if ($success) { // penger man får for utbrytelsen $cash = round(max(0, 100 - $prob) / 100 * self::CASH_MAX); // sett som utbrytet $a = \Kofradia\DB::get()->exec("\n\t\t\t\tUPDATE users_players\n\t\t\t\tSET up_fengsel_time = " . (time() - 1) . ", up_fengsel_dusor_total_out = up_fengsel_dusor_total_out + up_fengsel_dusor, up_fengsel_dusor = 0\n\t\t\t\tWHERE up_id = {$up->id} AND up_fengsel_time = {$up->data['up_fengsel_time']} AND up_fengsel_dusor = {$up->data['up_fengsel_dusor']}"); if ($a == 0) { ess::$b->page->add_message('<user id="' . $up->id . '" /> er nok allerede brutt ut!', "error"); redirect::handle(); } $up->data['up_fengsel_time'] = time() - 1; $up->data['up_fengsel_dusor_total_out'] = bcadd($up->data['up_fengsel_dusor_total_out'], $up->data['up_fengsel_dusor']); $up->data['up_fengsel_dusor'] = 0; // oppdater antall utbrytninger og gi evt. penger \Kofradia\DB::get()->exec("\n\t\t\t\tUPDATE users_players\n\t\t\t\tSET up_fengsel_num_out_tries = up_fengsel_num_out_tries + 1, up_fengsel_num_out_success = up_fengsel_num_out_success + 1, up_cash = up_cash + {$cash} + {$dusor}, up_fengsel_dusor_total_in = up_fengsel_dusor_total_in + {$dusor}\n\t\t\t\tWHERE up_id = " . $this->up->id); $this->up->update_money(bcadd($cash, $dusor), true, false); // hendelse for spilleren som ble brutt ut $up->add_log("fengsel", $dusor_org > 0 ? $dusor_org : null, $this->up->id); $fengsel = $this->up->fengsel_rank($points, true); // penger, dusør og poeng vi mottar $mottok = array(); if ($cash > 0) { $mottok[] = game::format_cash($cash); } if ($dusor > 0) { $mottok[] = "dusøren på " . game::format_cash($dusor); } $mottok[] = game::format_num($points) . ' poeng'; // melding $msg = 'Du brøt ut <user id="' . $up->id . '" /> fra fengselet og mottok ' . sentences_list($mottok) . '.'; if ($fengsel > 0) { $msg .= ' Wanted nivået økte med ' . game::format_number($fengsel / 10, 1) . ' %.'; } ess::$b->page->add_message($msg); // logg putlog("LOG", "FENGSELUTBRYTNING: {$this->up->data['up_name']} brøt ut {$up->data['up_name']} fra fengsel (wait={$wait}, cash={$cash}, dusør={$dusor_org}, prob={$prob}, rank={$points})"); // rank $this->up->increase_rank($points); } else { // mislykket $fengsel = $this->up->fengsel_rank($points, false, true); // oppdater antall utbrytninger (kun forsøk) \Kofradia\DB::get()->exec("UPDATE users_players SET up_fengsel_num_out_tries = up_fengsel_num_out_tries + 1 WHERE up_id = " . $this->up->id); if ($fengsel > 0) { ess::$b->page->add_message('Mislykket! Wanted nivået økte med ' . game::format_number($fengsel / 10, 1) . ' %.'); } } // trigger $this->up->trigger("fengsel", array("success" => $success, "up" => $up, "wait" => $wait, "prob" => $prob, "points" => $points, "cash" => $success ? $cash : null, "dusor" => $dusor, "dusor_org" => $dusor_org)); $up->trigger("fengsel_affected", array("success" => $success, "up" => $this->up, "wait" => $wait, "prob" => $prob, "points" => $points, "cash" => $success ? $cash : null, "dusor" => $dusor, "dusor_org" => $dusor_org)); // energy $this->up->energy_use(self::ENERGY); redirect::handle(); }
/** * Behandle vinner */ protected function give_prize($nummer) { $id = $nummer - 1; // finn ut antall lodd vi kan trekke ifra $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT COUNT(id)\n\t\t\tFROM lotto JOIN users_players ON up_id = l_up_id AND up_access_level != 0" . (count($this->vinnere) > 0 ? "\n\t\t\tWHERE l_up_id NOT IN (" . implode(",", $this->vinnere) . ")" : "")); $num = $result->fetchColumn(0); if ($num == 0) { return; } // hent en tilfeldig vinner $rand = rand(0, $num - 1); $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT id, l_up_id, time, up_name\n\t\t\tFROM lotto JOIN users_players ON up_id = l_up_id AND up_access_level != 0" . (count($this->vinnere) > 0 ? "\n\t\t\tWHERE l_up_id NOT IN (" . implode(",", $this->vinnere) . ")" : "") . "\n\t\t\tLIMIT {$rand}, 1"); $vinner = $result->fetch(); if (!$vinner) { return; } $up = player::get($vinner['l_up_id']); if (!$up) { return; } // antall lodd vi hadde $result = \Kofradia\DB::get()->query("SELECT COUNT(*) FROM lotto WHERE l_up_id = {$up->id}"); $count = $result->fetchColumn(0); $up->add_log("lotto", $nummer . ":" . $this->premier[$id][0], $this->premier[$id][2]); // sett opp som vinner \Kofradia\DB::get()->exec("INSERT INTO lotto_vinnere SET l_id = {$vinner['id']}, lv_up_id = {$vinner['l_up_id']}, time = {$vinner['time']}, won = {$this->premier[$id][2]}, total_lodd = {$this->antall}, total_users = {$this->brukere}, type = {$nummer}"); // send brukeren penger $up->update_money($this->premier[$id][2], false); // øk rank $up->increase_rank($this->premier[$id][0], false, null, null, "lotto"); // trigger $up->trigger("lotto", array("number" => $nummer, "cash" => $this->premier[$id][2], "points" => $this->premier[$id][0], "lodd" => $count, "lodd_total" => $this->antall, "players" => $this->brukere)); $this->vinnere[] = $vinner['l_up_id']; $this->vinnere_text[] = $vinner['up_name']; }
/** * Handle failure */ protected function handleFailure() { // wanted level $this->result->wanted = $this->ut->up->fengsel_rank($this->getPoints()); \Kofradia\DB::get()->prepare("\n\t\t\tUPDATE users_players\n\t\t\tSET up_utpressing_last = ?\n\t\t\tWHERE up_id = ?")->execute(array(time(), $this->ut->up->id)); $this->ut->up->data['up_utpressing_last'] = time(); // we can fail totally, which basicly mean // we don't find a player at all // or we can try find a player and pretend we // didn't manage to take the money if (rand(1, 100) <= 30) { return; } $cash = $this->getCash(); $w = $this->getPlayersCriterias($cash); // find a matching player $result = \Kofradia\DB::get()->prepare("\n\t\t\tSELECT up_id\n\t\t\tFROM (\n\t\t\t\tSELECT up_id\n\t\t\t\tFROM users_players\n\t\t\t\tWHERE {$w[0]}\n\t\t\t\tORDER BY up_last_online DESC\n\t\t\t\tLIMIT 100\n\t\t\t) ref\n\t\t\tORDER BY RAND()\n\t\t\tLIMIT 1"); $result->execute($w[1]); // no players? $row = $result->fetch(); if (!$row) { return; } $this->result->up = \player::get($row['up_id']); $this->result->cashLost = $cash; }
private function announce($day, $res) { if (!$res[1] && !$res[2]) { $html = "Ingen vant eller deltok på luken for " . $day . ". desember i julekalenderen."; $text = $html; } else { $html = ""; $text = ""; if ($res[1]) { $up = player::get($res[1]); $html .= '<user id="' . $res[1] . '" /> ble den heldige vinner av luken for ' . $day . '. desember i julekalenderen.'; $text .= $up->data['up_name'] . ' ble den heldige vinner av luken for ' . $day . '. desember i julekalenderen.'; } if ($res[2]) { $up = player::get($res[2]); if (!$res[1]) { $html .= 'Ingen svarte riktig for luken til ' . $day . '. desember i julekalenderen.'; $text .= 'Ingen svarte riktig for luken til ' . $day . '. desember i julekalenderen.'; } $html .= ' <user id="' . $res[2] . '" /> vant deltakerpremien.'; $text .= ' ' . $up->data['up_name'] . ' vant deltakerpremien.'; } } livefeed::add_row($html); putlog("INFO", "%bJULEKALENDER%b: {$text}"); }
if ($unitAssign != 0) { echo 'Task type 2 Detail - unit assigned #' . $unitAssign . '<br>'; //print_r($taskDat); } } else { //echo 'Task type 2 Detail'; } // Get list of workers avaialble to work on this task. $unitFile = fopen($gamePath . '/unitDat.dat', 'rb'); fseek($unitFile, $pGameID * $defaultBlockSize); $pDat = unpack('i*', fread($unitFile, 400)); $playerObj = new player($pGameID, $pDat, $unitFile); //print_R($playerObj); $slotFile = fopen($gamePath . '/gameSlots.slt', 'rb'); //$unitList = array_filter(unpack("i*", readSlotData($slotFile, $playerObj->unitSlot, 40))); $unitList = new itemSlot($playerObj->get('unitSlot'), $slotFile, 40); //echo 'Check unit tslot '.$playerObj->get('unitSlot'); $noUnitsHere = true; echo '<script> useDeskTop.newPane("characters"); thisDiv = useDeskTop.getPane("characters"); taskList.newUnit({unitType:"task", unitID:' . $postVals[1] . ', unitName:"Task #' . $postVals[1] . ' on ' . $taskDat[11] . '", actionPoints:' . $taskDat[6] . ', reqPts:' . $taskDat[5] . ', strength:75}); taskList.renderSum(' . $postVals[1] . ', thisDiv) var thisTask = makeTabMenu("newChars", thisDiv); var taskDesc = newTab("newChars", 1, "Description"); var taskWork = newTab("newChars", 2, "Workers available"); tabSelect("newChars", 1);'; //print_r($unitList->slotData); foreach ($unitList->slotData as $unitID) {
<?php require "../../base.php"; global $_whatpulse, $_base; // sørg for at whatpulse-innstillingene lastes inn class_exists("whatpulse"); // brukes kun for autoloader access::no_guest(); $_base->page->add_title("WhatPulse"); $wpFelt = $_whatpulse['fields_text']; $player = login::$user->player; // skal vi laste inn siden for noen andre spillere? if (isset($_GET['up_id']) && access::has("mod")) { $player = player::get(intval(getval('up_id'))); if (!$player or $player->id == login::$user->player->id) { redirect::handle(); } ess::$b->page->add_message('Du viser nå WhatPulse-informasjonen til <user id="' . $player->id . '" />'); redirect::store("?up_id={$player->id}"); } // sjekk om vi har WhatPulse registrert $result = \Kofradia\DB::get()->query("SELECT sw_userid, sw_time_update, sw_xml, sw_params FROM stats_whatpulse WHERE sw_up_id = " . $player->id . " FOR UPDATE"); if ($result->rowCount() == 0) { echo ' <h1>WhatPulse</h1> <div style="width: 300px" class="center"> <div class="section"> <h3>Informasjon</h3> <p> Du er ikke registrert med WhatPulse informasjon. For å koble WhatPulse informasjonen til din profil fyll ut formen nedenfor. Se på <a href="http://whatpulse.org/" target="_blank">whatpulse.org</a> for informasjon om WhatPulse. </p>
/** * Spiller dør av lite helse/deaktiverer seg selv */ public function bleed_handle() { $expire = time() - 3600 * 4; $by_up = null; // er dødsfallet innenfor tidspunktet hvor noen kan få kreditt for det? if ($this->data['up_attacked_time'] >= $expire) { // har vi en spiller som vi skal gi kreditt? if ($this->data['up_attacked_up_id']) { $by_up = player::get($this->data['up_attacked_up_id']); if ($by_up) { // gi kreditt \Kofradia\DB::get()->exec("UPDATE users_players SET up_attack_bleed_num = up_attack_bleed_num + 1 WHERE up_id = {$by_up->id}"); // gi beskjed til spilleren om at denne spillerne blødde ihjel $by_up->add_log("player_bleed", NULL, $this->id); } } // har vi noen FF som skal få kreditt? if ($this->data['up_attacked_ff_id_list']) { ff::attack_update(false, "bleed", array_map("intval", explode(",", $this->data['up_attacked_ff_id_list']))); } } // oppdater ff spilleren er med i $this->attacked_ff_update("bleed"); return $by_up; }
/** * Endre posisjon * @param int $priority hvilken posisjon * @param int $parent underordnet hvem * @param bool $anonymous anonym handling (med tanke på loggen til brukeren) */ public function change_priority($priority, $parent = NULL, $anonymous = false) { if (!$anonymous && !login::$logged_in) { throw new HSNotLoggedIn(); } global $_game; $priority = (int) $priority; $parent = (int) $parent; $action_player = $anonymous ? 0 : login::$user->player->id; $sell = $anonymous == "sell"; $old_priority = $this->data['ffm_priority']; $old_parent = $this->data['ffm_parent_up_id']; // ikke medlem? if ($this->status != self::STATUS_MEMBER || $this->crew) { throw new HSException("Brukeren er ikke medlem av FF."); } // ikke gyldig posisjon? if (!isset($this->ff->type['priority'][$priority])) { throw new HSException("Ugyldig posisjon."); } // kan ikke ha parent? if (!empty($parent) && $priority != 4) { throw new HSException("Kun soldiers kan ha parent."); } // ugyldig parent? if ($parent == $this->id) { throw new HSException("Du kan ikke sette brukeren som parent av seg selv."); } // ingenting endret if ($priority == $this->data['ffm_priority'] && $parent == $this->data['ffm_parent_up_id']) { return false; } // sjekk om brukeren er involvert i salg av FF if (!$sell) { $this->sell_remove(); } // flytt medlemmet \Kofradia\DB::get()->exec("UPDATE ff_members SET ffm_priority = {$priority}, ffm_parent_up_id = {$parent} WHERE ffm_ff_id = {$this->ff->id} AND ffm_up_id = {$this->id}"); // kun endret overordnet? if ($priority == $this->data['ffm_priority']) { // brukerlogg $info = $this->ff->id . ":" . urlencode($this->ff->data['ff_name']) . ":{$this->data['ffm_parent_up_id']}:{$parent}"; player::add_log_static("ff_member_parent", $info, $action_player, $this->id); // FF-logg $this->ff->add_log("member_parent", "{$action_player}:{$this->id}:{$this->data['ffm_parent_up_id']}:{$parent}"); } elseif (!$sell) { // brukerlogg $info = $this->ff->id . ":" . urlencode($this->ff->data['ff_name']) . ":" . urlencode($this->ff->type['priority'][$this->data['ffm_priority']]) . ":" . urlencode($this->ff->type['priority'][$priority]) . ":{$this->data['ffm_parent_up_id']}:{$parent}"; player::add_log_static("ff_member_priority", $info, $action_player, $this->id); // FF-logg $this->ff->add_log("member_priority", "{$action_player}:{$this->id}:" . urlencode($this->ff->type['priority'][$this->data['ffm_priority']]) . ":" . urlencode($this->ff->type['priority'][$priority]) . ":{$this->data['ffm_parent_up_id']}:{$parent}"); } // var capo før? if ($this->data['ffm_priority'] == 3 && $priority != 3) { $this->leave_capo_priority(); } // reattach $this->data['ffm_priority'] = $priority; $this->data['ffm_parent_up_id'] = $parent; $this->reattach(); // trigger player::get($this->id)->trigger("ff_priority_change", array("ff" => $this->ff, "member" => $this, "priority_old" => $old_priority, "parent_old" => $old_parent, "up_id" => $action_player)); return true; }
if ($row['u_recruiter_points'] + $diff > $points_limit) { $diff = $points_limit - $row['u_recruiter_points']; } $bonus = round($diff * $points_bonus_factor); if ($bonus <= 0) { continue; } putlog("LOG", "VERVEBONUS: {$row['up_name']} skal motta {$bonus} poeng fra {$row['u_email']} (#{$row['u_id']})"); if (!isset($players[$row['up_id']])) { $players[$row['up_id']] = 0; $players_count[$row['up_id']] = 0; } $players[$row['up_id']] += $bonus; $players_count[$row['up_id']]++; } // gi rankpoengene $total_bonus = 0; $i = 0; foreach ($players as $up_id => $bonus) { $up = player::get($up_id); if ($up) { // legg til hendelse $up->add_log("verve_bonus", $players_count[$up_id], $bonus); // gi rankpoengene $up->increase_rank($bonus, false); // oppdater antall poeng vi har fått via verving \Kofradia\DB::get()->exec("UPDATE users_players SET up_points_recruited = up_points_recruited + {$bonus} WHERE up_id = {$up_id}"); } } // oppdater brukerene med totalt rankepoeng for forrige oppdatering \Kofradia\DB::get()->exec("\n\tUPDATE users\n\tSET\n\t\tu_recruiter_points_bonus = u_recruiter_points_bonus + ROUND({$points_bonus_factor} * IF(u_recruiter_points >= {$points_limit}, 0, LEAST({$points_limit}, u_recruiter_points + GREATEST(0, CAST(u_recruiter_points_now - u_recruiter_points_last AS SIGNED))) - u_recruiter_points)),\n\t\tu_recruiter_points = IF(u_recruiter_points >= {$points_limit}, u_recruiter_points, LEAST({$points_limit}, u_recruiter_points + GREATEST(0, CAST(u_recruiter_points_now - u_recruiter_points_last AS SIGNED)))),\n\t\tu_recruiter_points_last = u_recruiter_points_now\n\tWHERE u_recruiter_points_last != u_recruiter_points_now AND u_recruiter_u_id IS NOT NULL");
/** * Vis detaljer */ protected function show_details() { if (empty($_GET['up_id']) || !access::has("mod")) { redirect::handle("etterlyst"); } // last inn spiller $up_id = (int) $_GET['up_id']; $up = player::get($up_id); if (!$up) { ess::$b->page->add_message("Ingen spiller med id {$up_id}.", "error"); redirect::handle("etterlyst"); } $pagei = new pagei(pagei::PER_PAGE, 30, pagei::ACTIVE_GET, 'side'); $result = $pagei->query("SELECT hl_id, hl_up_id, hl_by_up_id, hl_time, hl_amount, hl_amount_valid FROM hitlist WHERE hl_up_id = {$up->id} AND hl_amount_valid > 0 ORDER BY hl_time DESC"); echo ' <div class="bg1_c medium"> <h1 class="bg1"> Etterlyst - ' . $up->data['up_name'] . ' <span class="left"></span><span class="right"></span> </h1> <p class="h_left"><a href="etterlyst">« Tilbake</a></p> <div class="bg1"> <p>Denne listen viser info om alle som har lagt til dusør på spilleren ' . $up->profile_link() . '.</p>'; if ($pagei->total == 0) { echo ' <p><b>Det er ingen som har satt dusør på denne spilleren.</b></p>'; } else { echo ' <table class="table center' . ($pagei->pages == 1 ? ' tablemb' : '') . '"> <thead> <tr> <th>Satt av</th> <th>Tid</th> <th>Opprinnelig dusør</th> <th>Gjenstående dusør</th> </tr> </thead> <tbody>'; $i = 0; while ($row = $result->fetch()) { echo ' <tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '> <td><user id="' . $row['hl_by_up_id'] . '" /></td> <td>' . ess::$b->date->get($row['hl_time'])->format() . '</td> <td class="r">' . game::format_cash($row['hl_amount']) . '</td> <td class="r">' . game::format_cash($row['hl_amount_valid']) . '</td> </tr>'; } echo ' </tbody> </table>'; if ($pagei->pages > 1) { echo ' <p class="c">' . $pagei->pagenumbers() . '</p>'; } } echo ' </div> </div>'; }
/** * Vis en tilfeldig spiller */ protected function show_random_player() { $expire = time() - 86400; // hent en tilfeldig spiller $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT up_id\n\t\t\tFROM users_players\n\t\t\tWHERE up_access_level != 0 AND up_access_level < " . ess::$g['access_noplay'] . " AND up_last_online > {$expire} AND up_id != " . $this->up->id . "\n\t\t\tORDER BY RAND()\n\t\t\tLIMIT 1"); $row = $result->fetch(); if (!$row) { return; } $up = player::get($row['up_id']); // hent FF $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT ffm_priority, ff_id, ff_name, ff_type\n\t\t\tFROM ff_members JOIN ff ON ffm_ff_id = ff_id\n\t\t\tWHERE ffm_up_id = {$up->id} AND ffm_status = 1 AND ff_inactive = 0 AND ff_is_crew = 0\n\t\t\tORDER BY ff_name"); $ff = array(); while ($row = $result->fetch()) { $type = ff::$types[$row['ff_type']]; $row['posisjon'] = ucfirst($type['priority'][$row['ffm_priority']]); $ff[] = $row; } ess::$b->page->add_css(' .tilfeldig_spiller_img { float: right; margin: 8px 0 8px 5px; max-height: 80px; overflow: hidden } .tilfeldig_spiller_img img { width: 60px; display: block }'); $data = ''; $data .= ' <p class="tilfeldig_spiller_img profile_image"><a href="' . $up->generate_profile_url(false) . '"><img src="' . htmlspecialchars($up->get_profile_image()) . '" alt="Profilbilde" /></a></p> <p class="c">Tilfeldig spiller: ' . $up->profile_link() . '</p> <ul> <li>Registrert ' . ess::$b->date->get($up->data['up_created_time'])->format(date::FORMAT_NOTIME) . '</li> <li>' . $up->rank['name'] . ', plassert som nr. ' . $up->data['upr_rank_pos'] . '</li>'; foreach ($ff as $row) { $data .= ' <li>' . $row['posisjon'] . ' i <a href="' . ess::$s['relative_path'] . '/ff/?ff_id=' . $row['ff_id'] . '">' . htmlspecialchars($row['ff_name']) . '</a></li>'; } $data .= ' </ul>'; $this->put_box($data); }
/** * Construct * @param player $up * @param int $up_id hvis man ikke har spillerobjekt fra før */ public function __construct(player $up = null, $up_id = null, &$ref = null) { // lagre referanse? if ($ref === true) { $ref = $this; } // har vi spillerobjekt? if ($up) { $this->up = $up; } else { $this->up = player::get($up_id); if (!$this->up) { throw new HSException("Fant ikke gyldig spiller som det var referert til. Oppdragsystemet kan ikke fortsette."); } $this->up->oppdrag = $this; } $this->user_active = login::is_active_user($this->up); // sjekk om vi er på et aktivt oppdrag if ($this->up->params->get("oppdrag")) { // hent ut detaljer om oppdraget $oppdrag = new params($this->up->params->get("oppdrag")); // legg til som oppdrag $this->oppdrag[$oppdrag->get("o_id")] = $oppdrag->params; $this->load_params(); // sett som aktivt $this->active_set($oppdrag->get("o_id")); } // sett opp triggere for oppdragene som er tilgjengelige nå $this->load_triggers(); }
echo "Du vann! Denna gången..."; } else { if ($val > $_SESSION["game"]["player"]->score()) { echo "Du har förlorat. Det visste jag hela tiden. Idiot."; } else { echo "Du vann! Eller?..."; } } } } if (!isset($_SESSION["game"])) { $deck = new deck(); $deck->shuffleCards(); $player = new player(); $dealer = new player(); $dealer->get($deck, 1); $player->get($deck, 2); $_SESSION["game"] = ["deck" => $deck, "dealer" => $dealer, "player" => $player]; echo "<h3>Spelet har startat</h3>"; } else { if (!isset($_GET["a"])) { $_GET["a"] = null; $error = "Du måste klicka på en knapp... idiot."; } if ($error === false) { if ($_GET["a"] === "reset") { unset($_SESSION["game"]); header("Location: spel.php"); } elseif ($_GET["a"] === "hit") { $_SESSION["game"]["player"]->get($_SESSION["game"]["deck"], 1); check(false);
/** * Delete a specific contact entry */ public function action_delete($up_id) { $player = \player::get($up_id); $contact = $player ? Contact::getContactByPlayer($this->user, $player, getval("type") == "block") : null; if (validate_sid(false) && $contact && $contact->delete()) { \ess::$b->page->add_message('<user id="' . $player->id . '" /> ble fjernet.'); } return \redirect::handle("/kontakter", \redirect::ROOT); }
<?php define("FORCE_HTTPS", true); define("ALLOW_GUEST", true); require "base.php"; global $__server; ess::$b->page->theme_file = "guest_simple"; // logget inn og har vervelenke? if (login::$logged_in && isset($_GET['r'])) { // finn spilleren og redirect dit om mulig if ($player = player::get($_GET['r'])) { return $player->redirect_to(); } } access::no_user(); ess::$b->page->add_css(' .registrer_felt { background: rgb(30, 30, 30); background: rgba(150, 150, 150, 0.05); border: 7px solid rgb(25, 25, 25); border: 7px solid rgba(31, 31, 31, 0.7); width: 300px; margin: 1em auto; padding: 1px 1em; } /*.registrer_felt input.styled { background: #111; color: #FFF; border: 1px solid #1F1F1F; padding: 1px; font-size: 12px;
/** * Slett auksjonen (sett som inaktiv og returner bud) */ public function handle_delete() { // forsøk å sett som behandlet $this->data['a_completed'] = 1; $affected = \Kofradia\DB::get()->exec("UPDATE auksjoner SET a_completed = 1 WHERE a_id = {$this->id} AND a_completed = 0"); // allerede behandlet? if ($affected == 0) { return; } // behandle ulike auksjonstyper switch ($this->data['a_type']) { case self::TYPE_KULER: // gi kulene tilbake til personen som startet auksjonen $kuler = (int) $this->params->get("bullets"); if ($kuler && $this->data['a_up_id']) { \Kofradia\DB::get()->exec("UPDATE users_players SET up_weapon_bullets = up_weapon_bullets + {$kuler}, up_weapon_bullets_auksjon = GREATEST(0, up_weapon_bullets_auksjon - {$kuler}) WHERE up_id = {$this->data['a_up_id']}"); } break; } // hent alle budene som skal settes inaktive $result = \Kofradia\DB::get()->query("\n\t\t\tSELECT ab_id, ab_bid, ab_up_id\n\t\t\tFROM auksjoner_bud\n\t\t\tWHERE ab_a_id = {$this->id} AND ab_active != 0"); while ($row = $result->fetch()) { self::set_bud_inactive($row, $this); } // behandle trigger if ($this->data['a_up_id']) { $up = player::get($this->data['a_up_id']); if ($up) { $up->trigger("auksjon_delete", array("auksjon" => $this)); } } // oppdater cache self::update_cache(); }
<?php global $files; // kjør session for å unngå feil når player::get lastes session_start(); // eksporter databasen med exportscriptet require "export_to_devdb.php"; // initialiser crewfiles systemet med SYSTEM-brukeren crewfiles::init(player::get(SYSTEM_USER_ID), true); // hvilke filer i crewfiles som skal oppdateres $data = array(array(190, $files[0], "main")); // oppdaterer filene i crewfiles foreach ($data as $r) { // hent filobjekt i crewfiles $file = crewfiles::get_file($r[0]); if (!$file) { echo "Fant ikke filen med ID {$r[0]}\n"; continue; } echo "Kjører {$r[1]} gjennom gzip.\n"; shell_exec("gzip -9 " . escapeshellarg($r[1])); $r[1] .= ".gz"; echo "Laster opp {$r[1]} til crewfiles...\n"; $revision = $file->upload($r[1], "Automatisk eksportert", "application/x-gzip-compressed", $r[1], true); $path = ess::$s['spath'] . '/crewstuff/f/rev/' . $revision->id . '-' . urlencode(crewfiles::generate_tagname($revision->info['cfr_title'])); putlog("CREWCHAN", "Dev-database {$r[2]}: {$path}"); echo "Lastet opp!\n"; // slett filen unlink($r[1]); }
if (!$user) { ess::$b->page->add_message("Fant ikke brukeren.", "error"); } else { // logg inn if (login::do_login_handle($user->id, null, LOGIN_TYPE_ALWAYS)) { // logg inn utvidede tilganger login::extended_access_login(); ess::$b->page->add_message("Du er nå logget inn som #{$user->id} (" . htmlspecialchars($user->data['u_email']) . ", " . $user->player->profile_link() . ")."); redirect::handle("", redirect::ROOT); } ess::$b->page->add_message("Kunne ikke logge deg inn."); } } // med spillernavn? if (isset($_POST['up_name'])) { $player = player::get($_POST['up_name'], null, true); if (!$player) { ess::$b->page->add_message("Fant ikke spilleren.", "error"); } else { // logg inn if (login::do_login_handle($player->data['up_u_id'], null, LOGIN_TYPE_ALWAYS)) { // logg inn utvidede tilganger login::extended_access_login(); ess::$b->page->add_message("Du er nå logget inn som " . $player->profile_link() . " (" . htmlspecialchars($player->user->data['u_email']) . ")."); redirect::handle("", redirect::ROOT); } ess::$b->page->add_message("Kunne ikke logge deg inn."); } } ess::$b->page->add_js_domready('$("u_id").focus();'); echo '
/** * Ta ut kuler */ protected function bullets_out() { if (!login::$user->player->weapon) { redirect::handle(); } $num = (int) postval("bullets_out", 0); if ($num <= 0) { redirect::handle(); } // på vegne av en spiller? $up = login::$user->player; $real_up = null; if ($this->ff->uinfo->data['ffm_priority'] != 4 && !empty($_POST['bullets_up'])) { // har vi ikke ansvar for denne spilleren? $id = postval("bullets_up"); if (!isset($this->ff->members['members'][$id]) || $this->ff->uinfo->data['ffm_priority'] == 3 && $this->ff->members['members'][$id]->data['ffm_parent_up_id'] != login::$user->player->id || $this->ff->uinfo->data['ffm_priority'] < 3 && $this->ff->members['members'][$id]->data['ffm_priority'] != 4) { ess::$b->page->add_message("Ugyldig spillervalg.", "error"); redirect::handle(); } $real_up = $up; $up = player::get($id); // har ikke våpen? if (!$up->weapon) { ess::$b->page->add_message('Spilleren <user id="' . $up->id . '" /> har ikke noe våpen og har derfor ikke plass til noen kuler.', "error"); redirect::handle(); } } $ret = $this->ff->bullets_out($num, $up, $real_up); switch ($ret) { case "missing": ess::$b->page->add_message("Det er ikke så mange kuler i broderskapet.", "error"); break; case "full": if ($real_up) { $f = max(0, $up->weapon->data['bullets'] - $up->data['up_weapon_bullets'] - $up->data['up_weapon_bullets_auksjon']); ess::$b->page->add_message('<user id="' . $up->id . '" /> har ' . ($f == 0 ? 'ikke plass til flere kuler' : 'bare plass til ' . fwords("%d kule til", "%d kuler til", $f)) . '.', "error"); } else { ess::$b->page->add_message("Du har ikke plass til så mange kuler.", "error"); } break; default: if ($real_up) { ess::$b->page->add_message("Du gav " . fwords("%d kule", "%d kuler", $num) . ' til <user id="' . $up->id . '" /> fra kulelageret til broderskapet.'); } else { ess::$b->page->add_message("Du tok ut " . fwords("%d kule", "%d kuler", $num) . " fra kulelageret til broderskapet."); } redirect::handle(); } }
/** * Kontroller spiller */ protected function player_check() { // søke etter spiller? if (isset($_POST['up'])) { $this->up_offer = player::get($_POST['up'], NULL, true); } else { $this->up_offer = player::get(postval("up_id")); } // fant ikke spilleren? if (!$this->up_offer) { ess::$b->page->add_message("Fant ikke spilleren.", "error"); return false; } // seg selv? if ($this->up_offer->id == login::$user->player->id) { ess::$b->page->add_message("Du kan ikke angripe deg selv.", "error"); return false; } // død? if (!$this->up_offer->active) { ess::$b->page->add_message('Spilleren <user id="' . $this->up_offer->id . '" /> er ikke levende og kan ikke angripes.', "error"); return false; } // angriper nostat? if ($this->up_offer->is_nostat() && !login::$user->player->is_nostat()) { ess::$b->page->add_message('<user id="' . $this->up_offer->id . '" /> er nostat og kan ikke angripes.', "error"); return false; } // nostat angriper andre? if (login::$user->player->is_nostat() && !$this->up_offer->is_nostat()) { ess::$b->page->add_message('Du er nostat og kan derfor ikke angripe <user id="' . $this->up_offer->id . '" />.', 'error'); return false; } // kan ikke angripe spillere registrert for under 1 uke siden og som ikke har nådd ridder $expire = time() - 604800; if ($this->up_offer->data['up_created_time'] > $expire && $this->up_offer->rank['number'] < 8) { ess::$b->page->add_message('<user id="' . $this->up_offer->id . '" /> har vært registrert i under 7 dager med lav rank og kan ikke angripes', "error"); return false; } // sett opp skjema $this->form = \Kofradia\Form::getByDomain("angrip", login::$user); // utføre et angrep? if (isset($_POST['attack'])) { $this->handle_attack(); } echo ' <form action="" method="post"> <input type="hidden" name="up_id" value="' . $this->up_offer->id . '" /> ' . $this->form->getHTMLInput() . ' <div class="bg1_c xsmall"> <h1 class="bg1">Angrip spiller<span class="left2"></span><span class="right2"></span></h1> <div class="bg1"> <p>Du er i ferd med å angripe ' . $this->up_offer->profile_link() . ' som har ranken ' . $this->up_offer->rank['name'] . ' og er plassert som nummer ' . $this->up_offer->data['upr_rank_pos'] . ' på ranklista.</p> <p>Du befinner deg på ' . login::$user->player->bydel['name'] . ' og har en <b>' . htmlspecialchars(login::$user->player->weapon->data['name']) . '</b> med <b>' . game::format_num(login::$user->player->data['up_weapon_bullets']) . '</b> ' . fword('kule', 'kuler', login::$user->player->data['up_weapon_bullets']) . ' og en våpentrening på <b>' . game::format_num(login::$user->player->data['up_weapon_training'] * 100, 1) . ' %</b>.</p>'; // har vi ingen kuler? if (login::$user->player->data['up_weapon_bullets'] == 0) { echo ' <p><b>Du må kjøpe kuler før du kan utføre et angrep.</b> Kuler får du kjøpt hos våpen og beskyttelse-firmaet.</p>'; } else { ess::$b->page->add_js_domready('$("angrep_kuler").focus();'); echo ' <dl class="dd_right"> <dt>Antall kuler som skal benyttes</dt> <dd><input type="text" id="angrep_kuler" name="kuler" class="styled w40" value="' . intval(postval("kuler", "")) . '" /></dd> </dl> <p class="c">' . show_sbutton("Utfør angrep", 'name="attack"') . '</p>'; } echo ' <p class="c"><a href="angrip">Avbryt</a></p> </div> </div> </form> <div class="bg1_c xsmall"> <h1 class="bg1">Informasjon<span class="left2"></span><span class="right2"></span></h1> <div class="bg1"> <p>Hvis spilleren du angriper ikke befinner seg i <b>' . login::$user->player->bydel['name'] . '</b>, er i <b>bomberom</b> eller <b>fengsel</b> eller hvis du rett og slett ikke klarer å oppdage spilleren, vil du miste en del energi og bli plassert i fengsel i en kort varighet.</p> <p>Hvis du klarer å oppdage spilleren, vil du skade spilleren. Hvis angrepet er så kraftig at spilleren dør vil du:</p> <ul> <li>Overta pengene spilleren hadde på hånda</li> <li>Motta en del rank, avhengig av ranken til offeret</li> </ul> <p>Hvis spilleren overlever, vil du:</p> <ul> <li>Komme i fengsel en periode</li> <li>Miste en god del energi</li> <li>Motta litt rank som spilleren du angriper mister</li> </ul> <p>Når du utfører et angrep mot en annen spiller, risikerer du å bli oppdaget av vitner. Hvis du oppdager vitnene i det du utfører angrepet, vil du også få vite hvem du oppdaget som vitnet angrepet.</p> </div> </div>'; return true; }
/* * Dette scriptet henter topp 10 spillere på ranklista * mellom 21:00 dagen før og 21:00 i dag og gir bonus * til spillerene */ $d = ess::$b->date->get(); $d->modify("-1 day"); $d->setTime(21, 0, 0); $date_from = $d->format("U"); $d->modify("+1 day"); $date_to = $d->format("U"); // tabell over hvor mange prosent bonus man får $tabell = array(1 => 0.3, 0.27, 0.24, 0.21, 0.18, 0.15, 0.12, 0.09, 0.06, 0.03); // hent statistikk $result = \Kofradia\DB::get()->query("\n\tSELECT uhi_up_id, SUM(uhi_points) sum_uhi_points\n\tFROM users_hits\n\t\tJOIN users_players ON up_id = uhi_up_id AND up_access_level < " . ess::$g['access_noplay'] . " AND up_access_level != 0\n\tWHERE uhi_secs_hour >= {$date_from} AND uhi_secs_hour < {$date_to}\n\tGROUP BY uhi_up_id\n\tHAVING sum_uhi_points > 0\n\tORDER BY sum_uhi_points DESC\n\tLIMIT 10"); $total_bonus = 0; $i = 1; while ($row = $result->fetch()) { $up = player::get($row['uhi_up_id']); if ($up) { // beregn bonus $bonus = round($row['sum_uhi_points'] * $tabell[$i]); // legg til hendelse $up->add_log("rank_bonus", $i . ":" . $tabell[$i], $bonus); // gi rankpoengene $up->increase_rank($bonus, false); // logg putlog("LOG", "RANKBONUS: {$up->data['up_name']} fikk {$i}. plass for 24 timer ranking (fikk {$bonus} rankpoeng, opptjent {$row['sum_uhi_points']} poeng siste 24 timer)"); $i++; } }
<?php include "./slotFunctions.php"; include "./unitClass.php"; echo 'This is a battle that is waiting to take place'; $slotFile = fopen($gamePath . '/gameSlots.slt', 'rb'); // Load list of units that the player controls $playerObj = new player($pGameID, $unitFile, 400); $unitList = array_filter(unpack("i*", readSlotData($slotFile, $playerObj->get('unitSlot'), 40))); $matchedSide = 0; // Look for units that the player controls to determine which side they are on $sideA = new itemSlot($unitDat[15], $slotFile, 40); $sideB = new itemSlot($unitDat[16], $slotFile, 40); fclose($slotFile); for ($i = 1; $i <= sizeof($unitList->slotData); $i++) { if (array_search($unitList->slotData[$i], $sideA->slotData)) { $matchedSide = 1; } else { if (array_search($unitList->slotData[$i], $sideB->slotData)) { $matchedSide = 2; } } } // Get information on the wars for ($i = 0; $i <= 5; $i++) { fseek($unitFile, $unitDat[17 + $i] * $defaultBlockSize); $warDat = unpack('i*', fread($unitFile, 200)); echo 'War #' . $unitDat[17 + $i] . '<br>'; } echo '<div style="position:absolute; bottom:0; left:0;" onclick="scrMod(1094,' . $unitID . ');">Battle Detail</div>';
<?php require "base.php"; // TODO: lenke fra min side må endres $up = login::$user->player; if (isset($_GET['up_id']) && (access::has("mod") && isset($_GET['stats']) || access::has("sadmin") && KOFRADIA_DEBUG)) { // forsøk å finn spilleren $up = player::get((int) getval("up_id")); if (!$up) { ess::$b->page->add_message("Fant ingen spiller med ID <u>" . htmlspecialchars($_GET['up_id']) . "</u>.", "error"); ess::$b->page->load(); } redirect::store("poker?up_id={$up->id}"); echo ' <p class="c">Du viser pokersiden som tilhører ' . $up->profile_link() . '.' . (!isset($_GET['stats']) ? '<br /><b>Viktig:</b> Utfordringer du gjør her vil bli gjort som denne spilleren, og ikke din egen.' : '') . '</p>'; } $poker = new page_poker($up);
/** * @return array */ public function load() { $request = new request(self::player_steam_url, array('steamids' => $this->get_ids_string())); $players_info = $request->send(); if (is_null($players_info)) { return null; } $players = array(); foreach ($players_info->players[0] as $player_info) { $player = new player(); $player->set_array((array) $player_info); $players[$player->get('steamid')] = $player; } return $players; }
protected function challenge_save($dont_save = null, $auto = null) { // avgjør vinner $winner = CardsPoker::compare($this->solve1, $this->solve2); // avgjør gevinst $prize = $winner[0] == 0 ? $this->data['poker_cash'] : bcmul($this->data['poker_cash'], 2); // oppdater $update = $dont_save ? '' : ", poker_challenger_result = {$this->solve2[0]}, poker_state = 4, poker_prize = {$prize}, poker_winner = {$winner[0]}"; if ($auto && !$dont_save) { $update .= ", poker_auto = 1"; } $cards = implode(",", $this->poker2->get_cards()); $a = \Kofradia\DB::get()->exec("\n\t\t\tUPDATE poker\n\t\t\tSET poker_challenger_cards = " . \Kofradia\DB::quote($cards) . "{$update}\n\t\t\tWHERE poker_id = {$this->id} AND poker_state = 3"); if ($a == 0) { return false; } if ($dont_save) { return true; } $this->data['poker_challenger_cards'] = $cards; $this->data['poker_challenger_result'] = $this->solve2[0]; $this->data['poker_state'] = 4; $this->data['poker_prize'] = $prize; $this->data['poker_winner'] = $winner[0]; $up1 = player::get($this->data['poker_starter_up_id']); $up2 = player::get($this->data['poker_challenger_up_id']); switch ($winner[0]) { // starter vant case 1: \Kofradia\DB::get()->exec("\n\t\t\t\t\tUPDATE users_players\n\t\t\t\t\tSET up_cash = up_cash + {$prize}\n\t\t\t\t\tWHERE up_id = {$this->data['poker_starter_up_id']}"); $up1->data['up_cash'] = bcadd($up1->data['up_cash'], $prize); putlog("SPAMLOG", "%bPOKER%b: %u{$up2->data['up_name']}%u tapte (" . strip_tags($this->text2) . "). %u{$up1->data['up_name']}%u vant %u" . game::format_cash($prize) . "%u (" . strip_tags($this->text1) . ")"); break; // utfordrer vant // utfordrer vant case 2: \Kofradia\DB::get()->exec("\n\t\t\t\t\tUPDATE users_players\n\t\t\t\t\tSET up_cash = up_cash + {$prize}\n\t\t\t\t\tWHERE up_id = {$this->data['poker_challenger_up_id']}"); $up2->data['up_cash'] = bcadd($up2->data['up_cash'], $prize); putlog("SPAMLOG", "%bPOKER%b: %u{$up2->data['up_name']}%u vant %u" . game::format_cash($prize) . "%u (" . strip_tags($this->text2) . "). %u{$up1->data['up_name']}%u tapte (" . strip_tags($this->text1) . ")"); break; // uavgjort // uavgjort default: \Kofradia\DB::get()->exec("\n\t\t\t\t\tUPDATE users_players\n\t\t\t\t\tSET up_cash = up_cash + {$prize}\n\t\t\t\t\tWHERE up_id IN ({$this->data['poker_starter_up_id']}, {$this->data['poker_challenger_up_id']})"); $up1->data['up_cash'] = bcadd($up1->data['up_cash'], $prize); $up2->data['up_cash'] = bcadd($up2->data['up_cash'], $prize); putlog("SPAMLOG", "%bPOKER%b: %u{$up2->data['up_name']}%u (" . strip_tags($this->text2) . ") uavgjort mot %u{$up1->data['up_name']}%u (" . strip_tags($this->text1) . ") - Begge fikk %u" . game::format_cash($prize) . "%u"); } // trigger $up1->trigger("poker_result", array("won" => $winner[0] == 0 ? 0 : ($winner[0] == 1 ? 1 : -1), "cash" => $this->data['poker_cash'], "prize" => $prize, "opponent" => $up2)); $up2->trigger("poker_result", array("won" => $winner[0] == 0 ? 0 : ($winner[0] == 1 ? -1 : 1), "cash" => $this->data['poker_cash'], "prize" => $prize, "opponent" => $up1)); return array($winner, $prize, $up1, $up2); }