Ir para conteúdo
DESCRIÇÃO
Anuncie aqui neste countdown e dê maior visibilidade ao seu lançamento | Full Global • Custom Quests • Custom Outfits • Lottery System • Version 15x
Inicia em: --
Participar

Moose

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Moose recebeu reputação de Alecrim em VIP System by Mock 100%   
    facinho entra no sqlite studio abre a tabela account ai vai em edit table, clica em add column digita o nome da coluna vip_time em data type deixa VARCHAR na frente bota 255 em column constraints seleciona not null depois clica em add e pronto.


    ou deleta a tabela accounts e executa essa no sql query


    CREATE TABLE accounts (
    id INTEGER PRIMARY KEY
    NOT NULL,
    name VARCHAR( 255 ) NOT NULL,
    password VARCHAR( 255 ) NOT NULL,
    premdays INTEGER NOT NULL
    DEFAULT ( 0 ),
    lastday INTEGER NOT NULL
    DEFAULT ( 0 ),
    email VARCHAR( 255 ) NOT NULL
    DEFAULT ( '' ),
    [key] VARCHAR( 32 ) NOT NULL
    DEFAULT ( 0 ),
    blocked BOOLEAN NOT NULL
    DEFAULT ( 0 ),
    warnings INTEGER NOT NULL
    DEFAULT ( 0 ),
    group_id INTEGER NOT NULL
    DEFAULT ( 1 ),
    salt VARCHAR( 40 ) NOT NULL
    DEFAULT ( '' ),
    vip_time VARCHAR( 255 ) NOT NULL
    );
  2. Gostei
    Moose recebeu reputação de wessiley em Sistema SHOP System - sem site   
    Esse sistema usa premium points,  bom para otserv que nao tem site baiak, mapa proprio daria pra usar com global tambem fica a escolha de quem usar.
     
    Testado em: TFS 0.3 e 0.4
     
    Vamos instalar o sistema, primeiro entre em data/libs e abra o arquivo 050-function.lua e adicione:
     
     
    depois de ter feito isso vamos criar a talkactions que comprará o item e removerá os pontos da conta, entre em data/talkactions/scripts e crie o arquivo vipsword.lua e adicione:
     
    function onSay(cid, words, param) if ChecarPontos(cid) >= 2 then doPlayerAddItem(cid,2400,1) RemoverPontos(cid, 2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce compro uma vip sword por 2 pontos!") else doPlayerSendCancel(cid, "Voce nao tem pontos suficiente!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end  
    Configurando: 
    ChecarPontos(cid) >= 2
    doPlayerAddItem(cid,2400,1)
    RemoverPontos(cid, 2)
     
    No Verde e Laranja coloca quantos pontos quer remover da conta.
    No Azul id do item.
    No Vermelho quantidade do item.
     
    apos te configurado abra o talkactions.xml e adicione a seguinte linha:
     
    <talkaction words="!vipsword" event="script" value="vipsword.lua"/>  
    para cada item que vc quizer adiciona basta crar um novo arquivo lua por o script e editar com o items desejado e adicionando em talkactions.xml.
     
    Os adms que quizerem por os pontos para vender por crystal coin o script e esse abaixo, entre em data/talkactions/scripts e crie o arquivo buypontos.lua e adicione:
     
    function onSay(cid, words, param) if getPlayerItemCount(cid, 2160) >= 10 then doPlayerRemoveItem(cid, 2160, 10) AddPontos(cid, 5) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce comprou 10 pontos") else doPlayerSendCancel(cid, "Voce nao tem dinheiro suficiente para comprar pontos!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end  
    Configurando: 

    getPlayerItemCount(cid, 2160) >= 10 then
    doPlayerRemoveItem(cid, 2160, 10)
    AddPontos(cid, 5)
     

    No Marron coloca quantos crystal coin quer remover do player
    No Rosa quantidade de pontos para adicionar ao player.
     


    apos te configurado abra o talkactions.xml e adicione a seguinte linha:
     
    <talkaction words="!buypontos" event="script" value="buypontos.lua"/>  

    para funcionar perfeitamente execute no mysql:
     
  3. Gostei
    Moose recebeu reputação de kinomoto em [9.71] Azeroth Server V.2.1   
    Azeroth Server



    Updated 09/12/2012: v2.1









    Versão: 9.71
    Distro: TheForgottenServer
    Mapa Base: Yourots Edited e Mix Yourots













    Features:





    > 7 Cidades:

    Azeroth
    Avalon
    Zatur
    Liberty Bay
    Gloria
    Sand Trap
    Tiquanda

    > Montarias por quest(NPC Mount Master, cavernas ao norte de Azeroth).
    > NPCs de Travel/Boat diferentes para cada cidade.
    > Corrigidos Vários Bugs do mapa.
    > Templo Reformado
    > Retirados Vários Itens custom e suas quests do antigo Riot Server.
    > Adicionada Dragon Dungeon.
    > Adicionado Vulcão de Goroma.
    > Adicionada Quest Especial em Gloria (NPC Gloria Scientist).
    > Adicionada Ferumbras Tower.
    > Várias Hunts adicionadas.
    > Adicionada Formorgar Mines.
    > Sistema de Refinamento e Slot.
    > 6 Novas Mounts.

    > Principais Quests:

    Annihilator
    Pits of Inferno
    The Inquisition
    FireWalker Boots
    Demon Helmet
    Draken
    Hell Conquer

    > 23 Raids Automáticas e configuradas:

    Rats (Azeroth)
    Crabs (Azeroth)
    Bugs (Gloria)
    Orshabaal (Demon Field)
    Demodras (Dragon Dungeon)
    Stonecracker (Behemoth Caves)
    Morgaroth (Goroma Volcano)
    Ghazbaran (Formorgar Mines)
    Ferumbras (Ferumbras Tower)
    Elfs (Saragoka Village)
    Orcs (Azeroth)
    Quaras (Desert Sea)
    Bandits (Avalon Road)
    Pirates (Liberty bay)
    The Old Widow (Plains of Havoc)
    Scarabs (Sand Trap)
    The Count (Azeroth)
    Undeads (Plains of Havoc)
    Massacre (Pits of Inferno)
    The Horned Fox (Azeroth)
    Mutated Monsters (Gloria)
    Apes (Tiquanda)
    Werewolf (Wolf Caves)

    > Sistema de Guerras pelo Castelo [Honor Castle, a oeste de Azeroth]

    Evento automático. Quando a guerra é anunciada as guilds podem batalhar pelo controle do castelo, dando use no monumento do último andar e permanecendo assim até a guerra acabar. O último jogador a ter o controle do castelo antes do tempo acabar será o vencedor, e sua guild se tornará dona do castelo. Todos os membros da Guild ganharão uma recompensa e poderão acessar o mapa do subsolo. Os membros de outras Guilds serão teleportados para o templo e não poderão acessar o castelo.

    O sistema envia mensagens a todos antes de o evento começar, quando começar, quando o dono do castelo muda, antes de se finalizar e ao finalizar, relatando o conquistador do castelo e a guild vencedora.


















    Imagens:


















































































































    Raids




    Para editar o tempo e as chances das raids, vá em data/raids/raids.xml:









    Cada linha corresponde a uma Raid. O interval2 corresponde ao tempo para executar a chance, e esta é a probabilidade da raid acontecer. O tempo do interval2 é contado em minutos, e a chance, em porcentagem.





    Castle




    Para editar o tempo de ocorrência da Guerra pelo Castelo, vá em data/globalevents/globalevents.xml:









    O interval corresponde ao tempo, em milisegundos, que demorará para acontecer o evento. Está preconfigurado para acontecer sempre 1 vez por semana, contando a partir do momento de abertura do servidor, mas você pode configurar para ele acontecer a uma hora fixa do dia etc. Aconselho nunca colocar um tempo menor do que 1 h e meia ou 2h (7200000 milisegundos), pois se o tempo de inicialização for menor que o tempo de duração, você vai ter alguns erros feios.





    Upgrade & Slot System




    Os items podem ser refinados, tendo seu ataque, defesa e armadura aumentados. Existem 2 items para melhorar os equipamentos: Upgrade Powder(8301) que pode ser obtido em quests, drops de monstros e por mineração, possui chance de falha. Quando o upgrade falha o equipamento não é perdido, apenas voltará 1 level (de +3 para +2 por exemplo). Também há o Perfect Powder, que é muito raro de se encontrar e é obtido de quests difíceis e drop de bosses das raids. Este possui 100% de chance de sucesso.















    Os jogadores também poderão abrir Slots em seus equipamentos e, de forma aleatória, criar equipamentos únicos com bônus de Hp, Mp, Ml, Shielding, Cas (Club, Axe e Sword Skill) e Distance.











    Juntando os 2, você poderá fazer coisas como essa:








    Enjoy =]


    Não há teleports diretos para hunts ou quests.
    Não há items ou monstros editados(além dos trainers).
    Não há sistema VIP(premium account valorizada).
    Não há raids com monstros excessivamente fortes nas cidades iniciais.


    Créditos:Unknow YourOts Edited, Mix Yourots Team, Crystal Server Team, Tryller, Mock,Vmspk, TFS Team, Vampira ( Link MediaFire) e um pouquinho (bem pouquinho) pra mim xD.














    Download Azeroth Server V 2.1 - Completo [4SHARED]





    Comandos: !war para executar a guerra pelo castelo manualmente, !reset para interromper o funcionamento da war e !castle para limpar todos os dados, ou seja, o castelo volta a ser terra de ninguém.



    V 2.0

    > Servidor 9.60
    > Distro TFS 9.6
    > Trainer OFFLLINE - Nao esta adicionado no MAPA mais e so vc entrar em actions ver os IDs das estatuas e adicionar
    > Principais quests testadas e funcionando
    > Addons e Mounts 100%

    V 2.1

    > Servidor 9.70
    > Distro TFS 9.70
    > Trainer Beds 100%
    > Mounts 9.7 100%

    Contato: [email protected]


    Edit - Coloquei os Scans
    Edit2 - Adicionado comando
    Edit3 - Atualização
    Edit4 - Atualização















  4. Gostei
    Moose recebeu reputação de L3K0T em distro fechar com hora marcada.   
    se for shutdown e so fazer assim, Em data/globalevents/scripts, crie um arquivo chamado autoshut.lua e adicione dentro:

    function onThink(interval, lastExecution, thinkInterval) doShutdown() return true end E em globalevents.xml, essa tag:

    <globalevent name="Shutdown" time="6:00" event="script" value="autoshut.lua"/>  
    ai pra colcoar outros horarios e so vc ir adicionado no globalevents.xml e alterando a hora ex:

    <globalevent name="Shutdown2" time="12:00" event="script" value="autoshut.lua"/> <globalevent name="Shutdown3" time="18:00" event="script" value="autoshut.lua"/> <globalevent name="Shutdown4" time="00:00" event="script" value="autoshut.lua"/>  
    e pronto isso ai.
  5. Gostei
    Moose recebeu reputação de Gui Lima em VIP System by Mock 100%   
    facinho entra no sqlite studio abre a tabela account ai vai em edit table, clica em add column digita o nome da coluna vip_time em data type deixa VARCHAR na frente bota 255 em column constraints seleciona not null depois clica em add e pronto.


    ou deleta a tabela accounts e executa essa no sql query


    CREATE TABLE accounts (
    id INTEGER PRIMARY KEY
    NOT NULL,
    name VARCHAR( 255 ) NOT NULL,
    password VARCHAR( 255 ) NOT NULL,
    premdays INTEGER NOT NULL
    DEFAULT ( 0 ),
    lastday INTEGER NOT NULL
    DEFAULT ( 0 ),
    email VARCHAR( 255 ) NOT NULL
    DEFAULT ( '' ),
    [key] VARCHAR( 32 ) NOT NULL
    DEFAULT ( 0 ),
    blocked BOOLEAN NOT NULL
    DEFAULT ( 0 ),
    warnings INTEGER NOT NULL
    DEFAULT ( 0 ),
    group_id INTEGER NOT NULL
    DEFAULT ( 1 ),
    salt VARCHAR( 40 ) NOT NULL
    DEFAULT ( '' ),
    vip_time VARCHAR( 255 ) NOT NULL
    );
  6. Gostei
    Moose recebeu reputação de rafanasser em Paladins atacando e usando potions!   
    simples mais e um otimo topico eu mesmo estava atraz disso e nunca tinha conseguido achar, rep+ pra ti
  7. Gostei
    Moose recebeu reputação de cleitonbandeira em [9.71] Global Compacto+Trainers Offline   
    Global Compacto



    Updated 09/12/2012: v2.1







    Versão: 9.71
    Distro: TheForgottenServer
    Mapa Base: Mapa Global Compacto







    cidades


    Carlin
    Thais
    Port Hope
    Ankrahmarum
    Svargrond
    Edron







    Informações


    Npc's da cidade igual global e alguns editados.
    Sistema de Addon igual a do Global
    Teleportes para hunt's + de 60 no total
    Sistema [VIP]
    Distro TFS 0.3.7
    Trainers Offline Statuas e camas
    Mounts 9.70
    Magias 9.60+
    E tem muitooo mais coisa se tem que baixa isso é um espetaculo.







    Imagen








    Download Global Compacto - Completo [4SHARED]

    Créditos:
    EddyHavoc: (Atualizações e versão 9.44)
    Soldoran: (Servidor 8.60)
    Moose: (Atualização 9.7, Magias, Mounts, Addons e Sistemas)

    Virus Scan: Virus Total
  8. Gostei
    Moose recebeu reputação de jNo em [Resolvido] Alguém me passa o script do The Plasmother?   
    <?xml version="1.0" encoding="UTF-8"?> <monster name="The Plasmother" nameDescription="the plasmother" race="venom" experience="8900" speed="310" manacost="0"> <health now="16050" max="16050"/> <look type="238" corpse="6532"/> <targetchange interval="5500" chance="10"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="30" attack="50"/> <attack name="speed" interval="1000" chance="8" radius="6" target="0" speedchange="-800" duration="10000"> <attribute key="areaEffect" value="poison"/> </attack> <attack name="earth" interval="2000" chance="15" target="0" radius="4" min="-200" max="-350"> <attribute key="areaEffect" value="poison"/> </attack> <attack name="earth" interval="3000" chance="15" target="1" radius="4" min="-200" max="-530"> <attribute key="areaEffect" value="greenspark"/> <attribute key="shootEffect" value="poison"/> </attack> </attacks> <defenses armor="30" defense="30"> <defense name="healing" interval="1000" chance="75" min="505" max="605"> <attribute key="areaEffect" value="blueshimmer"/> </defense> </defenses> <elements> <element firePercent="-20"/> <element enerPercent="15"/> </elements> <immunities> <immunity poison="1"/> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="Blubb"/> </voices> <loot> <item id="2148" countmax="70" chance1="20000" chancemax="0"/><!-- gold coins --> <item id="2148" countmax="60" chance1="20000" chancemax="0"/><!-- gold coins --> <item id="2148" countmax="45" chance1="20000" chancemax="0"/><!-- gold coins --> <item id="2152" countmax="13" chance1="25000" chancemax="0"/><!-- platinum coin --> <item id="6500" chance1="45000" chancemax="0"/><!-- demonic essence --> <item id="2144" countmax="3" chance1="5000" chancemax="0"/><!-- black pearl --> <item id="2146" countmax="3" chance1="5000" chancemax="0"/><!-- small sapphire --> <item id="5944" chance="35000"/><!-- soul orb --> <item id="6535" chance="100000"/><!-- the plasmother's remains --> </loot> </monster>
  9. Gostei
    Moose recebeu reputação de lagoa em Script de teleporte para encantar pedras por vocação e level   
    Baixe o anexo extraia coloca a pasta na pasta data/movements/scripts

    depois abre o movements.xml e adicione:
    alters.rar
  10. Gostei
    Moose recebeu reputação de Skyforever em [pedido]Creaturescripts - Deletando char   
    deu o seguitne erro:
     
  11. Negativo
    Moose recebeu reputação de Markin em [pedido]Creaturescripts - Deletando char   
    deu o seguitne erro:
     
  12. Gostei
    Moose deu reputação a Artur Henrique em Paladins atacando e usando potions!   
    Se não estiver na area correta, peço para que algum moderador mude.
     
    Bem gente, eu estava com um problema que era tipo, os paladins não atacavam ao usar potions e runes.. Após uma longa busca de como concertar isso, eu encontrei em outro forum e decidi trazer aqui afinal sei que muita gente tem problemas com isso, é algo bem simples olha:
    Abra Weapons.xml, e adicione essa tag em todas as Ammunitions de RP
    swing="true"  
    Vai ficar tipo:
    Antes:
    <distance id="7367" level="42" event="function" value="default"/>  
    Depois:
    <distance id="7367" level="42" swing="true" event="function" value="default"/>  
     
    Bem gente é isso, espero ter ajudado.. vlws ai
  13. Gostei
    Moose recebeu reputação de tiagoduuarte em Passar o OT do Host pro meu PC   
    compacta o ot, envia para a pasta /var/www e baixa pelo seu navegador ex:
     
    zip -r otserv.zip pastadoot

    depois dezipado manda pro www
     
    mv otserv.zip /var/www
     
    ai depois so ir no navegador: http://seusite/otserv.zip e faça o download.
  14. Gostei
    Moose recebeu reputação de sear10 em Sistema SHOP System - sem site   
    Esse sistema usa premium points,  bom para otserv que nao tem site baiak, mapa proprio daria pra usar com global tambem fica a escolha de quem usar.
     
    Testado em: TFS 0.3 e 0.4
     
    Vamos instalar o sistema, primeiro entre em data/libs e abra o arquivo 050-function.lua e adicione:
     
     
    depois de ter feito isso vamos criar a talkactions que comprará o item e removerá os pontos da conta, entre em data/talkactions/scripts e crie o arquivo vipsword.lua e adicione:
     
    function onSay(cid, words, param) if ChecarPontos(cid) >= 2 then doPlayerAddItem(cid,2400,1) RemoverPontos(cid, 2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce compro uma vip sword por 2 pontos!") else doPlayerSendCancel(cid, "Voce nao tem pontos suficiente!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end  
    Configurando: 
    ChecarPontos(cid) >= 2
    doPlayerAddItem(cid,2400,1)
    RemoverPontos(cid, 2)
     
    No Verde e Laranja coloca quantos pontos quer remover da conta.
    No Azul id do item.
    No Vermelho quantidade do item.
     
    apos te configurado abra o talkactions.xml e adicione a seguinte linha:
     
    <talkaction words="!vipsword" event="script" value="vipsword.lua"/>  
    para cada item que vc quizer adiciona basta crar um novo arquivo lua por o script e editar com o items desejado e adicionando em talkactions.xml.
     
    Os adms que quizerem por os pontos para vender por crystal coin o script e esse abaixo, entre em data/talkactions/scripts e crie o arquivo buypontos.lua e adicione:
     
    function onSay(cid, words, param) if getPlayerItemCount(cid, 2160) >= 10 then doPlayerRemoveItem(cid, 2160, 10) AddPontos(cid, 5) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce comprou 10 pontos") else doPlayerSendCancel(cid, "Voce nao tem dinheiro suficiente para comprar pontos!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end  
    Configurando: 

    getPlayerItemCount(cid, 2160) >= 10 then
    doPlayerRemoveItem(cid, 2160, 10)
    AddPontos(cid, 5)
     

    No Marron coloca quantos crystal coin quer remover do player
    No Rosa quantidade de pontos para adicionar ao player.
     


    apos te configurado abra o talkactions.xml e adicione a seguinte linha:
     
    <talkaction words="!buypontos" event="script" value="buypontos.lua"/>  

    para funcionar perfeitamente execute no mysql:
     
  15. Gostei
    Moose recebeu reputação de Markin em Sistema SHOP System - sem site   
    Esse sistema usa premium points,  bom para otserv que nao tem site baiak, mapa proprio daria pra usar com global tambem fica a escolha de quem usar.
     
    Testado em: TFS 0.3 e 0.4
     
    Vamos instalar o sistema, primeiro entre em data/libs e abra o arquivo 050-function.lua e adicione:
     
     
    depois de ter feito isso vamos criar a talkactions que comprará o item e removerá os pontos da conta, entre em data/talkactions/scripts e crie o arquivo vipsword.lua e adicione:
     
    function onSay(cid, words, param) if ChecarPontos(cid) >= 2 then doPlayerAddItem(cid,2400,1) RemoverPontos(cid, 2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce compro uma vip sword por 2 pontos!") else doPlayerSendCancel(cid, "Voce nao tem pontos suficiente!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end  
    Configurando: 
    ChecarPontos(cid) >= 2
    doPlayerAddItem(cid,2400,1)
    RemoverPontos(cid, 2)
     
    No Verde e Laranja coloca quantos pontos quer remover da conta.
    No Azul id do item.
    No Vermelho quantidade do item.
     
    apos te configurado abra o talkactions.xml e adicione a seguinte linha:
     
    <talkaction words="!vipsword" event="script" value="vipsword.lua"/>  
    para cada item que vc quizer adiciona basta crar um novo arquivo lua por o script e editar com o items desejado e adicionando em talkactions.xml.
     
    Os adms que quizerem por os pontos para vender por crystal coin o script e esse abaixo, entre em data/talkactions/scripts e crie o arquivo buypontos.lua e adicione:
     
    function onSay(cid, words, param) if getPlayerItemCount(cid, 2160) >= 10 then doPlayerRemoveItem(cid, 2160, 10) AddPontos(cid, 5) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce comprou 10 pontos") else doPlayerSendCancel(cid, "Voce nao tem dinheiro suficiente para comprar pontos!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end  
    Configurando: 

    getPlayerItemCount(cid, 2160) >= 10 then
    doPlayerRemoveItem(cid, 2160, 10)
    AddPontos(cid, 5)
     

    No Marron coloca quantos crystal coin quer remover do player
    No Rosa quantidade de pontos para adicionar ao player.
     


    apos te configurado abra o talkactions.xml e adicione a seguinte linha:
     
    <talkaction words="!buypontos" event="script" value="buypontos.lua"/>  

    para funcionar perfeitamente execute no mysql:
     
  16. Gostei
    Moose recebeu reputação de vida em [Resolvido] editando itens   
    o problema nao e no item vai em data\weapons abra o weapons.xml e procura o id da sword ai vai esta algo mais ou menos assim:
     
     
    <melee id="7873" level="45" unproperly="1" event="function" value="default"> <vocation id="4"/> </melee>   e adiciona depois do <vocation id="4"/>:   <vocation id="8"/> <vocation id="12"/>   e salva reabre o ot e funcionará.
  17. Gostei
    Moose recebeu reputação de gabdi16 em Erro no NPC   
    nao tem nada errado com o npc esses erros ai da por que a lib do seus NPC nao sao compativeis
  18. Gostei
    Moose recebeu reputação de Fausto32 em Como por para o playay ganhar 3 dias de vip ao criar a acc em Mysql?   
    Tente esse novo e faça bkp do original.
     

      <b> <?php $location = array( 'GER' =>'Europe', // 'USA' =>'North America' ); $default = 'all';   $worlds = array(); $worlds[0] = array('GER', 'open'); /* $worlds[1] = array('GER', 'optional'); $worlds[2] = array('GER', 'hardcore'); $worlds[3] = array('USA', 'open'); $worlds[4] = array('USA', 'optional'); $worlds[5] = array('USA', 'hardcore'); */   $voc = array(); // if empty, Rook Sample will be used $voc[1] = 'Sorcerer'; $voc[2] = 'Druid'; $voc[3] = 'Paladin'; $voc[4] = 'Knight';   $suggestname = NULL; // not available $version = '860'; // for download link   foreach($worlds as $k =>$v) // remove invalid worlds if(!isset($location[$v[0]]) || !isset($config['site']['worlds'][$k])) unset($worlds[$k]);   $tmp = array(); foreach($location as $k =>$v) // remove invalid/unused locations foreach($worlds as $i =>$j) if($j[0] == $k) { $tmp[$k] = $v; break; } $location = $tmp; unset($tmp);   if(isset($_POST['step']) && $_POST['step'] == 'docreate') { $e = array(); $s = isset($_POST['accountname']) ? $_POST['accountname'] : ''; if($s == '') $e['acc'] = 'Please enter an account name!'; elseif(strlen($s) < 6) $e['acc'] = 'This account name is too short!'; elseif(strlen($s) > 30) $e['acc'] = 'This account name is too long!'; else { $s = strtoupper($s);   if(!ctype_alnum($s)) $e['acc'] = 'This account name has an invalid format. Your account name may only consist of numbers 0-9 and letters A-Z!'; elseif(!preg_match('/[A-Z]/', $s)) $e['acc'] = 'Your account name must include at least one letter A-Z!'; else { $con = mysql_pconnect($config['server']['sqlHost'], $config['server']['sqlUser'], $config['server']['sqlPass']) or die('MySQL connection error.'); mysql_select_db($config['server']['sqlDatabase']);   if(mysql_num_rows(mysql_query('SELECT id FROM accounts WHERE name=\''.mysql_escape_string($s).'\' LIMIT 1')) != 0) $e['acc'] = 'This account name is already used. Please select another one!'; } }   $s = isset($_POST['name']) ? trim($_POST['name']) : '';   if(empty($s)) $e['name'] = 'Please enter a name for your character!'; elseif(strlen($s) < 3 || strlen($s) > 15) $e['name'] = 'A name must have at least 3 but no more than 15 letters!'; elseif(preg_match('/[^a-zA-Z ]/', $s)) $e['name'] = 'This name contains invalid letters. Please use only A-Z, a-z and space!'; elseif(!ctype_upper($s[0])) $e['name'] = 'The first letter of a name has to be a capital letter!'; elseif(strpos($s, '  ') !== false) $e['name'] = 'This name contains more than one space between words. Please use only one space between words!'; else { foreach(explode(' ', $s) as $k =>$v) { $words[$k] = str_split($v); $len = strlen($v); if($len == 1) { $e['name'] = 'This name contains a word with only one letter. Please use more than one letter for each word!'; break; } elseif($len > 14) { $e['name'] = 'This name contains a word that is too long. Please use no more than 14 letters for each word!'; break; } } if(!isset($e['name'])) { $total=0; foreach($words as $k =>$p) { if(isset($e['name'])) break; $total++; if($total > 3) { $e['name'] = 'This name contains more than 3 words. Please choose another name!'; break; } $len=0; foreach($p as $i =>$j) { $len++; if($i != 0 && ctype_upper($j)) { $e['name'] = 'In names capital letters are only allowed at the beginning of a word!'; break; } elseif($i == $len-1) { $ff=null; for($h=0;$h<strlen($v); $h++) { if(in_array(strtolower($v[$h]), array('a','e','i','o','u')) !== false) { $ff=true; break; } } if(!$ff) { $e['name'] = 'This name contains a word without vowels. Please choose another name!'; break; } } } } if(!isset($e['name'])) { $s = strtolower($s); for($i = 0; $i < strlen($s); $i++) if($s[$i] == $s[($i+1)] && $s[$i] == $s[($i+2)]) { $e['name'] = 'This character name is already used. Please select another one!'; break; } if(!isset($e['name'])) { foreach(array('aa ', 'ee', 'ii', 'oo', 'uu', 'gm','cm', 'aff ', 'god ', 'abc', 'tutor', 'game', 'admin', 'the ') as $v) if($v == substr($s, 0, strlen($v))) { $e['name'] = 'This character name is already used. Please select another one!'; break; } if(!isset($e['name'])) { foreach(array('game', 'customer', 'support', 'fuck', 'haha', 'sux', ' abc', 'suck', 'noob', 'tutor', 'admin', 'account', 'gay', 'password', 'manager', 'frost dragon', 'dragon lord', 'dragon', 'demon', 'minotaur', 'hydra') as $v) if(strpos($s, $v) !== false) { $e['name'] = 'This character name is already used. Please select another one!'; break; } if(!isset($e['name'])) { if(!isset($con)) { $con = mysql_pconnect($config['server']['sqlHost'], $config['server']['sqlUser'], $config['server']['sqlPass']) or die('MySQL connection error.'); mysql_select_db($config['server']['sqlDatabase']); } if(mysql_num_rows(mysql_query('SELECT id FROM players WHERE name=\''.mysql_escape_string($s).'\' LIMIT 1')) != 0) $e['name'] = 'This character name is already used. Please select another one!'; } } } } } }   if(!isset($_POST['world']) || empty($_POST['world'])) $e['world'] = 'Please select a game world for your character!';   if(!isset($_POST['sex']) || ($_POST['sex'] != 'male' && $_POST['sex'] != 'female')) $e['sex'] = 'Please select the sex for your character!';   if(count($voc) != 0 && (!isset($_POST['vocation']) || !is_numeric($_POST['vocation']) || !isset($voc[$_POST['vocation']]))) $e['vocation'] = 'Please select the vocation for your character!';   $s = isset($_POST['email']) ? $_POST['email'] : '';   if($s == '') $e['email'] = 'Please enter your email address!'; elseif(strlen($s) > 49) $e['email'] = 'Your email address is too long!'; elseif(!filter_var($s, FILTER_VALIDATE_EMAIL)) $e['email'] = 'This email address has an invalid format. Please enter a correct email address!'; else { if(!isset($con)) { $con = mysql_pconnect($config['server']['sqlHost'], $config['server']['sqlUser'], $config['server']['sqlPass']) or die('MySQL connection error.'); mysql_select_db($config['server']['sqlDatabase']); } if(mysql_num_rows(mysql_query('SELECT id FROM accounts WHERE email=\''.mysql_escape_string($s).'\' LIMIT 1')) != 0) $e['email'] = 'This email address is already used. Please enter another email address!'; }   $s1 = isset($_POST['password1']) ? $_POST['password1'] : ''; $s2 = isset($_POST['password2']) ? $_POST['password2'] : '';   if(empty($s2)) $e['pass'] = 'Please enter the password again!'; elseif($s1 != $s2) $e['pass'] = 'The two passwords do not match!'; else { $err = array(); if(strlen($s1) < 8 || strlen($s1) > 29) $err[] = 'The password must have at least 8 and less than 30 letters!'; if(!ctype_alnum($s1)) $err[] = 'The password contains invalid letters!'; if(!preg_match('/[a-zA-Z]/', $s1)) $err[] = 'The password must contain at least one letter A-Z or a-z!'; elseif(!preg_match('/[0-9]/', $s1)) $err[] = 'The password must contain at least one letter other than A-Z or a-z!';   if(count($err) != 0) { $e['pass'] = ''; for($i=0; $i < count($err); $i++) $e['pass'] .= ($i == 0 ? '' : '<br/>').$err[$i]; } }   if(!isset($_POST['agreeagreement']) || empty($_POST['agreeagreement'])) $e['agreement'] = 'You have to agree to the Tibia Service Agreement in order to create an account!'; if(!isset($_POST['agreerules']) || empty($_POST['agreerules'])) $e['rules'] = 'You have to agree to the Tibia Rules in order to create an account!'; if(!isset($_POST['agreeprivacy']) || empty($_POST['agreeprivacy'])) $e['privacy'] = 'You have to agree to the Tibia Privacy Policy in order to create an account!';   if(count($e) == 0) { $worldid = NULL; foreach($config['site']['worlds'] as $id =>$name) if($worlds[$id] && $name == $_POST['world']) { $worldid = $id; break; } if($worldid === FALSE) $e['world'] = 'Please select a valid game world.'; }   if(count($e) != 0) { $main_content = '<div class="SmallBox"><div class="MessageContainer"><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="ErrorMessage"><div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><div class="AttentionSign" style="background-image:url('.$layout_name.'/images/content/attentionsign.gif)"/></div><b>The Following Errors Have Occurred:</b><br/>'; foreach($e as $error) $main_content .= $error.'<br/>'; $main_content .= '</div><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div></div></div><br/>'; } else { $random = rand(1, 9999999); $n = $random; $cur = array();   $q = mysql_query('SELECT id FROM accounts'); while ($r = mysql_fetch_array($q, MYSQL_NUM)) $cur[] = $r[0];   while(true) { if(!in_array($n, $cur)) break;   $n++;   if($n > 9999999) $n = 1;   if($n == $random) die('Failed to create account.'); }   if(mysql_query("INSERT INTO accounts (id,name,password,premdays,email,created) VALUES($n,'".$_POST['accountname']."','".($config['server']['encryptionType'] == 'plain' ? $_POST['password1'] : hash($config['server']['encryptionType'], $_POST['password1']))."','".($config['site']['newaccount_premdays'])."','".$_POST['email']."',".time().")") === true) { $sample = (count($voc) == 0 ? 'Rook' : $voc[$_POST['vocation']]).' Sample'; $q = mysql_query("SELECT id,vocation,town_id,experience,level,maglevel,health,healthmax,mana,manamax,soul,lookbody,lookfeet,lookhead,looklegs,lookaddons,cap,save,posx,posy,posz FROM players WHERE name='$sample' LIMIT 1"); if(mysql_num_rows($q) != 1) die('Missing sample character ('.$sample.')');   $q = mysql_fetch_array($q); mysql_query('INSERT INTO players (name,world_id,account_id,level,vocation,health,healthmax,experience,lookbody,lookfeet,lookhead,looklegs,looktype,lookaddons,maglevel,mana,manamax,soul,town_id,posx,posy,posz,cap,sex,created) VALUES(\''.$_POST['name'].'\','.$worldid.','.$n.','.$q['level'].','.$q['vocation'].','.$q['health'].','.$q['healthmax'].','.$q['experience'].','.$q['lookbody'].','.$q['lookfeet'].','.$q['lookhead'].','.$q['looklegs'].','.($_POST['sex'] == 'female' ? 136 : 128).','.$q['lookaddons'].','.$q['maglevel'].','.$q['mana'].','.$q['manamax'].','.$q['soul'].','.$q['town_id'].','.$q['posx'].','.$q['posy'].','.$q['posz'].','.$q['cap'].','.($_POST['sex'] == 'female' ? 0 : 1).','.time().')'); } else die('Failed to create account.'); $main_content = '<div class="SmallBox"><div class="MessageContainer"><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="Message"><div class="BoxFrameVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><div class="BoxFrameVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></div><table><tr><td class="LabelV">Note:</td><td style="width:100%"><p>Your account and character have been created successfully.</p></td></tr></table></div><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"/></div><div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div><div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></div></div></div><div class="BoxFrameHorizontal" style="background-image:url('.$layout_name.'/images/content/box-frame-horizontal.gif)"></div><div class="BoxFrameEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></div><div class="BoxFrameEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></div><br/><div class="TableContainer"><table class="Table4" cellpadding="0" cellspacing="0"><div class="CaptionContainer"><div class="CaptionInnerContainer"><span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span><span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span><span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></span><div class="Text">Download Client</div><span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"/></span><span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span><span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"/></span></div></div><tr><td><div class="InnerTableContainer"><table style="width:100%"><tr><td><table width="100%" cellpadding=0 cellspacing=0><tr><td style="vertical-align:top"><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td><table style="width:100%;text-align:center"><tr><td><a href="http://tibiaclient.com/files/tibia'.$version.'.exe" type="application/octet-stream" target="_top"><img style="width:180px;height:180px;border:0px" src="account/download_windows.png"/></a></td><td><a href="http://tibiaclient.com/files/tibia'.$version.'.tar" type="application/octet-stream" target="_top"><img style="width:180px;height:180px;border:0px" src="account/download_linux.png"/><br/></a></td></tr><tr><td valign="top"><a href="http://www.mediafire...g48tx82cm8neenj" type="application/octet-stream" target="_top">Baixe nosso Cliente Propio</a></td><td valign="top"><a href="http://tibiaclient.com/files/tibia'.$version.'.tar" type="application/octet-stream" target="_top">Linux Tibia Client '.(sprintf('%01.2f', $version / 100)).'</a></td></tr><tr><td colspan="2">[<span class="HelpLink" onClick="window.open(\'http://www.tibia.com...=requirementes\' \'Help\', \'width=380px, height=310px, scrollbars=yes\')"><a>system requirements</a></span>]</td></tr></table></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td><td style="vertical-align:top"><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td style="text-align:center"><img style="width:254px;height:218px;margin:7px" src="account/successful_download.jpg"/></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr></table><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td class="LabelV">Disclaimer</td></tr><tr><td>The software and any related documentation is provided "as is" without warranty of any kind. The entire risk arising out of use of the software remains with you. In no event shall CipSoft GmbH be liable for any damages to your computer or loss of data.</td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr></table></div></table></div></td></tr>'; return; } } else $_POST['step'] = '';   $main_content .= '<script type="text/javascript" src="account/jquery.js"></script> <script type="text/javascript" src="account/create_character.js"></script> <script type="text/javascript">var PreselectServerLocation="'.$default.'";var g_FormName="CreateAccountAndCharacter";var g_FieldName="accountname";document.getElementById("ActiveSubmenuItemIcon_createaccount").style.visibility = "visible";'; foreach($worlds as $k =>$v) // create dynamic server list $main_content .= 'ServerList.push(new Array(\''.$config['site']['worlds'][$k].'\', \''.$v[0].'\', \''.$v[1].'\'));'; $main_content .= '</script><div style="position:relative;top:0px;left:0px"><form action="/index.php?subtopic=createaccount" method=post name="CreateAccountAndCharacter"><div class="TableContainer"><table class="Table5" cellpadding="0" cellspacing="0"><div class="CaptionContainer"><div class="CaptionInnerContainer"><span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span><span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span><span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span><div class="Text">Create New Account</div><span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif)"></span><span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif)"></span><span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span><span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif)"></span></div></div><tr><td><div class="InnerTableContainer"><table style="width:100%"><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td class="LabelV150"><span id="accountname_label"'.(isset($e['acc']) ? ' class=red"' : '').'>Account Name:</span></td><td><input id="accountname" name="accountname" class="CipAjaxInput" style="width:206px;float:left" value="'.(isset($_POST['accountname]) ? htmlspecialchars(substr($_POST['accountname'], 0, 30)) : '').'" size=30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_accountname.php\',PostData: \'a_AccountName=\'+this.value,Method: \'POST\'})"/><div id="accountname_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step] != 'docreate' || isset($e['acc']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td></td><td><span id=accountname_errormessage" class="FormFieldError">'.(isset($e['acc]) ? $e['acc'] : '').'</span></td></tr><tr><td class=LabelV150"><span id="email_label"'.(isset($e['email]) ? ' class="red"' : '').'>Email Address:</span></td><td><input id="email" name="email" class="CipAjaxInput" style="width:206px;float:left" value="'.(isset($_POST['email']) ? htmlspecialchars(substr($_POST['email'], 0, 50)) : '').'" autocomplete=off" size="30" maxlength="50" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_email.php\',PostData: \'a_EMail=\'+this.value,Method: \'POST\'})"/><div id="email_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step] != 'docreate' || isset($e['email']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td></td><td><span id=email_errormessage" class="FormFieldError">'.(isset($e['email]) ? $e['email'] : '').'</span></td></tr><tr><td class=LabelV150"><span id="password1_label"'.(isset($e['pass]) ? ' class="red"' : '').'>Password:</span></td><td><input id="password1" type="password" autocomplete="off" name="password1" style="width:206px;float:left" value="'.(isset($_POST['password1']) ? htmlspecialchars(substr($_POST['password1'], 0, 30)) : '').'" size=30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_password.php\',PostData: \'a_Password1=\'+getElementById(\'password1\').value+\'&a_Password2=\'+getElementById(\'password2\').value,Method: \'POST\'})"/><div id="password1_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step] != 'docreate' || isset($e['pass']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td class=LabelV150"><span id="password2_label"'.(isset($e['pass]) ? ' class="red"' : '').'>Password Again:</span></td><td><input id="password2" type="password" name="password2" style="width:206px;float:left" value="'.(isset($_POST['password2']) ? htmlspecialchars(substr($_POST['password2'], 0, 30)) : '').'" size=30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_password.php\',PostData: \'a_Password1=\'+getElementById(\'password1\').value+\'&a_Password2=\'+getElementById(\'password2\').value,Method: \'POST\'})"/><div id="password2_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step] != 'docreate' || isset($e['pass']) ? 'n' : '').'ok.gif)"></div></td></tr><tr><td></td><td><span id=password_errormessage" class="FormFieldError">'.(isset($e['pass]) ? $e['pass'] : '').'</span></td></tr></table></div></div><div class=TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td class="LabelV150"><span id="charactername_label"'.(isset($e['name]) ? ' class="red"' : '').'>Character Name:</span></td><td><input id="charactername" name="name" class="CipAjaxInput" style="width:206px;float:left;position:relative" style="float:left" value="'.(isset($_POST['name']) ? htmlspecialchars(str_replace('+', ' ', substr(trim($_POST['name']), 0, 30))) : '').'" size=30" maxlength="30" onBlur="SendAjaxCip({DataType: \'Container\'}, {Href: \'account/ajax_charactername.php\',PostData: \'a_CharacterName=\'+this.value,Method: \'POST\'})"/><div id="charactername_indicator" class="InputIndicator" style="background-image:url(account/'.($_POST['step] != 'docreate' || isset($e['name']) ? 'n' : '').'ok.gif)"></div>'; if($suggestname) $main_content .= '<br/><small>[<a class="CipAjaxLink" href="https://secure.tibia...suggestname.php" ajaxcip="true" ajaxcip_datatype="Container">suggest name</a>]</small>'; $main_content .= '</td></tr><tr><td></td><td><span id="charactername_errormessage" class="FormFieldError">'.(isset($e['name']) ? $e['name'] : '').'</span></td></tr><tr><td class=LabelV150"><span'.(isset($e['sex]) ? ' class="red"' : '').'>Sex:</span></td><td><table width="100%"><tr><td><span style="margin-right:75px" class="OptionContainer"><label for="sex_male"><span class="OptionContainer"><input id="sex_male" type="radio" name="sex" value="male"'.(($_POST['sex'] == 'male' || $_POST['step'] != 'docreate') ? ' checked=checked"' : '').'/><label for="sex_male">male</label></span></label></span><span class="OptionContainer"><label for="sex_female"><span class="OptionContainer"><input id="sex_female" type="radio" name="sex" value="female"'.($_POST['sex] == 'female' ? ' checked="checked"' : '').'/><label for="sex_female">female</label></span></label></span></td><td></td></tr></table></td></tr>'.(isset($e['sex']) ? '<tr><td></td><td><span class=FormFieldError">'.$e['sex].'</span></td></tr>' : ''); if(count($voc) != 0) { $main_content .= '<tr><td class="LabelV150"><span'.(isset($e['vocation']) ? ' class="red"' : '').'>Vocation:</span></td><td><table width="100%"><tr><td>'; foreach($voc as $k => $v) $main_content .= '<span style="margin-right:15px" class="OptionContainer"><label for="vocation_'.$k.'"> <span class="OptionContainer"><input id="vocation_'.$k.'" type="radio" name="vocation" value="'.$k.'"'.($_POST['vocation'] == $k ? ' checked="checked"' : '').'/><label for="vocation_'.$k.'">'.$v.'</label></span></label></span>'; $main_content .= '</td><td></td></tr></table></td></tr>'.(isset($e['vocation']) ? '<tr><td></td><td><span class=FormFieldError">'.$e['vocation].'</span></td></tr>' : ''); } $main_content .= '</table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%">'; if(count($location)>1) { // show server location filter $main_content .= '<tr id="filterbox_location"><td class="LabelV150"><span'.(isset($e['world']) ? ' class="red"' : '').'>World Location:</span></td><td><table width="100%"><tr><td width="33%" valign="top"><script>CreateFilterOption(\'server_location\', \'all\', \'all\')</script>&nbsp;&nbsp;</td>'; $i=0; foreach($location as $k =>$v) { $i++; $main_content .= '<td '.($i == count($location) ? '' : 'width="33%" ').'valign="top"><script>CreateFilterOption(\'server_location\', \''.$k.'\', \''.$v.'\')</script>&nbsp;&nbsp;</td>'; } $main_content .= '</tr></table></td></tr>'; } $main_content .= '<tr id="filterbox_pvp"><td class="LabelV150"><span'.(isset($e['world']) ? ' class="red"' : '').'>World Type:</span></td><td><div>';   $optional=true; $open=true; $hardcore=true;   foreach($worlds as $k =>$v) { // remove selection if there's no valid worlds if($optional && $v[1] == 'optional') unset($optional); elseif($open && $v[1] == 'open') unset($open); elseif($hardcore && $v[1] == 'hardcore') unset($hardcore); elseif(!$optional && !$open && !$hardcore) break; }   $n = 0; foreach(array($optional, $open, $hardcore) as $k) if(!$k) $n++; $main_content .= '<table width="'.round(33.33 *  $n).'%"><tr>'; if(!$optional) $main_content .= '<td width="'.(100 / $n).'%" align="center" valign="top"><b><script>CreateFilterOption(\'server_pvp_type\', \'optional\', \'Optional PvP\')</script></b>&nbsp;&nbsp;Only if both sides agree, characters can be fought<br/><br/></td>'; if(!$open) $main_content .= '<td width="'.(100 / $n).'%" align="center" valign="top"><b><script>CreateFilterOption(\'server_pvp_type\', \'open\', \'Open PvP\')</script></b>&nbsp;&nbsp;Killing other characters is possible, but restricted<br/><br/></td>'; if(!$hardcore) $main_content .= '<td align="center" valign="top"><b><script>CreateFilterOption(\'server_pvp_type\', \'hardcore\', \'Hardcore PvP\')</script></b>&nbsp;&nbsp;Killing other characters is not restricted at all<br/><br/></td>';   $main_content .= '</tr></table></div></td></tr><tr><td class="LabelV150"><span'.(isset($e['world']) ? ' class="red"' : '').'>World Name:</span></td><td><div id="js_world_box" style="display:none"><table width="100%"><tr id="world_list_tr" style="text-align:left"></tr></table><span onClick="ToggleVisibility(\'js_world_box\', \'suggested_world_box\'); UpdateServerList(); "><small>[<a style="cursor:pointer">suggest game world</a>]</small></span></div><div id="suggested_world_box">Suggested world: <span id="suggested_world_div"></span><br/><span onClick="ToggleVisibility(\'suggested_world_box\', \'js_world_box\'); "><small>[<a style="cursor:pointer">change game world</a></span>]</small></div></td></tr><tr><td><table id="js_world_box" width="100%"><tr id="world_list_tr"></tr></table><table id="plain_world_box" width="100%"><tr><td>'; foreach($worlds as $k =>$v) $main_content .= '<input id="server_static_'.$config['site']['worlds'][$k].'" type=radio" name="world" value="'.$config['site]['worlds'][$k].'"'.($config['site']['worlds'][$k] == $_POST['world'] ? ' checked=checked"' : '').'><label for="server_static_'.$config['site]['worlds'][$k].'">'.$config['site']['worlds'][$k].'</label><br/>'; $main_content .= '</td></tr></table></td></tr>'.(isset($e['world']) ? '<tr><td></td><td><span class=FormFieldError">'.$e['world].'</span></td></tr>' : '').'</table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><tr><td><div class="TableShadowContainerRightTop"><div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/content/table-shadow-rt.gif)"></div></div><div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-rm.gif)"><div class="TableContentContainer"><table class="TableContent" width="100%"><tr><td><b>Please select all of the following check boxes:</b></td></tr><tr><td><input type="checkbox" name="agreeagreement" value="true"  onClick="if(this.checked == true) {  document.getElementById(\'agreeagreement_errormessage\').innerHTML = \'\';} else {  document.getElementById(\'agreeagreement_errormessage\').innerHTML = \'You have to agree to the Tibia Service Agreement in order to create an account!\';}"'.($_POST['step'] == 'docreate' && !isset($e['agreement']) ? ' checked=checked"' : '').'/>I agree to the <a href="/index.php?subtopic=legaldocuments&page=agreement" target="_blank">Tibia Service Agreement</a>.</td></tr><tr><td><span id="agreeagreement_errormessage" class="FormFieldError">'.(isset($e['agreement]) ? $e['agreement'] : '').'</span></td></tr><tr><td><input type=checkbox" name="agreerules" value="true"  onClick="if(this.checked == true) {  document.getElementById(\'agreerules_errormessage\').innerHTML = \'\';} else {  document.getElementById(\'agreerules_errormessage\').innerHTML = \'You have to agree to the Tibia Rules in order to create an account!\';}"'.($_POST['step] == 'docreate' && !isset($e['rules']) ? ' checked=checked"' : '').'/>I agree to the <a href="/index.php?subtopic=legaldocuments&page=rules" target="_blank">Tibia Rules</a>.</td></tr><tr><td><span id="agreerules_errormessage" class="FormFieldError">'.(isset($e['rules]) ? $e['rules'] : '').'</span></td></tr><tr><td><input type=checkbox" name="agreeprivacy" value="true"  onClick="if(this.checked == true) {  document.getElementById(\'agreeprivacy_errormessage\').innerHTML = \'\';} else {  document.getElementById(\'agreeprivacy_errormessage\').innerHTML = \'You have to agree to the Tibia Privacy Policy in order to create an account!\';}"'.($_POST['step] == 'docreate' && !isset($e['privacy']) ? ' checked=checked"' : '').'/>I agree to the <a href="/index.php?subtopic=legaldocuments&page=privacy" target="_blank">Tibia Privacy Policy</a>.</td></tr><tr><td><span id="agreeprivacy_errormessage" class="FormFieldError">'.(isset($e['privacy]) ? $e['privacy'] : '').'</span></td></tr></table></div></div><div class="TableShadowContainer"><div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bm.gif)"><div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-bl.gif)"></div><div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/content/table-shadow-br.gif)"></div></div></div></td></tr><script type="text/javascript">PreselectWorld="'; if(isset($_POST['world']) && !empty($_POST['world'])) foreach($config['site']['worlds'] as $id =>$name) if($worlds[$id] && $name == $_POST['world']) { $main_content .= $name; break; } $main_content .= '";InitializeCharacterCreator(PreselectServerLocation, \''.(!$optional ? 'optional' : (!$open ? 'open' : 'hardcore')).'\')</script></table></div></table></div></td></tr><br/></div><center><table border="0" cellspacing="0" cellpadding="0"><tr><td style="border:0px"><input type="hidden" name=step value=docreate><input type="hidden" name=noframe value=""><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)"><div onMouseOver="MouseOverBigButton(this)" onMouseOut="MouseOutBigButton(this)"><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif)"></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif"></div></div></td><tr></form></table></center><script type="text/javascript" language="javascript">document.forms[\'CreateAccountAndCharacter\'].elements[\'accountname\'].focus();</script><script type="text/javascript" src="account/generic.js"></script><script type="text/javascript" src="account/ajaxcip.js"></script>';
  19. Gostei
    Moose recebeu reputação de porxmex em um (ctrl+f no terminal )   
    apt-get install unrar
    unrar x otserv.rar
    para descompactar para uma pasta especifica
    unrar x otserv.rar /home ou nome da pasta que quizer.
     
  20. Gostei
    Moose recebeu reputação de LucasDipic em [Resolvido] Erro Ao Compilar Servidor Linux   
    use esse comando eu usso no ubuntu 10.4 e nunca deu esse erro executa ele se tivr alguma lib que nao foi instalado esse comando vai instalar.
     
     
    apt-get install libboost1.40-dev libboost-system1.40-dev libboost-filesystem1.40-dev libboost-date-time1.40-dev libboost-regex1.40-dev libboost-thread1.40-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev mysql-client-5.1 mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev mysql-client zlib1g libcrypto++-dev libcrypto++8
  21. Gostei
    db.executeQuery("UPDATE `players` SET `stamina` = "..stamina_now+minutes.." WHERE `id` = "..id)
     
    troque para
     
    db.executeQuery("UPDATE `players` SET `stamina` = "..stamina_now+minutes.." WHERE `id` = "..id";")
  22. Negativo
    Moose recebeu reputação de Markin em [Resolvido] Galinha que bota ovos   
    comedinhass olha o post ai talves voce saiba fazer.
  23. Negativo
    Moose recebeu reputação de Markin em [Resolvido] Galinha que bota ovos   
    Ninguem pra ajudar no forum?
  24. Gostei
    Moose recebeu reputação de tiagoduuarte em [DUVIDA] Znote é bom?   
    sim e muito bom, usei ele um tempo tem uma boa segurança scripts faceis de entender
  25. Gostei
    Moose recebeu reputação de juliorpv em MOD Arena Svargrond Bugado   
    Bem gente meu problema e o seguinte eu tenho um global 9.81 e uso o MOD Arena Svargrond do adm Matheus, porem faço a primeira arena sem problemas. na segunda começa dar esse erro:



    [12:53:40.592] mysql_real_query(): INSERT INTO `player_storage` (`player_id`, `key`, `value`) VALUES (7,'','1'),(7,'0','1'),(7,'12036','1'),(7
    ,'20500','1'),(7,'42300','0'),(7,'42301','0'),(7,'42302','0'),(7,'42303','0'),(7,'42304','0'),(7,'42305','0'),(7,'42306','0'),(7,'42307','0'),
    (7,'42308','0'),(7,'42309','0'),(7,'42310','0'),(7,'42311','0'),(7,'42312','0'),(7,'42313','0'),(7,'42314','0'),(7,'42315','0'),(7,'42316','0'
    ),(7,'42317','0'),(7,'42318','0'),(7,'42319','0'),(7,'42320','0'),(7,'42321','0'),(7,'42322','0'),(7,'42323','0'),(7,'42324','0'),(7,'42325','
    0'),(7,'42326','0'),(7,'42327','0'),(7,'42328','0'),(7,'42329','0'),(7,'42350','0'),(7,'42352','0'),(7,'42355','0'),(7,'42360','1'),(7,'42361'
    ,'1'),(7,'42370','1'),(7,'42371','1'),(7,'45450','2'),(7,'45451','0'),(7,'46000','42309'),(7,'47000','1073790106') - MYSQL ERROR: Duplicate entry '7-0' for key 'player_id_2' (1062)
    [12:53:40.599] Error while saving player: Teste

    de duplicação e nao salva o char, ai começa o problema de poder clonar items, se alguem sabe como resolver e me ajudar ganha meu rep+


    UP será quem ninguem sabe de nada?


    UP alguem sabe algum coisa sobre pelo amor de deus.

Informação Importante

Confirmação de Termo