Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 02/14/16 em todas áreas
-
Criar tipografia usando formas geométricas simples
icaro201094 e 4 outros reagiu a SkyLigh por um tópico no fórum
Passo 1 Crie um novo documento no tamanho 1400px*720px com um fundo cinza-claro, use um pincel macio e branco grande, para pintar um ponto de luz no centro da tela: A palavra que criaremos é: “METRO”. Vamos começar com a letra “M”: Pegue a Ferramenta Retângulo a partir da caixa de ferramentas: Na barra de opções, aplicam-se as seguintes definições para este retângulo preto: Faça a seguinte forma na nossa tela de pintura: Use a Ferramenta de Transformação Livre (Free Transform Tool), para distorcer o retângulo da seguinte forma, arrastando o canto inferior direito do retângulo para o centro: Esta é a forma apontando que você vai alcançar: Duplique essa camada e lance-a na horizontal, e forme a seguinte forma: Em seguida, pegue a Ferramenta Polígono da caixa de Ferramentas: Aplique as seguintes definições para a Ferramenta Polígono na barra de opções: Adicione uma forma de seleção retangular no centro de nossa letra, e aqui está o efeito até agora: Passo 2Vamos trabalhar na letra “E” nesta etapa. Use a ferramenta retângulo novamente e faça a seguinte forma retangular de novo: Use a ferramenta retângulo novamente, e desenhe formas retangulares cor de rosa 2 vezes nas seguintes áreas: Adicione outra forma retangular cor de rosa na parte superior, como mostrado abaixo: Passo 3Vamos trabalhar na letra “T” nesta etapa. Desenhe uma forma retangular como mostrado abaixo: Em seguida, desenhe outra forma retangular abaixo para terminar a letra T: Adicione uma forma triangular atrás da letra T, e defina sua cor de preenchimento para cinza-claro, de modo que o “T” se destaque: Passo 4Nesta etapa, criaremos a letra “R”. Use a Ferramenta de Retângulo para criar a seguinte forma com a cor cinza: Duplique esta camada, use a opção “oblíquo” na Ferramenta de Transformação Livre, vire a camada duplicada na seguinte forma: Desenhe um círculo rosa para finalizar a letra “R” com a Ferramenta Elipse: Passo 5Vamos trabalhar na letra “O” nesta etapa. Desenhe um círculo com preenchimento preto, como mostrado abaixo: Desenhe um círculo menor dentro do círculo preto com preenchimento cor de rosa para formar uma forma de “O”: Passo 6Vamos terminar este texto, adicionando um efeito de pintura grunge aos poucos. Crie uma nova camada logo acima da camada de fundo, use o pincel que você baixou do tutorial, pinte algum padrão por trás do texto: Agrupe todas as camadas de texto em uma pasta, crie uma nova camada e coloque a máscara de corte nessa nova pasta: Pinte algum padrão grunge sobre o texto, como mostrado abaixo: Etapa 7Este último passo é opcional. Você pode adicionar algum efeito de filtro liquify para este texto. Achate a imagem, em seguida, duplique a camada de fundo. Em Filtro > Dissolver, use a ferramenta Clockwise Twirl: Com as seguintes configurações: Aplique isso a área seguinte: Ajustadas ainda mais a cor dos textos, ligeiramente com a camada de ajuste Color Balance (Balanço de Cores), aqui está o meu efeito final: Créditos : ClubedoDesign5 pontos -
[Tutorial] Mudar miniwidow
Rafaelvn10 reagiu a Deadpool por um tópico no fórum
Boa tarde galera, eu mostrei no meu showoff a tela do meu cliente, que pretendo liberar para a galera, porem, recebi mensagens de como fazer aquilo, e como eu vou postar o cliente com o module, resolvi fazer esse tutorial e liberar o module.. Esse module é para mudar a Game Window, para que não conhece, veja um print: Então, vou liberar o entergame já feito, e também vou ensinar como modificar. *Download no fim do topico*, vamos ao tutorial: Tenha em mente a imagem, e então, veja o tamanho dela, feito isso, va no entergame.lua e procure a linha que seta o IP do seu servidor, va está assim: EnterGame.setUniqueServer("127.0.0.1", 7877, 854, 361, 356) Vou explicar a linha toda para que entendam: 127.0.0.1 = IP do server 7877 = port do servidor, no meu caso ta 7877, porque é a porta Linnux. 854 = Versão do cliente/servidor. 361 = Tamanho da game window 356 = largura da game window em outras palavras, 361 e 356 é onde vamos modificar.. Você pega as dimensões da imagem, e coloca no lugar dos mesmos(361 e 356).. Feito isso, salve o entergame.lua e feche. Agora vamos editar a OTUI.. Abra o Entergame.otui e na primeira linha temos isso: EnterGameWindow < MainWindow !text: tr('Enter Game') size: 236 274 Bom, vamos modificar.. Retire essa linha: !text: tr('Enter Game') Nessa função modifique esse tamanho "236 274" para as dimensões da imagem *no caso seria (361 e 356): Antes: size: 236 274 Agora: size: 361 356 Adicione isto em baixo dessa função acima: image-source: enter.png *enter.png é a imagem que estamos usando para colocar no game window, a mesma que a gente pegou as dimensões e modificamos no entergame.lua*, *ela tem que está dentro da pasta onde se localiza o entergame.lua*. pronto, seu cliente já vai ler sua nova window com imagem. *Terá que mudar os lugares de onde coloca senha e conta* É bem simples, basta ir na OTUI e mudar os margin-top* DOWNLOAD ENTERGAME COM NOVA WINDOW: Download OBS: Deixei uns 3 Entergame dentro, se vocês quiserem usar como base, não me importo.. POR FAVOR, NÃO POSTE ESSE TUTORIAL EM OUTRO FÓRUM SEM OS DEVIDOS CRÉDITOS. FUNCIONA EM QUALQUER VERSÃO DO OTCLIENT. OBS: se vocês não souberem editar o entergame, irá bugar. É melhor baixar o que estou disponizilizando, e então mudar somente as dimensões..1 ponto -
Boa noite galera, tudo bem? Venho compartilhar com vocês hoje um sisteminha que desenvolvi para as magias do tipo "shoot'. Foi feito inicialmente para funcionar com magias que usam a posição do mouse como referência e adaptei para cipclientes poderem usar em runas e magias de tiro. O funcionamento do sistema é simples: Ao usar uma runa ou castar uma magia "shoot" com esse sistema criaturas e objetos no caminho irão interferir na trajetória, isto é, receberão o combate no lugar do alvo inicial. Ilustrativo: Bom, vamos ao que interessa. Vá em data/lib/ e crie um novo arquivo chamado spellsLib.lua (pode-se utilizar também o arquivo spells.lua contido em data/spells/lib). Dentro dele inclua as seguintes funções: IsWalkable (by Nord) GetPositionsAround (by Skulls) CheckInterceptions (by Skulls) SetSpellTarget (by Skulls) Feito isso, está tudo configurado. Basta agora adicionar às magias que você queira. Abra o .lua da magia, por exemplo death strike.lua. Lá você terá, entre outras coisas, a função onCastSpell como abaixo: function onCastSpell(cid, var) return doCombat(cid, combat, var) end Substitua isso por: local range = 5 function onCastSpell(cid, var) if getCreatureTarget(cid) == 0 then doPlayerSendCancel(cid, "Please choose a target.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end if getDistanceBetween(getPlayerPosition(cid), getCreaturePosition(getCreatureTarget(cid))) > range then doPlayerSendCancel(cid, "Target is not reachable.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false endreturn doCombat(cid, combat, setSpellTarget(cid, var)) end Retire qualquer tag que esteja relacionada a target (needtarget, casterTargetOrDirection, etc) Pronto, a sua magia "Exori Mort" será parada por criaturas ou obstáculos (qualquer item que não seja móvel). Bom é isso, espero que gostem. Queria agradecer ao @@nightwolf e ao @Caronte pelas ajudas tentando entender alguns parâmetros e me dando algumas luzes. Ao @@nightwolf, ainda, um agradecimento especial pela maravilhosa lib dele *-*. Abraços, Um exemplo de magia que utiliza esse sistema: http://www.xtibia.com/forum/topic/239460-exori-grab-vis/ @@Daniel, na verdade move pra mim pra Downloads Spells, acho que seria mais correto.1 ponto
-
Sistema De Som Variados No Client
kaleudd reagiu a Developer Berg por um tópico no fórum
Olá Gente, hoje estou aqui para expor o sistema de som muito legal que coloquei no meu server, que fique bem claro, eu n criei o sistema, eu somente coloquei no meu server/client e tive algumas ideias para colocar sons em tais coisas, esse sistema todo completo foi feito pelo Vyctor17 que disponibilizou em outro forum, então os créditos vai todos para ele, e também ao Ceetros que disponibilizou a base do PDE, que é uma base boa para um projeto firme e interessante, falem se gostaram do sistema, ou podem fazer criticas kk, e podem expor ideias também se quiserem pq to meio sem ideias para por mais sons kk até agr eu coloquei sons em: Go E Back Dos Pokes. Catch E Fail Doors Das Houses Doors Dos Cps/ Marks/ Tc E Tr Giant Locker Npc Nurse Joy Quando Da " Hi " E Sons Nas Vozes Dos Bixos, Quando Eles Falam Algo O Som É Reproduzido. futuros sons que vou colocar: Som No Ambiente Som Nas Spells Som Ao Player Andar, No Caso Sons Nos Passos Do Player ( talvez n coloque, pq ficará muito atrito entre sons já que vai ter sons nos ambiente. ) Dando continuidade ao tópico, vim trazer mais uma demonstração de som, dessa vez, som ao soltar o pokemon da ball, ele fala, mostrei alguns pokemons ai que está instalado o sistema, segue o video. Créditos, Vyctor17 e Ceetros.1 ponto -
Poke tournament (pokemon)
Silvaninho reagiu a PokeTournament por um tópico no fórum
POKE TOURNAMENT lute em arenas por fama e premiações, participe de campeonatos e faça amigos em poke tournament. Estamos online!!! Crie sua conta e faça download aqui! sobre: Em poke tournament você encontrara um novo estilo de jogo entre os Poketibias, nele você poderá controlar seu pokemon diretamente, fazer fases PVE fechadas tanto individual como em grupo, lutar PVP com seus amigos em arenas fechadas rankiado ou não, personalizar os combos dos seus pokemons e se divertir de montão com uma jogabilidade facil e competitiva! estilo: O Poke Tournament pode ser considerado um jogo do estilo M.O.B.A. (Multiplayer Online Battle Arena) apesar do jogo não contar com fases no estilo do jogo DOTA, o PkT tem como foco principal as batalhas pvp levando um novo estilo de jogo de luta 2D com a variedade estrategica de cada pokemon da serie. graficos: Alem desse novo estilo de jogo tambem estamos trabalhando em graficos novos para interface do client e movimentos de combate no pokemon, então você irá encontrar telas que facilitam a jogabilidade e movimentos para todos os ataques dos pokemons do jogo. Por enquanto estamos trabalhando somente com pokemons não evoluidos "pequenos". jogabilidade: A jogabilidade do PkT é um pouco baseada nos jogos de luta, com combos e contra ataques você terá a experiencia da adrenalina enquanto joga. Alem de poder customizar os combos de seus pokemons ao seu gosto o jogo conta com varios sistemas de batalhas inovadores, entre eles vocês encontrarão sistema de movimento ao bater, contra ataque, defesa, avanço rapido, sistema de dor, sistema de Special e muito mais. historia: A historia do jogo e baseada na primeira versão da serie de games pokemon rpg (Pokemon Red/Green), sem diferenças relevantes, a unica diferença e que depois de pallet o seu personagem irá para um Lobby onde será sua unica cidade para sempre. quests: Apesar do Pkt ser um jogo de Arena PVP, não podiamos deixar de ter aquelas quests premiadas não e mesmo? alem de quests de historia você tambem poderá fazer missões diarias, missões premiadas e missões secretas. premios: Depois de tudo isso ainda temos premios diarios para quem marcar presança, permanecer online e ate uma quantidade de Vip Points por participar de batalhas PVP Rankiadas. Progresso Final: 65% Fases (mapa): 50% prontas - (Route1, Viridian Forest, MT. Moon, Bills Route,Rock Tunel) Pokemons: 60% falta - (os pokemons que vem vem depois do numero 105) Ataques: 60% falta - (a maioria dos pokemons ainda faltam 1 ou 2 ataques) Sistemas: 95% falta - (testes e ajuste de danos e seleção de premios) Client: 60% falta - (novo designer base, recompilação do client, nova janela de health bar, equipamentos, nova janela de skills pro pokemon e nova pokedex). Prints: alguns golpes Escolhendo a fase tela pvp rankiada - fases e oponentes são sorteados tela de conversa com npc npc de produção npc de quests equipando skill no combo nosso mascote e premio especial Lucky Draw Sistema de Colisão Videos Pokeball System Vídeo da primeira fase tutorial https://www.facebook.com/Pok%C3%A9-Tournament-1398028193775843/1 ponto -
Fala galera, tudo bem? Venho trazer pra vocês uma nova magia que fiz. Ela é basicamente um puxão que da um pouco de dano. Gif Em spells.xml coloque essa tag: <instant name="Energy Grab" words="exori grab vis" needtarget="1" lvl="40" mana="20" prem="1" range="5" blockwalls="1" exhaustion="2000" groups="1,2000" icon="122" needlearn="0" event="script" value="attack/energy grab.lua"> <vocation id="3"/> <vocation id="7"/> </instant> Em scripts/attack crie um arquivo chamado energy grab.lua e coloque o conteúdo abaixo: local grab_time = 350 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onTargetCreature(cid, target) addEvent(executeGrab, grab_time, cid, target) end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") function executeGrab(cid, target, param) d = param or -1 if not isPlayer(cid) then return false end if not isCreature(target) then return false end local cpos, ppos = getCreaturePosition(target), getCreaturePosition(cid) local dir = getDirectionTo2(cpos, ppos) if d == -1 then doSendDistanceShoot(cpos, ppos, CONST_ANI_ENERGYBALL) end if getDistanceBetween(cpos, ppos) > 1 then doMoveCreature(target, dir) end if (d > 1 or d == -1) then addEvent(executeGrab, 30, cid, target, getDistanceBetween(cpos, ppos)) end return true end function performCombat(cid, combat, var) return doCombat(cid, combat, var) end function onCastSpell(cid, var) return doCombat(cid, combat, setSpellTarget(cid, var)) end Para funcionar corretamente, isso é puxando quem estiver na frente da magia e nao o target inicial é necessário que você utilize o sistema disponibilizado por mim neste tópico: http://www.xtibia.com/forum/topic/239458-spells-checando-interferencias-na-trajetoria/ Caso contrário, troque a linha return doCombat(cid, combat, setSpellTarget(cid, var)) por return doCombat(cid, combat, var). Bom, é isso. Espero que gostem. Abraços,1 ponto
-
1 ponto
-
1 ponto
-
Nossa a tipografia ficou muito boa, sempre soube que podia criar tipografia por formas geométricas, mas nunca achei que poderia ficar tão boa assim...1 ponto
-
Acima de: if getPlayerStorageValue(getCreatureMaster(sid), 637500) >= 1 or getPlayerStorageValue(getCreatureMaster(sid), 637501) >= 1 then coloque: if not isCreature(sid) or not isCreature(getCreatureMaster(sid)) then return true end Darei uma olhada no erro de go/back logo. Quanto ao move1.lua, suponho que o problema esteja localizado em pokemon moves.lua (lib) ou na função doUpdateCooldowns. Infelizmente, o relatório de bugs da distro é muito vago em casos como esse, tornando o encontro do erro muito difícil. Ah, como a remoção daquela linha não resolveu o problema, já pode colocá-la de volta.1 ponto
-
1 ponto
-
Belo tutorial1 ponto
-
New-Rad V3 (8.60)
Sirarcken reagiu a SamueLGuedes por um tópico no fórum
New-Rad V3 Boa tarde galera do Imagem Postada , trago hoje para vocês a atualização do NEW-RAD v2, o NEW-RAD V3, eu sei que demorei muito para terminar, mas enfim terminei, e vou postar aqui hoje para vocês, mas primeiro umas informações da nova versão: Informações » Senha do God: god/god » Lista das features » Novas citys » Itens novos » Monsters novos » Lista das quest » Lista dos sistemas » Comandos novos Mudanças em relação a versão anterior: » Bug Fixes Imagens: Disponibilização » Scan = Link Aqui (pelo oque eu estava vendo aqui, os vírus são inofensivos, e também eu acho que o scan esta errado, porque no Avast ele não detecta nada, se alguém puder scanear de novo pra ver se da o mesmo resultado, eu agradeçeria.) » Download MediaFire = Link Aqui » Download 4shared = Link Aqui » Versão anterior (v2) = Link aqui Créditos » Slayer yurots (pela base)» Eu (por editar)» Vinicius (meu irmão, por me ajudar na edição)» Xtibia (pelos scripts e etc) se tiver algum bug me avisem por PM que eu estarei arrumando. até mais. OBS: Não autorizo ninguem a colocar este server em outro forum, alem do Xtibia, porque eu ja vi muitos forum com meu server mais nenhum credito, então nao postem em outro forum.1 ponto -
[Resolvido] Mensagem Inicial Client
RafaelDimitry reagiu a Refe por uma questão
Não é do login, vai no xml e pesquise <event type="login" TODOS as linhas que começarem com isso tem um arquivo <event type="login" name="CheckVip" script="endvip.lua"/> script="endvip.lua"/> Abra TODOS esses arquivos.1 ponto -
Erro Movements
ivanhardjr reagiu a Josegvb por uma questão
esse erro acontece quando voce sendo adm vai pelo /goto pro alguem quem esteja no Trade Center, e assim voce tenta voltar pra sua cidade entrando no PvP, entendeu? tipo quando vc entra no pvp você pega uma storage q é da cidade q voce entrou, sendo assim quando volta, ira retornar pra sua cidade, mas se foi la pelo goto voce nao tem esse storage entao da erro no sistema pq voce foi la de /goto. o erro tb acontece as veces quando um player entra la e nao é desloga, e nao é salvado correctamente ai ele perde a storage e fica igual como se tiver entrado de /goto... não sei como arrumar mas no meu ot eu tenho o comando !tp para eles voltar pro o cp1 ponto -
Scan colocado :smile_positivo:1 ponto
-
error no some functions
tiagodj16 reagiu a RodriigoRobson por uma questão
Tem alguma Stone com Nome Alterado ou Stone Novo e que nao esta na Tabela "isStone" quando uma stone é alterado ou adicionado tem que configurar a stone em data/actions/boost.lua + data/actions/evolution.lua + data/lib/configuration.lua1 ponto -
Servidor 10.90 | Windows 32/64 Bits | Versão Final
juninhodahp reagiu a Marco Oliveira por um tópico no fórum
Sempre usei o gesior, mas tenho visto muitos DEVAAC por ai que também é muito bonito.1 ponto -
data/globalevents/scripts: local check_day = 10 function onTime() if os.date("%d") ~= check_day then return true end local report, houses_info, houses_count = "Houses cleaned this month:", db.getResult("SELECT id, owner FROM houses"), 0 if houses_info:getID() == -1 then print(houses_info.." "..houses_count) return true end repeat local player_info = db.getResult("SELECT account_id FROM players WHERE id = "..houses_info:getDataInt("owner")) if player_info:getID() > -1 then local account_info = db.getResult("SELECT premdays FROM accounts WHERE id = "..player_info:getDataInt("account_id")) if account_info:getDataInt("premdays") == 0 then houses_count = houses_count + 1 setHouseOwner(houses_info:getDataInt("id"), 0) end player_info:free() account_info:free() end until not houses_info:next() print(houses_info.." "..houses_count) houses_info:free() return true end Tag: <globalevent name="clean_houses" time="00:00" event="script" value="nome_do_arquivo.lua"/>1 ponto