
Histórico de Curtidas
-
koalla1235 deu reputação a Felipek9 em [TUTORIAL] Compilar Debian 7 e Ubuntu 12.07 - TFS 1.0E 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.
-
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
-
koalla1235 recebeu reputação de LeoTK em Maximo de players na guildafs ninguem mais ajuda em nada nesses forum nem sei porque existe isso ainda só por deus ...
-
koalla1235 deu reputação a marcot em Por Level para dar use no ItemTenta 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
-
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:
-
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
-
koalla1235 deu reputação a gabriel28 em [PEDIDO] Spell que libera de acordo com seu Magic levelVai no spell.xml e adiciona isso na magia que você quer: maglv="X". No 'X' você poem o valor de ml que quiser.
-
koalla1235 deu reputação a Cat em [Resolvido] Encher life/mana ao uparComo 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"/> -
koalla1235 deu reputação a Vodkart em Simple Task 3.008/01/2017
SISTEMA ATUALIZADO PARA 4.0:
Mods:
-
koalla1235 deu reputação a L3K0T em Aumentando o ShootEffect /xBom 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
-
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++
-
koalla1235 deu reputação a Hadggar em [DUVIDA] Como almentar o Limit do /newtypeConsegui 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
-
koalla1235 deu reputação a xWhiteWolf em (Resolvido)Deixa Clone Com BuffColoquei uma variavel chamada names onde vc coloca todos os nomes que quiser sempre separando por virgula e entre aspas
-
koalla1235 deu reputação a rodrigorodriguess em Teleport Automático em X dias e X horasBom.. 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
-
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
-
koalla1235 deu reputação a ViitinG em Teleport Scroll SystemObrigado.
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.
-
koalla1235 deu reputação a Caronte em (Resolvido)Como Fazer Evento BossMude o addEvent do script dele por este:
addEvent(summonBoss, t.coolDown * 60 * 1000) Ele colocou em segundos, o seu está em milissegundos
-
koalla1235 deu reputação a llucas75 em [SPELL]Tem como mudar o local em que fica o buffNada 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 .