Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 04/18/16 em todas áreas

  1. 1 ponto
    Iae galera do tibiaking esse e meu primeiro topico e eu queria saber TODOS os comandos de ADM Dou rep+
  2. [8.6] Heromassa Server 2.0

    mullino reagiu a Sekk por uma resposta no tópico

    1 ponto
    Heromassa Server 2.0 Nha nha nha. Sejam bem vindos ao Heromassa. Server com mapa baseado no Heroserv, porém com MUITAS COISAS NOVAS, algumas, citarei aqui, outras, descubram por si mesmos . Bom, o server como eu ja disse, é baseado no famoso Heroserv, alguns anos atrás chegou a ter 400 players online, porém perdeu muito a sua fama com o passar do tempo. Em 2012, um servidor chamado Heromassa surgiu, com exatamente esse mapa, a partir daí, passei a procurar o mesmo, por amar o mapa. Vocês podem não acreditar, mas eu dei um duro danado pra conseguir esse mapa fodasticamente perfeito na minha opinião, e um certo dia, um amigo meu QUE EU PASSEI A AMAR MUITO, ME PASSOU ELE . Isso foi ano passado, desde então joguei incansavelmente esse mapa. Mês passado, eu tive a vontade de consertar TODOS os erros que o server continha, estava até alguns dias atrás arrumando os mesmos, e com MUITA ajuda de membros desse fórum como o @xWhiteWolf, @vankk, @Absolute, @Wakon, @Fir3element e outros(mesmo eles não sabendo) eu finalmente terminei as correções. Bom, vamos logo ao que interessa né HAHAAHAHHAHHAHA. Informações do server: - Mapa Hero - Conta GOD: god/god(mysql precisa criar acc) - Zombie Event por Talkaction 100%(TP no ultimo andar do templo) -- /zombiestart X ; /zombiestart force X - número de players - Battlefield programado 100% - TFS 0.4 (compilado por mim) - Suporta qualquer items.otb - War System( COM ESCUDINHOOOS) 100% -- /war ; /balance - Cast System 100% -- conta: não coloque nada em account nem password. -- /cast on ; /cast off - Suporta MySQL e SQLite(apenas x86) - Databases limpas e perfeitamente compatíveis - Quests 100% - Itens 100% - Castle 24 Horas 100% - Promotion por Talkaction 100% - Vocações balanceadas (quase la) preciso de ajuda!! - Supreme itens com quest 100% - Special itens sendo vendidos no Special Seller - Nova moeda(1kk: gold ingot, id: 9971) - Autoloot System 100% - Upgrade System(até +10 usando o item 8306) - Bugs corrigidos do mapa e do TFS - Trade Off para website - TFS 0.4 x64 - TFS 0.4 x86 - Para trocar o TFS, delete o .exe e as libs que estejam na pasta. Vamos às imagens né poxa, não pode faltar... Battlefield map Black Boss hunt Bosser Hunt Distro Limpa Como conquistar o Castle24H Mapa do Castle24H Fire Master Elemental Hunt Ice Demon Hunt Principais Hunts: White Boss, Treptin, Verminor, Bosser, Quara Predator Scout, Fire Master Elemental, Black Boss e Ice Demon Quara Predator Scout Hunt Sphere City Supreme Attack Quest Supreme Ring & Shield Quest Supreme Set Quest Templo Treptin Hunt Verminor Hunt White Boss Hunt Zombie Event Map Bom gente, muito provável que essas férias eu continue em mudanças no mapa, então, muito provável que eu fique atualizando o post para postar as atualizações do server. Galera, o server está perfeito pra rodar em Windows, distro TFS 0.4 compilada por mim, estável, compilada para x32(antes eu achava que era para x64 rsrs) e x64, pronto pra deixar online! Créditos Beijos e até a próxima Website totalmente compatível(Gesior): Use este --> Link Download: https://github.com/s3kk/Heromassa/archive/master.zip Scan: https://www.virustotal.com/pt/url/71216ea7e98991af2c7f6226d581d2ba513e14cc585f8e8d0f6cf04bf112f755/analysis/
  3. [Sistema de Ticket] Atendimento - Gesior Acc

    jakons reagiu a Absolute por uma resposta no tópico

    1 ponto
    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!
  4. [Link Quebrado] Nightmare Isles

    lorek2 reagiu a G3 Yuri por uma resposta no tópico

    1 ponto
    Espero que goste !! Entrada {x = 33217, y = 32273, z = 7} Hunt ! {x = 33497, y = 32615, z = 8} Falta Ajusta os tps ! att #Yurao Link SCAN
  5. [Action] Script Quest

    Espedito reagiu a MySticaL por uma resposta no tópico

    1 ponto
    Script Quest: --[[ Script: Exemplo de Quest Autor: MySticaL Email: matadormatou275@gmail.com ]] function onUse(cid, item, frompos, item2, topos) -- Não mecha. storage = 938312 -- Storage a cada quest que for criada aumente um numero da storage pra qnd vc pegar o baú de outra quest ñ aparecer que vc já fez. item = 2160 -- Id do item ira ganhar. quantidade = 1 -- Quantidade ira ganhar. level = 5 -- Level que precisa pra fazer. if getPlayerLevel(cid) >= level and getPlayerStorageValue(cid,storage) == -1 then -- Não mecha. doPlayerSendTextMessage(cid,25,"Você ganhou um pouco de dinheiro") -- Mensagem que aparecera quando ganhar o item. doPlayerAddItem(cid, item, quantidade) -- Não mecha. setPlayerStorageValue(cid,storage,1) -- Não mecha. elseif getPlayerLevel(cid) <= level then -- Não mecha doPlayerSendTextMessage(cid,25,"Você precisa ser level 5 ou mais.") -- Mensagem que ira aparecer se o player tiver menos level que o necessario. elseif getPlayerStorageValue(cid,storage) >= 1 then -- Não mecha. doPlayerSendTextMessage(cid,25,"Você já fez está quest") -- Quando tentar pegar mais de uma vez o baú. end return true end Actions.xml <action actionid="3123" event="script" value="script.lua"/> Obs: O actionid="3123" é o que você deve botar no item no Remeres Map Editor Caso você queria criar outra quest aumente a storage no script e o id no actions.xml ! Como configurar ? R- \/ ================================================================================================================================ storage = 938312 -- Storage a cada quest que for criada aumente um numero da storage pra quando você for pegar o baú de outra quest não aparecer que você já fez. ================================================================================================================================ item = 2160 -- Id do item ira ganhar. ====================================================== quantidade = 1 -- Quantidade ira ganhar. ====================================================== level = 5 -- Level que precisa pra fazer. ====================================================== Script bem simples mais irá ajudar alguns membros. Rep não cai o dedo Não sei muito sobre script. 100% Créditos meu caso for postar em outro lugar deixe os créditos para min ! Desculpem o tópico mal arrumado
  6. BASE NARUTO SEAL WAR

    Jeff Delay reagiu a Yazka por uma resposta no tópico

    1 ponto
    Antes de baixarem eu gostaria de enfatizar alguns pontos: - Incluem-se neste download: servidor e cliente . - Inclui alguns virus da base usada no servidor ( Naruto White). - Existem Alguns Bugs no servidor e no mapa, mais nada dificil de resolver - Caso encontre alguma vocação sem spell, e que não tive muito tempo para criar. Trade System {100%}Party System {100%} Transformações {100%}+100 monstros {100%} Novos Monstros {100%} Novas sprites {100%}Novas quests {100%}Novas talkactions {100%}Premium Acess {100%}Double exp para premium {100%} Bonus drop {100%} Bonus spells {100%} [+] Vocations [+] Prints [+] Downloads [+] Scans •Vocações Algumas vocações estão sem Jutsus pois eu não tive muito tempo para criar algumas •Prints •Download •Scans SCAN O PROPRIO 4SHARED FAZ OS VIRUS QUE INDENTIFICA NO 4SHARED E DA BASE NTO WHITE Scan Detectou alguns virus no servidor, baixe se quiser, pois os virus que contem e proprio da base Nto White. REP++++ Creditos. Eu por editar a base. DA BASE NARUTO WHITE: Ken Kaneki (Helton) Beeny TFS Team Maenilse
  7. 1 ponto
    Ontem eu estava olhando servers no otservlist e achei um servidor, entrei nele era rozinx mais um pouco modificiado, vamos dizer um pouco mais fácil, não sei se posso passar o ip dele mais queria muito esse mapa vou dar algumas informações dele: °Ele tem 4 novas vocações que não me lembro o nome °Ele tem mais 3 rings de xp um 31k% outro de 50% e outro de 250% °Ele possui 2 novas quests pra < no templo °Existe um monstro que quando você mata ele você ganha 1 point. O resto é tudo igual ao rozinx queria muito esse mapa se puderem me ajudar ficaria muito feliz
  8. Hunter Camp

    Deletera reagiu a G3 Yuri por uma resposta no tópico

    1 ponto
    Posição da hunt port hope {x = 32878, y = 32791, z = 7} Link Scan
  9. Hoje resolvi fazer este tutorial porque os que que encontrei estavam muito confusos e não entendi certas coisas. V [TUTORIAL] Como adicionar pokemons com {Icon System}. 1- Abra o seu ObjectBuilder. 2- Aperte Ctrl+O ou Clique em "File"/"Open". 3- Clique em Browse. 4- E abra a pasta onde fica seu tibia.spr e o tibia.dat. 5- Caso for estendido marque a caixa. 6- Após isto procure as outfit, corpse, ícone e portrait do pokemon desejado. obs: aconselho escrever os números em um bloco de notas 7- Após isto abra o ItemEditor . 8- Aperte Ctr+P ou Clique em "File"/"Preferences". 9- Clique em Browse. 10- E abra a pasta onde fica seu tibia.spr e o tibia.dat. 11- Caso for estendido marque a caixa. 12- Crie 5 itens. 13- Em Cliete ID coloque os IDs do portrait, corpse, 1 ícone on e 2 ícones off que você pegou no ObjectBuilder. 14- Deixe os atributos exatamente assim. Portrait Corpse Icone On Icone Use Icone Off obs: a partir daqui usara estes IDs obs: aconselho escrever os números em um bloco de notas 15- Por fim de save. . 16- Agora vá em Data/Items e abra items.xml. Em algum local adicione isto! <item id="AAAAA" article="a" name="Icone."> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="BBBBB" article="a" name="Icone using"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="CCCCC" article="a" name="Icone dead"> <attribute value="1" key="ispokeball"/> <attribute key="weight" value="100" /> <attribute key="slotType" value="feet" /> </item> <item id="DDDDD" article="a" name="EEEEE"> <attribute key="containerSize" value="10" /> <attribute key="decayTo" value="0" /> <attribute key="duration" value="300" /> </item> <item id="FFFFF" article="a" name="portrait"> <attribute key="weight" value="0" /> <attribute key="slotType" value="legs" /> </item> Em "AAAAA" coloque o ID do ícone on Em "BBBBB" coloque o ID do ícone use Em "CCCCC" coloque o ID do ícone off Em "DDDDD" coloque o ID do corpse Em "EEEEE" coloque fainted "nome do poke" Em "FFFFF" coloque o ID do portrait Salve e feche 17- Agora vá em Data/Monster/Pokes Copie alguma .xml e modifique o seu nome para o do pokemon desejado depois abra-a <?xml version="1.0" encoding="UTF-8"?> <monster name="AAAAA" nameDescription="a BBBBB" race="CCCCC" experience="1500" speed="207" manacost="0"> <health now="270" max="270"/> <look type="DDDDD" head="90" body="100" legs="95" feet="113" corpse="EEEEE"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Aqua Tail" interval="2805" chance="29" range="1"/> <attack name="Headbutt" interval="2705" chance="29" range="1"/> <attack name="Dragon Breath" interval="3040" chance="28" range="6"/> <attack name="Hyper Beam" interval="2899" chance="29" range="5"/> <attack name="Thunder Wave" interval="2993" chance="28" range="6"/> <attack name="Twister" interval="2852" chance="29" range="3"/> <attack name="Wing Attack" interval="3040" chance="28" range="6"/> <attack name="Thunder Punch" interval="2752" chance="29" range="1"/> <attack name="Fire Punch" interval="2952" chance="29" range="1"/> <attack name="Dragon Claw" interval="2900" chance="29" range="1"/> </attacks> <defenses armor="0" defense="0"> </defenses> <voices interval="5000" chance="10"> <voice sentence="FFFFF!"/> </voices> <loot> <item id="11449" chance="150" count="1" countmax="1"/> <item id="12159" chance="3000" count="1" countmax="1"/> <item id="13794" chance="10000" countmax="80"/> --snowball <item id="12275" chance="3000" count="1" countmax="1"/> <item id="12244" chance="70" count="1" countmax="1"/> <item id="12338" chance="10" count="1"/> --bag box --bag box </loot> <script> <event name="Spawn"/> </script> </monster> Em "AAAAA" coloque o nome do pokemon Em "BBBBB" coloque o ID da outfit do pokemon Em "CCCCC" coloque o a raça do pokemon Em "DDDDD" coloque o ID da outfit do pokemon obs: no meu caso e 2241 Em "EEEEE" coloque o ID corpse obs: no meu caso e 20758 Em "FFFFF" coloque a fala do pokemon Lista de raças: fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel Attacks Lembrando esses são os ataques que pokemon selvagem soltara E possível ver os attacks em data/spells/scripts/ps name = "Nome do attack" interval = "Intervalo para usar o attack" chance = Chance do attack ser acertado" obs: sempre deixe o melee 100 range = "Distancia mínima necessária para usar o attack" Loot item id = "ID do item que será dropado" chance = "Chance do item ser dropado" count = "Mínimo de itens a ser dropado" countmax = "Máximo de itens a ser dropado" salve e feche 18- Agora vá em Data/Monster e abra monster.xml Adicione esta tag caso esteja em uma pasta <monster name="AAAAA" file="pokes/BBBBB/CCCCC.xml"/> caso apenas esteja na pasta pokes <monster name="AAAAA" file="pokes/CCCCC.xml"/> Em "AAAAA" coloque o nome do pokemon Em "BBBBB" coloque o nome da pasta onde ele esta Em "CCCCC" coloque o nome da .xml que você criou salve e feche 19- Agora vá em Data/Lib e abra configuration.lua 1º desça um pouco e se ver algo deste género vá no final e adicione isto ["AAAAA"] = {move1 = {name = "Aqua Tail", level = 10, cd = 12, dist = 1, target = 1, f = 50, t = "water"}, move2 = {name = "Thunder Wave", level = 12, cd = 16, dist = 1, target = 0, f = 70, t = "electric"}, move3 = {name = "Thunder Punch", level = 16, cd = 16, dist = 1, target = 1, f = 65, t = "electric"}, move4 = {name = "Fire Punch", level = 15, cd = 20, dist = 1, target = 1, f = 75, t = "electric"}, move5 = {name = "Dragon Claw", level = 22, cd = 16, dist = 1, target = 1, f = 60, t = "dragon"}, move6 = {name = "Dragon Breath", level = 40, cd = 20, dist = 1, target = 0, f = 80, t = "dragon"}, move7 = {name = "Twister", level = 46, cd = 24, dist = 1, target = 0, f = 80, t = "dragon"}, move8 = {name = "Wing Attack", level = 70, cd = 28, dist = 1, target = 0, f = 75, t = "flying"}, move9 = {name = "Hyper Beam", level = 70, cd = 24, dist = 1, target = 0, f = 190, t = "normal"}, move10 = {name = "Draco Meteor", level = 110, cd = 60, dist = 1, target = 0, f = 150, t = "dragon"}, }, Em "AAAAA" coloque o nome do pokemon Moves name = "Nome do attack" level = "Level mínimo para usar o attack" cd = "tempo para o attack recarregar" dist = "distancia mínima para usar o attack" target = "1 significa que precisa se alvo / 0 que não e necessário" f = "força do attack" t = "tipo do attack" lista de tipos fighting, normal, water, ground, rock, dark, psychic, flying, electric, poison, fire, ice, grass, dragon, bug, steel 2º Desça mais um pouco entrara o fly caso seu pokemon tenha pegue o id da outfit do fly e subtraia 351 EX: 2242-351=1891 ["AAAAA"] = {BBBBB, CCCCC}, Em "AAAAA" coloque o nome do pokemon Em "BBBBB" coloque o ID do fly subtraído por 351 EX: 2242-351=1891 Em "CCCCC" coloque a velocidade que dará Surf e ride mesma coisa 2 Aconteceu algum bug com o site e sumiu o resto estou sem tempo para arrumar agora espero que conpreendao
  10. Emprestei Meu Pen-Driver Com Base Para O Cara Caso Ele Não Faça A Gracinha De Apagar Pois Vou Ter Que Re-Fazer Todo Trabalho Que Foi Dificil Para Fazer Mais Aguardem Está Muito Top Ela, E Só Lembrando Já Estou Planejando A V3, Assim Que Postar A V2, Já Darei Inicio A Ela.
  11. Gesior Layout Global

    Samuel Cstr reagiu a Natanael Beckman por uma resposta no tópico

    1 ponto
    Site de noob.
  12. [Pedido]OTC

    Markvlm reagiu a Danihcv por uma resposta no tópico

    1 ponto
    O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de OTServ Geral" Para: "OTServ → Suporte OTServ → Suporte de Clients"
  13. 1 ponto
    em actions/script crie um arquivo porta.lua e coloque: depois va em actions.xml e adicione: agora no seu mapa editor coloque o actions id 55555 na porta que quiser , teste e seja feliz. RUNA DE UTITO TEMPO Va em spells/script/support e crio utitotempo.lua e coloque isso: em spells.xml procure por support runes e add la <rune name="Utito Tempo Runes" id="2269" allowfaruse="1" charges="1" lvl="8" maglv="0" exhaustion="2000" needtarget="1" blocktype="solid" event="script" value="support/utitotempo.lua"> em id="2269" coloque o id da runa que queira usar. AOL INFINITO E so vc ir no items.xml procurar um amulet e por isso: <attribute key="preventDrop" value="1"/> salve e pronto.
  14. 1 ponto
    eu tenho respeito, só quero ajuda, porem ninguem me ajuda, em vez de tu me negativar, pq nao me ajudou com a minha pergunta?
  15. 1 ponto
    seu retardado do krl, to querendo ajuda entao nao vem enche a porra do meu saco, se tu nao quer me ajudar vaza com teus comentarios de merda!
  16. 1 ponto
    o legal é que ninguem gosta de ajudar os outros em tibia pqp e eu fico aqui desesperado ! =/
  17. 1 ponto
    alguem pode me ajudar como eu deixo online esse servidor to afim de abrir um global e nao to conseguindo pqp!
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo