<?php error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); require 'common.php'; if (!is_null(Mapa::getId())) { if (!Mapa::carregarEstrutura(Mapa::getId())) { Mapa::setHexHeight(70); Mapa::setMapWidth(10); Mapa::setMapHeight(6); Mapa::gerarMapa(); Mapa::gravarEstrutura(Mapa::getId()); } } else { $id_mapa = Mapa::novoIdMapa(); header('Location: mapa-creator.php?map=' . $id_mapa); exit; } if (count($_POST) > 0) { $x = intval($_POST['x']); $y = intval($_POST['y']); $queda = intval($_POST['queda']); $luz = intval($_POST['luz']); $area = Mapa::getArea($x, $y); $area->setTipo($_POST['tipo']); $area->setImagem($_POST['imagem']); $area->setDesnivel(intval($_POST['desnivel'])); $area->setQueda(intval($_POST['queda'])); $area->setLuz(intval($_POST['luz'])); Mapa::gravarEstrutura(Mapa::getId()); header('content-type: application/json'); echo Mapa::getAreaJson($area);
public static function novaSessao($id_mapa, $id_campanha = null, $id_personagem = null, $cod_tipo = SESSAO_MESTRE, $tempo_turno = 0, $limite_personagem = 1) { if ($id_mapa <= 0) { throw new Exception('Nenhum mapa selecionado!'); } $id_sessao = md5(uniqid()); if (in_array($cod_tipo, array(SESSAO_MESTRE, SESSAO_GRUPO))) { $id_mestre = ID_JOGADOR; } else { $id_mestre = null; } $cod_situacao = SESSAO_ATIVA; if ($cod_tipo == SESSAO_GRUPO) { $cod_situacao = SESSAO_AGUARDANDO; } Mapa::carregarEstrutura($id_mapa); foreach (Mapa::listarPessoa() as $npc) { $area = Mapa::getArea($npc->getX(), $npc->getY()); if (is_null($area)) { throw new Exception("O npc se encontra em uma area invalida. Posição " . $npc->getX() . "." . $npc->getY() . "."); } $id_instancia = $npc->getId(); $sentido = $npc->getSentido(); $npc = Personagem::pegar($npc->getIdOriginal()); $npc->estruturarCorpo(); $npc->setIdOriginal($npc->getId()); $npc->setIdGrupo(2); $npc->setId($id_instancia); $npc->setPV($npc->getMaxPV()); $npc->setX($area->getX()); $npc->setY($area->getY()); $npc->setPosicao(POSICAO_EM_PE); $npc->setSentido($sentido); if ($cod_tipo == SESSAO_SOLO) { $npc->setAutomatico(true); $npc->desativarTurno(); } $area->setPersonagem($npc); //echo $npc->getNome()."<br />"; } if (!is_null($id_personagem)) { $personagem = Personagem::pegar($id_personagem); Mapa::entrar($personagem); } $data = serialize(Mapa::getMapa()); $query = "\n INSERT INTO sessao (\n id_sessao,\n id_mestre,\n id_campanha,\n id_mapa,\n cod_tipo,\n cod_situacao,\n tempo_turno,\n limite_personagem,\n ultimo_turno,\n data_inclusao,\n data\n ) VALUES (\n '" . do_escape($id_sessao) . "',\n " . do_full_escape($id_mestre) . ",\n " . do_full_escape($id_campanha) . ",\n '" . do_escape($id_mapa) . "',\n '" . do_escape($cod_tipo) . "',\n '" . do_escape($cod_situacao) . "',\n '" . do_escape($tempo_turno) . "',\n '" . do_escape($limite_personagem) . "',\n NOW(),\n NOW(),\n '" . do_escape($data) . "'\n )\n "; do_query($query); if (!is_null($personagem)) { $personagem->setSessao($id_sessao); } return $id_sessao; }
<?php require '../common.php'; $log = ''; Mapa::carregarEstrutura(); for ($x = 0; $x < Mapa::getMapWidth(); $x++) { for ($y = 0; $y < Mapa::getMapHeight(); $y++) { $area = Mapa::getArea($x, $y); if (!is_null($area)) { $area->setPersonagem(null); } } } /* $ogro = Personagem::pegar(10); $ogro->setSentido(2); $heroi = Personagem::pegar(1); $heroi->setSentido(1); Mapa::getArea(7, 3)->setPersonagem($ogro); Mapa::getArea(2, 1)->setPersonagem($heroi); */ function newpos($x, $y) { $pos = new stdClass(); $pos->x = $x; $pos->y = $y; return $pos; } $linha1 = Mapa::linha(newpos(2, 2), newpos(6, 1)); foreach ($linha1 as $area) {
function dropDownListTipo($nome, $valor) { echo "<select id=\"{$nome}\" name=\"{$nome}\">\n"; foreach (MapaArea::listarTipo() as $id_tipo => $tipo) { echo "<option value=\""; echo $id_tipo; if ($id_tipo == $valor) { echo "\" selected=\"selected"; } echo "\">"; echo $tipo; echo "</option>"; } echo "</select>"; } if (!Mapa::carregarEstrutura()) { throw new Exception('Mapa não encontrado!'); } if (array_key_exists('x', $_POST) && array_key_exists('y', $_POST)) { $x = intval($_POST['x']); $y = intval($_POST['y']); $pos = Mapa::getPosByPixel($x, $y); header('location: mapa-hex.php?map=' . $_GET['map'] . '&pos=' . $pos->x . '.' . $pos->y); exit; } $msgerro = null; $msgsuccess = null; $x = intval(strstr($_GET['pos'], '.', true)); $y = intval(substr(strstr($_GET['pos'], '.'), 1)); $area = Mapa::getArea($x, $y); $scroll = Mapa::getScrollByPos($x, $y);