Ir para conteúdo

alezzo

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    alezzo deu reputação a faelzn69 em Tfs 0.4   
    É normal pesar bastante... principalmente se for mapa Global. Se não estou enganado a cada 100MB de mapa é necessário 3 ~ 4GB de RAM.
    Recomendo instalar o Windows 10, ele é muito mais rápido do que o Windows 7(se não estou enganado o suporte para ele já foi finalizado). Com o windows 10 e esses 16GB de RAM, da até pra você usar a ferramenta de virtualização de maquiná do próprio windows(Hyper-V), sem a necessidade de instalar VirtualBox, VMWare.

    Dica: utilize linux. É mais difícil de aprender e fazer manutenção mas é o mais leve para a memória RAM.
  2. Curtir
    alezzo deu reputação a Storm em Tfs 0.4   
    Pode ser a máquina que não é muito boa e também pode ser o tamanho do mapa que está grande demais e isso consume muita memória.
  3. Curtir
    alezzo deu reputação a SlowK em Erro Guild Table   
    Executa essa Query no Sqlitestudio (Caso use sqlite):
    CREATE TABLE castle_dono ( id INT( 11 ) NOT NULL, name VARCHAR( 255 ) NOT NULL, [action] VARCHAR( 255 ) NOT NULL, param1 VARCHAR( 255 ) NOT NULL, param2 VARCHAR( 255 ) NOT NULL, param3 VARCHAR( 255 ) NOT NULL, param4 VARCHAR( 255 ) NOT NULL, param5 VARCHAR( 255 ) NOT NULL, param6 VARCHAR( 255 ) NOT NULL, param7 VARCHAR( 255 ) NOT NULL, delete_it INT( 2 ) NOT NULL DEFAULT ( 1 ), guild_id INT( 11 ) NOT NULL DEFAULT ( 0 ), PRIMARY KEY ( id ) );  
    Caso use Mysql execute esta no phpmyadmin:
    CREATE TABLE IF NOT EXISTS `castle_dono` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `action` varchar(255) NOT NULL, `param1` varchar(255) NOT NULL, `param2` varchar(255) NOT NULL, `param3` varchar(255) NOT NULL, `param4` varchar(255) NOT NULL, `param5` varchar(255) NOT NULL, `param6` varchar(255) NOT NULL, `param7` varchar(255) NOT NULL, `delete_it` int(2) NOT NULL DEFAULT '1', `guild_id` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=230 ;  
  4. Gostei
    alezzo deu reputação a Absolute em [Sistema de Ticket] Atendimento - Gesior Acc   
    Fala galerinha do TK, depois de ver muitos pedidos em busca desse simples sistema, resolvi pegar um antigo meu e realizar algumas modificações para que vocês possam usar em seus servidores, aprimorando o atendimento aos seus players.
     
     
     
     
    Funcionamento;
     
     
    Quando o player logar a conta e clicar na página para abrir um chamado, irá abrir:
     

     
     
    Qualquer jogador com a conta logada, poderá abrir seu chamado, clicando em [Abrir chamado] (como mostra na imagem a cima). Então o mesmo será redirecionado para:

     
     
     
     
    Campos requeridos:
     
    Assunto;

    O nome já diz tudo, o motivo da abertura do chamado.
     
     
     
    Descrição;

    Nome também diz tudo, o assunto do motivo da abertura do chamado.
     
     
     
     
    Tag;

    Em tag ele selecionará o motivo do chamado (para ajudar o administrador dos tickets no assunto), Ficando mais ágil e bonito hihi .
     
     
     
     
    Prioridade;

    Em prioridade ele irá selecionar a prioridade da resposta do ticket, Alta; Normal ou Baixa.
     
     
     
     
     
    Pós clicar em "Submit" irá abrir o chamado como na imagem:

     
     
     
     
    Nota: Quando estiver logado com a conta do administrador (Page acess 6) irá aparecer na página um "Admin Painel" onde você irá ver, responder e gerenciar os chamados abertos pelos jogadores.
     
    Toda vez que o ticket for respondido o status é alterado para "Respondido" e então caso ainda haja alguma dúvida o players poderá responder o ticket, até você selecionar o status como "Fechado"


     
     

    Creio que está bem explicado o funcionamento.
     
     
     
    Enfim, agora vamos a instalação do sistema *-*
     
     
    Primeiramente na sua pasta htocs(em windows) ou www(no caso de linux), ou seja, na pasta do seu site, onde fica as páginas principais como: latestnews.php, arichive.php, highscores.php e companhia.
    Nesta pasta crie um arquivo com o nome de helpdesk.php e adicione o seguinte dentro:
    <?php if($logged) { // type (1 = question; 2 = answer) // status (1 = open; 2 = new message; 3 = closed;) $dark = $config['site']['darkborder']; $light = $config['site']['lightborder']; $priority = array(1 => "Baixa", "Normal", "Alta"); $tags = array(1 => "[Vendas]", "[Suporte]", "[Parceria]", "[Bug]", "[Outros]"); if($group_id_of_acc_logged >= $config['site']['access_admin_panel'] and $_REQUEST['control'] == "true") { if(empty($_REQUEST['id']) and empty($_REQUEST['acc']) or !is_numeric($_REQUEST['acc']) or !is_numeric($_REQUEST['id']) ) $bug[1] = $SQL->query('SELECT * FROM '.$SQL->tableName('z_helpdesk').' where `type` = 1 order by `uid` desc'); if(!empty($_REQUEST['id']) and is_numeric($_REQUEST['id']) and !empty($_REQUEST['acc']) and is_numeric($_REQUEST['acc'])) $bug[2] = $SQL->query('SELECT * FROM '.$SQL->tableName('z_helpdesk').' where `account` = '.$_REQUEST['acc'].' and `id` = '.$_REQUEST['id'].' and `type` = 1')->fetch(); if(!empty($_REQUEST['id']) and is_numeric($_REQUEST['id']) and !empty($_REQUEST['acc']) and is_numeric($_REQUEST['acc'])) { if(!empty($_REQUEST['reply'])) $reply=true; $account = $ots->createObject('Account'); $account->load($_REQUEST['acc']); $account->isLoaded(); $players = $account->getPlayersList(); if(!$reply) { if($bug[2]['status'] == 2) $value = "<font color=gray><b>Aguardando</b> <img src=images/bug/waiting.gif></font>"; elseif($bug[2]['status'] == 4) $value = "<font color=green><b>Respondido</b></font> <img src=images/bug/ok.png>"; elseif($bug[2]['status'] == 3) $value = "<font color=red><b>Fechado</b></font> <img src=images/bug/closed.png>"; elseif($bug[2]['status'] == 1) $value = "<font color=#4169E1><b>Nova Resposta</b></font> <img src=images/bug/new.png>"; $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Atendimento</B></TD></TR>'; $main_content .= '<TR BGCOLOR="'.$dark.'"><td width=40%><img src=images/bug/report.png> <b>Assunto:</b></td><td> '.$tags[$bug[2]['tag']].' '.$bug[2]['subject'].' '.$value.'</td></tr>'; $main_content .= '<TR BGCOLOR="'.$light.'"><td><img src=images/bug/pri.gif> <b>Prioridade:</b></td><td> <img src=images/bug/'.$bug[2]['priority'].'.png> '.$priority[$bug[2]['priority']].''; $main_content .= '<TR BGCOLOR="'.$dark.'"><td><img src=images/bug/tibia.png> <b>Enviado por:</b></td><td>'; foreach($players as $player) { $main_content .= '<img src=images/bug/t.png> '.$player->getName().'<br>'; } $main_content .= '</td></tr>'; $main_content .= '<TR BGCOLOR="'.$light.'"><td colspan=2><img src=images/bug/des.png><b>Descrição:</b></td></tr>'; $main_content .= '<TR BGCOLOR="'.$dark.'"><td colspan=2>'.nl2br($bug[2]['text']).'</td></tr>'; $main_content .= '</TABLE>'; $answers = $SQL->query('SELECT * FROM '.$SQL->tableName('z_helpdesk').' where `account` = '.$_REQUEST['acc'].' and `id` = '.$_REQUEST['id'].' and `type` = 2 order by `reply`'); $ot = $config['site']['worlds']; foreach($answers as $answer) { if($answer['who'] == 1) $who = "<img src=images/bug/staff.gif> <font color=red><b>Staff</b></font>"; else $who = "<img src=images/bug/player.gif> <font color=green><b>Player</b></font>"; $main_content .= '<br><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Resposta #'.$answer['reply'].'</B></TD></TR>'; $main_content .= '<TR BGCOLOR="'.$dark.'"><td width=70%><img src=images/bug/tibia.png><i><b>Enviado por:</b></i></td><td>'.$who.'</td></tr>'; $main_content .= '<TR BGCOLOR="'.$light.'"><td colspan=2><img src=images/bug/des.png><i><b>Descrição:</b></i></td></tr>'; $main_content .= '<TR BGCOLOR="'.$dark.'"><td colspan=2>'.nl2br($answer['text']).'</td></tr>'; $main_content .= '</TABLE>'; } if($bug[2]['status'] <= 4) $main_content .= '<br><a href="index.php?subtopic=helpdesk&control=true&id='.$_REQUEST['id'].'&acc='.$_REQUEST['acc'].'&reply=true"><b>[Responder]</b></a>'; } else { //if($bug[2]['status'] < 3) //{ $reply = $SQL->query('SELECT MAX(reply) FROM `z_helpdesk` where `account` = '.$_REQUEST['acc'].' and `id` = '.$_REQUEST['id'].' and `type` = 2')->fetch(); $reply = $reply[0] + 1; $iswho = $SQL->query('SELECT * FROM `z_helpdesk` where `account` = '.$_REQUEST['acc'].' and `id` = '.$_REQUEST['id'].' and `type` = 2 order by `reply` desc limit 1')->fetch(); if(isset($_POST['finish'])) { if(empty($_POST['text'])) $error[] = "<font color=black><b>Por favor, preencha a descrição.</b></font>"; //if($iswho['who'] == 1) //$error[] = "<font color=black><b>Você precisa aguardar a resposta do usuário.</b></font>"; if(empty($_POST['status'])) $error[] = "<font color=black><b>Status cannot be empty.</b></font>"; if(!empty($error)) { foreach($error as $errors) $main_content .= ''.$errors.'<br>'; } else { $type = 2; $INSERT = $SQL->query('INSERT INTO `z_helpdesk` (`account`,`id`,`text`,`reply`,`type`, `who`) VALUES ('.$SQL->quote($_REQUEST['acc']).','.$SQL->quote($_REQUEST['id']).','.$SQL->quote($_POST['text']).','.$SQL->quote($reply).','.$SQL->quote($type).','.$SQL->quote(1).')'); $UPDATE = $SQL->query('UPDATE `z_helpdesk` SET `status` = '.$_POST['status'].' where `account` = '.$_REQUEST['acc'].' and `id` = '.$_REQUEST['id'].''); header('Location: index.php?subtopic=helpdesk&control=true&id='.$_REQUEST['id'].'&acc='.$_REQUEST['acc'].''); } } $main_content .= '<br><form method="post" action=""><table><tr><td>Mensagem:</i></td><td><textarea name="text" rows="3" cols="25"></textarea></td></tr><tr><td><br><font color=gray><b>Aguardando</b></font> <img src=images/bug/waiting.gif></td><td><input type=radio name=status value=2></td></tr><tr><td><font color=green><b>Respondido <img src=images/bug/ok.png /></b></font></td><td><input type=radio name=status value=4></td></tr><tr><td><font color=red><b>Fechado <img src=images/bug/closed.png></b></font></td><td><input type=radio name=status value=3></td></tr></table><br><input type="submit" name="finish" value="Submit" class="input2"/></form>'; //} //else //{ //$main_content .= "<br><font color=black><b>You can't add answer to closed bug thread.</b></font>"; //} } $post=true; } if(!$post) { $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD colspan=2 CLASS=white><B>Atendimento Admin</B></TD></TR>'; $i=1; foreach($bug[1] as $report) { if($report['status'] == 2) $value = "<font color=gray><b>Aguardando</b> <img src=images/bug/waiting.gif></font>"; elseif($report['status'] == 3) $value = "<font color=red><b>Fechado</b></font> <img src=images/bug/closed.png>"; elseif($report['status'] == 4) $value = "<font color=green><b>Respondido </b></font> <img src=images/bug/ok.png>"; elseif($report['status'] == 1) $value = "<font color=#4169E1><b>Nova Resposta</b></font> <img src=images/bug/new.png>"; if(is_int($i / 2)) { $bgcolor = $dark; } else { $bgcolor = $light; } $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><td width=75%><img src=images/bug/'.$report['priority'].'.png> <a href="index.php?subtopic=helpdesk&control=true&id='.$report['id'].'&acc='.$report['account'].'">'.$tags[$report['tag']].' '.$report['subject'].'</a></td><td>'.$value.'</td></tr>'; $showed=true; $i++; } $main_content .= '</TABLE>'; } } else { $acc = $account_logged->getId(); $account_players = $account_logged->getPlayersList(); foreach($account_players as $player) { $allow=true; } if(!empty($_REQUEST['id'])) $id = addslashes(htmlspecialchars(trim($_REQUEST['id']))); if(empty($_REQUEST['id'])) $bug[1] = $SQL->query('SELECT * FROM '.$SQL->tableName('z_helpdesk').' where `account` = '.$account_logged->getId().' and `type` = 1 order by `id` desc'); if(!empty($_REQUEST['id']) and is_numeric($_REQUEST['id'])) $bug[2] = $SQL->query('SELECT * FROM '.$SQL->tableName('z_helpdesk').' where `account` = '.$account_logged->getId().' and `id` = '.$id.' and `type` = 1')->fetch(); else $bug[2] = NULL; if(!empty($_REQUEST['id']) and $bug[2] != NULL) { if(!empty($_REQUEST['reply'])) $reply=true; if(!$reply) { if($bug[2]['status'] == 1) $value = "<font color=gray><b>Aguardando</b> <img src=images/bug/waiting.gif></font>"; elseif($bug[2]['status'] == 2) $value = "<font color=#4169E1><b>Nova Resposta</b></font> <img src=images/bug/new.png>"; elseif($bug[2]['status'] == 3) $value = "<font color=red><b>Fechado</b></font> <img src=images/bug/closed.png>"; elseif($bug[2]['status'] == 4) $value = "<font color=green><b>Respondido</b></font> <img src=images/bug/ok.png>"; $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Atendimento</B></TD></TR>'; $main_content .= '<TR BGCOLOR="'.$dark.'"><td width=40%><img src=images/bug/report.png><b> Assunto:</b></td><td> '.$tags[$bug[2]['tag']].' '.$bug[2]['subject'].' '.$value.'</td></tr>'; $main_content .= '<TR BGCOLOR="'.$light.'"><td><img src=images/bug/pri.gif> <b>Prioridade:</b></td><td> <img src=images/bug/'.$bug[2]['priority'].'.png> '.$priority[$bug[2]['priority']].''; $main_content .= '<TR BGCOLOR="'.$dark.'"><td><img src=images/bug/tibia.png> <b>Enviado por:</b></td><td>'; $main_content .= '<img src=images/bug/t.png> You <br>'; $main_content .= '<TR BGCOLOR="'.$light.'"><td colspan=2><img src=images/bug/des.png><b>Descrição:</b></td></tr>'; $main_content .= '<TR BGCOLOR="'.$dark.'"><td colspan=2>'.nl2br($bug[2]['text']).'</td></tr>'; $main_content .= '</TABLE>'; $answers = $SQL->query('SELECT * FROM '.$SQL->tableName('z_helpdesk').' where `account` = '.$account_logged->getId().' and `id` = '.$id.' and `type` = 2 order by `reply`'); foreach($answers as $answer) { if($answer['who'] == 1) $who = "<img src=images/bug/staff.gif> <font color=red><b>Staff</b></font>"; else $who = "<img src=images/bug/player.gif> <font color=green><b>YOU</b></font>"; $main_content .= '<br><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD COLSPAN=2 CLASS=white><B>Answer #'.$answer['reply'].'</B></TD></TR>'; $main_content .= '<TR BGCOLOR="'.$dark.'"><td width=70%><img src=images/bug/tibia.png><i><b> Enviado por:</b></i></td><td>'.$who.'</td></tr>'; $main_content .= '<TR BGCOLOR="'.$light.'"><td colspan=2><img src=images/bug/des.png><i><b>Descrição:</b></i></td></tr>'; $main_content .= '<TR BGCOLOR="'.$dark.'"><td colspan=2>'.nl2br($answer['text']).'</td></tr>'; $main_content .= '</TABLE>'; } if($bug[2]['status'] != 3) $main_content .= '<br><a href="index.php?subtopic=helpdesk&id='.$id.'&reply=true"><b>[Responder]</b></a>'; } else { //if($bug[2]['status'] != 3) //{ $reply = $SQL->query('SELECT MAX(reply) FROM `z_helpdesk` where `account` = '.$acc.' and `id` = '.$id.' and `type` = 2')->fetch(); $reply = $reply[0] + 1; $iswho = $SQL->query('SELECT * FROM `z_helpdesk` where `account` = '.$acc.' and `id` = '.$id.' and `type` = 2 order by `reply` desc limit 1')->fetch(); if(isset($_POST['finish'])) { if(empty($_POST['text'])) $error[] = "<font color=black><b>Descrição não pode ser vazia.</b></font>"; if($iswho['who'] == 0) $error[] = "<font color=black><b>Você precisa aguardar a resposta da staff.</b></font>"; if(!$allow) $error[] = "<font color=black><b>Você não possui nenhum char na conta.</b></font>"; if(!empty($error)) { foreach($error as $errors) $main_content .= ''.$errors.'<br>'; } else { $type = 2; $INSERT = $SQL->query('INSERT INTO `z_helpdesk` (`account`,`id`,`text`,`reply`,`type`) VALUES ('.$SQL->quote($acc).','.$SQL->quote($id).','.$SQL->quote($_POST['text']).','.$SQL->quote($reply).','.$SQL->quote($type).')'); $UPDATE = $SQL->query('UPDATE `z_helpdesk` SET `status` = 1 where `account` = '.$acc.' and `id` = '.$id.''); header('Location: index.php?subtopic=helpdesk&id='.$id.''); } } $main_content .= '<br><form method="post" action=""><table><tr><td><i>Description</i></td><td><textarea name="text" rows="15" cols="35"></textarea></td></tr></table><br><input type="submit" name="finish" value="Submit" class="input2"/></form>'; //} //else // //$main_content .= "<br><font color=black><b>You can't add answer to closed bug thread.</b></font>"; //} } $post=true; } elseif(!empty($_REQUEST['id']) and $bug[2] == NULL) { $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD CLASS=white><B>Atendimento</B></TD></TR>'; $main_content .= '<TR BGCOLOR="'.$dark.'"><td><i>Ticket doesn\'t exist.</i></td></tr>'; $main_content .= '</TABLE>'; $post=true; } if(!$post) { if($_REQUEST['add'] != TRUE) { $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD colspan=2 CLASS=white><B>Atendimento</B></TD></TR>'; foreach($bug[1] as $report) { if($report['status'] == 1) $value = "<font color=gray><b>Aguardando</b> <img src=images/bug/waiting.gif></font>"; elseif($report['status'] == 2) $value = "<font color=#4169E1><b>Nova Resposta</b></font> <img src=images/bug/new.png>"; elseif($report['status'] == 3) $value = "<font color=red><b>Fechado</b></font> <img src=images/bug/closed.png>"; elseif($report['status'] == 4) $value = "<font color=green><b>Respondido </b></font> <img src=images/bug/ok.png>"; if(is_int($report['id'] / 2)) { $bgcolor = $dark; } else { $bgcolor = $light; } $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><td width=75%><img src=images/bug/'.$report['priority'].'.png> <a href="index.php?subtopic=helpdesk&id='.$report['id'].'">'.$tags[$report['tag']].' '.$report['subject'].'</a></td><td>'.$value.'</td></tr>'; $showed=true; } if(!$showed) { $main_content .= '<TR BGCOLOR="'.$dark.'"><td><i>Nenhum atendimento solicitado.</i></td></tr>'; } $main_content .= '</TABLE>'; $main_content .= '<br><a href="index.php?subtopic=helpdesk&add=true"><b>[Abrir Chamado]</b></a>'; } elseif($_REQUEST['add'] == TRUE) { $thread = $SQL->query('SELECT * FROM `z_helpdesk` where `account` = '.$acc.' and `type` = 1 order by `id` desc')->fetch(); $id_next = $SQL->query('SELECT MAX(id) FROM `z_helpdesk` where `account` = '.$acc.' and `type` = 1')->fetch(); $id_next = $id_next[0] + 1; if(empty($thread)) $thread['status'] = 3; if(isset($_POST['submit'])) { //if($thread['status'] != 3) //$error[] = "<font color=black><b>Can be only 1 open bug thread.</b></font>"; if(empty($_POST['subject'])) $error[] = "<font color=black><b>Assunto cannot be empty.</b></font>"; if(empty($_POST['text'])) $error[] = "<font color=black><b>Description cannot be empty.</b></font>"; if(!$allow) $error[] = "<font color=black><b>You haven't any characters on account.</b></font>"; if(empty($_POST['tags'])) $error[] = "<font color=black><b>Tag cannot be empty.</b></font>"; if(!empty($error)) { foreach($error as $errors) $main_content .= ''.$errors.'<br>'; } else { $type = 1; $status = 1; $INSERT = $SQL->query('INSERT INTO `z_helpdesk` (`account`,`id`,`text`,`type`,`subject`,`status`,`tag`,`priority`) VALUES ('.$SQL->quote($acc).','.$SQL->quote($id_next).','.$SQL->quote($_POST['text']).','.$SQL->quote($type).','.$SQL->quote($_POST['subject']).','.$SQL->quote($status).','.$SQL->quote($_POST['tags']).','.$SQL->quote($_POST['priority']).')'); header('Location: index.php?subtopic=helpdesk&id='.$id_next.''); } } $main_content .= '<br><form method="post" action=""><font size=4><b>Atendimento</b></font><br><br><br><table><tr><td><img src=images/bug/report.png> <b>Assunto:</b></td><td><input type=text name="subject"/></td></tr><tr><td><img src=images/bug/des.png><b>Descrição:</b></td><td><textarea name="text" rows="4" cols="15"></textarea></td></tr><tr><td><img src=images/bug/tag.png> <b>TAG:</b></td><td><select name="tags"><option value="">SELECT</option>'; for($i = 1; $i <= count($tags); $i++) { $main_content .= '<option value="' . $i . '">' . $tags[$i] . '</option>'; } $main_content .= '</td></tr><tr><td><br><img src=images/bug/pri.gif> <b>Prioridade:</b></td><td><br><select name="priority"><option value="">SELECT</option>'; for($i = 1; $i <= count($priority); $i++) { $main_content .= '<option value="' . $i . '">' . $priority[$i] . '</option>'; } $main_content .= '</select></tr></tr></table><br><input type="submit" name="submit" value="Submit" class="input2"/></form>'; } } } if($group_id_of_acc_logged >= $config['site']['access_admin_panel'] and empty($_REQUEST['control'])) { $main_content .= '<br><br><a href="index.php?subtopic=helpdesk&control=true">[ADMIN PANEL]</a>'; } } else { $main_content .= 'Please enter your account name and your password.<br/><a href="?subtopic=createaccount" >Create an account</a> if you do not have one yet.<br/><br/><form action="?subtopic=helpdesk" method="post" ><div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <div class="Text" >Account Login</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" ><tr><td class="LabelV" ><span >Account Name:</span></td><td style="width:100%;" ><input type="password" name="account_login" SIZE="10" maxlength="10" ></td></tr><tr><td class="LabelV" ><span >Password:</span></td><td><input type="password" name="password_login" size="30" maxlength="29" ></td></tr> </table> </div> </table></div></td></tr><br/><table width="100%" ><tr align="center" ><td><table border="0" cellspacing="0" cellpadding="0" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" ></div></div></td><tr></form></table></td><td><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=lostaccount" method="post" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onMouseOver="MouseOverBigButton(this);" onMouseOut="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Account lost?" alt="Account lost?" src="'.$layout_name.'/images/buttons/_sbutton_accountlost.gif" ></div></div></td></tr></form></table></td></tr></table>'; } ?> Salve e feche.
     
     
    Pós isso abra o seu phpmyadmin, seuip.com/phpmyadmin, clique em executar e dentro da caixa coloque o seguinte:
    CREATE TABLE IF NOT EXISTS `z_helpdesk` ( `account` varchar(255) NOT NULL, `type` int(11) NOT NULL, `status` int(11) NOT NULL, `text` text NOT NULL, `id` int(11) NOT NULL, `subject` varchar(255) NOT NULL, `priority` int(11) NOT NULL, `reply` int(11) NOT NULL, `who` int(11) NOT NULL, `uid` int(11) NOT NULL AUTO_INCREMENT, `tag` int(11) NOT NULL, `registered` int(11) NOT NULL, PRIMARY KEY (`uid`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=61 ; E então irá aparecer aquela linha verde dizendo que o comando foi executado com sucesso...


    Pronto, o sistema foi implantando.


    Agora irei ensinar vocês (caso não saibam) adicionar a aba de atendimento no menu do seu website.

    Primeiramente, na pasta principal do seu site abra o arquivo index.php e procure por:
     
    case "houses": $topic = "Houses"; $subtopic = "houses"; include("houses.php"); break; Logo abaixo de break; adicione o seguinte:
    case "helpdesk": $topic = "Helpdesk"; $subtopic = "helpdesk"; include("helpdesk.php"); break; Ficando então:
     
    case "houses": $topic = "Houses"; $subtopic = "houses"; include("houses.php"); break; case "helpdesk": $topic = "Helpdesk"; $subtopic = "helpdesk"; include("helpdesk.php"); break; Salve e feche.
     
     
     
     
    Logo depois na pasta principal vá em layouts/tibiacom/layout.php e procure por:
    <a href='index.php?subtopic=archive'> <div id='submenu_archive' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo "$layout_name"; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_archive' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo "$layout_name"; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'>News Archive</div> <div class='RightChain' style='background-image:url(<?PHP echo "$layout_name"; ?>/images/general/chain.gif);'></div> </div> </a> Logo depois do </a> adicione:
    <a href='index.php?subtopic=helpdesk'> <div id='submenu_helpdesk' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo "$layout_name"; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_helpdesk' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo "$layout_name"; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'>Atendimento <font size=-3>NOVO</font></div> <div class='RightChain' style='background-image:url(<?PHP echo "$layout_name"; ?>/images/general/chain.gif);'></div> </div> </a> Salve e feche.
     
     
     
    Pronto, atualize seu site e no menu News verifique que estará lá em funcionalidade o sistema de Atendimento por Ticket.
     
     
     
     
    Dica: Seja formal e tenha eficaz com seus jogadores, isto mostrará a dedicação da equipe em cima do servidor.
     
     
     
     
    Este sistema é antigo, onde venho adaptando para postar para vocês do TibiaKing, não autorizo o post do mesmo em outro fórum seja qual for a relação. O conteúdo foi adaptado por mim e exclusivo ao fórum do tibiaking.




    Qualquer dúvida quero que me comunique e poste aqui no fórum.


    O Sistema foi testado e encontra-se em funcionalidade a qualquer gesior account, seja qual for a versão do mesmo.


    Créditos:
    Averatec -OTLAND
    Absolute

    Gostaram?
     
     
     
    Até o próximo sistema/script/servidor seja o que for!

    Até mais galerinha do TK!
     
  5. Gostei
    alezzo deu reputação a vankk em Most Powerfull Guilds   
    foreach($SQL->query('SELECT ' . $SQL->tableName('g') . '.' . $SQL->fieldName('id') . ' AS ' . $SQL->fieldName('id') . ', ' . $SQL->tableName('g') . '.' . $SQL->fieldName('name') . ' AS ' . $SQL->fieldName('name') . ', COUNT(' . $SQL->tableName('g') . '.' . $SQL->fieldName('name') . ') AS ' . $SQL->fieldName('frags') . ' FROM ' . $SQL->tableName('killers') . ' k LEFT JOIN ' . $SQL->tableName('player_killers') . ' pk ON ' . $SQL->tableName('k') . '.' . $SQL->fieldName('id') . ' = ' . $SQL->tableName('pk') . '.' . $SQL->fieldName('kill_id') . ' LEFT JOIN ' . $SQL->tableName('players') . ' p ON ' . $SQL->tableName('pk') . '.' . $SQL->fieldName('player_id') . ' = ' . $SQL->tableName('p') . '.' . $SQL->fieldName('id') . ' LEFT JOIN ' . $SQL->tableName('guild_ranks') . ' gr ON ' . $SQL->tableName('p') . '.' . $SQL->fieldName('rank_id') . ' = ' . $SQL->tableName('gr') . '.' . $SQL->fieldName('id') . ' LEFT JOIN ' . $SQL->tableName('guilds') . ' g ON ' . $SQL->tableName('gr') . '.' . $SQL->fieldName('guild_id') . ' = ' . $SQL->tableName('g') . '.' . $SQL->fieldName('id') . ' WHERE ' . $SQL->tableName('g') . '.' . $SQL->fieldName('id') . ' > 0 AND ' . $SQL->tableName('k') . '.' . $SQL->fieldName('unjustified') . ' = 1 AND ' . $SQL->tableName('k') . '.' . $SQL->fieldName('final_hit') . ' = 1 GROUP BY ' . $SQL->fieldName('name') . ' ORDER BY ' . $SQL->fieldName('frags') . ' DESC, ' . $SQL->fieldName('name') . ' ASC LIMIT 4;') as $guild) $main_content .= '<td style="width: 25%; text-align: center;"><a href="?subtopic=guilds&action=show&guild=' . $guild['id'] . '"><img src="guild_image.php?id=' . $guild['id'] . '" width="64" height="64" border="0"/><br />' . htmlspecialchars($guild['name']) . '</a><br />' . $guild['frags'] . ' kills </td>'; $main_content .= '</tr></table>';  
    testa com essa query, é uma incerteza que vai funcionar.
  6. Gostei
    alezzo deu reputação a Vampira em [Tutorial] Criando quest log   
    *Criando quest log por Action*


    Como eu não achei nenhum tutorial desse por aqui resolvi criar um, neste tutorial ensinarei vocês a criar um quest log para suas quests

    Oque é quest log: Quest Log tem a função de armazenar as quests que você fez ou está fazendo, mostrar em que parte da QUEST você está e como seguir adiante, etc...

    Em data/XML abra o arquivo chamado quests.xml nele vai ter mais ou menos assim:


    Entendendo:

    Vermelho = Nome da sua Quest
    Verde = Storage ID da Quest que vai aparecer no Quest Log
    Azul = Numéro de Início da Quest
    Negrito = Nome da Missão
    Rosa = Storage da Missão
    Laranja = Valor de Início da Missão
    Marrom = Valor de Finalização
    Preto = Descrição da Missão

    Bom, agora que nós já entendemos o que cada coisa faz, podemos dar continuidade com o SCRIPT. aonde estáNome da Quest você deve colocar o Nome que vai aparecer no Quest Log, depois que você inseriu o nome da sua Quest você deve ir na pasta data/actions/scripts e achar o arquivo .lua da sua Quest, nele você apertaCTRL+F e depois digita isso aqui:


    Depois que você encontrar este comando clique em Cancelar, depois vai ter mais ou menos isso:

    Exemplo:


    Relembrando que a cor Verde é o nosso Storage ID e o Azul é o nosso Comando de Início

    Agora que nós achamos o nosso Storage ID e o nosso Comando de Início podemos preencher a primeira linha da nossa Quest assim:


    Explicando um pouco para poder continuarmos com nosso Tutorial, uma quest é composta de Storages Values, cada movimento que você avança em sua Quest é dado um Storage Value novo.

    EX: Você pega a Quest (Ganhou seu primeiro Storage Value), Você abriu o Baú (Ganhou seu Storage Value Final.). Isso quando você está fazendo a Quest por Action.

    Então nós entendemos que na primeira linha da Quest nós precisamos por o Value de quando você pega a Quest. Agora continuando com o SCRIPT...

    Nós vimos que o nosso Storage ID era 1 e o nosso Comando de Início era 1, então nós acabamos de preencher a primeira linha com os números que encontramos.

    Agora nós vamos para a segunda linha, primeiramente você deve colocar o nome da sua missão, dai você me pergunta:

    - Nós já não colocamos o nome da nossa Quest?
    Resposta: Sim, nós colocamos o NOME DA QUEST agora vamos colocar o NOME DA MISSÃO, ou seja, aqueles nomes que fica no retângulo de cima quando você da SHOW na QUEST, aquilo é uma Missão.

    Bom, depois que você colocou o Nome da sua Missão, como eu havia explicado antes sobre Storages Values, nós devemos pegar agora o nosso primeiro Storage Value novamente e o nosso primeiro Comando de início, ficando assim:


    Pronto, nós preenchemos o nosso StorageValue e o nosso Comando de Início agora nós precisamos inserir o valor de término, depois que você pega o Baú (como expliquei ali em cima) você recebe o seu segundo Storage Value digamos que o meu seja assim:


    Observe que o Storage Value de quando você pega o Baú tem 2 em vez de 1, isto porque o 2 é o número de encerramento da missão, então nós devemos colocar assim na segunda linha:


    Resumindo, a nossa missão começa logo quando você recebe a missão do NPC e ela se completa quando você abre o Baú. Agora que a parte mais difícil já foi, vamos para a parte mais fácil do nosso SCRIPT, a Descrição da missão (a frase que aparece no quadro de baixo).


    Esse
    é o número da descrição, no caso nós colocamos apenas uma Missão então seria uma Descrição, se você colocar 2 Missão, você vai colocar e na outra você vai colocar depois da nossa missionstate tudo que devemos fazer é colocar nossa descrição onde está "Descrição da Missão.", ficando assim:

    Lembrando que nunca se deve usar carácteres especiais, como:


    Terminamos aqui nosso tutorial espero que tenham gostado

    Creditos: meu
    Inspiração: joaovbz

Informação Importante

Confirmação de Termo