Ir para conteúdo

koalla1235

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    koalla1235 deu reputação a Felipek9 em [TUTORIAL] Compilar Debian 7 e Ubuntu 12.07 - TFS 1.0   
    E ai galera, venho para minha primeira contribuição! Tenho visto bastante pessoas com dificuldade ao compilar em Linux. Estarei inserindo imagens ao TUTORIAL para facilitar e melhor explicar.   PROGRAMAS NECESSÁRIOS: http://the.earth.li/~sgtatham/putty/0.63/x86/putty.exe- Putty - Para conectar ao Terminal. http://sourceforge.net/projects/filezilla/files/FileZilla_Client/3.9.0.5/FileZilla_3.9.0.5_win32-setup.exe/download?use_mirror=ufpr -Filezilla - Para transferir arquivos ao servidor.     PASSO 1: Acessar o servidor via SSH utilizando o programa Putty. (imagem Putty 1) (imagem Putty 2)     PASSO 2: Digite os comandos abaixo no Putty após conectado. apt-get update apt-get upgrade     PASSO 3: Instalando apache2 apt-get install apache2 cd /var/www     PASSO 4: Instalando php5 cd /var/www apt-get install php5 /etc/init.d/apache2 restart   Apache2 e PHP5 são necessários para deixar o website online. Você pode acessar através de seu IP faça o teste. Digite o seu IP no navegador.     PASSO 5: Instalando MySQL, nos comandos abaixo será necessário a escolha de uma senha para o MySQL  apt-get install mysql-server apt-get install libapache2-mod-auth-mysql apt-get install php5-mysql   Concluída a instalação do MySQL, aplicação necessária para a Database do seu servidor. Você pode acessar através do seu IP seuip/phpmyadmin     PASSO 6: Instalando phpmyadmin, os comandos abaixo será necessário a escolha de uma senha para acesso ao Banco de Dados. apt-get install phpmyadmin   DEBIAN - ln -fvs /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf /etc/init.d/apache2 restart   UBUNTU - echo "include /etc/phpmyadmin/apache.conf" | sudo tee -a /etc/apache2/apache2.conf   Feito isto, está quase tudo pronto. VOcê pode acessar seu banco de dados atraves do seu ip seguindo de /phpmyadmin. Ficando http://seuip/phpmyadmin    Acesse seu banco de dados    USER: root  Password: selecionado no passo acima.     PASSO 7: Compilando o servidor. Nos passos abaixo fará necessário a transferência de arquivos ao seu servidor, você usará o programa FILEZILLA.   Código abaixo, necessário para instalação das Libs para compilar TFS 1.0, caso apareça alguma mensagem de Y ou N, digite Y sudo apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev   PASSO 8: Enviando o datapack, sources e website ao Servidor. Execute o aplicativo FILEZILLA  (Imagem Filezilla 1)   Acesse seu servidor com o mesmo usuário e senha para acessar o Putty.  Usuário: root Senha: sua senha   Acesse o diretório home /home   Envie todos os arquivos para o /home (desktop), concluída transferencia é hora de compilar.   PASSO 9: Acesse a pasta onde estão as Sources de seu TFS 1.0 cd /home/sources   E execute o comando mkdir build && cd build   PASSO 10: Instalando CMake apt-get install cmake   PASSO 11: Execute o comando para compilar o servidos, neste passo se faz necessário você estar no diretório de suas Sources onde o arquivos CMakeLists.txt está e execute cmake ..   PASSO 12: Compilando o TFS 1.0 make   Concluída 100% seu servidor foi Compilado com sucesso.   PASSO 13: Agora através do FILEZILLA, acesse o diretório /home/sources/build e mova o arquivo TFS para a pasta onde está seu datapack.   Para facilitar em seu servidor, através FILEZILLA crie uma pasta chama otserv no diretório /home (imagem diretório datapack)   Envie a pasta >>data<< o >>config.lua<< e o arquivo compilado >>TFS<< para dentro da pasta otserv.    PASSO 14: Dando autorização para TFS, via Putty digite   cd /home/otserv chmod 777 -R tfs   PASSO 15: Ligando o TFS   apt-get install screen screen ./tfs   PASSO 16:  Inserindo sua database ao MySQL. http://seuip/phpmyadmin   Insira seu usuário e senha, conectado ao phpmyadmin, na área superior clique em SQL e execute o comando abaixo CREATE DATABASE global   Acesse ao banco de dados criado, clique no banco de dados Global, vá até a aba superior Importar, escolha o a database de seu website no qual se encontra em seu computador e Execute.   PASSO 17: Inserindo seu WebSite ao servidor. No FILEZILLA vá até o diretório abaixo /var/www   Delete todos os arquivos existem dentro desta pasta, e transfira o seu website para dentro deste diretório. Faça as configurações em seu website através do config.php Lembrando que o server path deverá estar como abaixo. $config['site']['serverPath'] = "/home/otserv/";   PASSO 18: Concluído! Agora é só você estar fazendo as configurações de seu servidor e website.     Pessoal, este é meu primeiro tutorial, caso haja algum erro ou haja alguma dúvida fico a disposição para os ajudar.
  2. Obrigado
    koalla1235 deu reputação a LeoTK em Add Exausted canal da Party e Guild Ajuda ?   
    @koalla1235 achei na internet não testado

    Em condition.h
     
    Procure por: CONDITION_EXHAUST_OTHERS = 1 << 26 Adicione abaixo: CONDITION_TRADE_MUTED = 1 << 27 * obs: não esqueça de adicionar uma vírgula após 26 em Exemplo: CONDITION_EXHAUST_OTHERS = 1 << 26;  
    Em condition.cpp
     
    Procure por: case CONDITION_TRADE_MUTED: Adicione abaixo: case CONDITION_HELP_MUTED:  
    Em Chat.cpp
     
    Procure por: if(type == SPEAK_CHANNEL_Y && player->hasFlag(PlayerFlag_TalkOrangeHelpChannel)){ type = SPEAK_CHANNEL_O; } Adicione abaixo: if(!player->hasFlag(PlayerFlag_CannotBeMuted)){ if(channelId == CHANNEL_HELP && player->hasCondition(CONDITION_HELP_MUTED)){ player->sendCancel("You may only ask something else in two minutes."); return true; } Procure por: if(getId() == CHANNEL_TRADE){ Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_TRADE_MUTED, 120000, 0); fromPlayer->addCondition(condition); } Adicione abaixo: if(getId() == CHANNEL_HELP){ Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_HELP_MUTED, 120000, 0); fromPlayer->addCondition(condition); } * mude 120000 pela quantidade de tempo mudo, 120000 = 2 minutos
    * Você só pode pedir outra coisa em dois minutos / você pode mudar para o que quiser
  3. Negativo
    koalla1235 recebeu reputação de LeoTK em Maximo de players na guild   
    afs ninguem mais ajuda em nada nesses forum nem sei porque existe isso ainda só por deus ...
  4. Curtir
    koalla1235 deu reputação a marcot em Por Level para dar use no Item   
    Tenta adicionar estas três linhas de código logo depois daquela sequência de confugurações com aqueles local agua, local pedra, etc.
     
    local levelMinimo = 100 if getPlayerLevel(cid) < levelMinimo then return doPlayerSendTextMessage(cid, 27, "Voce nao possui level para usar este item.") end  
  5. Gostei
    koalla1235 deu reputação a xWhiteWolf em Novo Sistema de Trainer [0.36~0.4]   
    Olá meus caros do Tibia King, hoje vim trazer pra vocês um sistema que bolei pra um concurso em outro fórum mas acabei ficando descontente e nunca cheguei a disponibilizar.
    Eu gostaria de agradecer inicialmente à três acontecimentos que sem eles não seriam possíveis a criação desse sistema.
    - A otlist obrigar que os servidores utilizem anti idle 
    - Os mages do meu servidor reclamarem que não dava pra treinar ml nos trainers
    - Ao @Storm Night, que embora tenha me irritado muito nesse tópico aqui , botou a sementinha dessa idéia na minha cabeça. 
     

     
    Explicação É a combinação de dois sistemas que eu ja havia feito, o primeiro escolhe entre todas as salas de treiner aquela que está vazia pra te alocar e o segundo te mantém alimentado e rodando pra simular o anti idle. (Nota: ele não impede o anti idle de fato, se vc quiser fazer isso vc vai precisar editar o script de anti idle que vc utiliza pra ignorar players com determinado storage e adicionar o storage no player quando ele entrar na sala e tirar ao sair.. mas não sei até que ponto isso pode provocar ban da OTservlist por isso decidi não ensinar isso aqui.)

    Sem mais delongas, talk is cheap, show me the code. 
     
    Idéia Basicamente dá pra reduzir toda a idéia do código nessa foto aqui:
     

    Você tem diversas salas com trainers nesse formato (pode ser em linha reta horizontal ou vertical tb, mas assim fica melhor distribuído). Você inclusive pode criar salas no meio do void  de forma que a distancia de uma vc nao consiga ver a outra e vai ser uma experiencia muito amigável para o player ver que está treinando sozinho na paz. Ao entrar no tp ele te aloca na primeira sala vazia, se não houverem salas vazias ele retorna que não tem posições livres

     
    Instalação Você precisa criar as salinhas dos trainers equidistantemente, ou seja, tendo a mesma distância A em X e mesma distância B em Y. Sério, se vc errar nessa parte é porque vc não sabe oque significa equidistante. Vai pesquisar preguiçoso!! Já aviso que não vou dar suporte quanto à isso.

    Você vai precisar criar salas parecidas com isso daqui:
     

    Perceba que não tem como ter acesso a essa sala, não tem como ser puxado pra fora do trainer, não tem dor de cabeça nenhuma e quando o player quiser sair ele só entra no tp e volta pro templo ou pra onde vc definir.

    Nesse teleport da sala vc adiciona o actionid 14877 e não bota nenhuma posição nele.
    Naquele tile que o player irá ficar que inclusive tem id diferente vc bota actionid 14878.
    Agora seleciona a area dessa sala no rme e vai copiando e colando percebendo sempre se vc tá criando as salas com mesma distância em X. Se o ponto inicial de uma sala é 140 e vc quer que todas tenham 12 sqm de distancia vc cria em 152, 164, 178.. por aí vai. 

    Quando terminar as salas que quiser e tiver montado as linhas e colunas da forma que desejou, vc vai criar um tp principal pra alocar os players nessa sala:


    Lembrando que ele não deve ter posição no rme, vc só bota o actionID 14876 e deixa a toPos dele 0, 0, 0. Ele não tem q te teleportar pra nenhum lugar pois a posição será decidida por script.

    Se você fez tudo certo até agora vc deve ter algo +- assim:
     


    O importante é manter a distancia certinha entre cada sala. Aí no caso eu fiz rX = 11 e rY = 8 (é a terceira ou quarta vez q eu to falando isso, se vcs errarem pqp eu vou ficar muito irritado);

    Vc não bota os trainers, e ali embaixo do spawn vc tem que botar um outro obstáculo pra impedir que o player ande pra baixo e dê a sala como livre.


    Feito isso só adicionar os scripts abaixo:
    movements.xml
        <movevent type="StepIn" actionid="14876" event="script" value="trainertp.lua"/>     <movevent type="StepIn" actionid="14877" event="script" value="trainertp2.lua"/>     <movevent type="StepIn" actionid="14878" event="script" value="foodtrainer.lua"/>
    movements/scripts/trainertp.lua:

    movements/scripts/trainertp2.lua:
     


    movements/scripts/foodtrainer.lua:
     

    FIM, qualquer dúvida ou comentário ou sugestão coloquem abaixo. Se gostou REP+, se não gostou REP+ pq deu trabalho e vai ser útil pra alguém, mesmo que de estudo. 
    Abraços do Lobo. 

    E ao cara do outro fórum que ficou falando que ia dar erro e quis ficar me corrigindo e mandando scripts sem noção pra "mostrar" que sabia de lua: 
  6. Gostei
    koalla1235 deu reputação a esnio12 em Ajuda Kawarimi !   
    testa assim
    function onAttack(cid, target) if isPlayer(target) and getPlayerStorageValue(target, 14680) == 1 then doSendMagicEffect(getCreaturePosition(cid), 242) doCreatureAddHealth(cid, -getPlayerLevel(target)) pos = getPlayerPosition(target) doSendMagicEffect(pos, 242) doSendAnimatedText(pos, "Kawarimi Attack!", math.random(1,255)) local safe = { {x=math.random(pos.x+2,pos.x+2), y=math.random(pos.y+2,pos.y+2), z=pos.z}, {x=math.random(pos.x-2,pos.x-2), y=math.random(pos.y-2,pos.y-2), z=pos.z}, {x=math.random(pos.x+2,pos.x+2), y=math.random(pos.y-2,pos.y-2), z=pos.z}, {x=math.random(pos.x-2,pos.x-2), y=math.random(pos.y+2,pos.y+2), z=pos.z} } for i = 1, #safe do rand = math.random(1, #safe) if(queryTileAddThing(target, safe[rand]) == 1) then doTeleportThing(target, safe[rand], true) end end setPlayerStorageValue(target, 14680, 0) doSendMagicEffect(getCreaturePosition(target), 10) else return true end end  
  7. Gostei
    koalla1235 deu reputação a gabriel28 em [PEDIDO] Spell que libera de acordo com seu Magic level   
    Vai no spell.xml e adiciona isso na magia que você quer: maglv="X". No 'X' você poem o valor de ml que quiser.
     
  8. Gostei
    koalla1235 deu reputação a Cat em [Resolvido] Encher life/mana ao upar   
    Como faço para fazer o char se curar toda vez que upa lvl? '-' Os chars tão estão se curando quando upam quis dizer não estão se curando' certo?
     
    vá em data/creaturescripts/scripts e crie um script com o nome hmup
    function onAdvance(cid, skill, oldlevel, newlevel) if skill == SKILL__LEVEL then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doCreatureAddMana(cid, getCreatureMaxMana(cid)) end return TRUE end ainda em data/creaturescripts/script abra o login.lua e adicione em baixo das linhas
    registerCreatureEvent(cid, "hmup") em data/creaturescripts/creaturescripts.xml
    <event type="advance" name="hmup" event="script" value="hmup.lua"/>
  9. Gostei
    koalla1235 deu reputação a Vodkart em Simple Task 3.0   
    08/01/2017
    SISTEMA ATUALIZADO PARA 4.0:
     
     
     
     
    Mods:
  10. Gostei
    koalla1235 deu reputação a L3K0T em Aumentando o ShootEffect /x   
    Bom pessoal estarei aqui lhe ensinando como aumentar os efeito de /x aqueles efeitos de distancia tipo bolt. Então vamo começar, vá em
     
     
    CONST.H e ache
     
    enum ShootEffect_t  
    rolando pra baixo terá o efeito   
     
     SHOOT_EFFECT_CAKE        = 0x29, //41  
    add embaixo o novo efeito ficando
     
    SHOOT_EFFECT_NOVO1        = 0x30, //42  
    SHOOT_EFFECT_NOVO1 = Nome do efeito 42 que dei
    0x30 = id do efeito todo efeito deverar ser +1 no cado efeito 43 terá que ser 31
    //42 = Numero do efeito pra falar no /x 42
     
     
    agora final troque
                                                         
     
    SHOOT_EFFECT_LAST        =  SHOOT_EFFECT_CAKE, para
     
    SHOOT_EFFECT_LAST        =  SHOOT_EFFECT_NOVO1,  
    *toda vez que mudar você deverá botar sempre o ultimo efeito nessa linha, por exemplo efeito 43 seria 
     
    SHOOT_EFFECT_LAST        =  SHOOT_EFFECT_NOVO2, pronto! nossa programação ficou assim \/
     
     
    enum ShootEffect_t { SHOOT_EFFECT_SPEAR = 0x00, SHOOT_EFFECT_BOLT = 0x01, SHOOT_EFFECT_ARROW = 0x02, SHOOT_EFFECT_FIRE = 0x03, SHOOT_EFFECT_ENERGY = 0x04, SHOOT_EFFECT_POISONARROW = 0x05, SHOOT_EFFECT_BURSTARROW = 0x06, SHOOT_EFFECT_THROWINGSTAR = 0x07, SHOOT_EFFECT_THROWINGKNIFE = 0x08, SHOOT_EFFECT_SMALLSTONE = 0x09, SHOOT_EFFECT_DEATH = 0x0A, //10 SHOOT_EFFECT_LARGEROCK = 0x0B, //11 SHOOT_EFFECT_SNOWBALL = 0x0C, //12 SHOOT_EFFECT_POWERBOLT = 0x0D, //13 SHOOT_EFFECT_POISONFIELD = 0x0E, //14 SHOOT_EFFECT_INFERNALBOLT = 0x0F, //15 SHOOT_EFFECT_HUNTINGSPEAR = 0x10, //16 SHOOT_EFFECT_ENCHANTEDSPEAR = 0x11, //17 SHOOT_EFFECT_REDSTAR = 0x12, //18 SHOOT_EFFECT_GREENSTAR = 0x13, //19 SHOOT_EFFECT_ROYALSPEAR = 0x14, //20 SHOOT_EFFECT_SNIPERARROW = 0x15, //21 SHOOT_EFFECT_ONYXARROW = 0x16, //22 SHOOT_EFFECT_PIERCINGBOLT = 0x17, //23 SHOOT_EFFECT_WHIRLWINDSWORD = 0x18, //24 SHOOT_EFFECT_WHIRLWINDAXE = 0x19, //25 SHOOT_EFFECT_WHIRLWINDCLUB = 0x1A, //26 SHOOT_EFFECT_ETHEREALSPEAR = 0x1B, //27 SHOOT_EFFECT_ICE = 0x1C, //28 SHOOT_EFFECT_EARTH = 0x1D, //29 SHOOT_EFFECT_HOLY = 0x1E, //30 SHOOT_EFFECT_SUDDENDEATH = 0x1F, //31 SHOOT_EFFECT_FLASHARROW = 0x20, //32 SHOOT_EFFECT_FLAMMINGARROW = 0x21, //33 SHOOT_EFFECT_SHIVERARROW = 0x22, //34 SHOOT_EFFECT_ENERGYBALL = 0x23, //35 SHOOT_EFFECT_SMALLICE = 0x24, //36 SHOOT_EFFECT_SMALLHOLY = 0x25, //37 SHOOT_EFFECT_SMALLEARTH = 0x26, //38 SHOOT_EFFECT_EARTHARROW = 0x27, //39 SHOOT_EFFECT_EXPLOSION = 0x28, //40 SHOOT_EFFECT_CAKE = 0x29, //41 SHOOT_EFFECT_NOVO1 = 0x30, //42 SHOOT_EFFECT_LAST = SHOOT_EFFECT_NOVO1, //for internal use, dont send to client SHOOT_EFFECT_WEAPONTYPE = 0xFE, //254 SHOOT_EFFECT_NONE = 0xFF, SHOOT_EFFECT_UNKNOWN = 0xFFFF };  
    Agora teremos que ir em Tools.cpp e procure...
     
    ShootTypeNames shootTypeNames role pra baixo vá até o efeito
     
    {"cake", SHOOT_EFFECT_CAKE} logo abaixo add
     
    {"novo1", SHOOT_EFFECT_NOVO1} lembre se da , você nem reparou  ficando...
     
        {"cake",        SHOOT_EFFECT_CAKE},     {"novo1",        SHOOT_EFFECT_NOVO1} bom nossa programação ficou assim...
     
    ShootTypeNames shootTypeNames[] = { {"spear", SHOOT_EFFECT_SPEAR}, {"bolt", SHOOT_EFFECT_BOLT}, {"arrow", SHOOT_EFFECT_ARROW}, {"fire", SHOOT_EFFECT_FIRE}, {"energy", SHOOT_EFFECT_ENERGY}, {"poisonarrow", SHOOT_EFFECT_POISONARROW}, {"burstarrow", SHOOT_EFFECT_BURSTARROW}, {"throwingstar", SHOOT_EFFECT_THROWINGSTAR}, {"throwingknife", SHOOT_EFFECT_THROWINGKNIFE}, {"smallstone", SHOOT_EFFECT_SMALLSTONE}, {"death", SHOOT_EFFECT_DEATH}, {"largerock", SHOOT_EFFECT_LARGEROCK}, {"snowball", SHOOT_EFFECT_SNOWBALL}, {"powerbolt", SHOOT_EFFECT_POWERBOLT}, {"poison", SHOOT_EFFECT_POISONFIELD}, {"infernalbolt", SHOOT_EFFECT_INFERNALBOLT}, {"huntingspear", SHOOT_EFFECT_HUNTINGSPEAR}, {"enchantedspear", SHOOT_EFFECT_ENCHANTEDSPEAR}, {"redstar", SHOOT_EFFECT_REDSTAR}, {"greenstar", SHOOT_EFFECT_GREENSTAR}, {"royalspear", SHOOT_EFFECT_ROYALSPEAR}, {"sniperarrow", SHOOT_EFFECT_SNIPERARROW}, {"onyxarrow", SHOOT_EFFECT_ONYXARROW}, {"piercingbolt", SHOOT_EFFECT_PIERCINGBOLT}, {"whirlwindsword", SHOOT_EFFECT_WHIRLWINDSWORD}, {"whirlwindaxe", SHOOT_EFFECT_WHIRLWINDAXE}, {"whirlwindclub", SHOOT_EFFECT_WHIRLWINDCLUB}, {"etherealspear", SHOOT_EFFECT_ETHEREALSPEAR}, {"ice", SHOOT_EFFECT_ICE}, {"earth", SHOOT_EFFECT_EARTH}, {"holy", SHOOT_EFFECT_HOLY}, {"suddendeath", SHOOT_EFFECT_SUDDENDEATH}, {"flasharrow", SHOOT_EFFECT_FLASHARROW}, {"flammingarrow", SHOOT_EFFECT_FLAMMINGARROW}, {"flamingarrow", SHOOT_EFFECT_FLAMMINGARROW}, {"shiverarrow", SHOOT_EFFECT_SHIVERARROW}, {"energyball", SHOOT_EFFECT_ENERGYBALL}, {"smallice", SHOOT_EFFECT_SMALLICE}, {"smallholy", SHOOT_EFFECT_SMALLHOLY}, {"smallearth", SHOOT_EFFECT_SMALLEARTH}, {"eartharrow", SHOOT_EFFECT_EARTHARROW}, {"explosion", SHOOT_EFFECT_EXPLOSION}, {"cake", SHOOT_EFFECT_CAKE}, {"novo1", SHOOT_EFFECT_NOVO1} }; para que tudo ocorra bem na hora de dizer /x 42 precisamos adiciona lo em na 000-constant.lua lá na pasta de seu servidor, chamado LIB.
     
     
    Abra o Arquivo 000-constant.lua e procure
     
    CONST_ANI_CAKE = 41  
    logo abaixo add
     
    CONST_ANI_NOVO1 = 42 mude também
     
    CONST_ANI_LAST = CONST_ANI_CAKE para
     
    CONST_ANI_LAST = CONST_ANI_NOVO1  
    ficando nossa programação
     
    CONST_ANI_SPEAR = 0 CONST_ANI_BOLT = 1 CONST_ANI_ARROW = 2 CONST_ANI_FIRE = 3 CONST_ANI_ENERGY = 4 CONST_ANI_POISONARROW = 5 CONST_ANI_BURSTARROW = 6 CONST_ANI_THROWINGSTAR = 7 CONST_ANI_THROWINGKNIFE = 8 CONST_ANI_SMALLSTONE = 9 CONST_ANI_DEATH = 10 CONST_ANI_LARGEROCK = 11 CONST_ANI_SNOWBALL = 12 CONST_ANI_POWERBOLT = 13 CONST_ANI_POISON = 14 CONST_ANI_INFERNALBOLT = 15 CONST_ANI_HUNTINGSPEAR = 16 CONST_ANI_ENCHANTEDSPEAR = 17 CONST_ANI_REDSTAR = 18 CONST_ANI_GREENSTAR = 19 CONST_ANI_ROYALSPEAR = 20 CONST_ANI_SNIPERARROW = 21 CONST_ANI_ONYXARROW = 22 CONST_ANI_PIERCINGBOLT = 23 CONST_ANI_WHIRLWINDSWORD = 24 CONST_ANI_WHIRLWINDAXE = 25 CONST_ANI_WHIRLWINDCLUB = 26 CONST_ANI_ETHEREALSPEAR = 27 CONST_ANI_ICE = 28 CONST_ANI_EARTH = 29 CONST_ANI_HOLY = 30 CONST_ANI_SUDDENDEATH = 31 CONST_ANI_FLASHARROW = 32 CONST_ANI_FLAMMINGARROW = 33 CONST_ANI_SHIVERARROW = 34 CONST_ANI_ENERGYBALL = 35 CONST_ANI_SMALLICE = 36 CONST_ANI_SMALLHOLY = 37 CONST_ANI_SMALLEARTH = 38 CONST_ANI_EARTHARROW = 39 CONST_ANI_EXPLOSION = 40 CONST_ANI_CAKE = 41 CONST_ANI_NOVO1 = 42 CONST_ANI_WEAPONTYPE = 254 CONST_ANI_NONE = 255 CONST_ANI_LAST = CONST_ANI_NOVO1 Prontinho e SALVE TUDO. Agora é só compilar há lembre se, apague tudo da pasta OBJ para que tudo que fizemos funcione perfeitamente após a compilação.
     
    Para chama o efeito de distancia diga na adm /x 42
     
    É isso ai pessoal até a próxima  
     
    *Créditos a mim
    *Testado em tfs 0.4 - 8.60
  11. Gostei
    koalla1235 deu reputação a Eytor em [8.54] Servidor + Client Naruto B&W [EXCLUSIVO]   
    OLÁ USUARIOS DO TIBIA KING .. HOJE ESTAREI TRAZENDO UMA NOVIDADE .. O SERVIDOR DE NTO EXCLUSIVO DO NTO BLACK & WHITE(AKELE OT NOVO QUE FOI CRIADO A 1 MES POR E MIN E POR O [ADM] Johnatan).
      VALE LEMBRAR QUE O NTO BLACK WHITE FOI UM DOS SERVIDORES DE NARUTIBIA QUE MAIS CRESCEU NOS ULTIMOS TEMPOS .. EM APENAS 1 SEMANA DE NTO JÁ ATINGIMOS A META DE 70 ~ 80 USUARIOS ONLINE FIXOS DIARIOS, E ESSE É O SERVIDOR MAIS RECENTE DO NTO BLACK WHITE BASEADO NO DO SERVIDOR MADARA RINNEGAN EDITADO POR MIN E POR O JOHNATA.
      ANTES DE MAIS NADA GOSTARIA DE EXPLICAR O MOTIVO DE TAR POSTANDO O SERVER .. BEM O JOHNATAN ERA QUEM FAZIA PRATICAMENTE TUDO NAS ATUALIZAÇÕES E TAALS .. POREM ELE PAROU COM NTO AI TIVE QUE DESMONTAR O NTO B&W PORQUE EU NÃO TINHA CONDIÇÕES PRA DAR CONTA DO NTO SOZINHO.
     
    CHEGA DE BLABLA E VAMOS LÁ!!
     
    [+] NOVIDADES & CARACTERISTICAS
    [+] ERROS E BUGS
    [+] PRINTS DO SERVER
    [+] DOWNLOAD
    [+] CREDITOS
     
    [+] NOVIDADES & CARACTERISTICAS
     



     
    [+] ERROS E BUGS
     



     
    [+] PRINTS DO SERVER
     



     
    [+] Downloads
     
    Servidor Naruto B&W: Clique Aqui
    Client(descompilado): Clique Aqui
     
    [+] Creditos
     
    - Madara Rinnegan (servidor base)
    - [ADM] Johnata Editar Praticamente Todo o Servidor
    - Eu Por umas Besteiras q eu Coloquei e Por Postar
     
    GOSTOU DO SERVIDOR?
    DA UM REP++
  12. Gostei
    koalla1235 deu reputação a Hadggar em [DUVIDA] Como almentar o Limit do /newtype   
    Consegui UHU, ai você que estava precisando saber como é abra sua newtype.lua é la edite:
    function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") t[1] = tonumber(t[1]) if(not t[1]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires numeric param.") return true end local pid = cid if(t[2]) then pid = getPlayerByNameWildcard(t[2]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.") return true end end if(t[1] <= 1 or t[1] == 135 or (t[1] > 160 and t[1] < 192) or t[1] > 600) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Such outfit does not exist.") return true end local tmp = getCreatureOutfit(pid) tmp.lookType = t[1] doCreatureChangeOutfit(pid, tmp) return true end Preucura essa linha:
    if(t[1] <= 1 or t[1] == 135 or (t[1] > 160 and t[1] < 192) or t[1] > 400) then No Final ta 400 neh? la coloque o ultimo numero da sprite que esta no Tibia Dat Editor
  13. Gostei
    koalla1235 deu reputação a xWhiteWolf em (Resolvido)Deixa Clone Com Buff   
    Coloquei uma variavel chamada names onde vc coloca todos os nomes que quiser sempre separando por virgula e entre aspas
  14. Gostei
    koalla1235 deu reputação a rodrigorodriguess em Teleport Automático em X dias e X horas   
    Bom.. eu pesquisei e pesquisei, achei vários tutoriais ensinando, mas nenhum funcionava, tenho um aqui comigo que já veio em meu otserver, não sei quem é o dono mas espero ajudar a todos.
    a função do script é aparecer um teleport em tal dia e em tal hora no seguinte local e que irá enviá-lo para outro local e depois de um tempo desapareça.
     
    Primeiramente abra data/globalevents/scripts e crie o seguinte:
     
    teleporteautomatico.lua
     
    local config = {         day = "Monday","Wednesday","Friday","Sunday",         pos = {x=151, y=77, z=6},         topos = {x=550, y=34, z=7},         time = 5, -- tempo que o teleport ira sumir em minutos         msg_open = "O Portal vai se abrir em 5 minutos.",         msg_close = "O Portal se fechou." } local function DelTp()         local t = getTileItemById(config.pos, 1387)         if t then                 doRemoveItem(t.uid, 1)                 doSendMagicEffect(config.pos, CONST_ME_POFF)         end end function onTimer()                 if (os.date("%A") == config.day) then                 doCreateTeleport(1387, config.topos, config.pos)                 doBroadcastMessage(config.msg_open)                 addEvent(DelTp, config.time*60*1000)                 addEvent(doBroadcastMessage, config.time*60*1000, config.msg_close)         end         return true end adicione em globalevents.xml a seguinte tag:
    <globalevent name="Teleport Automatico" time="15:30" event="script" value="teleportautomatico.lua"/> está configurado para 15:30, caso queira trocar.. se pode trocar de 00:00 até 23:59
     
    para configurá-lo é fácil:
     
            day = "Monday","Wednesday","Friday","Sunday",  -- Dias em que o teleport irá aparecer
            pos = {x=151, y=77, z=6}, -- Posição aonde será criado o teleport
            topos = {x=550, y=34, z=7}, -- Posição pra onde o teleport ira levar o player
            time = 5, -- tempo que o teleport ira sumir em minutos,
     
            msg_open = "SUA MENSAGEM AO ABRIR O TELEPORT"
            msg_close = "MENSAGEM AO FECHAR O TELEPORT"
     
    Espero ter ajudado um colega que pediu ai, REP+ se puderem 
     
    CRÉDITOS: luanluciano93
  15. Gostei
    koalla1235 deu reputação a Kimoszin em Criando Spells para seu servidor!   
    Ola gaaaaaaalera, é com muito prazer que venho trazer esse primeiro tutorial meu como Aprendiz do TibiaKing,

    Spells:
    Bom, spells sao as magias do nosso servidor, elas servem tanto para healar, atacar, dar suporte e etc ...
    Criar magias é algo muito simples, vc mesmo poderam criar quantas magias quiserem para o seu servidor seguindo esse tutorial,
    Muito bem, vamos começar ...

    Spells de Curar (Healing)




    Obrigado a Todos,
    Estou terminando de fazer o SpellMaker para facilitar a vida de vc,
    Abraços
  16. Gostei
    koalla1235 deu reputação a ViitinG em Teleport Scroll System   
    Obrigado.
    Sim vai remover o item e a storage é para o player esperar o cooldown para poder usar o scrool novamente.
    Para usar uma unica vez é só botar para adicionar uma storage sem tempo.
  17. Gostei
    koalla1235 deu reputação a Caronte em (Resolvido)Como Fazer Evento Boss   
    Mude o addEvent do script dele por este:
    addEvent(summonBoss, t.coolDown * 60 * 1000) Ele colocou em segundos, o seu está em milissegundos
  18. Gostei
    koalla1235 deu reputação a llucas75 em [SPELL]Tem como mudar o local em que fica o buff   
    Nada qualquer dúvida só pedir... Moderador pode fechar tópico, o dono dele não entra a algum tempo, e a dúvida já foi resolvida .

Informação Importante

Confirmação de Termo