Líderes
-
iluargrott
MembroPontos8Total de itens -
-
-
Jeff Delay
MembroPontos94Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 09/14/20 em todas áreas
-
[Pedido] SPRITES MAIORES
[Pedido] SPRITES MAIORES
Jeff Delay e 2 outros reagiu a iluargrott por uma resposta no tópico
3 pontosVeio se discutindo ao longo do tempo várias possibilidades de aumento de sprites no OTClient, com IA, alterar os programas Remeres, OTitem, Object builder. Porém todas essas modificações necessitaria uma equipe para dar suporte aos erros futuros e presentes que vieram se apresentando a todos aqueles que realizavam todas estas modificações. Em contato com o editor do ObjectBuilder e Remeres para 64x64, 96x96, ele mesmo disse que pela presença de erros, não valeria à pena investir num servidor com estes aumentos de sprites. Então como brasileiro, imaginei uma possível gambiarra. Segue abaixo, o meu pedido ? Este seria um sistema para a analise de movimento do personagem/criaturas. Como todos sabem o tibia tem um "hitbox"/square de movimento de 32x32. Este square impede que o player suba em outro square de 32x32 que seja "sólido" ou que esteja marcado para não ser passado por cima, ex: Pedras, agua, bordas, parede, porta fechada, caule da arvore, outro square de player. Porém qualquer imagem que ultrapasse os 32x32 na linha de baixo, corre o grande risco de sair "atropelando" em cima de objetos, player e etc. Sendo assim, imaginei a possibilidade de algum script que averiguasse o movimento das criaturas/players, checando se nos 32x32 aos arredores do player há algum objeto que não seja passável, assim forçando-o a não "pisar" em cima deste. ex: Como pode ser visto, a região mais escura de cada "demon" seria o limitador de movimento, como um sqm à esquerda há outro demon ,ele não poderia se mover para a esquerda, pois teria um "obstaculo". Esse limitador seria apenas para movimentos. Com esse sistema, o uso de sprites maiores sem o grande erro de atropelar alguém / objetos, o uso de sprites maiores para projetos alternativos sairia muito mais " limpo. Estou utilizando TFS 1.2, mas qualquer servidor está valendo para conseguir esta benção de sistema para aumentar a qualidade dos gráficos de um projeto alternativo. Deixo aqui este pedido para alguma alma generosa que queira auxiliar o desenvolvimento de novos jogos com sprites maiores Obrigado pela sua atenção,3 pontos -
[Pedido] SPRITES MAIORES
2 pontosTibia é como um tabuleiro, cada peça ocupa o seu próprio espaço, imagino que seria um retrabalho muito grande pra fazer isso, mas daria para elaborar novas mecânicas. Pode ser que alguma equipe de projetos grandes já elaborou isso, achei bastante interessante.2 pontos
-
Trade Offline V2.0
1 pontoTrade Offline V2.0 Esse sistema me foi pedido a alguns meses atrás e hoje tirei um tempinho pra trazer aqui. O sistema consiste em permitir que jogadores negociem sem contato direto entre comprador e vendedor. Mas como assim? O vendedor pode criar um anuncio de venda informando item, valores ou até mesmo items que ele queira em troca, após feito o anuncio todas essas informações ficam armazenadas no banco de dados do servidor, permitindo assim serem exibidas em uma página no site para interessados, junto de todas informações fornecidas pelo vendedor é exibido um comando para que os interessados possam adquirir a oferta exibida na página. Sobre o sistema O sistema foi testado apenas em OTX2, mas provavelmente também funcione em TFS 0.4 Versão para TFS 1.x adaptada pelo @luanluciano93 Como mencionado acima, o sistema funciona de forma semelhante ao Market System das versões atuais porem sem exibição gráfica das ofertas in-game, para isso o sistema vai acompanhado de uma página para o Gesior AAC. Este sistema existe no fórum há um bom tempo e já é familiar pra muitos jogadores, essa versão trás consigo algumas melhorias e diferenças que irei listar abaixo. Sistema Agora é possivel vender um item exigindo outro item em troca ao invés de dinheiro. Containers com um conjunto de items dentro agora podem ser anunciados. Agora o sistema verifica as cargas e durações dos items antes de criar uma oferta. Novo parâmetro adicionado para verificar informações de ofertas in-game. Agora todo valor recebido vai diretamente para o banco do vendedor. Página A depender da quantidade de ofertas existentes no servidor, a página agora irá separa-las por páginas. Agora além do valor é exibido também imagem da moeda a depender do valor da oferta. Agora é possivel ver as características tanto dos items ofertados como dos items exigidos pelo vendedor. Adicionado filtros para exibir somente ofertas de items vip, containers ou trocas. Adicionado barras de pesquisas para filtrar as ofertas por items ou nome do jogador. Algumas imagens Instalação Antes de mais nada é necessário citar os requisitos necessários para o funcionamento correto do sistema, ele utiliza de algumas funções que não estão no script principal e portanto é necessário a instalação de uma lib extra, também é necessário instalar as funções doItemSetDuration e getItemDurationTime na source do servidor, ambos os links se encontram abaixo. Todos os arquivos necessários para a instalação estão anexados no tópico, irei apenas dizer onde instalar e como deve ser configurado. Primeiramente importe o arquivo schema.sql no banco de dados, ou se preferir pode executar as queries a seguir. CREATE TABLE IF NOT EXISTS `trade_off_offers` ( `id` int(11) NOT NULL auto_increment, `player_id` int(11) NOT NULL, `type` int(1) NOT NULL DEFAULT '0', `item_id` int(11), `item_count` int(11) NOT NULL DEFAULT '1', `item_charges` int(11) NULL, `item_duration` int(11) NULL, `item_name` varchar(255), `item_trade` tinyint(1) NOT NULL DEFAULT '0', `cost` bigint(20) UNSIGNED NOT NULL, `cost_count` int(11) NOT NULL DEFAULT '1', `date` bigint(20), PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS `trade_off_container_items` ( `offer_id` int(11) NOT NULL, `item_id` int(11), `item_charges` int(11) NULL, `item_duration` int(11) NULL, `count` int(11) DEFAULT '1' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; ALTER TABLE `trade_off_container_items` ADD KEY `offer_id` (`offer_id`); ALTER TABLE `trade_off_container_items` ADD CONSTRAINT `offer_id_fk` FOREIGN KEY (`offer_id`) REFERENCES `trade_off_offers`(`id`) ON DELETE CASCADE; Configuração no arquivo tradeoff.lua: -- Trade Offline 2.0 by WooX -- local config = { priceLimit = 2000000000, -- 2kkk offerLimit = 3, offerLimitStor = 86420, infoOnPopUp = true, infoMsgType = MESSAGE_STATUS_CONSOLE_BLUE, errorMsgType = MESSAGE_STATUS_CONSOLE_RED, successMsgType = MESSAGE_INFO_DESCR, helpMsg = "Enter the parameters (add, remove, active, buy, info).", goldItems = {2148, 2152, 2160}, itemsVIP = {4540, 4545, 4560}, } priceLimit: define o valor máximo de uma oferta. offerLimit: define o valor máximo de ofertas que um jogador pode adicionar. offerLimitStor: storage que irá armazenar quantas ofertas ativas o jogador possui. infoOnPopUp: pode ser definido como true ou false, se definido como falso irá enviar os detalhes da oferta no default ao invés de como é mostrado nas imagens acima. infoMsgType: define como será exibido uma mensagem de informação ao jogador (não recomendo mexer a menos que saiba o que está fazendo). errorMsgType: define como será exibido uma mensagem de erro ao jogador (não recomendo mexer a menos que saiba o que está fazendo). successMsgType: define como será exibido uma mensagem de ação sucedida ao jogador (não recomendo mexer a menos que saiba o que está fazendo). helpMsg: mensagem que será enviada para o jogador caso ele erre os parâmetros do comando. goldItems: nesta tabela deve ser preenchido todos os IDs de moedas no servidor como gold coins, platinum coins, etc. itemsVIP: nesta tabela deve ser preenchido os IDs dos items vips existentes no servidor. Agora para a instalação da página, no arquivo mysql_db.php deve ser preenchido os dados para conexão no banco de dados do servidor. /** * Host do banco de dados * @var string */ private static $DB_HOST = 'localhost'; /** * Usuario de conexao ao banco de dados * @var string */ private static $DB_USER = 'root'; /** * Senha de conexao ao banco de dados * @var string */ private static $DB_PASS = 'SUA_SENHA'; /** * Nome do banco de dados * @var string */ private static $DB_NAME = 'NOME_BANCO'; Após feito isso, o arquivo paginationClass.php em conjunto do arquivo mysql_db.php devem ser adicionados no seguinte diretório do Gesior AAC. classes/ Finalizado isto, basta jogar o arquivo tradeoff.php dentro do diretório informado abaixo e o sistema estará pronto para uso. pages/ Avisos Eu escrevi somente o sistema, não sou o autor da página para o Gesior AAC portanto não estarei dando suporte em relação a página que não seja sobre a instalação da mesma no Gesior AAC 2012, e embora esteja funcional, eu não recomendo o uso da página devido a falta do uso de cache para leitura do items.xml. Foram mais de 600 linhas de código sem contar funções extras e alterações na source, além de muitas horas de testes para garantir que tudo estava funcionando corretamente, tudo que peço em troca é que não removam os créditos no arquivo quando forem usar. Créditos @MatheusDuarte pela página do Gesior AAC. schema.sql tradeoff.lua tradeoff.php mysql_db.php paginationClass.php1 ponto
-
Best Baiak Completo
Best Baiak Completo
brunodisenna reagiu a Werner por uma resposta no tópico
1 pontoEae pessoal do Tk Trago aqui um Baiak (BestBaiak) com um novo visual e completo! Se trata de um Servidor 8.60, completo e ja pronto para ser colocado Online, sem bugs. (funciona melhor em MySql) + de 50 Hunts Free Muitos trainers, assim não ficara sem. Vocations Equilibradas. War System com escudos. Itens donates balanceados. Contando com todos os Eventos atuais: Zombie Event Snowball War Event Capture the Flag Battlefield Desert War Defend The Tower Fire storm Boss King Conta também com: Castle 24h Castle 48h Vip1 e Vip2 Free Area Donate SuperUp Dodge e Critical system Extra Cidade com mais houses MiniGames Sistema de !autoloot já instalado Quest Promotion 2 Npc que troca itens por EventCoins Monstros exclusivos ScreenShots do Servidor Donwload: Servidor completo 4shared: Clique Aqui! Servidor completo Mediafire: Clique Aqui! Scan VirusTotal:(Acusando malware por conta das executáveis): Clique Aqui! Créditos: Coisas como items.xml e items.otb com os itens donate já editados podem ser encontrados aqui no tópico. Suporte para alguns bugs encontrados até o momento também se encontram no tópico. Espero que gostem.1 ponto -
Google Cloud Plataform
Google Cloud Plataform
thepops reagiu a Diego Rulez por uma resposta no tópico
1 pontoIntrodução O que eu quero falar aqui não é a parte técnica de segurança, desempenho e outros pontos. Quero falar sobre o dia a dia de alguém que pretende ser um administrador e que acabou de começar um projeto. Mesmo que você seja leigo e tenha dificuldades com a "tela preta" do Linux onde você digita os comandos, ainda assim vale a pena optar pelo Linux logo de primeira pelos seguintes motivos: Quando você for inaugurar seu servidor você vai querer que ele tenha uma boa estabilidade e não fique travando ou sendo derrubado e você vai conseguir isso apenas utilizando Linux, então pra que aprender a montar tudo no Windows se depois, de qualquer forma, você vai ter que aprender Linux? Todo conhecimento é válido, mas você estaria atrasando seu lado fazendo isso. Visual Studio, complementos, bibliotecas. Antes de compilar sua source para Windows você vai precisar fazer o download, instalar e preparar o seu ambiente de trabalho e isso vai te custar muito tempo visto que são programas pesados, que demoram para serem baixados e instalados e que precisam de configurações muito especificas para compilar sem erros. Se você pode fazer isso tudo em 5 minutos e sem erros no Linux, porque insistir no Windows? Google Cloud Platform Ativando os créditos Criando o VPS Liberando as Portas Criando um acesso Enviar arquivos para o VPS A parte de compilação da source, instalar o site e abrir o server ficará para o próximo tópico, visto que, é possível aplicar em qualquer VPS e não somente do Google. Se deseja instalar um site e fazer a compilação da source clique aqui Se você tiver qualquer dúvida em relação a esse tutorial não fique acuado em perguntar, irei responder todas as dúvidas no tópico. Não respondo PM, porém também estou no Discord do TibiaKing e posso ajuda-los por lá.1 ponto -
Anel de Sauron
Anel de Sauron
Jeff Delay reagiu a xWhiteWolf por uma resposta no tópico
1 pontoFala galera do TK, criei esse anelzinho pra servers que procuram inovar.. bom, oque ele faz?? Simples, ele torna o usuário invisível. aff, mas já existe o stealth ring que faz isso! Sim mas dessa vez eu digo invisível mesmo, nenhum monstro ou players conseguirá te ver. que lixo, assim qualquer player vai poder ficar invisível e passar no meio dos monstros e players.. vai estragar o server Aí é que vc se engana porque o anel vem uma maldição, quem usar ele vai perdendo 3% de vida por segundo (ajustável) e só vai estragar o server se vc sair distribuindo o anel pra todos os players haha O anel em si possui duas versões, na primeira ele retira 3% de vida por segundo, na segunda ele adiciona uma condição que te deixa perdendo uma quantidade fixa de vida, CONTUDO, na segunda versão aparece uma poça de sangue cada vez que toma o dano então dá pros players te pegarem caso vc coloque o anel e resolva fugir kkkkk Vou chamar aqui de versão 1 e 2 respectivamente. OBS: ISSO É EM MOVEMENTS! 1ª versão (sem sangue mas que tira 3% de vida por segundo): local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local percent = 3 local tempo = 1 -- em segundos function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") function lifesteal(cid) steal = addEvent(lifesteal, 1000*tempo, cid) if isCreature(cid) then doSendAnimatedText(getCreaturePos(cid), "-"..math.floor((getCreatureMaxHealth(cid) * (percent/100))), 144, cid) doCreatureAddHealth(cid, -math.floor(getCreatureMaxHealth(cid) * (percent/100))) end end lifesteal(cid) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") stopEvent(steal) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end 2ª versão (a cada 1,5 segundos ele te tira um dano configurado e deixa uma poça de sangue embaixo de vc facilitando que te identifiquem mesmo estando invisivel): local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local condition = createConditionObject(CONDITION_PHYSICAL) setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE) addDamageCondition(condition, -1, 1500, -500) function onEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this ring you will become fully invisible and lose health over time because of it's curse.") doAddCondition(cid, condition) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 2165) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") doRemoveCondition(cid, CONDITION_PHYSICAL) doRemoveCondition(cid, CONDITION_INVISIBLE) doSendMagicEffect(getCreaturePos(cid), 12) doRemoveCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) return true end Agora edite no items.xml o stealth ring pra que ele seja infinito: <item id="2202" article="a" name="stealth ring"> <attribute key="weight" value="100" /> <attribute key="slotType" value="ring" /> <attribute key="transformDeEquipTo" value="2165" /> </item> e em movements.xml adicione essas linhas: <movevent type="Equip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> <movevent type="DeEquip" itemid="2202" slot="ring" event="script" value="stealth.lua"/> Editando: Na primeira versão vc pode alterar as seguintes coisas que estão em colorido: local invisible = createConditionObject(CONDITION_GAMEMASTER, -1, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, -1, false) local percent = 3 local tempo = 1 -- em segundos em vermelho é o tempo que dura a invisibilidade... -1 é infinito em azul é a porcentagem de vida que perde por tempo em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo perde 3% Na segunda versão vc pode editar as mesmas coisas do primeiro só que o tempo e o dano pelo tempo estão na condition: local condition = createConditionObject(CONDITION_PHYSICAL) setConditionParam(condition, CONDITION_PARAM_DELAYED, TRUE) addDamageCondition(condition, -1, 1500, -500) em vermelho é o numero de vezes que vai tirar vida. Mais uma vez -1 significa infinito (infinito até remover o anel) em azul é o dano que vc toma a cada tempo (lembre-se de deixar sempre um - na frente se não ele vai adicionar vida) em verde é o tempo em que se perde vida.. nesse caso a cada 1 segundo e meio retira 500 de vida Bom, é isso.. um script simples mas que vai ajudar muita gente pelo fato de usar conditions não tão comuns e de uma forma diferente haha1 ponto -
Ajuda remeres
Ajuda remeres
danielsort reagiu a Jeff Delay por uma resposta no tópico
1 pontoverifique se os arquivos item.otb e xml do seu servidor estão na pasta do remeres de acordo com a versão correta, não sei se isto influencia muito mas tente usar ambos os arquivos em mesma versão ex: se .spr esta 860 v2 use o item tbm em 860 v2, se possivel utilize uma versão mais recente do Remeres.1 ponto -
Trade Offline V2.0
1 pontoO valor é inserido no do banco do vendedor. Altera a função getItemDefaultDuration por essa: function getItemDefaultDuration(itemID) if getItemInfo(itemID).decayTime <= 0 then if getItemInfo(itemID).transformUseTo then if getItemInfo(itemID).transformUseTo.male > 0 then return getItemInfo(getItemInfo(itemID).transformUseTo.male).decayTime elseif getItemInfo(itemID).transformUseTo.female > 0 then return getItemInfo(getItemInfo(itemID).transformUseTo.female).decayTime end elseif getItemInfo(itemID).transformEquipTo > 0 then return getItemInfo(getItemInfo(itemID).transformEquipTo).decayTime end else return getItemInfo(itemID).decayTime end return 0 end1 ponto
-
(Resolvido)BugShop Gesior AAC TFS 0.4 - db.query nilvalue
(Resolvido)BugShop Gesior AAC TFS 0.4 - db.query nilvalue
Cat reagiu a joaovitorbk9 por uma resposta no tópico
1 ponto0,4 @EDIT Salve galera, consegui resolver soozinho. Para quem tiver o mesmo problema faça o seguinte.... 1) mude para 'db.query' no lugar de db.executeQuery 2) exclua seu z_ots_comutication e execute isso no Sql E Na Sua DATABABE exclua sua tabela z_ots_comunication e adicione esta -- phpMyAdmin SQL Dump -- version 4.2.11 -- http://www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Generation Time: 08-Jan-2015 às 02:48 -- Versão do servidor: 5.6.21 -- PHP Version: 5.5.19 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Database: `global` -- -- -------------------------------------------------------- -- -- Estrutura da tabela `z_ots_comunication` -- CREATE TABLE IF NOT EXISTS `z_ots_comunication` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `action` varchar(255) NOT NULL, `param1` varchar(255) NOT NULL, `param2` varchar(255) NOT NULL, `param3` varchar(255) NOT NULL, `param4` varchar(255) NOT NULL, `param5` varchar(255) NOT NULL, `param6` varchar(255) NOT NULL, `param7` varchar(255) NOT NULL, `delete_it` int(2) NOT NULL DEFAULT '1' ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; -- -- Indexes for dumped tables -- -- -- Indexes for table `z_ots_comunication` -- ALTER TABLE `z_ots_comunication` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `z_ots_comunication` -- ALTER TABLE `z_ots_comunication` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;1 ponto -
Aulas de Scripting Lua
Aulas de Scripting Lua
DATA Vinny reagiu a MaXwEllDeN por uma resposta no tópico
1 pontoSalve rapasiada. Revivendo aqui pra avisar que corrigi is links das aulas que quebraram quando fizeram atualização do forum. Não consegui encontrar no fórum a aula 4, de alguma forma ela se perdeu. Abraços1 ponto -
Novo Sistema de Trainer
Novo Sistema de Trainer
luanluciano93 reagiu a yuriowns por uma resposta no tópico
1 pontoOpa Luan, tranquilo, desculpe estar revivendo este tópico, mas não sei onde devo colocar o action ID para entrar no tp e sair nesse script, poderia me ajudar? Abraços!!1 ponto -
Best Baiak Completo
1 pontoPara quem não está conseguindo adicionar as tabelas castle_dono e z_ots_comunication em databases sqlite, eu criei elas manualmente, e as querys para adicioná-las são estas duas: (No final do post tem uma db com elas já adicionadas, para os preguiçosos). Query castle_dono: CREATE TABLE castle_dono ( id INT( 11 ) NOT NULL, name VARCHAR( 255 ) NOT NULL, [action] VARCHAR( 255 ) NOT NULL, param1 VARCHAR( 255 ) NOT NULL, param2 VARCHAR( 255 ) NOT NULL, param3 VARCHAR( 255 ) NOT NULL, param4 VARCHAR( 255 ) NOT NULL, param5 VARCHAR( 255 ) NOT NULL, param6 VARCHAR( 255 ) NOT NULL, param7 VARCHAR( 255 ) NOT NULL, delete_it INT( 2 ) NOT NULL DEFAULT ( 1 ), guild_id INT( 11 ) NOT NULL DEFAULT ( 0 ), PRIMARY KEY ( id ) ); Query z_ots_comunication: CREATE TABLE z_ots_comunication ( id INT( 11 ) NOT NULL, name VARCHAR( 255 ) NOT NULL, type VARCHAR( 255 ) NOT NULL, [action] VARCHAR( 255 ) NOT NULL, param1 VARCHAR( 255 ) NOT NULL, param2 VARCHAR( 255 ) NOT NULL, param3 VARCHAR( 255 ) NOT NULL, param4 VARCHAR( 255 ) NOT NULL, param5 VARCHAR( 255 ) NOT NULL, param6 VARCHAR( 255 ) NOT NULL, param7 VARCHAR( 255 ) NOT NULL, delete_it INT( 2 ) NOT NULL DEFAULT ( 1 ), PRIMARY KEY ( id ) ); Lembrando que estas querys não funcionam para databases mysql, somente para sqlite. Se quiser elas para mysql, já estão no servidor do tópico anexadas em txt. @Werner, acho interessante que as coloque no servidor como fez para o mysql. Database com as tabelas já adicionadas. otxserver.s3db1 ponto