Ir para conteúdo
  • Cadastre-se

11.x [v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)


Posts Recomendados

Bom dia, Boa tarde, Boa noite a todos, Hoje eu gravei um video ensinando ao pessoal que não sabe ou que na hora de compilar o theforgottenserve acontece algum erro, hoje vou ensinar a como fazer do jeito simples e certo, porem apenas gravei, não deu tempo de editar não deu tempo de fazer muita coisa, apenas gravei e postei no youtube ! desculpas pela falta de qualidade no video, quis apenas ajudar as pessoas que estão perdidas nesse processo !

 

Editado por ziigshd (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Respostas 3.6k
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Global 11/12x [v32]       - New Falcons - New Asuras - Warzone 4,5,6 - Exercise Training - Raids 100% - Monstros 100% - Trainer Offline 100% - Trainer Online 1

as quest que nos outros algumas são bugadas nesse não são, e uns detalhes baixe olhe e veja você mesmo. ja esta no topico, printer nao tem wote, warzone e bugada falta subsolo de gray nao tem, Chaye

galera que tiver tendo problemas me der REP+ que resolvo todos os problemas de voces. tenho esse servidor ai 100% site + servidor, com base do maluco totalmente sem bug

Posted Images

Em 26/6/2014 at 13:07, estopa disse:

el error multitud distribución es la siguiente axo que es el pq dlls dlls tomaron otro servidor y Fuñió dejan de caer y Ana me pudieron dar una mano con este sitio en la página de facebook error en la línea 660?

olle mano vc que dll usa para que exe no deje de funcionar 

Em 6/5/2016 at 12:56, Death Claw disse:

Testei esse servidor no windows 10, sem precisar de maquina virtual e ta funcionando normalmente.

olle mano el exe no se cerraba? solo esque en windows 7 si se cierra :C

Link para o post
Compartilhar em outros sites
Em 05/05/2016 at 21:48, ADM Argel disse:

@Mitsuig o seu mapa o tp pra monk treiners nao ta pegando

 

Eu ja realizei essa correção, amanhã farei o pull da mesma.

 

https://github.com/gordonbay/capernia-ots-datapack

 

basta substituir o global.otbm pelo meu.

Em 25/04/2016 at 16:10, ziigshd disse:

Alguem pode me ajudar ????????

Sem título.png

 

 

Eu não sei se ja corrigiu isso mas caso não tenha substitua a sua pasta spells e npc pela que está nesse git:

 

https://github.com/gordonbay/capernia-ots-datapack

Link para o post
Compartilhar em outros sites
5 minutos atrás, gordonbays disse:

 

Eu ja realizei essa correção, amanhã farei o pull da mesma.

 

https://github.com/gordonbay/capernia-ots-datapack

 

basta substituir o global.otbm pelo meu.

 

 

Eu não sei se ja corrigiu isso mas caso não tenha substitua a sua pasta spells e npc pela que está nesse git:

 

https://github.com/gordonbay/capernia-ots-datapack

Gordonbays, você tem previsão ou tem uma noção de quando pode sair a nova atualização do tibia ?

Link para o post
Compartilhar em outros sites
1 minuto atrás, ziigshd disse:

Gordonbays, você tem previsão ou tem uma noção de quando pode sair a nova atualização do tibia ?

 

Não.

Link para o post
Compartilhar em outros sites

@gordonbays irmão meu maior problema atual é que o site gersior não está entregando addons e montarias in game, entrega itens normalmente, ja fiz de tudo e nada, poderia me dar uma luz ?

Link para o post
Compartilhar em outros sites
9 horas atrás, ADM Argel disse:

@gordonbays irmão meu maior problema atual é que o site gersior não está entregando addons e montarias in game, entrega itens normalmente, ja fiz de tudo e nada, poderia me dar uma luz ?

 

Deu um trabalho mas consegui.

 

index.php, insira essa linha $mysql...

 

<?php
//GATO PRO SHOP
$mysqli = new mysqli("127.0.0.1", "USUARIO", "SENHA", "DB");

 

shopadmin.php

 

<script> </script>
 <script type="text/javascript">function _delete(id){
	if( confirm('Confirma a exclusão do item selecionado?') )
	{
		location.href='?subtopic=shopadmin&action=delete&id=' + id + '';
	}
	
	return false;
}</script><style type="text/css">
hr{border:0;border-bottom:1px solid #D4C0A1;padding:3px;}
h1.admshop{margin:0;padding:0;}
label.admshop{float:left;width:100px;}
div.clear{clear:both;}
p.border{border-bottom:1px solid #D4C0A1;padding:3px;}
form input, form select, form button, form reset{padding:3px;}
input.bt{padding:3px 20px;cursor:pointer;}
.success{color:green;}
.error{color:red;}
.bt2{padding:5px 30px;cursor:pointer;}
</style>
<?php



/**
 * Systema By Dezon
 */
if(!defined('INITIALIZED'))
	exit;

/*
 * Variável SQL
 */
$SQL = $GLOBALS['SQL'];

/*
 * Funções
 */
function dropdown_offer_type($selected='item')
{
	$return = null;

	if($selected == 'item')
	{
		$return = '<select id="selectid" onchange="michael()" name="offer_type">
					<option value="item" selected="selected">Item</option>
					<option value="container">Container</option>
					<option value="mount">Mounts</option>
					<option value="addon">Addons</option>
				   </select>';
	}
	else if($selected == 'container')
	{
		$return = '<select id="selectid" onchange="michael()" name="offer_type">
					<option value="item">Item</option>
					<option value="container" selected="selected">Container</option>
					<option value="mount">Mounts</option>
					<option value="addon">Addons</option>
				   </select>';
	}
	else if($selected == 'mount')
	{
		$return = '<select id="selectid" onchange="michael()" name="offer_type">
					<option value="item">Item</option>
					<option value="container">Container</option>
					<option value="mount" selected="selected">Mounts</option>
					<option value="addon">Addons</option>
				   </select>';
	}
	else if($selected == 'addon')
	{
		$return = '<select id="selectid" onchange="michael()" name="offer_type">
					<option value="item">Item</option>
					<option value="container">Container</option>
					<option value="mount">Mounts</option>
					<option value="addon" selected="selected">Addons</option>
				   </select>';
	}
	else
	{
		$return = '<select id="selectid" onchange="michael()" name="offer_type">
					<option value="item" selected="selected">Item</option>
					<option value="container">Container</option>
					<option value="mount">Mounts</option>
					<option value="addon">Addons</option>
				   </select>';
	}

	return $return;
}

if($group_id_of_acc_logged >= $config['site']['access_admin_panel'])
{
	####################
	# ATUALIZAÇÃO 2015 #
	####################
	$items_menu = '<p><a href="?subtopic=shopadmin">Shop admin</a> | <a href="?subtopic=shopadmin&action=new">Nova oferta</a> | <a href="?subtopic=shopadmin&action=list">Listar ofertas</a> | <a href="?subtopic=shopadmin&action=points">Adicionar pontos</a></p><hr />';
	
	switch($action)
	{
		/******************************************************************************************/
		// Essa ação, vai listar todos os registros do que está
		// sendo vendido no seu shopping (as ofertas)
		/******************************************************************************************/
		case 'list':
			$ofertas = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_offer').' ORDER BY id DESC;');
			
			$result .= $items_menu;
			
			$result .= '<TABLE BGCOLOR="#D4C0A1" BORDER="0" CELLPADDING="4" CELLSPACING="1" WIDTH="100%">';
			$result .= '<tr bgcolor="#505050"><td class="white"><strong>Items cadastrados no \'Shop Offer\'</strong></td><tr>';
			
				$result .= '<TABLE BORDER="0" CELLPADDING="2" CELLSPACING="1" WIDTH="100%">';
				$result .= '<TR BGCOLOR="#F1E0C6"><td><strong>ID</strong></td><td><strong>Nome da oferta</strong></td><td><strong>Imagem</strong></td><td><strong>Ações</strong></td></TR>';
				while($data = $ofertas->fetch())
				{
					$result .= '<tr BGCOLOR="#F1E0C6">';
					$result .= '<td>'.$data['id'].'</td>';
					$result .= '<td>'.$data['offer_name'].'</td>';
					$result .= '<td align="center"><img src="./images/items/'.$data['itemid1'].$config['site']['item_images_extension'].'" /></td>';
					$result .= '<td><a href="?subtopic=shopadmin&action=edit&id='.$data['id'].'">[editar]</a>&nbsp;<a href="javascript:void( _delete('.$data['id'].') );">[excluir]</a></td>';
					$result .= '</tr>';
				}
				$result .= '</table>';
			
			$result .= '</table>';
			
			$main_content .= $result;
			break; //lista as ofertas
		/******************************************************************************************/
		// Essa ação é chamada quando abre a tela
		// de edição da oferta selecionada
		/******************************************************************************************/
		case 'edit':
			$main_content .= $items_menu;
			$id = is_numeric($_GET['id']) ? $_GET['id'] : header('Location: ?subtopic=shopadmin'); // anti-inject simples by Dezon
			$dados = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_offer').' WHERE id='.$id)->fetch();
			
			/*
			if($dados['offer_type'] == 'item')
			{
				$dropdown = '<select id="selectid" onchange="michael()" name="offer_type"><option value="item" selected="selected">Item</option><option value="container">Container</option></select>';
			}
			else if($dados['offer_type'] == 'container')
			{
				$dropdown = '<select id="selectid" onchange="michael()" name="offer_type"><option value="item">Item</option><option value="container" selected="selected">Container</option></select>';
			}
			*/
			$dropdown = dropdown_offer_type($dados['offer_type']);
			
			$main_content .= <<<EOD
			
				  
				<h1 class="admshop"><strong>Editar/Atualizar oferta</strong></h1>
				<form method="post" action="?subtopic=shopadmin&action=shop_edit">
					<input type="hidden" name="id_offer" value="{$dados['id']}" />					
					<p class="border"><strong>Nome / Descrição da oferta</strong></p>
					
					<p id="addon"><label class="admshop">Addon: </label><select onchange="changes()" id="addons" name="addon"></p>
					<option value="" selected="selected"></option>
					<option value="1">Citizen</option>
					<option value="2">Hunter</option>
					<option value="3">Mage</option>
					<option value="4">Knight</option>
					<option value="5">Noblewoman</option>
					<option value="6">Summoner</option>
					<option value="7">Warrior</option>
					<option value="8">Barbarian</option>
					<option value="9">Druid</option>
					<option value="10">Wizard</option>
					<option value="11">Oriental</option>
					<option value="12">Pirate</option>
					<option value="13">Assassin</option>
					<option value="14">Beggar</option>
					<option value="15">Shaman</option>
					<option value="16">Norsewoman</option>
					<option value="17">Nightmare</option>
					<option value="18">Jester</option>
					<option value="19">Brotherhood</option>
					<option value="20">Demonhunter</option>
					<option value="21">Yalaharian</option>
					<option value="22">Warmaster</option>
					<option value="23">Wayfarer</option>
					<option value="24">Afflicted</option>
					<option value="25">Elementalist</option>
					<option value="26">Deepling</option>
					<option value="27">Insectoid</option>
					<option value="28">Entrepreneur</option>
					<option value="29">Crystal warlord</option>
					<option value="30">Soil guardian</option>
					<option value="31">Demon</option>
					<option value="32">Cave explorer</option>
					<option value="33">Dream warden</option>
					<option value="34">Glooth engineer</option>
					<option value="35">Champion</option>
					<option value="36">Conjurer</option>
					<option value="37">Beastmaster</option>
					<option value="38">Chaos acolyte</option>
					<option value="39">Death herald</option>
					<option value="40">Ranger</option>
					<option value="41">Ceremonial garb</option>
					<option value="42">Puppeteer</option>
					<option value="43">Spirit caller</option>
					<option value="44">Evoker</option>
					<option value="45">Seaweaver</option>
					<option value="46">Recruiter</option>
					<option value="47">Sea dog</option>
					<option value="48">Royal pumpkin</option>
					<option value="49">Rift warrior</option>
					<option value="50">Winter warden</option>
					<option value="51">Philosopher</option>	
				   </select> 
				   
				   <p id="mountdrop"><label class="admshop">Mount: </label><select onchange="changesdrop()" id="mountvalor" name="mount"></p>
					<option value="1">Widow Queen</option>
	<option value="2">Racing Bird</option>
	<option value="3">War Bear</option>
	<option value="4">Black Sheep</option>
	<option value="5">Midnight Panther</option>
	<option value="6">Draptor</option>
	<option value="7">Titanica</option>
	<option value="8">Tin Lizzard</option>
	<option value="9">Blazebringer</option>
	<option value="10">Rapid Boar</option>
	<option value="11">Stampor</option>
	<option value="12">Undead Cavebear</option>
	<option value="13">Donkey</option>
	<option value="14">Tiger Slug</option>
	<option value="15">Uniwheel</option>
	<option value="16">Crystal Wolf</option>
	<option value="17">War Horse</option>
	<option value="18">Kingly Deer</option>
	<option value="19">Tamed Panda</option>
	<option value="20">Dromedary</option>
	<option value="21">Scorpion King</option>
	<option value="22">Rented Horse</option>
	<option value="23">Armoured War Horse</option>
	<option value="24">Shadow Draptor</option>
	<option value="25">Rented Horse</option>
	<option value="26">Rented Horse</option>
	<option value="27">Lady Bug</option>
	<option value="28">Manta Ray</option>
	<option value="29">Ironblight</option>
	<option value="30">Magma Crawler</option>
	<option value="31">Dragonling</option>
	<option value="32">Gnarlhound</option>
	<option value="33">Crimson Ray</option>
	<option value="34">Steelbeak</option>
	<option value="35">Water Buffalo</option>
	<option value="36">Armoured Scorpion</option>
	<option value="37">Armoured Dragonling</option>
	<option value="38">Ursagrodon</option>
	<option value="39">Hellgrip</option>
	<option value="40">Noble Lion</option>
	<option value="41">Desert King</option>
	<option value="42">Shock Head</option>
	<option value="43">Walker</option>
	<option value="44">Azudocus</option>
	<option value="45">Carpacosaurus</option>
	<option value="46">Death Crawler</option>
	<option value="47">Flamesteed</option>
	<option value="48">Jade Lion</option>
	<option value="49">Jade Pincer</option>
	<option value="50">Nethersteed</option>
	<option value="51">Tempest</option>
	<option value="52">Winter King</option>
	<option value="53">Doombringer</option>
	<option value="54">Woodland Prince</option>
	<option value="55">Hailtorm Fury</option>
	<option value="56">Siegebreaker</option>
	<option value="57">Poisonbane</option>
	<option value="58">Blackpelt</option>
	<option value="59">Golden Dragonfly</option>
	<option value="60">Steel Bee</option>
	<option value="61">Copper Fly</option>
	<option value="62">Tundra Rambler</option>
	<option value="63">Highland Yak</option>
	<option value="64">Glacier Vagabond</option>
	<option value="65">Flying Divan</option>
	<option value="66">Magic Carpet</option>
	<option value="67">Floating Kashmir</option>
	<option value="68">Ringtail Waccoon</option>
	<option value="69">Night Waccoon</option>
	<option value="70">Emerald Waccoon</option>
	<option value="71">Glooth Glider</option>
	<option value="72">Shadow Hart</option>
	<option value="73">Black Stag</option>
	<option value="74">Emperor Deer</option>
	<option value="75">Flitterkatzen</option>
	<option value="76">Venompaw</option>
	<option value="77">Batcat</option>
	<option value="78">Sea Devil</option>
	<option value="79">Coralripper</option>
	<option value="80">Plumfish</option>
	<option value="81">Gorongra</option>
	<option value="82">Noctungra</option>
	<option value="83">Silverneck</option>
	<option value="84">Slagsnare</option>
	<option value="85">Nightstinger</option>
	<option value="86">Razorcreep</option>
	<option value="87">Rift Runner</option>
	<option value="88">Nightdweller</option>
	<option value="89">Frostflare</option>
	<option value="90">Cinderhoof</option>
	<option value="91">Mouldpincer</option>
	<option value="92">Bloodcurl</option>
	<option value="93">Leafscuttler</option>
				   </select> 
				   
					<p><label class="admshop">Oferta: </label><input type="text" name="offer_name" size="50" maxlength="100" value="{$dados['offer_name']}" /></p>
					<p><label class="admshop">Descrição: </label><input type="text" name="offer_description" size="50" maxlength="1000" value="{$dados['offer_description']}" /></p>
					<p><label class="admshop">Qtde. pontos: </label><input type="text" name="points" size="5" maxlength="9" value="{$dados['points']}" /></p>
					
					<p class="border"><strong>Tipo da oferta</strong></p>
					<p><label class="admshop">Tipo: </label>{$dropdown}</p>

<div id="michael3" style="">
					<p class="border"><strong>Configuração de item normal, armor, shield, legs, etc</strong></p>
					<p><label class="admshop">ID Item 1: </label><input id="id1" type="text" name="itemid1" size="20" value="{$dados['itemid1']}" /></p>
					<p><label class="admshop">Qtde. Item 1: </label><input id="count1" type="text" name="count1" size="10" value="{$dados['count1']}" /></p>
					
					<p class="border"><strong>Configuração de item container, BP com Runas, BP com Small Stones, etc</strong></p>
					<p><label class="admshop">ID Item 2: </label><input id="count2" type="text" name="itemid2" size="10" value="{$dados['itemid2']}" /></p>
					<p><label class="admshop">Qtde. Item 2: </label><input type="text" name="count2" size="10" value="{$dados['count2']}" /></p>
</div>
					<p class="border"><br /></p>
					<input type="submit" value="Salvar edição" class="bt" />
				</form>
				<div class="clear"></div>
<script>
document.getElementById("addons").selectedIndex = {$dados['itemid1']};
document.getElementById("addons").selectedIndex = {$dados['itemid1']};


if(document.getElementById('selectid').value == "mount") {
document.getElementById('michael3').style.display = 'none';
document.getElementById('addon').style.display = 'none';
document.getElementById('mountdrop').style.display = 'block';
}
if(document.getElementById('selectid').value == "addon") {
document.getElementById('mountdrop').style.display = 'none';
document.getElementById('michael3').style.display = 'none';
document.getElementById('addon').style.display = 'block';
}
if(document.getElementById('selectid').value != "addon" && document.getElementById('selectid').value != "mount") {
document.getElementById('mountdrop').style.display = 'none';
document.getElementById('michael3').style.display = 'block';
document.getElementById('addon').style.display = 'none';
}

function changes() {
var mytextbox = document.getElementById('id1');
var mydropdown = document.getElementById('addons');
mytextbox.value = mydropdown.value;
}

function changesdrop() {
var mytextbox = document.getElementById('id1');
var mydropdown = document.getElementById('mountvalor');
mytextbox.value = mydropdown.value;
}

function changes() {
var mytextbox = document.getElementById('id1');
var mydropdown = document.getElementById('addons');
mytextbox.value = mydropdown.value;
}

function michael() {

if(document.getElementById('selectid').value == "mount") {
document.getElementById('michael3').style.display = 'none';
document.getElementById('addon').style.display = 'none';
document.getElementById('mountdrop').style.display = 'block';
}
if(document.getElementById('selectid').value == "addon") {
document.getElementById('mountdrop').style.display = 'none';
document.getElementById('michael3').style.display = 'none';
document.getElementById('addon').style.display = 'block';
}
if(document.getElementById('selectid').value != "addon" && document.getElementById('selectid').value != "mount") {
document.getElementById('mountdrop').style.display = 'none';
document.getElementById('michael3').style.display = 'block';
document.getElementById('addon').style.display = 'none';
}
}
</script>
				
<?php				
EOD;
break;
		case 'shop_edit':
		
			$id 				= $_POST['id_offer'];
			$points				= trim($_POST['points']);
            $itemid1 = $_POST['itemid1'];
			$count1				= trim($_POST['count1']);
			$itemid2			= trim($_POST['itemid2']);
			$count2				= trim($_POST['count2']);
			$offer_type			= trim($_POST['offer_type']);
			$offer_description	= trim($_POST['offer_description']);
			$offer_name			= trim($_POST['offer_name']);
			
			if(isset($_POST['id_offer'])) {
				
			$mysqli->query("UPDATE z_shop_offer SET points = '$points', itemid1 = '$itemid1', points = '$points', count1 = '$count1', itemid2 = '$itemid2', count2 = '$count2', offer_type = '$offer_type', offer_description = '$offer_description', offer_name = '$offer_name' WHERE id = '$id'");
			echo '<strong class="success">Oferta editada com sucesso!</strong><br /><br /><a href="?subtopic=shopadmin&action=list">Voltar</a>';
			}
			

			 
		
		break;
		case 'delete':
			$id = is_numeric($_GET['id']) ? $_GET['id'] : header('Location: ?subtopic=shopadmin');
			$SQL->query('DELETE FROM '.$SQL->tableName('z_shop_offer').' WHERE id='.$id);
			header('Location: ?subtopic=shopadmin&action=list');
			break; //exclui items
		/******************************************************************************************/
		// Ação que é chamada quando você salva uma nova oferta
		/******************************************************************************************/
		case 'shop_save':
			$id 				= $_POST['id_offer'];
			$points				= trim($_POST['points']);
            $itemid1 = $_POST['itemid1'];
			$count1				= trim($_POST['count1']);
			$itemid2			= trim($_POST['itemid2']);
			$count2				= trim($_POST['count2']);
			$offer_type			= trim($_POST['offer_type']);
			$offer_description	= trim($_POST['offer_description']);
			$offer_name			= trim($_POST['offer_name']);
			
			if(isset($_POST['id_offer'])) {				
			
			$mysqli->query("INSERT INTO z_shop_offer (points,itemid1,count1,itemid2,count2,offer_type,offer_description,offer_name) VALUES ('$points','$itemid1','$count1','$itemid2','$count2','$offer_type','$offer_description','$offer_name')");
			echo '<strong class="success">Oferta cadastrada com sucesso!</strong><br /><br /><a href="?subtopic=shopadmin&action=list">Voltar</a>';
			}
			
			
			break; //salva a oferta no banco de dados
		/******************************************************************************************/
		// Essa ação é chamada na tela de nova oferta,
		// é nela que o formulário de cadastro é
		// gerado e exibido na tela
		/******************************************************************************************/
		case 'new':
			$main_content .= $items_menu;
			$dropdown      = dropdown_offer_type(null);
			$main_content .= <<<EOD
			
			
			
			
			
			<h1 class="admshop"><strong>Cadastrar Novo Item</strong></h1>
				<form method="post" action="?subtopic=shopadmin&action=shop_save">
					<input type="hidden" name="id_offer" value="{$dados['id']}" />					
					<p class="border"><strong>Nome / Descrição da oferta</strong></p>
					
					<p id="addon"><label class="admshop">Addon: </label><select onchange="changes()" id="addons" name="addon"></p>
					<option value="" selected="selected"></option>
					<option value="1">Citizen</option>
					<option value="2">Hunter</option>
					<option value="3">Mage</option>
					<option value="4">Knight</option>
					<option value="5">Noblewoman</option>
					<option value="6">Summoner</option>
					<option value="7">Warrior</option>
					<option value="8">Barbarian</option>
					<option value="9">Druid</option>
					<option value="10">Wizard</option>
					<option value="11">Oriental</option>
					<option value="12">Pirate</option>
					<option value="13">Assassin</option>
					<option value="14">Beggar</option>
					<option value="15">Shaman</option>
					<option value="16">Norsewoman</option>
					<option value="17">Nightmare</option>
					<option value="18">Jester</option>
					<option value="19">Brotherhood</option>
					<option value="20">Demonhunter</option>
					<option value="21">Yalaharian</option>
					<option value="22">Warmaster</option>
					<option value="23">Wayfarer</option>
					<option value="24">Afflicted</option>
					<option value="25">Elementalist</option>
					<option value="26">Deepling</option>
					<option value="27">Insectoid</option>
					<option value="28">Entrepreneur</option>
					<option value="29">Crystal warlord</option>
					<option value="30">Soil guardian</option>
					<option value="31">Demon</option>
					<option value="32">Cave explorer</option>
					<option value="33">Dream warden</option>
					<option value="34">Glooth engineer</option>
					<option value="35">Champion</option>
					<option value="36">Conjurer</option>
					<option value="37">Beastmaster</option>
					<option value="38">Chaos acolyte</option>
					<option value="39">Death herald</option>
					<option value="40">Ranger</option>
					<option value="41">Ceremonial garb</option>
					<option value="42">Puppeteer</option>
					<option value="43">Spirit caller</option>
					<option value="44">Evoker</option>
					<option value="45">Seaweaver</option>
					<option value="46">Recruiter</option>
					<option value="47">Sea dog</option>
					<option value="48">Royal pumpkin</option>
					<option value="49">Rift warrior</option>
					<option value="50">Winter warden</option>
					<option value="51">Philosopher</option>	
				   </select> 
				   
				   <p id="mountdrop"><label class="admshop">Mount: </label><select onchange="changesdrop()" id="mountvalor" name="mount"></p>
					<option value="1">Widow Queen</option>
	<option value="2">Racing Bird</option>
	<option value="3">War Bear</option>
	<option value="4">Black Sheep</option>
	<option value="5">Midnight Panther</option>
	<option value="6">Draptor</option>
	<option value="7">Titanica</option>
	<option value="8">Tin Lizzard</option>
	<option value="9">Blazebringer</option>
	<option value="10">Rapid Boar</option>
	<option value="11">Stampor</option>
	<option value="12">Undead Cavebear</option>
	<option value="13">Donkey</option>
	<option value="14">Tiger Slug</option>
	<option value="15">Uniwheel</option>
	<option value="16">Crystal Wolf</option>
	<option value="17">War Horse</option>
	<option value="18">Kingly Deer</option>
	<option value="19">Tamed Panda</option>
	<option value="20">Dromedary</option>
	<option value="21">Scorpion King</option>
	<option value="22">Rented Horse</option>
	<option value="23">Armoured War Horse</option>
	<option value="24">Shadow Draptor</option>
	<option value="25">Rented Horse</option>
	<option value="26">Rented Horse</option>
	<option value="27">Lady Bug</option>
	<option value="28">Manta Ray</option>
	<option value="29">Ironblight</option>
	<option value="30">Magma Crawler</option>
	<option value="31">Dragonling</option>
	<option value="32">Gnarlhound</option>
	<option value="33">Crimson Ray</option>
	<option value="34">Steelbeak</option>
	<option value="35">Water Buffalo</option>
	<option value="36">Armoured Scorpion</option>
	<option value="37">Armoured Dragonling</option>
	<option value="38">Ursagrodon</option>
	<option value="39">Hellgrip</option>
	<option value="40">Noble Lion</option>
	<option value="41">Desert King</option>
	<option value="42">Shock Head</option>
	<option value="43">Walker</option>
	<option value="44">Azudocus</option>
	<option value="45">Carpacosaurus</option>
	<option value="46">Death Crawler</option>
	<option value="47">Flamesteed</option>
	<option value="48">Jade Lion</option>
	<option value="49">Jade Pincer</option>
	<option value="50">Nethersteed</option>
	<option value="51">Tempest</option>
	<option value="52">Winter King</option>
	<option value="53">Doombringer</option>
	<option value="54">Woodland Prince</option>
	<option value="55">Hailtorm Fury</option>
	<option value="56">Siegebreaker</option>
	<option value="57">Poisonbane</option>
	<option value="58">Blackpelt</option>
	<option value="59">Golden Dragonfly</option>
	<option value="60">Steel Bee</option>
	<option value="61">Copper Fly</option>
	<option value="62">Tundra Rambler</option>
	<option value="63">Highland Yak</option>
	<option value="64">Glacier Vagabond</option>
	<option value="65">Flying Divan</option>
	<option value="66">Magic Carpet</option>
	<option value="67">Floating Kashmir</option>
	<option value="68">Ringtail Waccoon</option>
	<option value="69">Night Waccoon</option>
	<option value="70">Emerald Waccoon</option>
	<option value="71">Glooth Glider</option>
	<option value="72">Shadow Hart</option>
	<option value="73">Black Stag</option>
	<option value="74">Emperor Deer</option>
	<option value="75">Flitterkatzen</option>
	<option value="76">Venompaw</option>
	<option value="77">Batcat</option>
	<option value="78">Sea Devil</option>
	<option value="79">Coralripper</option>
	<option value="80">Plumfish</option>
	<option value="81">Gorongra</option>
	<option value="82">Noctungra</option>
	<option value="83">Silverneck</option>
	<option value="84">Slagsnare</option>
	<option value="85">Nightstinger</option>
	<option value="86">Razorcreep</option>
	<option value="87">Rift Runner</option>
	<option value="88">Nightdweller</option>
	<option value="89">Frostflare</option>
	<option value="90">Cinderhoof</option>
	<option value="91">Mouldpincer</option>
	<option value="92">Bloodcurl</option>
	<option value="93">Leafscuttler</option>
				   </select> 
				   
					<p><label class="admshop">Oferta: </label><input type="text" name="offer_name" size="50" maxlength="100" value="{$dados['offer_name']}" /></p>
					<p><label class="admshop">Descrição: </label><input type="text" name="offer_description" size="50" maxlength="1000" value="{$dados['offer_description']}" /></p>
					<p><label class="admshop">Qtde. pontos: </label><input type="text" name="points" size="5" maxlength="9" value="{$dados['points']}" /></p>
					
					<p class="border"><strong>Tipo da oferta</strong></p>
					<p><label class="admshop">Tipo: </label>{$dropdown}</p>

<div id="michael3" style="">
					<p class="border"><strong>Configuração de item normal, armor, shield, legs, etc</strong></p>
					<p><label class="admshop">ID Item 1: </label><input id="id1" type="text" name="itemid1" size="20" value="{$dados['itemid1']}" /></p>
					<p><label class="admshop">Qtde. Item 1: </label><input id="count1" type="text" name="count1" size="10" value="{$dados['count1']}" /></p>
					
					<p class="border"><strong>Configuração de item container, BP com Runas, BP com Small Stones, etc</strong></p>
					<p><label class="admshop">ID Item 2: </label><input id="count2" type="text" name="itemid2" size="10" value="{$dados['itemid2']}" /></p>
					<p><label class="admshop">Qtde. Item 2: </label><input type="text" name="count2" size="10" value="{$dados['count2']}" /></p>
</div>
					<p class="border"><br /></p>
					<input type="submit" value="Salvar" class="bt" />
				</form>
				<div class="clear"></div>
<script>


if(document.getElementById('selectid').value == "mount") {
document.getElementById('michael3').style.display = 'none';
document.getElementById('addon').style.display = 'none';
document.getElementById('mountdrop').style.display = 'block';
}
if(document.getElementById('selectid').value == "addon") {
document.getElementById('mountdrop').style.display = 'none';
document.getElementById('michael3').style.display = 'none';
document.getElementById('addon').style.display = 'block';
}
if(document.getElementById('selectid').value != "addon" && document.getElementById('selectid').value != "mount") {
document.getElementById('mountdrop').style.display = 'none';
document.getElementById('michael3').style.display = 'block';
document.getElementById('addon').style.display = 'none';
}

function changes() {
var mytextbox = document.getElementById('id1');
var mydropdown = document.getElementById('addons');
mytextbox.value = mydropdown.value;
}

function changesdrop() {
var mytextbox = document.getElementById('id1');
var mydropdown = document.getElementById('mountvalor');
mytextbox.value = mydropdown.value;
}

function changes() {
var mytextbox = document.getElementById('id1');
var mydropdown = document.getElementById('addons');
mytextbox.value = mydropdown.value;
}

function michael() {

if(document.getElementById('selectid').value == "mount") {
document.getElementById('michael3').style.display = 'none';
document.getElementById('addon').style.display = 'none';
document.getElementById('mountdrop').style.display = 'block';
}
if(document.getElementById('selectid').value == "addon") {
document.getElementById('mountdrop').style.display = 'none';
document.getElementById('michael3').style.display = 'none';
document.getElementById('addon').style.display = 'block';
}
if(document.getElementById('selectid').value != "addon" && document.getElementById('selectid').value != "mount") {
document.getElementById('mountdrop').style.display = 'none';
document.getElementById('michael3').style.display = 'block';
document.getElementById('addon').style.display = 'none';
}
}
</script>
			
			
			
			
			
					
EOD;
#/\ Deixe assim !!!
			break; //form de cadastro para nova oferta

		/******************************************************************************************/
		// Ação responsável por abrir a tela de pontos
		/******************************************************************************************/
		case 'points':
			$main_content .= $items_menu;
			$main_content .= <<<EOD
				<h1 class="admshop"><strong>Adicionar pontos à um Character <small><i>(Char)</i></small></strong></h1>
				<form method="post" action="?subtopic=shopadmin&action=points_add">
					<p class="border"><strong>Entre com o nome do Char</strong></p>
					<p><label class="admshop">Character <small><i>(Char)</i></small>: </label><input type="text" name="char_name" size="30" maxlength="50" /></p>

					<p class="border"><strong>Entre a quantidade de pontos</strong></p>
					<p><label class="admshop">Qtde. pontos: </label><input type="text" name="char_points" size="5" maxlength="9" /></p>

					<p class="border"><br /></p>
					<input type="submit" value="Salvar" class="bt" />
				</form>
				<div class="clear"></div>
EOD;
#/\ Deixe assim !!!
			break;
		case 'points_add':
			$player = stripslashes(ucwords(strtolower(trim($_POST['char_name']))));
			$points = is_numeric($_POST['char_points']) ? $_POST['char_points'] : 0;

			if(strlen($player) > 0){
				$data   = $SQL->query("SELECT * FROM `players` WHERE `name` = '".$player."';")->fetch();

				if($data['account_id']){
					$SQL->query("UPDATE `accounts` SET `premium_points` = `premium_points` + '".$points."' WHERE `id` = '".$data['account_id']."'");
					$main_content .= '<strong class="success">Pontos adicionados com sucesso à: <i>'.$player.'</i></strong><br /><br /><a href="?subtopic=shopadmin">Voltar</a>';
				}else{
					$main_content .= '<strong class="error">O character indicado não existe.</strong><br /><br /><a href="?subtopic=shopadmin&action=points">Voltar</a>';
				}

				
			}else{
				$main_content .= '<strong class="error">Preencha o nome do Character.</strong><br /><br /><a href="?subtopic=shopadmin&action=points">Voltar</a>';
			}			
			break;
		/******************************************************************************************/
		// Por padrão, essa ação é chamada e exibe somente
		// os botões para cada ação do sistema
		/******************************************************************************************/
		default: 
			$main_content .= <<<EOD
				<h1 class="admshop" align="center"><strong>Bem vindo ao Administrador do Shop!</strong></h1>
				<hr />
				<center>
					<button type="button" class="bt2" onclick="location.href='?subtopic=shopadmin&action=new'">Nova oferta</button>
					<button type="button" class="bt2" onclick="location.href='?subtopic=shopadmin&action=list'">Listar ofertas</button>
					<button type="button" class="bt2" onclick="location.href='?subtopic=shopadmin&action=points'">Adicionar pontos</button>
					<p>&nbsp;</p>
					<small><i>Sistema desenvolvido por Dezon e Mitsuig<br />© 2016</i></small>
				</center>
EOD;
#/\ Deixe assim !!!
			break;
	} 
	//Fim do sistema
	
}
else
{
	// Caso o usuário tente usar o administrador e esse,
	// não tiver acesso, será exibido na tela essa mensagem:
	$main_content .= 'Sorry, you have not the rights to access this page.';
}
?>

 

 

shopsystem.php completo:

 

<?php
if(!defined('INITIALIZED'))
exit;


if($config['site']['shop_system'])
{
if($logged)
{
$user_premium_points = $account_logged->getCustomField('premium_points');
}
else
{
$user_premium_points = 'Login first';
}
function getItemByID($id)
{
$id = (int) $id;
$SQL = $GLOBALS['SQL'];
$data = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_offer').' WHERE '.$SQL->fieldName('id').' = '.$SQL->quote($id).';')->fetch();
if($data['offer_type'] == 'item')
{
$offer['id'] = $data['id'];
$offer['type'] = $data['offer_type'];
$offer['item_id'] = $data['itemid1'];
$offer['item_count'] = $data['count1'];
$offer['points'] = $data['points'];
$offer['description'] = $data['offer_description'];
$offer['name'] = $data['offer_name'];
}
elseif($data['offer_type'] == 'knight')
{
$offer['id'] = $data['id'];
$offer['type'] = $data['offer_type'];
$offer['item_id'] = $data['itemid1'];
$offer['item_count'] = $data['count1'];
$offer['points'] = $data['points'];
$offer['description'] = $data['offer_description'];
$offer['name'] = $data['offer_name'];
}
elseif($data['offer_type'] == 'mount')
{
$offer['id'] = $data['id'];
$offer['type'] = $data['offer_type'];
$offer['item_id'] = $data['itemid1'];
$offer['item_count'] = $data['count1'];
$offer['points'] = $data['points'];
$offer['description'] = $data['offer_description'];
$offer['name'] = $data['offer_name'];
}
elseif($data['offer_type'] == 'addon')
{
$offer['id'] = $data['id'];
$offer['type'] = $data['offer_type'];
$offer['item_id'] = $data['itemid1'];
$offer['item_count'] = $data['count1'];
$offer['points'] = $data['points'];
$offer['description'] = $data['offer_description'];
$offer['name'] = $data['offer_name'];
}
elseif($data['offer_type'] == 'premmium')
{
$offer['id'] = $data['id'];
$offer['type'] = $data['offer_type'];
$offer['item_id'] = $data['itemid1'];
$offer['item_count'] = $data['count1'];
$offer['points'] = $data['points'];
$offer['description'] = $data['offer_description'];
$offer['name'] = $data['offer_name'];
}
return $offer;
}


function getOfferArray()
{
$offer_list = $GLOBALS['SQL']->query('SELECT * FROM '.$GLOBALS['SQL']->tableName('z_shop_offer').';');
$i_item = 0;
$i_knight = 0;
$i_mount = 0;
$i_addon = 0;
$i_container = 0;
while($data = $offer_list->fetch())
{
if($data['offer_type'] == 'item')
{
$offer_array['item'][$i_item]['id'] = $data['id'];
$offer_array['item'][$i_item]['item_id'] = $data['itemid1'];
$offer_array['item'][$i_item]['item_count'] = $data['count1'];
$offer_array['item'][$i_item]['points'] = $data['points'];
$offer_array['item'][$i_item]['description'] = $data['offer_description'];
$offer_array['item'][$i_item]['name'] = $data['offer_name'];
$i_item++;
}
if($data['offer_type'] == 'knight')
{
$offer_array['knight'][$i_item]['id'] = $data['id'];
$offer_array['knight'][$i_item]['item_id'] = $data['itemid1'];
$offer_array['knight'][$i_item]['item_count'] = $data['count1'];
$offer_array['knight'][$i_item]['points'] = $data['points'];
$offer_array['knight'][$i_item]['description'] = $data['offer_description'];
$offer_array['knight'][$i_item]['name'] = $data['offer_name'];
$i_knight++;
}
elseif($data['offer_type'] == 'mount')
{
$offer_array['mount'][$i_mount]['id'] = $data['id'];
$offer_array['mount'][$i_mount]['container_id'] = $data['itemid1'];
$offer_array['mount'][$i_mount]['container_count'] = $data['count1'];
$offer_array['mount'][$i_mount]['item_id'] = $data['itemid1'];
$offer_array['mount'][$i_mount]['item_count'] = $data['count2'];
$offer_array['mount'][$i_mount]['points'] = $data['points'];
$offer_array['mount'][$i_mount]['description'] = $data['offer_description'];
$offer_array['mount'][$i_mount]['name'] = $data['offer_name'];
$i_mount++;
}
elseif($data['offer_type'] == 'addon')
{
$offer_array['addon'][$i_addon]['id'] = $data['id'];
$offer_array['addon'][$i_addon]['container_id'] = $data['itemid1'];
$offer_array['addon'][$i_addon]['container_count'] = $data['count1'];
$offer_array['addon'][$i_addon]['item_id'] = $data['itemid1'];
$offer_array['addon'][$i_addon]['item_count'] = $data['count2'];
$offer_array['addon'][$i_addon]['points'] = $data['points'];
$offer_array['addon'][$i_addon]['description'] = $data['offer_description'];
$offer_array['addon'][$i_addon]['name'] = $data['offer_name'];
$i_addon++;
}
elseif($data['offer_type'] == 'container')
{
$offer_array['container'][$i_container]['id'] = $data['id'];
$offer_array['container'][$i_container]['container_id'] = $data['itemid1'];
$offer_array['container'][$i_container]['container_count'] = $data['count1'];
$offer_array['container'][$i_container]['item_id'] = $data['itemid2'];
$offer_array['container'][$i_container]['item_count'] = $data['count2'];
$offer_array['container'][$i_container]['points'] = $data['points'];
$offer_array['container'][$i_container]['description'] = $data['offer_description'];
$offer_array['container'][$i_container]['name'] = $data['offer_name'];
$i_container++;
}
}
return $offer_array;
}
if(($action == '') or ($action == 'item') or ($action == 'knight') or ($action == 'mount') or ($action == 'addon') or ($action == 'container'))
{
unset($_SESSION['viewed_confirmation_page']);
$offer_list = getOfferArray();


if(empty($action))
{
if(count($offer_list['item']) > 0)
$action = 'item';
if(count($offer_list['knight']) > 0)
$action = 'knight';
elseif(count($offer_list['mount']) > 0)
$action = 'mount';
elseif(count($offer_list['addon']) > 0)
$action = 'addon';
elseif(count($offer_list['container']) > 0)
$action = 'container';
}


function selectcolor($value)
{
if($GLOBALS['action'] == $value)
return '#505050; color: #FFFFFF';
else
return '#303030; color: #aaaaaa';
}


if((count($offer_list['item']) > 0) or (count($offer_list['mount']) > 0) or (count($offer_list['addon']) > 0) or (count($offer_list['container']) > 0) or (count($offer_list['knight']) > 0))
{
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=4><TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white colspan="2"><B>Choose a categorie: </B>';
if(count($offer_list['container']) > 0) $main_content .= '<a href="?subtopic=shopsystem&action=container" style="padding: 5px 5px 7px 5px; margin: 5px 1px 0px 1px; background-color: '.selectcolor('container').';">Premium Account<img src="images/items/7.gif"/></a>';
if(count($offer_list['item']) > 0) $main_content .= '<a href="?subtopic=shopsystem&action=item" style="padding: 5px 5px 7px 5px; margin: 5px 1px 0px 1px; background-color: '.selectcolor('item').';">Items<img src="images/items/2160.gif"/></a>';
if(count($offer_list['knight']) > 0) $main_content .= '<a href="?subtopic=shopsystem&action=knight" style="padding: 5px 5px 7px 5px; margin: 5px 1px 0px 1px; background-color: '.selectcolor('knight').';">Knight<img src="images/items/knight13.gif"/></a>';
if(count($offer_list['mount']) > 0) $main_content .= '<a href="?subtopic=shopsystem&action=mount" style="padding: 5px 5px 7px 5px; margin: 5px 1px 0px 1px; background-color: '.selectcolor('mount').';">Mounts<img src="images/mount.gif"/></a>';
if(count($offer_list['addon']) > 0) $main_content .= '<a href="?subtopic=shopsystem&action=addon" style="padding: 5px 5px 7px 5px; margin: 5px 1px 0px 1px; background-color: '.selectcolor('addon').';">Addons<img src="images/addon.gif"/></a>';
$main_content .= '</TD></TR></TD></TR></table><table BORDER=0 CELLPaDDING="4" CELLSPaCING="1" style="width:100%;font-weight:bold;text-align:center;"><tr style="background:#505050;"><td colspan="3" style="height:px;"></td></tr></table>';
}


//show list of items offers
if((count($offer_list['item']) > 0) and ($action == 'item'))
{
$main_content .= '<table border="0" cellpadding="4" cellspacing="1" width="100%"><tr bgcolor="'.$config['site']['vdarkborder'].'"><td width="8%" align="center" class="white"><b>Points</b></td><td width="9%" align="center" class="white"><b>Picture</b></td><td width="350" align="left" class="white"><b>Description</b></td><td width="250" align="center" class="white"><b>Select product</b></td></tr>';
foreach($offer_list['item'] as $item)
{
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td align="center"><b>'.$item['points'].'</b></td><td align="center"><img src="' . $config['site']['item_images_url'] . $item['item_id'] . $config['site']['item_images_extension'] . '"></td><td><b>'.htmlspecialchars($item['name']).'</b> ('.$item['points'].' points)<br />'.htmlspecialchars($item['description']).'</td><td align="center">';
if(!$logged)
{
$main_content .= '<b>Login to buy</b>';
}
else
{
$main_content .= '<form action="?subtopic=shopsystem&action=select_player" method="POST" name="itemform_'.$item['id'].'"><input type="hidden" name="buy_id" value="'.$item['id'].'"><div class="navibutton"><a href="" onClick="itemform_'.$item['id'].'.submit();return false;">BUY</a></div></form>';
}
$main_content .= '</td></tr>';
}
$main_content .= '</table>';
}
//show list of knight offers
if((count($offer_list['knight']) > 0) and ($action == 'knight'))
{
$main_content .= '<table border="0" cellpadding="4" cellspacing="1" width="100%"><tr bgcolor="'.$config['site']['vdarkborder'].'"><td width="8%" align="center" class="white"><b>Points</b></td><td width="9%" align="center" class="white"><b>Picture</b></td><td width="350" align="left" class="white"><b>Description</b></td><td width="250" align="center" class="white"><b>Select product</b></td></tr>';
foreach($offer_list['knight'] as $knight)
{
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td align="center"><b>'.$knight['points'].'</b></td><td align="center"><img src="' . $config['site']['knight_images_url'] . $knight['knight_id'] . $config['site']['knight_images_extension'] . '"></td><td><b>'.htmlspecialchars($knight['name']).'</b> ('.$knight['points'].' points)<br />'.htmlspecialchars($knight['description']).'</td><td align="center">';
if(!$logged)
{
$main_content .= '<b>Login to buy</b>';
}
else
{
$main_content .= '<form action="?subtopic=shopsystem&action=select_player" method="POST" name="knightform_'.$knight['id'].'"><input type="hidden" name="buy_id" value="'.$knight['id'].'"><div class="navibutton"><a href="" onClick="knightform_'.$knight['id'].'.submit();return false;">BUY</a></div></form>';
}
$main_content .= '</td></tr>';
}
$main_content .= '</table>';
}
//show list of mount offers
if((count($offer_list['mount']) > 0) and ($action == 'mount'))
{
$main_content .= '<table border="0" cellpadding="4" cellspacing="1" width="100%"><tr bgcolor="'.$config['site']['vdarkborder'].'"><td width="8%" align="center" class="white"><b>Points</b></td><td width="9%" align="center" class="white"><b>Picture</b></td><td width="350" align="left" class="white"><b>Description</b></td><td width="250" align="center" class="white"><b>Select product</b></td></tr>';
foreach($offer_list['mount'] as $mount)
{
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td align="center"><b>'.$mount['points'].'</b></td><td align="center"><img src="' . $config['site']['mounts_images_url'] . $mount['id'] . $config['site']['item_images_extension'] . '"></td><td><b>'.htmlspecialchars($mount['name']).'</b> ('.$mount['points'].' points)<br />'.htmlspecialchars($mount['description']).'</td><td align="center">';
if(!$logged)
{
$main_content .= '<b>Login to buy</b>';
}
else
{
$main_content .= '<form action="?subtopic=shopsystem&action=select_player" method="POST" name="itemform_'.$mount['id'].'"><input type="hidden" name="buy_id" value="'.$mount['id'].'"><div class="navibutton"><a href="" onClick="itemform_'.$mount['id'].'.submit();return false;">BUY</a></div></form>';
}
$main_content .= '</td></tr>';
}
$main_content .= '</table>';
}
//show list of addon offers
if((count($offer_list['addon']) > 0) and ($action == 'addon'))
{
$main_content .= '<table border="0" cellpadding="4" cellspacing="1" width="100%"><tr bgcolor="'.$config['site']['vdarkborder'].'"><td width="8%" align="center" class="white"><b>Points</b></td><td width="9%" align="center" class="white"><b>Picture</b></td><td width="350" align="left" class="white"><b>Description</b></td><td width="250" align="center" class="white"><b>Select product</b></td></tr>';
foreach($offer_list['addon'] as $addon)
{
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td align="center"><b>'.$addon['points'].'</b></td><td align="center"><img src="' . $config['site']['addons_images_url'] . $addon['id'] . $config['site']['item_images_extension'] . '"></td><td><b>'.htmlspecialchars($addon['name']).'</b> ('.$addon['points'].' points)<br />'.htmlspecialchars($addon['description']).'</td><td align="center">';
if(!$logged)
{
$main_content .= '<b>Login to buy</b>';
}
else
{
$main_content .= '<form action="?subtopic=shopsystem&action=select_player" method="POST" name="itemform_'.$addon['id'].'"><input type="hidden" name="buy_id" value="'.$addon['id'].'"><div class="navibutton"><a href="" onClick="itemform_'.$addon['id'].'.submit();return false;">BUY</a></div></form>';
}
$main_content .= '</td></tr>';
}
$main_content .= '</table>';
}
//show list of containers offers
if((count($offer_list['container']) > 0) and ($action == 'container'))
{
if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++;
$main_content .= '<table border="0" cellpadding="4" cellspacing="1" width="100%"><tr bgcolor="'.$config['site']['vdarkborder'].'"><td width="8%" align="center" class="white"><b>Points</b></td><td width="9%" align="center" class="white"><b>Picture</b></td><td width="350" align="left" class="white"><b>Description</b></td><td width="250" align="center" class="white"><b>Select product</b></td></tr>';
foreach($offer_list['container'] as $container)
{
$main_content .= '<tr bgcolor="'.$bgcolor.'"><td align="center"><b>'.$container['points'].'</b></td><td align="center"><img src="' . $config['site']['item_images_url'] . $container['item_id'] . $config['site']['item_images_extension'] . '"></td><td><b>'.htmlspecialchars($container['name']).'</b> ('.$container['points'].' points)<br />'.htmlspecialchars($container['description']).'</td><td align="center">';
if(!$logged)
{
$main_content .= '<b>Login to buy</b>';
}
else
{
$main_content .= '<form action="?subtopic=shopsystem&action=select_player" method="POST" name="contform_'.$container['id'].'"><input type="hidden" name="buy_id" value="'.$container['id'].'"><div class="navibutton"><a href="" onClick="contform_'.$container['id'].'.submit();return false;">BUY</a></div></form>';
}
$main_content .= '</td></tr>';
}
$main_content .= '</table>';
}
//Finish container
if((count($offer_list['item']) > 0) or (count($offer_list['mount']) > 0) or (count($offer_list['addon']) > 0) or (count($offer_list['container']) > 0) or (count($offer_list['knight']) > 0))
{
$main_content .= '<table BORDER=0 CELLPaDDING="4" CELLSPaCING="1" style="width:100%;font-weight:bold;text-align:center;">
<tr style="background:#505050;">
<td colspan="3" style="height:px;"></td>
</tr>
</table>';
}
}
if($action == 'select_player')
{
unset($_SESSION['viewed_confirmation_page']);
if(!$logged) {
$errormessage .= 'Please login first.';
}
else
{
$buy_id = (int) $_REQUEST['buy_id'];
if(empty($buy_id))
{
$errormessage .= 'Please <a href="?subtopic=shopsystem">select item</a> first.';
}
else
{
$buy_offer = getItemByID($buy_id);
if(isset($buy_offer['id'])) //item exist in database
{
if($user_premium_points >= $buy_offer['points'])
{
$main_content .= '<table border="0" cellpadding="4" cellspacing="1" width="100%">
<tr bgcolor="'.$config['site']['vdarkborder'].'"><td colspan="2" class="white"><b>Selected Offer</b></td></tr>
<tr bgcolor="'.$config['site']['lightborder'].'"><td width="100"><b>Name:</b></td><td width="550">'.htmlspecialchars($buy_offer['name']).'</td></tr>
<tr bgcolor="'.$config['site']['darkborder'].'"><td width="100"><b>Description:</b></td><td width="550">'.htmlspecialchars($buy_offer['description']).'</td></tr>
</table><br />
<form action="?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_id" value="'.$buy_id.'">
<table border="0" cellpadding="4" cellspacing="1" width="100%">
<tr bgcolor="'.$config['site']['vdarkborder'].'"><td colspan="2" class="white"><b>Give item to player from your account</b></td></tr>
<tr bgcolor="'.$config['site']['lightborder'].'"><td width="110"><b>Name:</b></td><td width="550"><select name="buy_name">';
$players_from_logged_acc = $account_logged->getPlayersList();
if(count($players_from_logged_acc) > 0)
{
foreach($players_from_logged_acc as $player)
{
$main_content .= '<option>'.htmlspecialchars($player->getName()).'</option>';
}
}
else
{
$main_content .= 'You don\'t have any character on your account.';
}
$main_content .= '</select>&nbsp;<input type="submit" value="Give"></td></tr>
</table>
</form><br /><form action="?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_id" value="'.$buy_id.'">
<table border="0" cellpadding="4" cellspacing="1" width="100%">
<tr bgcolor="'.$config['site']['vdarkborder'].'"><td colspan="2" class="white"><b>Give item to other player</b></td></tr>
<tr bgcolor="'.$config['site']['lightborder'].'"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of player</td></tr>
<tr bgcolor="'.$config['site']['darkborder'].'"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from">&nbsp;<input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr>
</table><br />
</form>';


}
else
{
$errormessage .= 'For this item you need <b>'.$buy_offer['points'].'</b> points. You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="?subtopic=shopsystem">select other item</a> or buy premium points.';
}
}
else
{
$errormessage .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="?subtopic=shopsystem">select item</a> again.';
}
}
}
if(!empty($errormessage))
{
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>Informations</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b>'.$errormessage.'</b></TD></TR>
</table>';
}
}
elseif($action == 'confirm_transaction')
{
if(!$logged)
{
$errormessage .= 'Please login first.';
}
else
{
$buy_id = (int) $_POST['buy_id'];
$buy_name = trim($_POST['buy_name']);
$buy_from = trim($_POST['buy_from']);
if(empty($buy_from))
{
$buy_from = 'Anonymous';
}
if(empty($buy_id))
{
$errormessage .= 'Please <a href="?subtopic=shopsystem">select item</a> first.';
}
else
{
if(!check_name($buy_from))
{
$errormessage .= 'Invalid nick ("from player") format. Please <a href="?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a> or contact with administrator.';
}
else
{
$buy_offer = getItemByID($buy_id);
if(isset($buy_offer['id'])) //item exist in database
{
if($user_premium_points >= $buy_offer['points'])
{
if(check_name($buy_name))
{
$buy_player = new Player();
$buy_player->find($buy_name);
if($buy_player->isLoaded())
{
$buy_player_account = $buy_player->getAccount();
if($_SESSION['viewed_confirmation_page'] == 'yes' && $_POST['buy_confirmed'] == 'yes')
{


if($buy_offer['type'] == 'item')
{
$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' ('.$SQL->fieldName('id').','.$SQL->fieldName('name').','.$SQL->fieldName('type').','.$SQL->fieldName('action').','.$SQL->fieldName('param1').','.$SQL->fieldName('param2').','.$SQL->fieldName('param3').','.$SQL->fieldName('param4').','.$SQL->fieldName('param5').','.$SQL->fieldName('param6').','.$SQL->fieldName('param7').','.$SQL->fieldName('delete_it').') VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote('login').', '.$SQL->quote('give_item').', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote('').', '.$SQL->quote('').', '.$SQL->quote('item').', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote(1).');';
$SQL->query($sql);
$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' ('.$SQL->fieldName('id').','.$SQL->fieldName('to_name').','.$SQL->fieldName('to_account').','.$SQL->fieldName('from_nick').','.$SQL->fieldName('from_account').','.$SQL->fieldName('price').','.$SQL->fieldName('offer_id').','.$SQL->fieldName('trans_state').','.$SQL->fieldName('trans_start').','.$SQL->fieldName('trans_real').') VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).',  '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote('wait').', '.$SQL->quote(time()).', '.$SQL->quote(0).');';
$SQL->query($save_transaction);
$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
$user_premium_points = $user_premium_points - $buy_offer['points'];
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>Item added!</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b>'.htmlspecialchars($buy_offer['name']).'</b> added to player <b>'.htmlspecialchars($buy_player->getName()).'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="?subtopic=shopsystem">GO TO MAIN SHOP SITE</a></TD></TR>
</table>';
}


if($buy_offer['type'] == 'knight')
{
$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' ('.$SQL->fieldName('id').','.$SQL->fieldName('name').','.$SQL->fieldName('type').','.$SQL->fieldName('action').','.$SQL->fieldName('param1').','.$SQL->fieldName('param2').','.$SQL->fieldName('param3').','.$SQL->fieldName('param4').','.$SQL->fieldName('param5').','.$SQL->fieldName('param6').','.$SQL->fieldName('param7').','.$SQL->fieldName('delete_it').') VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote('login').', '.$SQL->quote('give_item').', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote('').', '.$SQL->quote('').', '.$SQL->quote('item').', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote(1).');';
$SQL->query($sql);
$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' ('.$SQL->fieldName('id').','.$SQL->fieldName('to_name').','.$SQL->fieldName('to_account').','.$SQL->fieldName('from_nick').','.$SQL->fieldName('from_account').','.$SQL->fieldName('price').','.$SQL->fieldName('offer_id').','.$SQL->fieldName('trans_state').','.$SQL->fieldName('trans_start').','.$SQL->fieldName('trans_real').') VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).',  '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote('wait').', '.$SQL->quote(time()).', '.$SQL->quote(0).');';
$SQL->query($save_transaction);
$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
$user_premium_points = $user_premium_points - $buy_offer['points'];
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>Item added!</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b>'.htmlspecialchars($buy_offer['name']).'</b> added to player <b>'.htmlspecialchars($buy_player->getName()).'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="?subtopic=shopsystem">GO TO MAIN SHOP SITE</a></TD></TR>
</table>';
}


elseif($buy_offer['type'] == 'mount') 
{
$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' ('.$SQL->fieldName('id').','.$SQL->fieldName('name').','.$SQL->fieldName('type').','.$SQL->fieldName('action').','.$SQL->fieldName('param1').','.$SQL->fieldName('param2').','.$SQL->fieldName('param3').','.$SQL->fieldName('param4').','.$SQL->fieldName('param5').','.$SQL->fieldName('param6').','.$SQL->fieldName('param7').','.$SQL->fieldName('delete_it').') VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote('login').', '.$SQL->quote('give_item').', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote('').', '.$SQL->quote('').', '.$SQL->quote('mount').', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote(1).');';
$SQL->query($sql);
$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' ('.$SQL->fieldName('id').','.$SQL->fieldName('to_name').','.$SQL->fieldName('to_account').','.$SQL->fieldName('from_nick').','.$SQL->fieldName('from_account').','.$SQL->fieldName('price').','.$SQL->fieldName('offer_id').','.$SQL->fieldName('trans_state').','.$SQL->fieldName('trans_start').','.$SQL->fieldName('trans_real').') VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).',  '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote('wait').', '.$SQL->quote(time()).', '.$SQL->quote(0).');';
$SQL->query($save_transaction);
$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
$user_premium_points = $user_premium_points - $buy_offer['points'];
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>Item added!</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b>'.htmlspecialchars($buy_offer['name']).'</b> added to player <b>'.htmlspecialchars($buy_player->getName()).'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="?subtopic=shopsystem">GO TO MAIN SHOP SITE</a></TD></TR>
</table>';
}

elseif($buy_offer['type'] == 'addon') {
	
	
$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' ('.$SQL->fieldName('id').','.$SQL->fieldName('name').','.$SQL->fieldName('type').','.$SQL->fieldName('action').','.$SQL->fieldName('param1').','.$SQL->fieldName('param2').','.$SQL->fieldName('param3').','.$SQL->fieldName('param4').','.$SQL->fieldName('param5').','.$SQL->fieldName('param6').','.$SQL->fieldName('param7').','.$SQL->fieldName('delete_it').') VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote('login').', '.$SQL->quote('give_item').', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote('').', '.$SQL->quote('').', '.$SQL->quote('addons').', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote(1).');';
$SQL->query($sql);
$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' ('.$SQL->fieldName('id').','.$SQL->fieldName('to_name').','.$SQL->fieldName('to_account').','.$SQL->fieldName('from_nick').','.$SQL->fieldName('from_account').','.$SQL->fieldName('price').','.$SQL->fieldName('offer_id').','.$SQL->fieldName('trans_state').','.$SQL->fieldName('trans_start').','.$SQL->fieldName('trans_real').') VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).',  '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote('wait').', '.$SQL->quote(time()).', '.$SQL->quote(0).');';
$SQL->query($save_transaction);
$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
$user_premium_points = $user_premium_points - $buy_offer['points'];
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>Item added!</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b>'.htmlspecialchars($buy_offer['name']).'</b> added to player <b>'.htmlspecialchars($buy_player->getName()).'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="?subtopic=shopsystem">GO TO MAIN SHOP SITE</a></TD></TR>
</table>';




}  elseif($buy_offer['type'] == 'container')
{
$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' ('.$SQL->fieldName('id').','.$SQL->fieldName('name').','.$SQL->fieldName('type').','.$SQL->fieldName('action').','.$SQL->fieldName('param1').','.$SQL->fieldName('param2').','.$SQL->fieldName('param3').','.$SQL->fieldName('param4').','.$SQL->fieldName('param5').','.$SQL->fieldName('param6').','.$SQL->fieldName('param7').','.$SQL->fieldName('delete_it').') VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote('login').', '.$SQL->quote('give_item').', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote($buy_offer['container_id']).', '.$SQL->quote($buy_offer['container_count']).', '.$SQL->quote('container').', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote($buy_offer['id']).', '.$SQL->quote(1).');';
$SQL->query($sql);
$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' ('.$SQL->fieldName('id').','.$SQL->fieldName('to_name').','.$SQL->fieldName('to_account').','.$SQL->fieldName('from_nick').','.$SQL->fieldName('from_account').','.$SQL->fieldName('price').','.$SQL->fieldName('offer_id').','.$SQL->fieldName('trans_state').','.$SQL->fieldName('trans_start').','.$SQL->fieldName('trans_real').') VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).',  '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', '.$SQL->quote('wait').', '.$SQL->quote(time()).', '.$SQL->quote(0).');';
$SQL->query($save_transaction);
$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
$user_premium_points = $user_premium_points - $buy_offer['points'];
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>Container of items added!</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b>'.htmlspecialchars($buy_offer['name']).'</b> added to player <b>'.htmlspecialchars($buy_player->getName()).'</b> items (he will get this container with items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="?subtopic=shopsystem">GO TO MAIN SHOP SITE</a></TD></TR>
</table>';
}
}
else
{
$set_session = TRUE;
$_SESSION['viewed_confirmation_page'] = 'yes';
$main_content .= '<table border="0" cellpadding="4" cellspacing="1" width="100%">
<tr bgcolor="'.$config['site']['vdarkborder'].'"><td colspan="3" class="white"><b>Confirm Transaction</b></td></tr>
<tr bgcolor="'.$config['site']['lightborder'].'"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'. htmlspecialchars($buy_offer['name']).'</td></tr>
<tr bgcolor="'.$config['site']['darkborder'].'"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'. htmlspecialchars($buy_offer['description']).'</td></tr>
<tr bgcolor="'.$config['site']['lightborder'].'"><td width="100"><b>Cost:</b></td><td width="550" colspan="2"><b>'. htmlspecialchars($buy_offer['points']).' premium points</b> from your account</td></tr>
<tr bgcolor="'.$config['site']['darkborder'].'"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="red">'.htmlspecialchars($buy_player->getName()).'</font></td></tr>
<tr bgcolor="'.$config['site']['lightborder'].'"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="red">'.htmlspecialchars($buy_from).'</font></td></tr>
<tr bgcolor="'.$config['site']['darkborder'].'"><td colspan="3"></td></tr>
<tr bgcolor="'.$config['site']['darkborder'].'"><td width="100"><b>Transaction?</b></td><td width="275" align="left">
<form action="?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_confirmed" value="yes"><input type="hidden" name="buy_id" value="'.$buy_id.'"><input type="hidden" name="buy_from" value="'.htmlspecialchars($buy_from).'"><input type="hidden" name="buy_name" value="'.htmlspecialchars($buy_name).'"><input type="submit" value="Accept"></form></td>
<td align="right"><form action="?subtopic=shopsystem" method="POST"><input type="submit" value="Cancel"></form></td></tr>
<tr bgcolor="'.$config['site']['darkborder'].'"><td colspan="3"></td></tr>
</table> 
';
}
}
else
{
$errormessage .= 'Player with name <b>'.htmlspecialchars($buy_name).'</b> doesn\'t exist. Please <a href="?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a>.';
}
}
else
{
$errormessage .= 'Invalid name format. Please <a href="?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a> or contact with administrator.';
}
}
else
{
$errormessage .= 'For this item you need <b>'.$buy_offer['points'].'</b> points. You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="?subtopic=shopsystem">select other item</a> or buy premium points.';
}
}
else
{
$errormessage .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="?subtopic=shopsystem">select item</a> again.';
}
}
}
}
if(!empty($errormessage))
{
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>Informations</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b>'.$errormessage.'</b></TD></TR>
</table>';
}
if(!$set_session)
{
unset($_SESSION['viewed_confirmation_page']);
}
}
elseif($action == 'show_history')
{
if(!$logged)
{
$errormessage .= 'Please login first.';
}
else
{
$items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');
if(is_object($items_history_received))
{
foreach($items_history_received as $item_received)
{
if($account_logged->getId() == $item_received['to_account'])
$char_color = 'green';
else
$char_color = 'red';
$items_received_text .= '<tr bgcolor="'.$config['site']['lightborder'].'"><td><font color="'.$char_color.'">'.htmlspecialchars($item_received['to_name']).'</font></td><td>';
if($account_logged->getId() == $item_received['from_account'])
$items_received_text .= '<i>Your account</i>';
else
$items_received_text .= htmlspecialchars($item_received['from_nick']);
$items_received_text .= '</td><td>'.htmlspecialchars($item_received['offer_id']).'</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>';
if($item_received['trans_real'] > 0)
$items_received_text .= '<td>'.date("j F Y, H:i:s", $item_received['trans_real']).'</td>';
else
$items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>';
$items_received_text .= '</tr>';
}
}
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'"></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><center><B>Transactions History</B></center></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'"></TD></TR>
</table><br>';


if(!empty($items_received_text))
{
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white colspan="5"><B>Item Transactions</B></TD></TR>
<tr bgcolor="'.$config['site']['darkborder'].'"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Bought on page</b></td><td><b>Received on OTS</b></td></tr>
'.$items_received_text.'
</table><br />';
}
if(empty($items_received_text))
$errormessage .= 'You did not buy/receive any item.';
}
if(!empty($errormessage))
{
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>Informations</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b>'.$errormessage.'</b></TD></TR>
</table>';
}
}
$main_content .= '<br><TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=left CLASS=white><B>Premium Points</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['lightborder'].'" ALIGN=left><b><font color="green">You have premium points: </font></b>'.$user_premium_points.'</TD></TR>
</table>';
}
else
$main_content .= '<TABLE WIDTH=100% BORDER=0 CELLSPACING=1 CELLPADDING=4>
<TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" ALIGN=center CLASS=white ><B>Shop Information</B></TD></TR>
<TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><center>Shop is currently closed. [to admin: edit it in \'config/config.php\']</TD></TR>
</table>';

 

 

shop.lua

-- ### CONFIG ###
-- message send to player by script "type" (types you can check in "global.lua")
SHOP_MSG_TYPE = 18
-- time (in seconds) between connections to SQL database by shop script
SQL_interval = 30
-- ### END OF CONFIG ###
function onThink(interval, lastExecution)
    local result_plr = db.storeQuery("SELECT * FROM z_ots_comunication")
    if(result_plr ~= false) then
        repeat
            local id = tonumber(result.getDataInt(result_plr, "id"))
            local action = tostring(result.getDataString(result_plr, "action"))
            local delete = tonumber(result.getDataInt(result_plr, "delete_it"))
            local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name")))
            if(cid) then
                local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1"))
                local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2"))
                local container_id = tonumber(result.getDataInt(result_plr, "param3"))
                local container_count = tonumber(result.getDataInt(result_plr, "param4"))
                local add_item_type = tostring(result.getDataString(result_plr, "param5"))
                local add_item_name = tostring(result.getDataString(result_plr, "param6"))
				local adddonn = tostring(result.getDataString(result_plr, "param7"))
                local received_item = 0
                local full_weight = 0
				
				-- Script para addons e montaria full pelo Gesior -- 
				if(add_item_type == 'mount') then
				local player = Player(cid)
				if (getPlayerStorageValue(cid,1) == -1) then
				player:addMount(itemtogive_id)				
				doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE)
				doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from the shop.')
				db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
                db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
				else
				doPlayerSendTextMessage(cid,25,"You Already have this Mount.")
				end
				return TRUE
				
				end				
				-- fim do script --
				-- Script para addons e montaria full pelo Gesior -- 
				if(add_item_type == 'addons') then
				local player = Player(cid)
				if (getPlayerStorageValue(cid,adddonn) == -1) then
				
				
				
				   
    local outfits =
    {
        --[outfit] = {id_female, id_male}
        ["1"] = {136, 128},
        ["2"] = {137, 129},
        ["3"] = {138, 130},
        ["4"] = {139, 131},
        ["5"] = {140, 132},
        ["6"] = {141, 133},
        ["7"] = {142, 134},
        ["8"] = {147, 143},
        ["9"] = {148, 144},
        ["10"] = {149, 145},
        ["11"] = {150, 146},
        ["12"] = {155, 151},
        ["13"] = {156, 152},
        ["14"] = {157, 153},
        ["15"] = {158, 154},
        ["16"] = {252, 251},
        ["17"] = {269, 268},
        ["18"] = {270, 273},
        ["19"] = {279, 278},
        ["20"] = {288, 289},
        ["21"] = {324, 325},
        ["22"] = {336, 335},
        ["23"] = {366, 367},
        ["24"] = {431, 430},
        ["25"] = {433, 432},
        ["26"] = {464, 463},
        ["27"] = {466, 465},
        ["28"] = {471, 472},
        ["29"] = {513, 512},
        ["30"] = {514, 516},
        ["31"] = {542, 541},
        ["32"] = {575, 574},
        ["33"] = {578, 577},
        ["34"] = {618, 610},
        ["35"] = {632, 633},
        ["36"] = {635, 634},
        ["37"] = {637, 636},
        ["38"] = {664, 665},
        ["39"] = {667, 666},
        ["40"] = {683, 684},
        ["41"] = {694, 695},
        ["42"] = {696, 697},
        ["43"] = {698, 699},
        ["44"] = {724, 725},
        ["45"] = {732, 733},
        ["46"] = {745, 746},
        ["47"] = {749, 750},
        ["48"] = {759, 760},
        ["49"] = {845, 846},
        ["50"] = {852, 853},
        ["51"] = {874, 873}
    }
           
    local param = string.lower(itemtogive_id)
	
            if (not player:hasOutfit(outfits[param][1], 3) or not player:hasOutfit(outfits[param][1], 2)) then
                player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS)
                player:removeItem(addondoll_id, 1)
                player:addOutfitAddon(outfits[param][1], 3)
                player:addOutfitAddon(outfits[param][2], 3)
                player:sendTextMessage(MESSAGE_INFO_DESCR, "Seu Addon full foi adicionado!")
            else
                player:sendTextMessage(MESSAGE_INFO_DESCR, "ja tem esse addon!")
            end
    
		
		
		
		
		
				doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from The fullprojectibia Shop.')
				db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
                db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
				else
				doPlayerSendTextMessage(cid,25,"You Already have this Outfit.")
				end
				return TRUE
				end				
				-- fim do script --
				
				
				
                if(add_item_type == 'container') then
                    container_weight = getItemWeight(container_id, 1)
                    if(isItemRune(itemtogive_id)) then
                        items_weight = container_count * getItemWeight(itemtogive_id, 1)
                    else
                        items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count)
                    end
                    full_weight = items_weight + container_weight
                else
                    full_weight = getItemWeight(itemtogive_id, itemtogive_count)
                    if(isItemRune(itemtogive_id)) then
                        full_weight = getItemWeight(itemtogive_id, 1)
                    else
                        full_weight = getItemWeight(itemtogive_id, itemtogive_count)
                    end
                end
                local free_cap = getPlayerFreeCap(cid)
                if(full_weight <= free_cap) then
                    if(add_item_type == 'container') then
                        local new_container = doCreateItemEx(container_id, 1)
                        local iter = 0
                        while(iter ~= container_count) do
                            doAddContainerItem(new_container, itemtogive_id, itemtogive_count)
                            iter = iter + 1
                        end
                        received_item = doPlayerAddItemEx(cid, new_container)
                    else
                        local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
                        received_item = doPlayerAddItemEx(cid, new_item)
		
                    end
                    if(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from The fullprojectibia Shop.')
                        db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
                        db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
                    else
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' from Th3 Insanity is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.')
                    end
                else
                    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' Th3 Insanity is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.')
                end
            end
        until not result.next(result_plr)
        result.free(result_plr)
    end
    return true
end

 

 

outfits.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<outfits>
	<!-- Female outfits -->
	<outfit type="0" looktype="136" name="Citizen" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="137" name="Hunter" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="138" name="Mage" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="139" name="Knight" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="140" name="Noblewoman" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="141" name="Summoner" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="142" name="Warrior" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="147" name="Barbarian" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="148" name="Druid" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="149" name="Wizard" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="150" name="Oriental" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="155" name="Pirate" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="156" name="Assassin" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="157" name="Beggar" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="158" name="Shaman" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="252" name="Norsewoman" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="269" name="Nightmare" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="270" name="Jester" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="279" name="Brotherhood" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="288" name="Demonhunter" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="324" name="Yalaharian" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="329" name="Wife" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="336" name="Warmaster" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="366" name="Wayfarer" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="431" name="Afflicted" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="433" name="Elementalist" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="464" name="Deepling" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="466" name="Insectoid" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="471" name="Entrepreneur" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="513" name="Crystal Warlord" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="514" name="Soil Guardian" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="542" name="Demon" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="575" name="Cave Explorer" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="578" name="Dream Warden" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="618" name="Glooth Engineer" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="620" name="Jersey" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="632" name="Champion" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="635" name="Conjurer" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="636" name="Beastmaster" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="664" name="Chaos Acolyte" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="666" name="Death Herald" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="683" name="Ranger" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="694" name="Ceremonial Garb" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="696" name="Puppeteer" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="698" name="Spirit Caller" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="724" name="Evoker" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="732" name="Seaweaver" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="745" name="Recruiter" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="749" name="Sea Dog" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="759" name="Royal Pumpkin" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="845" name="Rift Warrior" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="852" name="Winter Warden" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="0" looktype="874" name="Philosopher" premium="no" unlocked="yes" enabled="yes" />

	<!-- Male outfits -->
	<outfit type="1" looktype="128" name="Citizen" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="129" name="Hunter" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="130" name="Mage" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="131" name="Knight" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="132" name="Nobleman" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="133" name="Summoner" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="134" name="Warrior" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="143" name="Barbarian" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="144" name="Druid" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="145" name="Wizard" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="146" name="Oriental" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="151" name="Pirate" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="152" name="Assassin" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="153" name="Beggar" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="154" name="Shaman" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="251" name="Norseman" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="268" name="Nightmare" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="273" name="Jester" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="278" name="Brotherhood" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="289" name="Demonhunter" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="325" name="Yalaharian" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="328" name="Husband" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="335" name="Warmaster" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="367" name="Wayfarer" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="430" name="Afflicted" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="432" name="Elementalist" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="463" name="Deepling" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="465" name="Insectoid" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="472" name="Entrepreneur" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="512" name="Crystal Warlord" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="516" name="Soil Guardian" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="541" name="Demon" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="574" name="Cave Explorer" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="577" name="Dream Warden" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="610" name="Glooth Engineer" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="619" name="Jersey" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="633" name="Champion" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="634" name="Conjurer" premium="no" unlocked="yes" enabled="yes" />	
	<outfit type="1" looktype="637" name="Beastmaster" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="665" name="Chaos Acolyte" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="667" name="Death Herald" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="684" name="Ranger" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="695" name="Ceremonial Garb" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="697" name="Puppeteer" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="699" name="Spirit Caller" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="725" name="Evoker" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="733" name="Seaweaver" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="746" name="Recruiter" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="750" name="Sea Dog" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="760" name="Royal Pumpkin" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="846" name="Rift Warrior" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="853" name="Winter Warden" premium="no" unlocked="yes" enabled="yes" />
	<outfit type="1" looktype="873" name="Philosopher" premium="no" unlocked="yes" enabled="yes" />
</outfits>

 

 

Observações: O código ta feio mesmo, uma conexão a mais no mysql n vai matar ninguém, aqui funcionou perfeitamente. Você terá q renomear os gifs dos outfits e addons para 1,2,3... seguindo a ordem que está ai. O código tem limitações, não verifica se o jogador já tem uma addon ou mount, outro dia irei concluir isso. Futuramente é interessante chamar a função de salvar o jogador pois se o ot cair sem ter salvo a pessoa perde o que comprou.

Editado por gordonbays (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Boa noite a todos, sou novo aqui. então talvez eu esteja colocando esse tópico na área errada.

 Dei uma olhada nos tópicos de download e percebo que ABSOLUTAMENTE TODOS OS SERVERS POSTADOS TEM BUGS.

Preciso de um servidor 100% perfeito para por online global full 10.90 - 10.93 com cast, guestes, tudo 100% . Pode ser pra windons ou linux.

VOU PAGAR UM CLOUD SERVER OU DEDICADO PARA POR 24H . COM 32GB DE RAM.

SE ALGUEM QUISER FAZER UMA PARCERIA COMIGO EU ACEITO, ESSA PESSOA TEM QUE ME PASSAR UM TUTORIAL DE COMO ACESSAR O SERVIDOR, TROCAR SENHAS, DAR BANS, EDITAR PERSONAGENS, LIGAR O SERVER, DESLIGA-LO, EDITAR O SITE, COLOCAR ITENS PARA PLAYERS PODEREM COMPRAR, PAGAR E CAIR A GRANA NA MINHA CONTA ETC. ETC. ETC...

QUERO MESMO COM A AJUDA DE VOCÊS COLOCAR UM SERVIDOR 100% ESTÁVEL, E PERFEITO. IGUAL OS SERVIDORES QUE BOMBAM COM 700 PLAYERS++ NA LISTA DE OT SERVERS.

meu numero watsapp: 11 9.6863-7082.

Link para o post
Compartilhar em outros sites
6 minutos atrás, mimilon disse:

Boa noite a todos, sou novo aqui. então talvez eu esteja colocando esse tópico na área errada.

 Dei uma olhada nos tópicos de download e percebo que ABSOLUTAMENTE TODOS OS SERVERS POSTADOS TEM BUGS.

Preciso de um servidor 100% perfeito para por online global full 10.90 - 10.93 com cast, guestes, tudo 100% . Pode ser pra windons ou linux.

VOU PAGAR UM CLOUD SERVER OU DEDICADO PARA POR 24H . COM 32GB DE RAM.

SE ALGUEM QUISER FAZER UMA PARCERIA COMIGO EU ACEITO, ESSA PESSOA TEM QUE ME PASSAR UM TUTORIAL DE COMO ACESSAR O SERVIDOR, TROCAR SENHAS, DAR BANS, EDITAR PERSONAGENS, LIGAR O SERVER, DESLIGA-LO, EDITAR O SITE, COLOCAR ITENS PARA PLAYERS PODEREM COMPRAR, PAGAR E CAIR A GRANA NA MINHA CONTA ETC. ETC. ETC...

QUERO MESMO COM A AJUDA DE VOCÊS COLOCAR UM SERVIDOR 100% ESTÁVEL, E PERFEITO. IGUAL OS SERVIDORES QUE BOMBAM COM 700 PLAYERS++ NA LISTA DE OT SERVERS.

meu numero watsapp: 11 9.6863-7082.

100% não existe, todos tem muitos defeitos, você pode utilizar o projeto Capernia e reportar os erros que encontrar.

 

https://github.com/gordonbay/capernia-ots-datapack

 

atualmente ele está identico ao do Mitisuig porém eu ja corrigi diversos erros. Infelismente mesmo após tantos anos ainda não temos um datapack confiável pois cada um cria o seu e depois abandona, eu devenvolvi o projeto Capernia justamente para acabar com isso. Todos podem atualizar e participar do processo de construção do mesmo.

Quanto a versão do servidor, todos utilizam a mesma (10.77) só alteram o código do TFS para aceitar outras versoes.

Link para o post
Compartilhar em outros sites
11 minutos atrás, gordonbays disse:

100% não existe, todos tem muitos defeitos, você pode utilizar o projeto Capernia e reportar os erros que encontrar.

 

https://github.com/gordonbay/capernia-ots-datapack

 

atualmente ele está identico ao do Mitisuig porém eu ja corrigi diversos erros. Infelismente mesmo após tantos anos ainda não temos um datapack confiável pois cada um cria o seu e depois abandona, eu devenvolvi o projeto Capernia justamente para acabar com isso. Todos podem atualizar e participar do processo de construção do mesmo.

Quanto a versão do servidor, todos utilizam a mesma (10.77) só alteram o código do TFS para aceitar outras versoes.

 

Boa noite.

Você tem algum servidor 24H atualmente?

Estou pensando em pagar um cloud .

oque vocÊ acha de uma parceria? você coloca o servidor online e eu pago o cloud.

e nós dois cuidamos da divulgação.

seremos únicos GOD do jogo. oque acha da ideia?

vocÊ tem um bom servidor global full sem bugs graves que da pra deixar online?

algo igual ao que tem nas lista de servidores ?

Link para o post
Compartilhar em outros sites
16 minutos atrás, mimilon disse:

 

Boa noite.

Você tem algum servidor 24H atualmente?

Estou pensando em pagar um cloud .

oque vocÊ acha de uma parceria? você coloca o servidor online e eu pago o cloud.

e nós dois cuidamos da divulgação.

seremos únicos GOD do jogo. oque acha da ideia?

vocÊ tem um bom servidor global full sem bugs graves que da pra deixar online?

algo igual ao que tem nas lista de servidores ?

 

Não há porque eu comentar esse tipo de assunto privado publicamente aqui no forúm.

Link para o post
Compartilhar em outros sites
9 horas atrás, gordonbays disse:

 

Não há porque eu comentar esse tipo de assunto privado publicamente aqui no forúm.

Tudo bem. me manda msg. meu watss eh: 11 968637082 Ou então me manda smg in box.

 

Link para o post
Compartilhar em outros sites

O Ot do mitsuig ta com um bug que os jogadores tao fazendo dinheiro nos npcs, ainda nao consegui descobri o bug. alguem sabe?

Link para o post
Compartilhar em outros sites
On 5/14/2016 at 5:04 PM, rocamalo said:

Big bug when i try to change outfit in a character, or only with god?

Help please

bug outfit.jpg

On 5/14/2016 at 5:04 PM, rocamalo said:

 

Change to 10.91 instead of 10.90

Link para o post
Compartilhar em outros sites
On 13/05/2016 at 0:06 AM, gordonbays said:

100% não existe, todos tem muitos defeitos, você pode utilizar o projeto Capernia e reportar os erros que encontrar.

 

https://github.com/gordonbay/capernia-ots-datapack

 

atualmente ele está identico ao do Mitisuig porém eu ja corrigi diversos erros. Infelismente mesmo após tantos anos ainda não temos um datapack confiável pois cada um cria o seu e depois abandona, eu devenvolvi o projeto Capernia justamente para acabar com isso. Todos podem atualizar e participar do processo de construção do mesmo.

Quanto a versão do servidor, todos utilizam a mesma (10.77) só alteram o código do TFS para aceitar outras versoes.

Cara, tu pretende tocar isso pra frente mesmo, ou abandonar como sempre acontece com os projetos? Eu tenho ajudado com o "vanaheim" do bruno minervino aqui do forum, mas a galera aparentemente deu uma abandonada lá... Não sei qual o mais completo e tal, mas to afim de contribuir mais e pra algo mais "ativo" sabe...

Link para o post
Compartilhar em outros sites
  • Erimyth unpinned this tópico

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Johncore
      Olá galera, é com muita dedicação que trago para este forum uma exclusividade que só eu tinha.
      Mapa Dragonsouls 11x 99%, tem alguns detalhes de sqm ou borda que você possa precisar fazer,
      Dragonsouls é um servidor ATS Custom, baseado em senhor dos aneis. via muita gente perguntando por esse mapa e eu tinha a muitos anos, resolvi converter.
      mas ele está 99% pronto para uso.
       
      Esse mapa é 100% compativel para rodar na Datapack Otg Server 11,
      Otg Server é um projeto que trabalha com varias datapacks de tibia rl e ATS Custom.
       
      Github:
      https://github.com/otg-br/
       
      Participe do grupo Otg Server:  
      https://chat.whatsapp.com/EWV3dVvS6nt1em7q23FGu7
       
       
      MAPA:
       
      INICIAL ISLAND

       
      CARLIN

       
      CIDADE TIRITH

       
      CIDADE BREE

       
       
       
       
      world.zip
    • Por Johncore
      Olá pessoas, estou disponibilizando aqui mais uma exclusividade que é o Mapa Evolunia, ele é baseado no servidor Evolunia.net
       
      Esse mapa é 100% compativel para rodar na Datapack Otg Server 11x,
      Otg Server é um projeto que trabalha com varias datapacks de tibia rl e ATS Custom.
       
      Participe do grupo Otg Server:  
      https://chat.whatsapp.com/EWV3dVvS6nt1em7q23FGu7
       
      Creditos:
      evolunia
      world.zip
    • Por Johncore
      Otg Server é um projeto fork do The Forgotten Server 1.3, feito por brasileiros que visam sempre por estabilidade, um código mais clean, temos no projeto várias Datapacks como
      Global 11.0, Global 8.6, Global 8.0, RadBR 11.0, Evolutions 11.0, Yurots Classic 11.0, nossa base também é excelente para rodar projetos que são mapa Baiak ou ATS Custom pelo baixissimo uso de cpu e fix do Decay de itens.

      Todos são bem vindos para colaborar com o projeto... que não visa nenhum lucro financeiro, queremos apenas colaborar com a comunidade OTSERV,
      temos ouvido de muitas pessoas que procuram uma base estável, limpa, esse é o nosso objetivo nesse projeto.
       
      Estamos a procura de programadores/dev/webmaster que queiram ajudar / que tenham tempo e serão recompensados por isso.
       
      Nossa Datapack principal Global 11.00 contem as seguintes features:
      CAST SYSTEM ✅
      AUTOLOOT ✅
      WINTER UPDATE 2023 ✅
      SUMMER UPDATE 2023 ✅
      ADDONS 13.22 UPDATE ✅
      MONTARIAS 13.22 UPDATE ✅
      ITEMS 13.22 UPDATE ✅
      DAILY REWARD ✅
      IMBUEMENTS ✅
      PREY ✅
      EXERCISE WEAPONS ✅
      HIRELINGS NPCS ✅
      ANTI ROLLBACK ✅
       
       
      Github Global 11x:  💾
      https://github.com/otg-br/global-11x
      Clients e outras ferramentas:  💾
      https://github.com/otg-br/tools
      Github Otg Gesior:  💾
      https://github.com/otg-br/gesior
      Github Otg Otclientv8:  💾
      https://github.com/otg-br/otclientv8
      Wiki Otg:  💾
      https://github.com/otg-br/global-11x/wiki
       
       
      Creditos:
      TFS Team Erick Nunes Gui Bruxo Worthdavi LuSKT Leo Pereira Luan Luciano Cjaker Comedinhas Nekiro OTG Colaborators
    • Por Dnzk21
      COMO POSSO IMPORTAR UMA CITY EMCIMA DE OUTRA CITY SEM PERDER AS HOUSES
      ALGUEM PODE M,E AJUDAR 
      E A MESMA CITY MJAIS QUANDO IMPORTO PERDE TODAS CASAS QUANDO SALVA E ABRE O SERVIDOR
    • Por Johncore
      Arcadia é uma cidade custom bem bonita que pode ser encontrada no servidor AureraGlobal,
      Por ter esse conteudo aqui em primeira mão, resolvi disponibilizar para a comunidade.
       


       
      Creditos:
      Aurera Team
      Johncorex
      Arcadia-spawn.xml Arcadia-house.xml Arcadia.otbm

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo