Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 12/28/12 em todas áreas

  1. caotic

    New System Register Event

    Todo mundo já sabe que quando queremos "colocar" algum script em creaturescripts alguns precisam ser registrado. O registro e para que o evento inicie quando o player logar. Mais muitas vezes o cadastramento consome linhas e tempo. Pensando nisso desenvolvi um código para que o próprio usuário registre o evento na tag Vamos a instalação. Crie um arquivo lua chamado de register em lib e coloque este código: function getEventRegisterName() local x = {} local events = io.open("data/creaturescripts/creaturescripts.xml", "r") for i in events:read("*a"):gmatch('name="(.-)"') do table.insert(x, i) end return x or nil end function getEventRegisterTrueByName(name) local x = {} local events = io.open("data/creaturescripts/creaturescripts.xml", "r") for i in events:read("*a"):gmatch('name="'..tostring(name)..'" register = "(.-)"') do table.insert(x, tonumber(i)) end return x[1] or nil end function registerEvents(cid) for y = 1, #getEventRegisterName() do local x = getEventRegisterName()[y] if getEventRegisterTrueByName(x) == 1 then registerCreatureEvent(cid, x) end end end Agora vá em creaturescripts em login.lua antes do ultimo return true Exclua todos os registro de evento: Eles são estarão assim: registerCreatureEvent(cid, "event") Depois no mesmo lugar coloque isto: registerEvents(cid) Agora em TODAS AS SUAS TAGS isto entre name e event. register = "1" (Sendo que 1 e ativado e 0 Desativado) Ela ficara assim: <event type="joinchannel" name="mens" register = "1" event="script" value="mensagens.lua"/> Pronto sistema instalado Para usar e simples. E so colocar na tag E colocar a 1(verdadeiro ativado) ou o(false desativado)
    4 pontos
  2. iunix

    NPC Mirror

    Olá, venho aqui para trazer um sistema que eu e o Skyen fizemos. Explicações; É um NPC que se move exatamente como você, onde você tem que "leva-lo" para um certo SQM, assim abrindo a passagem escondida. Mapa Terá que criar uma sala com 7x7 SQMs, com os seguintes obstáculos: Amarelo = NPC Verde = Onde irá nascer a escada Azul = Pressure Plates Rosa = Statua que brilha (So gaaaay) Vermelho = Pedras ou qualquer coisa que você vá usar de obstaculo. Azul = Parede Branco = Passagem Livre. Código e instalação Código miragem.lua: local pos_start = {x = 447, y = 552, z = 7} -- pos do NPC local pos_stairs = {x = 448, y = 555, z = 7, stackpos=0} -- Pos da escada local pos_plate1 = {x = 445, y = 553, z = 7} -- Pos da 1º plate local pos_plate2 = {x = 448, y = 556, z = 7} -- Pos da 2º plate local pos_device = {x = 447, y = 555, z = 7} -- Pos da Statua que brilha local area_start = {x = 444, y = 552, z = 7} -- Pos do canto esquerdo superior da sala local area_final = {x = 450, y = 558, z = 7} -- Pos do Canto Direito inferior da sala local id_stairs = 4836 -- Id da Escada local id_floor = 4413 -- Id do chão que vai ser colocado no lugar da escada local target = 0 local stairs = false local ignore = false local outfit = { lookType = 0, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, } local function get_player_in_area(start, final) for x = start.x, final.x do for y = start.y, final.y do for z = start.z, final.z do local pos = {x=x, y=y, z=z, stackpos=253} local thing = getThingFromPos(pos, false) if isPlayer(thing.uid) then return thing end end end end return {uid=0} end local function is_pos_in_area(pos, start, final) return pos.x >= start.x and pos.x <= final.x and pos.y >= start.y and pos.y <= final.y and pos.z >= start.z and pos.z <= final.z end local function is_player_in_area(cid, start, final) return is_pos_in_area(getCreaturePosition(cid), start, final) end local function inverse_direction(direction) local map = { [NORTH] = SOUTH, [sOUTH] = NORTH, [EAST] = WEST, [WEST] = EAST, [NORTHEAST] = SOUTHWEST, [sOUTHEAST] = NORTHWEST, [NORTHWEST] = SOUTHEAST, [sOUTHWEST] = NORTHEAST, } return map[direction] or NORTH end local function compare_pos(pos1, pos2) return pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z end local function turn_stairs(open) if stairs == open then return true end local thing = getThingFromPos(pos_stairs, false) if thing.uid > 0 then if open then doTransformItem(thing.uid, id_stairs) else doTransformItem(thing.uid, id_floor) end end doSendMagicEffect(pos_stairs, CONST_ME_POFF) stairs = open return true end function onCreatureMove(cid, oldPos, newPos) if ignore or cid == getNpcId() then ignore = false return true end --[[ if (isPlayer(cid) and isWatchingTv(cid)) or isMonster(cid) then return true end ]]-- if not isPlayer(cid) then ignore = true doTeleportThing(cid, oldPos) return true end if not is_pos_in_area(oldPos, area_start, area_final) and is_pos_in_area(newPos, area_start, area_final) then if target == 0 then target = cid doChangeSpeed(getNpcId(), getCreatureSpeed(target) - getCreatureSpeed(getNpcId())) doSetCreatureOutfit(getNpcId(), getCreatureOutfit(target), -1) doSendMagicEffect(pos_device, CONST_ME_MAGIC_BLUE) else ignore = true doTeleportThing(cid, oldPos) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end elseif is_pos_in_area(oldPos, area_start, area_final) and not is_pos_in_area(newPos, area_start, area_final) then target = 0 doChangeSpeed(getNpcId(), -getCreatureSpeed(getNpcId())) doSetCreatureOutfit(getNpcId(), outfit, -1) doTeleportThing(getNpcId(), pos_start) doSendMagicEffect(pos_device, CONST_ME_MAGIC_BLUE) turn_stairs(false) elseif is_pos_in_area(oldPos, area_start, area_final) and is_pos_in_area(newPos, area_start, area_final) then selfMove(inverse_direction(getDirectionTo(oldPos, newPos))) end return true end function onThink() if target == 0 then return true end if get_player_in_area (area_start, area_final).uid == 0 then target = 0 doChangeSpeed(getNpcId(), -getCreatureSpeed(getNpcId())) doSetCreatureOutfit(getNpcId(), outfit, -1) doTeleportThing(getNpcId(), pos_start) doSendMagicEffect(pos_device, CONST_ME_MAGIC_BLUE) turn_stairs(false) return true end selfTurn(inverse_direction(getCreatureLookDirection(target))) if (compare_pos(getCreaturePosition(getNpcId()), pos_plate1) and compare_pos(getCreaturePosition(target), pos_plate2)) or (compare_pos(getCreaturePosition(getNpcId()), pos_plate2) and compare_pos(getCreaturePosition(target), pos_plate1)) then turn_stairs(true) else turn_stairs(false) end return true end Código Miragem.xml <!--?xml version="1.0" encoding="UTF-8"?--> <npc name="Miragem" namedescription="a miragem" script="miragem.lua" walkinterval="0" floorchange="0"> <health now="100" max="100"> </health></npc> Agradecimentos Agradecimentos ao Skyen que deu a ideia e fez quase tudo e por ser meu grande mestre <3
    4 pontos
  3. Slicer

    [Pokemon] Pda By Slicer 1.9/2.9

    [Pokemon] PDA By Slicer Pokemon dash advanced editado por slicer, vários bugs retidos. Projeto encerrado! Espero que todos tenham gostado desse 1 ano de trabalho duro! Todas as atualizações: * Leiam e sigam as instruções do Change Log dentro da pasta do patch! Downlaods: PDA By Slicer With Level System v2.9 Full -> http://www.mediafire...z2afuu75zblvmvq PDA By Slicer Without Level System v1.9 Full -> http://www.mediafire...td0l0ip9ajprrbf OTClient editado 2.8/1.8 => http://www.mediafire...1lcbs1fktpm676w Atualizações: EH OBRIGATORIO O USO DESSE CLIENT ABAIXO E USEM O .PIC TB!!!!!!!!! Client v1.9/2.9 => http://www.mediafire...77i414v1hy187fj Patch v1.9 => http://www.mediafire...da4umj3ip18jrf1 Patch v2.9 => http://www.mediafire...7nt275td9afl1fy Patch v1.9.1 => http://www.mediafire.com/?i3flwa3lrd016zl Patch v2.9.1 => http://www.mediafire.com/?m4zhjgn62uow1sp Obs: Atualizaçoes mais antigas estao dentro do spoiler acima!! OTAL.DLL: OBS: caso n esteja aparecendo a barra de moves no client normal do tibia, baixem essa .dll e coloquem na pasta onde fica o Pokemon_nibe.exe ... Otal.rar Patch Correçao! Todos olhem! Bugs na nova atualizaçao? Olhe o spoiler e veja se arruma o problema! Atualizado: 08/02/13 Créditos: Otal.rar
    2 pontos
  4. NeenZieL

    Show Off.

    Olá pessoal do xTibia. Há algum tempo atrás eu comecei a usar o xTibia, porém dexei ele de lado e estou voltando. Pra quem não me conhece, e também não conhece ao meu trabalho, eu já fui Mapper do RadBR por 8 meses, Mapper de um outro OtServ durante 5 meses e agora estou em um projeto juntamente com o ElderDark daqui, que também ja foi Mapper do RadBR. Templo e Food Seller (Frutas, mais especificamente): Cachoeira: Vou postando mais fotos ao longo do tempo... Espero que todos vocês gostem, muito obrigado! (Gostou?! Sim? Da um "rep +", sugestões).
    2 pontos
  5. Bom vejo que muitos membros novos estão com duvidas de como criar novos pokemon no PDA... bom vim ensinar como. 1º Vai em Data/monsters e Crie o novo pokemon.xml e depois adicione ele no monsters.xml 2º Vai em Lib/Configuration e faça isso: Em movestable onde ficam os ataques dele so colocar os ataques vou dar exemplo dos ataques: ["NOME DO POKEMON NOVO"] = {move1 = {name = "Dragon Claw", level = 85, cd = 15, dist = 1, target = 1, f = 60, t = "dragon"}, move2 = {name = "Ember", level = 85, cd = 10, dist = 10, target = 1, f = 42, t = "fire"}, move3 = {name = "Flamethrower", level = 85, cd = 20, dist = 1, target = 0, f = 80, t = "fire"}, move4 = {name = "Fireball", level = 85, cd = 25, dist = 10, target = 1, f = 75, t = "fire"}, move5 = {name = "Fire Fang", level = 85, cd = 20, dist = 1, target = 1, f = 65, t = "fire"}, move6 = {name = "Raging Blast", level = 85, cd = 35, dist = 1, target = 0, f = 100, t = "fire"}, move7 = {name = "Fire Blast", level = 85, cd = 60, dist = 1, target = 0, f = 115, t = "fire"}, move8 = {name = "Wing Attack", level = 90, cd = 35, dist = 1, target = 0, f = 75, t = "flying"}, move9 = {name = "Magma Storm", level = 95, cd = 90, dist = 1, target = 0, f = 95, t = "fire"}, move10 = {name = "Scary Face", level = 90, cd = 50, dist = 1, target = 0, f = 0, t = "ghost"}, move11 = {name = "Rage", level = 85, cd = 40, dist = 1, target = 0, f = 0, t = "dragon"}, Ae se coloca os ataques que desejar, lembrando que f é força pra quem não sabe. e em Status Pokemon Kanto ou Johto mesmo pode add coloque isso: ["NOME DO NOVO POKEMON"] = {offense = 8.5, defense = 7.8, specialattack = 11, vitality = 7.8, agility = 167, exp = 209, level = 85, type = "TIPO DELE", type2 = "2 TIPO DELE"}, Ae vc balanceia ele de acordo a seu gosto. Depois em Fotos add ele: ["NOME DO NOVO POKEMON"]= XXXX, Em XXXX você coloca o id do portrait dele. Depois em Pokescatch add ele: ["NOME DO NOVO POKEMON"] = {chance = XXXX, corpse = YYYY}, Em XXXX a chance de capturar ele e em YYYY o Id do Corpse dele. Depois em Newpokedex add isso ele: ["NOME DO NOVO POKEMON"] = {gender = 875, level = XXXX, storage = 100, stoCatch = 666006}, Em XXXX coloca o level dele. Em OldPokedex add ele: {"NOME DO NOVO POKEMON", XXXX, 1006}, Em XXXX o level dele. E se for add alguma habilidade nele fica la no final, vou dar um exemplo de ele atravessando (GhostWalk) parede vc coloca isso: ["ghostwalk"] = {"Gastly", "Haunter", "Gengar", "Shiny Abra", "Shiny Gengar", "Misdreavus", "NOME DO NOVO POKEMON"}, Bom é isso... sei que é simples, mais fiz um tutorial basico para os iniciantes não ficarem com duvida.
    1 ponto
  6. Como o Xtibia mudou seu site, e o modo de edição de tópico colocarei resumido.. Global Compacto Versão 8.60 Links com DLL e Sem DLL http://www.mediafire.com/?651yyaal4lklfbb http://www.mediafire.com/?wkwwote6edvcv4o
    1 ponto
  7. caotic

    [ANTI - BOT]Question System

    O fabio(beeki) pediu um script para min então eu resolvi disponibilizar o mesmo script para vocês xtibianos! O anti bot faz uma pergunta ao player quando ele loga e depois de X tempo. Assim se o player estiver usando um bot de "caça sozinho" ele e detectado e teleportado para uma posição que seria uma cadeia. Esta todo configurado mais pode ser alterado livremente. Vá em lib e crie um arquivo lua chamado de anti bot e coloque este código: local question = { {perg = "1+1 e igual a?", resp = "2"}, {perg = "Qual e o nome verdadeiro do beeki", resp = "Fabio"}, {perg = "Você esta em que level?", resp = "100"} } function doJailforBot(cid, pos) if isPlayer(cid) and getPlayerStorageValue(cid, 23410) == 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] Você foi preso por bot") doTeleportThing(cid, pos) setPlayerStorageValue(cid, 23446, 0) setPlayerStorageValue(cid, 23448, 0) setPlayerStorageValue(cid, 23412, 1) end return true end function respQuestion(cid, resp) if getPlayerStorageValue(cid, 23410) == 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] O sistema não esta ativo porque ja respondeu") end if getPlayerStorageValue(cid, 23412) == 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] O sistema não esta ativo porque você esta preso") end if tostring(getPlayerStorageValue(cid, 23446)) == resp then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] Você acertou a respota") setPlayerStorageValue(cid, 23410, 1) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] Você errou a resposta") end function activeAntiBot(cid, pos, time) if isPlayer(cid) then if getPlayerStorageValue(cid, 23412) == 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] Você esta preso por uso de bot") end local random = math.random(#question) local perg = question[random].perg local resp = question[random].resp doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ANTI-BOT] diga a resposta falando /resp(reposta) ("..perg..")") setPlayerStorageValue(cid, 23446, resp) setPlayerStorageValue(cid, 23448, perg) setPlayerStorageValue(cid, 23410, 0) addEvent(doJailforBot, time, cid, pos) end return true end Agora vá em talkactions e crie um arquivo lua chamado de resp e coloque isto: function onSay(cid, words, param, channel) if not param or param == " " or param == "" then doPlayerSendCancel(cid, "Você precisa dizer a respota") return true end return respQuestion(cid, param) end Coloque esta tag em talkactions.xml: Agora vá em creaturescripts e crie um arquivo lua chamado de anti-bot e coloque isto: local jail= {x=1497, y=1488, z=5} local time = 36000 local temp = 3600*1000 --- Tempo para o sistema do anti banimento for ativado function onLogin(cid) function repeatAntiBot(cid, jail, temp, time) activeAntiBot(cid, jail, time) addEvent(activeAntiBot, temp, cid, jail, time) end repeatAntiBot(cid, jail, temp, time) return true end Coloque esta tag em creaturescrips.xml: Registre o evento em login.lua: registerCreatureEvent(cid, "bot")
    1 ponto
  8. Stigal

    [Pokemon] Mapa Stigal 2.0 {Pda}

    • Mapa Stigal 2.0 {PDA 1.5+} [Download]• • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. • Informações Basicas • • Edições / Ajustes • • Erros Do Servidor • • PrintScreen • • Download's • Mapa Stigal 2.0 {PDA 1.5+} 8.54 (4shared) http://www.4shared.com/rar/9-tmxr_5/Arquivo_Mapa_Stigal_20_PDA_15.html? Scan Mapa Stigal 2.0 {PDA 1.5+} 8.54 (Virus Total) https://www.virustotal.com/file/9f816298c04d57eeb823613a7eb138b0a4461dfc798bb57a86cd875206166e41/analysis/1347478340/ • Creditos • Slicer - {Por Ser Lindo e Criar o PDA} Stigal - {Por Ser Lindo e Ajeitar o Mapa e Deixalo 99%}
    1 ponto
  9. angeldoido

    Novo Sistema De Pet

    Galera tive criando aqui um sistema de pet sistem com Cada level que o player upa ele muda de pet, colokei em actions pra evita spam no default, Script 100% By EU New Version V3 Primeiro Vai na pasta data\actions\script e cria um arquivo com nome pet, e coloke isso dentro function onUse(cid, item, frompos, item2, topos) storage = 4191 storsol = 1203 if #getCreatureSummons(cid) > 1 then doPlayerSendCancel(cid,"Your Demonio is already summoned.") end if getPlayerStorageValue(cid,storsol) == 1 then local z = getCreatureSummons(cid)[1] addEvent(setPlayerStorageValue,100,cid,storsol,-1) doPlayerSay(cid,"Back my summon!",TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(z), 2) doSendDistanceShoot(getCreaturePosition(z), getPlayerPosition(cid), 3) doRemoveCreature(z) end local summons = getCreatureSummons(cid) local pet = { ["Rotworm"] = {1,10}, ["Minotaur"] = {11,15}, ["Dwarf Soldier"] = {16,19}, ["Minotaur Guard"] = {20,25}, ["Dragon Hatchling"] = {26,32}, ["Dragon"] = {33,45}, ["Giant Spider"] = {46,55}, ["Dragon Lord"] = {56,120}, ["Grim Reaper"] = {121,160}, ["Ghastly Dragon"] = {161,200}, ["Undead Dragon"] = {201,1000} } for k,v in pairs(pet) do -- 1 if getPlayerStorageValue(cid,storsol) < 1 then if getPlayerLevel(cid) >= v[1] and getPlayerLevel(cid) < v[2] then -- 2 if (table.maxn(summons) < 1)then -- 3 x = doSummonCreature(k, getCreaturePosition(cid)) doConvinceCreature(cid, x) setPlayerStorageValue(cid,4194,1) setPlayerStorageValue(cid,storsol,1) doCreatureSay(cid, k ..", go!", TALKTYPE_ORANGE_1) doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 2) end end end end return true end Aeee versão v3 totalmente configurada testada em 8.60 e 9.10, tirei o exausted do script, e Reemodifikei para o pet volta sem bugs, gente dinovo se gostaram +rep se deu FAIL manda PM falando qual erro deu =D Mto obrigado... Se Gostou +rep Please Essa versao foi pre-lançada, vo arruma ela + um poko =D
    1 ponto
  10. beddy

    Cidade Doka Do Tibia Gta

    Isso ai! É a cidade doka do Tibia GTA! http://depositfiles....files/o902rex8i Creditos: - Beddy - Quilante - pelo mapa ser seu. Estou meio sem tempo de terminar, mas aguardem que eu lanço o mapa completo!
    1 ponto
  11. WH47

    Iniciante > Avançado

    Iniciante > Avançado Para se tornar um designer avançado requer muito treino, tempo e paciência. No entanto, resolvi facilitar um pouco as coisas... Peguei os melhores tutoriais postados no fórum de cada nível para que possa facilitar a vida de todos. Creio que, após seguir todos os tutoriais ai mencionados, o usuário já terá uma base sólida para se tornar, no mínimo inter/hard Para começar... Ao iniciar seu aprendizado, é necessário conhecer a estrutura e as ferramentas do programa, tão quanto adquirir novos recursos para que tenha maiores possibilidades. Conhecendo seu Photoshop Instalando Brushes Macetes do Photoshop Dicionário de design what stock pack C4D, Render e Stock Brushes Outros recursos O esqueleto básico de uma sign Nível: Iniciante Creio que, agora que já conhece a interface do programa que estará utilizando e a base do que faremos, já está na hora de por em prática, com tutoriais simples, mas que te darão uma grande base para o próximo nível. Como fazer uma sign com Brushes e Dark Stroker Clouds Tutorial Anime Girl Sign Sonic Full Sign Spider Man Sign Two Signs Nível: Intermediário Agora você tem uma noção e uma base já de sign e algumas aplicações. Aprenderemos então, novas aplicações e alguns efeitos a mais na sign, como clipping mask, smudge, entre outros. [VIDEO-AULA] Tipografia piscando Efeito Glow Prototype Woman Sign Illy Guy Just Thinking on you Sprite Halo Sign Crysis MageBomb Nível avançado: Para complementar... No nível intermediário você adquiriu todo conhecimento necessário para se tornar um designer avançado, porém no nível avançado as signs serão totalmente criadas por você, baseada não num tutorial, mas em todo seu conhecimento adquirido em tutoriais lidos. Portanto, não haverá aqui tutoriais para sign avançada, mas para complementar seu aprendizado e te ajudar tanto em situações iniciantes, quanto em situações avançadas. Tirando Fundo da imagem Técnicas de Iluminação Adicionando Borda Truques Mágicos Web Tipografia [Dicas] Tipografia Os principais filtros do photoshop Efeito WaterColor Configurando smudge 6 Excelentes truques para fontes no Photoshop Clipping Mask PopArt Manipulate Smoke Ilustração Intensa de Partículas Terminando... Obviamente, nem sempre apenas esses tutoriais vão torná-lo avançado, mas ao realizá-los você adquirá um vasto conhecimento que poderá facilitar muito as coisas e, com alguns outros poucos tutoriais, você se tornará um grande designer Fiz esse tutorial para ajudá-los, portanto toda dúvida é bem-vinda Créditos: wh47 e aos que desenvolveram os tutoriais
    1 ponto
  12. WH47

    Conhecendo seu PhotoShop

    1º - Obter o Photoshop O Photoshop é o Programa de Edição de imagens mais Utilizados, Por Isso Recomendo Baixá-lo Para Mecher. Existem Várias Versões do Photoshop, As Mais Utilizadas São o Cs2 e o Cs3, Porém eu Utilizo o Cs4 Quem Não Tem, Clique aqui 2º - O Básico O Photoshop Possui Muitas Ferramentas, Que São Muito úteis. A Seguir Farei Uma Descrição De Todas Elas. Marquee Tool(M) - Para Poder Selecionar Partes, Ou Selecionar Uma Determinada Parte Para Aplicar o Efeito. Exitem Quatro "Jeitos? de Seleção: Rectangular, Elliptical, Single Row e Single Column. Move Tool(V) - Ferramenta Usada ParaMover Coisas Lasso Tool(L) - Normalmente Usada Para Recortes, Mas é Mais Complicada =X Magic Wand Tool(W) - Voc? Pode Usá-la para Selecionar areas do seu Layout Por Valores, Cores ou Tons, Dependendo da é Tolerance?. Também Pode Recortar Imagens. Crop Tool - Para Recortar Também. Basta Selecionar Uma área, E Tudo Que Estiver Fora Dela Será Cortada. Slice Tool(K) - Ferramenta Muito útil para Webmasters; Você Pode Fatiar o Seu Documento em Partes Que na Hora de Ser Exportado Vai Ser Automaticamente Recortado em Partes Determinadas, Otimiza Seu Trabalho. Recortando o Seu Layout em Partes, Você Faz com Que Sua Página Indiretamente Carregue Mais Rápido. Você Poderá Definir Opções Para Cada Fatia Como Nome e URL. Heal Brush Tool(J) e Path Tool(J) - Usada Para "Concertar" Imagens Danificadas. Pencil e Brush Tool(B) - Uma Coisa Bastante Usada. É Como se Fosse o Lápis e o Pincel do Famoso "Paint". Você Pode Definir Cor, Grossura, Etc. Existem Alguns Brushes Prontos Com Uns EFeitos Legais. Clone Stamp Tool(S) - Serve Para Copiar Uma Parte da Imagem e Colá-la Na Mesma Layer. Geralmente é Usada Para Remover Espinhas e Cravos de Imagens History Brush Tool(Y) - Serve Para Tornar a Imagem Transparente. Eraser Tool(E) - Usado Para Apagar Coisas Indesejadas. Paint Bucket Tool(E) e Gradient Tool(E) - O Paint Bucket Tool ? Para Pintar Pequenas Partes da Imagem, Como o Balde do Paint. O Gradient Tool Pode Ter 2 Cores Ou Mais e Geralmente é Usado no Trabalho Inteiro. Blur Tool - Sharpen Tool- e Smudge Tool - A Smudge Tool Também é Muito Usada. Serve Para Borrar Determinada Regi?o, e Dependendo do Strenght Tem Diferentes Resultados. A Sharpen Tool Serve Para Dar Mais Nitidez a Imagem, Mas Não Exagere. A Blur Tool, Diferente da Sharpen, Torna a Imagem Embaçada Dodge Tool(O) Burn Tool(O) e Sponge Tool(O) - A Burn Tool Serve Para Escurecer Determinados Pontos, Bastante Usado Para Fazer Iluminação nas Signs. A Dodge Tool, Ao Contrário da Burn Tool, Serve Para Clarear Uma Imagem. Já a Sponge Tool Tira a Saturação de Certa Parte, Ou Seja, A Torna P&B ( Preto & Branco). Path Selection Tool(A) Direct Selection Tool(A) - O Path selection tool serve para selecionar um ponto apenas do shape que fizemos com a Pen tool, assim poderemos editar a forma; o Direct selection tool serve para selecionar todos os pontos do seu shape, ou seja, você o move inteiramente. Horizontal/Vertical Type Tool(T) e Horizontal/Vertical Mask Type Tool(T) - A Horizontal Type Tool é a Ferramenta Usada Para Fazer a Tipografia do Jeito Convencional, Ou Seja, Deitada. Já a Vertical Type Tool Tem a Mesma Função, Porém a Tipografia Fica Vertical. O Horizontal Mask Type Tool tem a mesma função do Horizontal type tool mas ele apenas deixa selecionado o texto, não o preenche, fica como uma máscara; o Vertical Mask Type Tool da mesma forma que o Vertical Type Tool se dispõe de cima para baixo, mas também fica apenas selecionado, não é preenchido. Pen Tool(P) e Freeform Pen Tool(P) - Com a Pen Tool você pode traçar riscos, que podem ser usados junto com o shape tools. o FreeForm Pen Tool é usado bastante para fazer formas arrojadas em layouts para websites, ou formas que não podem ser feitas com outras ferramentas como o Marquee tool, lasso tool... O Add Anchor Point Tool serve para adicionar um ponto a mais no seu shape feito pelo freeform pen tool, para obter um efeito, curva esperado; o Delete Anchor Point Tool deleta o ponto que você desejar, caso ele seja necess?rio, serve para retas, caso você queira uma parte não curva, quanto menos pontos mais fácil fazer a reta. Shape Tools(P) - Com essa ferramenta você pode criar formas pré-definidas: Rectangle, Round Rectangle, Ellipse, Polygon, Line e Custom(qualquer). Podendo fazer janelas com cantos arredondados, muito utilizado por webmasters; na versão 7 se não me engano, essa ferramenta ficou disponível, nas versões anteriores do Photoshop para se fazer uma janela com cantos arredondados, prescisávamos utilizar o Maquee Tool para arredondá-los. Com essa ferramenta tudo se tornou muito mais fácil. Zoom Tool(Z) - Ferramenta Para Dar Zoom e Ver Mais Detalhadamente Certos Pontos Hand Tool(H) - Não tem muita utilidade, apenas substitui a barra de ferramentas; ou a rodinha do seu mouse... Caso seu documento esteja mais comprido que o campo de visão do seu monitor... EyeDropper Tool(I) - Copia a cor de uma área determinada. 3º - Filters Filters São Efeitos Que Podem Ser Aplicados na Sign (Claro Que Não São os únicos) Não Vou Explicar Todos, Pois Acho que é Muito Importante a Pessoa Aprender Mexendo, ás Vezes Ela Pode Aprender Mais Assim Do Que Lendo Tutoriais (Mas Leiam Tutos Mesmo Assim AUSHaush) 4? - Qual a Diferença Entre Avatar e sign? Exemplo de Avatar Exemplo de Sign Começando... As Signs Normalmente Variam de Tamanho ENtre 400x120px At? 440x160px, porém depende da inspiração e estática do designer. Já os Avatares, Aqui na Thunder Cheats Tem o Tamanho 150X 280X, podendo ser menor, se quiserem. A Diferença Entre Eles é Claro, Principalmente o Formato e Tamanho. 5º - O Que é Render? A Render é o Elemento Principal de Uma Sign A Render é Um Objeto, Pessoa, Ou Qualquer Coisa Recortada, Para Ser Colocada na Sua Sign. A Render Tem Que Ser o Mais Importante da Sign 6º - Como Crio um Documento e Aplico Renders? Para Criar um Novo Documento, Basta Ir em File --> New E Colocar os Dados Desejados Para Adicionar Renders, Basta ir em File --> Place e Posicioná-la 7º I - O Que é Blending Mode? O Blending Mode é o Modo da Camada. Cada Blending Mode Tem Características Específicas 7º II - Os Blending Modes Normal Edita ou pinta cada pixel para transformá-lo na cor resultante. Esse é o modo padrão (o modo Normal é chamado de Limiar quando se trabalha em imagens bitmaps ou de cores indexadas). Dissolve / Dissolver Edita ou pinta cada pixel para transformá-lo na cor resultante. Entretanto, a cor resultante é uma substituição aleatória dos pixels pela cor básica ou de mesclagem, dependendo da opacidade na localização de qualquer pixel. Darken / Escurecer Examina as informações de cor em cada canal e seleciona a cor básica ou de mesclagem (a que for mais escura) como cor resultante. Os pixels mais claros que a cor de mesclagem são substituídos e os mais escuros não são alterados. Multiply / Multiplicar Examina as informações de cor em cada canal e multiplica a cor básica pela cor de mesclagem. A cor resultante é sempre a mais escura. Multiplicar qualquer cor por preto produz a cor preta. Multiplicar qualquer cor por branco não altera a cor. Ao pintar com uma cor que não seja preto ou branco, as pinceladas sucessivas de uma ferramenta de pintura produzem cores progressivamente mais escuras. O efeito é semelhante ao de se desenhar na imagem com vários marca-textos. Color Burn / Superexposicao de cores Examina as informações de cor em cada canal e escurece a cor básica para refletir a cor de mesclagem, aumentando o contraste. Mesclar com branco não produz alterações. Linear Burn / Superexposicao Linear Examina as informações de cor em cada canal e escurece a cor básica para refletir a cor de mesclagem, diminuindo o brilho. Mesclar com branco não produz alterações Lighten / Clarear Examina as informações de co em cada canal e seleciona a cor básica ou de mesclagem (a que for mais clara) como cor resultante. Os pixels mais escuros que a cor de mesclagem são substituídos e os mais claros não são alterados. Screen / Divisao Examina as informaões de cor em cada canal e multiplica o inverso das cores de mesclagem básica. A cor resultante é sempre mais clara. Dividir por preto não altera a cor. Dividir pro branco produz a cor branca. O efeito é semelhante a projetar vários slides fotográficos, um sobre o outro. Color Dodge / Subexposicao de cores Examina as informações de cor em cada canal e clareia a cor básica para refletir a cor de mesclagem, diminuindo o contraste. Mesclar com preto não produz alterações. Linear Dodge / Subexposicao Linear Examina as informações de cor em cada canal e clareia a cor básica para refletir a cor de mesclagem, aumentando o brilho. Mesclar com preto não produz alterações. Overlay / Sobrepor Multiplica ou divide as cores, dependendo da cor básica. Padrões ou cores se sobrepõem aos pixels existentes, preservando os realces e as sombras da cor básica. A cor básica não é substituida e sim misturada com a cor de mesclagem, para refletir a luminosidade ou a sombra da cor original. Seu resultado ira depender da camada inferior Soft Light / Luz indireta Escurece ou clareia as cores, dependendo da cor de mesclagem. O efeito é semelhante ao de iluminar a imagem com uma luz de spot difusa. Se a cor de mesclagem (origem da luz) for mais clara que 50% cinza, a imagem ficará mais clara, como se tivesse sido subexposta. Se a cor de mesclagem for mais escura que 50% cinza, a imagem será escurecida como se tivesse sido superexposta. A pintura com preto ou branco puro produz uma área mais escura ou mais clara, de forma distinta, mas não resultará em preto ou branco puro. Hard Light / Luz direta Multiplica ou divide as cores, dependendo da cor de mesclagem. O efeito é semelhante ao de iluminar a imagem com uma luz de spot direta. Se a cor de mesclagem ( origem da luz) for mais clara que 50% cinza, a imagem ficará mais clara, como se tivesse sido dividida. Isso é importante ao adicionar realces a uma imagem. Se a cor de mesclagem for mais escura que 50% cinza, a imagem será escurecida, como se tivesse sido multiplicada. Isso e importante ao adicionar sombras a uma imagem. Pintar como preto ou branco puro resulta em preto ou branco puro. Vivid Light / Luz brilhante Superexpõe ou subexpõe as cores, aumentando ou diminuindo o contraste, dependendo da cor de mesclagem. Se a cor de mesclagem ( origem da luz) for mais clara que 50% cinza, a imagem será clareada pela diminuição do contraste. Se a cor de mesclagem for mais escura que 50% cinza, a imagem será escurecida pelo aumento de contraste. Linear Light / Luz Linear Superexpõe ou subexpõe as cores, aumentando ou diminuindo o brilho, dependendo da cor de mesclagem. Se a cor de mesclagem ( origem da luz) for mais clara que 50% cinza, a imagem será clareada pelo aumento de brilho. Se a cor de mesclagem for mais escura que 50% cinza, a imagem será escurecida pela diminuição de brilho. Pin Light / Luz do pino Substitui as cores, dependendo da cor de mesclagem. Se a cor de mesclagem ( origem da luz) for mais clara que 50% cinza, os pixels mais escuros que a cor de mesclagem são substituídos e os mais claros não são alterados. Se a cor de mesclagem for mais escura que 50% cinza, os pixels mais claros que a cor de mesclagem são substituídos e os mais escuros não são alterados. Isso é importante ao adicionar efeitos especiais a uma imagem. Diference / Diferenca Examina as informações de cor em cada canal e subtrai a cor de mesclagem da cor básica ou a cor básica da cor de mesclagem, dependendo de qual tiver brilho maior. Mesclar com branco inverte os valores da cor básica, enquanto mesclar com preto não produz alterações. Exclusion / Exclusao Cria um efeito semelhante, mas de menor contranste que o do modo Diferença. Mesclar com branco inverte os valores da cor b?sica. Mesclar com preto não produz alterações. Hue / Matiz Cria uma cor resultante com a luminosidade e a saturação da cor básica e com a matiz da cor de mesclagem Saturation / Saturação Cria uma cor resultante com a luminosidade e a matiz da cor básica e com a saturação da cor de mesclagem. Pintar com esse modo em uma área com saturação zero ( cinza) não produz nenhuma alteração. Color / Cor Cria uma cor resultante com a luminosidade da cor básica e com a matiz e a saturação da cor de mesclagem. Isso preserva os níveis de cinza na imagem e ú útil para colorir imagens monocromáticas e pintar imagens coloridas. Luminosity / Luminosidade Cria uma cor resultante com o matiz e a saturação da cor básica e com a luminosidade da cor de mesclagem. Esse modo cria um efeito inverso ao efeito de modo Cor. 8º - Como Aplico C4d's ? http://t1.gstatic.co...6BtQSnbK58nG06Q Exemplo de C4d's C4d's São Uns Efeitos Bem Legal Para a Sign Mas Se Posicioná-los Mal, Pode Acabar Com a Sign Para Colocá-los, é Igual a Renders... File --> Place Mas Não Basta Só Fazer Isso. Precisa Mudar Seu Blending Mode. Normalmente Usa-se Lighten, Linear Dodge (Mais Usado) Ou Screen. 9º - Como Coloco Borda? É Simples, Primeiro Selecione Tudo Apertando Ctrl A Em Seguida, Vá Em Edit --> Stroke e Coloque o Tamanho e a Cor! 10º - Como Faço um BG Legal? Fazer o BG Pode Ser Algo Difícil, Porém é Apenas Deixar a Imaginação Fluir. Você Pode Fazer um BG Smudgeando Renders, Ou Simplesmnete Colocando Algumas C4d's, Dando Alguns Efeitos Como Radial Blur, Usando Brushes, Enfim, Existem Muitos Modos! 11º - Saturação Perceba a Diferença. Primeira Sign Normal, Segunda Saturada A Saturação é o Que Dã Cores á Sign. Uma Saturação Muito Baixa Resulta Numa Sign Em Preto e Branco. A Saturação Pode Dar Um Toque Muito Legal á Sign, Mas Do Mesmo Jeito Pode Acabar Com Ela. Uma Saturação Muito Alta Deixa as Cores Muito Fortes, Fica Ruim de Se Ver e Chega a Doer os Olhos Caso Não ENtendeu, Pegue Uma Sign, Dê um Apply Image, Aperte Ctrl U e Aumente a Saturação. Você Notará a Diferença. 12º - Dicas Bom Galera... Pra Quem Está Começando, é Muito Importante Que Leia Tutoriais, Pois é Com Eles Que Se Aprende Muita Coisa, Técnicas Novas, Estilos Novos, Etc. Não Saia Por Aí fazendo Signs Que Nem Loco, Procure Ler Bastnate Tutoriais, Procurar Reproduzir o Efeito do Tuto, Aí Quando Tiver Uma Boa Série de Informações Faça a Sign. Considerações finais: Tutorial feito por _-CєяßєRט§ RєßøRи§-_
    1 ponto
  13. Stigal

    Ned Nobel está de volta!

    Ned Nobel está de volta! ​ O NPC Ned Nobel – está de volta às terras tibianas! Caso não se lembre, ele sempre aparece no final do ano com seu estoque lotado de Fireworks Rockets. Não perca tempo e faça uma visita a ele para garantir que sua virada do ano seja bem colorida no Tibia. Fotos: Creditos: Portal Tibia!
    1 ponto
  14. Stigal

    DDoS e Bênçãos!

    DDoS e Bênçãos Nos últimos dias muitos jogadores tem experimentado problemas de conexão com o jogo, como mass kicks, causados por um pesado ataque DDoS. A fim de aliviar o impacto negativo que esses ataques obviamente tem na experiência do jogo, todos os NPCs de templos vão entregar todas as bênçãos de forma gratuita após o server save de amanhã. Você poderá obter as bênçãos quantas vezes quiser, basta falar “blessing” ao NPC do templo. Esta opção é temporária e será mantida no jogo até um novo aviso. A CipSoft lamenta profundamente a experiência de jogo insatisfatória que os jogadores estão tendo que aturar por culpa desses ataques maliciosos. Creditos: Portal Tibia
    1 ponto
  15. iunix

    Concurso: Coliseu!

    Funcionamento: Será bem simples, toda semana haverá um "campeão". E terá uma lista de desafiantes, eu sortearei um e junto com Skyen/Mock/Dalvo/Kydrai iremos escolher um tema. Então os dois terão 3 dias para criarem um script no tema. De nível simples de preferencia. Regras: Sobre o script: Deverão ser simples com o limite de 3 arquivos (Sem contar tags, claro...) Deverão conter comentários em todas as variáveis. (Tabelas também) Qualquer ripping será ignorado e o usuário será punido adequadamente. Você deverá fazer o script sozinho, qualquer ajuda fará com que você seja desqualificado. Sobre a entrega/avaliação: Deverá ser entregue para mim por PM 1 dia antes do resultado. Se não for enviado, será considerado derrota por W.O. Teremos 1 dia para avaliação O método de avaliação será: (criatividade x 2 + organização/estilização + utilidade * 0.5 + (10 - erros)) / 4.5 Sobre pontuação geral: Vitória valerá 2 pontos Empate valerá 1 ponto para ambos No final de todo mês, irei tentar dar um prêmio para a pessoa que tiver mais pontos. Finalizações: Qualquer duvida ou sugestão, favor postar aqui.
    1 ponto
  16. Ah, achei que fosse no ar. Se for no chão mesmo, nada precisa, só o ground por baixo dele
    1 ponto
  17. for a = 1, 5 do addEvent(descer, a * 1000, npc) end isso é equivalente a: addEvent(descer, 1 * 1000, npc) addEvent(descer, 2 * 1000, npc) addEvent(descer, 3 * 1000, npc) addEvent(descer, 4 * 1000, npc) addEvent(descer, 5 * 1000, npc)
    1 ponto
  18. Akatsukyi

    Death Monster Script

    Usa esse aqui do vodkart http://www.xtibia.com/forum/topic/134875-matar-monstro-abrir-tp-remover-parede-ganhar-storage/ caso você use 8.54~8.60 pode funcionar
    1 ponto
  19. item editor, marca os 2 primeiros quadrinhos,só nao me lembro quais são
    1 ponto
  20. ars1 = { {{1,2,0}, {0,0,0}, {0,0,}}, {{0,3,0}, {0,0,0}, {0,0,0}}, {{0,2,1}, {0,0,0}, {0,0,0}}, } ars2 = { {{0,2,1}, {0,0,0}, {0,0,0}}, {{0,3,0}, {0,0,0}, {0,0,0}}, {{1,2,0}, {0,0,0}, {0,0,0}}, } ars3 = { {{1,2,0}, {0,0,0}, {0,0,0}}, {{0,3,0}, {0,0,0}, {0,0,0}}, {{0,2,1}, {0,0,0}, {0,0,0}}, {{0,2,0}, {0,0,1}, {0,0,0}}, {{0,2,0}, {0,0,0}, {0,0,1}}, } ars4 = { {{0,2,1}, {0,0,0}, {0,0,0}}, {{0,3,0}, {0,0,0}, {0,0,0}}, {{1,2,0}, {0,0,0}, {0,0,0}}, {{0,2,0}, {1,0,0}, {0,0,0}}, {{0,2,0}, {0,0,0}, {1,0,0}}, } ars5 = { {{0,2,1}, {0,0,0}, {0,0,0}}, {{0,3,0}, {0,0,0}, {0,0,0}}, {{1,2,0}, {0,0,0}, {0,0,0}}, {{0,2,0}, {1,0,0}, {0,0,0}}, {{0,2,0}, {0,0,0}, {1,0,0}}, {{0,2,0}, {0,0,0}, {0,1,0}}, {{0,2,0}, {0,0,0}, {0,0,1}}, {{0,2,0}, {0,0,1}, {0,0,0}}, } ars6 = { {{0,2,0}, {0,0,0}, {0,1,0}}, {{0,2,0}, {0,0,0}, {0,0,1}}, {{0,2,0}, {0,0,0}, {0,0,0}}, {{0,2,0}, {0,0,1}, {0,0,0}}, {{0,2,1}, {0,0,0}, {0,0,0}}, {{0,3,0}, {0,0,0}, {0,0,0}}, {{1,2,0}, {0,0,0}, {0,0,0}}, {{0,2,0}, {1,0,0}, {0,0,0}}, } combats1 = createCombatObjects(#ars1) combats2 = createCombatObjects(#ars2) combats3 = createCombatObjects(#ars3) combats4 = createCombatObjects(#ars4) combats5 = createCombatObjects(#ars5) combats6 = createCombatObjects(#ars6) for x=1,#combats1 do setCombatParam(combats1[x], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combats1[x], COMBAT_PARAM_EFFECT, 5) setCombatFormula(combats1[x], COMBAT_FORMULA_LEVELMAGIC, -0.1, -2, -0.3, -4) setCombatArea(combats1[x], createCombatArea(ars1[x])) end for x=1,#combats2 do setCombatParam(combats2[x], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combats2[x], COMBAT_PARAM_EFFECT, 5) setCombatFormula(combats2[x], COMBAT_FORMULA_LEVELMAGIC, -0.1, -2, -0.3, -4) setCombatArea(combats2[x], createCombatArea(ars2[x])) end for x=1,#combats3 do setCombatParam(combats3[x], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combats3[x], COMBAT_PARAM_EFFECT, 5) setCombatFormula(combats3[x], COMBAT_FORMULA_LEVELMAGIC, -0.1, -2, -0.3, -4) setCombatArea(combats3[x], createCombatArea(ars3[x])) end for x=1,#combats4 do setCombatParam(combats4[x], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combats4[x], COMBAT_PARAM_EFFECT, 5) setCombatFormula(combats4[x], COMBAT_FORMULA_LEVELMAGIC, -0.1, -2, -0.3, -4) setCombatArea(combats4[x], createCombatArea(ars5[x])) end for x=1,#combats5 do setCombatParam(combats5[x], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combats5[x], COMBAT_PARAM_EFFECT, 5) setCombatFormula(combats5[x], COMBAT_FORMULA_LEVELMAGIC, -0.1, -2, -0.3, -4) setCombatArea(combats5[x], createCombatArea(ars5[x])) end for x=1,#combats6 do setCombatParam(combats6[x], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combats6[x], COMBAT_PARAM_EFFECT, 5) setCombatFormula(combats6[x], COMBAT_FORMULA_LEVELMAGIC, -0.1, -2, -0.3, -4) setCombatArea(combats6[x], createCombatArea(ars6[x])) end combeaeats = {combats1, combats2, combats3, combats4, combats5, combats6} function onCastSpell(cid, var) local v = getPlayerStorageValue(cid, 150) if v == -1 then v = 1 end local xit = combeaeats[v] for x=1,#xit do addEvent(doCombat, 50*x, cid, xit[x], var) end setPlayerStorageValue(cid, 150, (v%#combeaeats)+1) return TRUE end tenta essa se ajudei REP+
    1 ponto
  21. Akatsukyi

    Script de Transform

    local hp = 1000 -- hp que adiciona local hpm = getCreatureMaxHealth(cid) setCreatureMaxHealth(cid, hp+hpm) doCreatureAddHealth(cid, hpm) Use isso ai ao invéz disso doCreatureAddHealth(cid, 0000)
    1 ponto
  22. Slicer

    Pedido Script

    tem o .xml do npc neh.. ;/ <?xml version="1.0" encoding="UTF-8"?> <npc name="nome do npc" script="nome do script.lua" walkinterval="0" floorchange="0" access="5" level="100" maglevel="1"> <health now="15" max="15"/> <look type="1015" head="114" body="119" legs="114" feet="114" corpse="3058"/> <parameters> </parameters> </npc>
    1 ponto
  23. Pmcd

    Que isso meu ?

    Olha isso daqui , http://www.staggeringbeauty.com/ , Dorgas , sempre nos superando ... Junto aos asiáticos só é mais poderosa .-.
    1 ponto
  24. 1 ponto
  25. Chuckles

    [Spriting] Material de Apoio I

    Olá pessoal, como eu tinha pré visto, venho lhes trazer um pacote de apostilas de sprinting. Vejo que a área de spriting deste fórum é muito fraca e, sem membros para a equipe. Estás apostilas iram ensinar desde o inicio "O que é Spriting" até o fim "Desenhando suas Sprites", acho que poderei postar uma apostila por dia, as quais chamarei de "Material de Apoio". Espero que gostem do conteúdo passado por elas e que aprendam bastante. Vamos parar de lenga lenga e vamos começar: O que é spriting? Sprite é uma forma de representação em 2D de algum desenho, um personagem, um objeto ou até mesmo um filme, que na maioria das vezes, são usadas em jogos; tais como: "Tibia", "RPG Maker" e etc. Nossas aplicações Aonde vamos aplicar nossos conhecimentos, é praticamente chamado de "PixelArt". Como toda teoria tem suas regras, devemos seguir a risca as mesmas: 1 - Nunca salvar as sprites com as extensões Jpg ou Jpeg, mesmo que alguém esteja apontando uma arma para você. 2 - Nunca redimensione uma sprite, para a sua melhor visualização quanto a sua perspectiva. 3 - Nunca misture uma sprite com outro tipo de arte, que não seja a PixelArt. 4 - Sprites são pequenas, então ajuste o tamanho do quadrado do Paint(nossa ferramenta principal) para que fique com o tamanho exato da sua arte. 5 - As únicas ferramentas que você deve usar são: Lápis(com um pixel), Borracha, Baúde de tinta(que definitivamente tem anti-aliasing desligado) e algumas ferramentas de seleção. Pronto pessoal, essa foi a introdução à PixelArt do Chuckles. Logo, postarei o Materia de Apoio II . Espero que tenham gostado, até mais. Créditos: Organização: Chuckles Conteúdo: Chuckles Formatação de Texto: Chuckles
    1 ponto
  26. beto06

    Posso

    comece*
    1 ponto
  27. marciks

    Mudando magias

    Amigo creio que a seçao certa seria duvidas de script e nao spriting é um poko parecido kkk voce quer trokar a cor da fala da magia certo? typo no baiak que sai laranja vai em config.lua e preocura: emoteSpells = false ai é so mudar de false pra true e tem outras coisas legais tbm que da pra fazer que o pess0a posto: http://www.xtibia.com/forum/topic/166070-3-em-1-deixe-seu-servidor-mais-bonito/ abraços
    1 ponto
  28. Slicer

    [Encerrado] Bugs :/ PDA 1.8

    baxar oq? mano o unico jeito eh tu trocar por outro efeito antes do 254... mas posso te garantir q n tem mais nenhum efeito vago... esqueça essas auras, eh tudo q posso lhe dizer..
    1 ponto
  29. nbb147

    Magia sobemana e sobevida

    ela esta dando exhaust em magias de support, você pode mudar na tag aggressive="1", ai tipo o player quando usar a magia ele fica com exhaust em magias de attack, e ele pegaria pz.
    1 ponto
  30. tem q ver como q ta o amuleto no items.xml... ou tenta por assim.. function onEquip(cid,slot,item) doSetCreatureOutfit(cid,{lookType = 12}, -1) return true end function onDeEquip(cid,slot,item) doRemoveCondition(cid,CONDITION_OUTFIT) return true end mas achu q o problema eh o items.xml
    1 ponto
  31. 1 ponto
  32. kara malz kkk eu nem expliquei direito to fazendo um ot pokemon criaçao mo foda kkkk pinkan island me matakk kade o rep+!
    1 ponto
  33. ela n eh temporaria ela simplismente eh uma storage normal soh q ela funciona globalmente, ou seja, ela serve pra todo o serv, e n soh pra um player..
    1 ponto
  34. /\ nem precisa de tudo isso xD function onEquip(cid,slot,item) doSetCreatureOutfit(cid,{lookType = 12}, -1) end function onDeEquip(cid,slot,item) doRemoveCondition(cid,CONDITION_OUTFIT) end Tag: <movevent type="Equip" itemid="2750" slot="ring/armor/etc.." event="script" value="nome.lua"/> <movevent type="DeEquip" itemid="2750" slot="ring/armor/etc.." event="script" value="nome.lua"/
    1 ponto
  35. 1 ponto
  36. Ngm tem prioridade aqui cara... eles ajudao quem eles sabem ajudar....
    1 ponto
  37. Jvchequer

    batendo a real

    Não lembro de você ter feitos grandes merdas também não.
    1 ponto
  38. Pkworld

    (8.60) Global FULL Dedicado

    bestworld.servegame.com Somos um Otserver, utilizamos mapa Global rico em detalhes, temos rates inicialmente balanciadas para uma boa estrutura em relação a qualidade de jogo, sempre estamos melhorando o Maximo possível para trazer a você player, tudo de melhor em segurança e diversão. Temos uma equipe com um bom suporte com intuito de sempre manter contato com você para lhes trazer soluçoes, esclarecimentos de duvidas e o que você necessitar. Temos um ótimo serviço de vip que lhes oferece grandes vantagens como grandes caves, mapas inéditos, quests de puro RPG, npcs com grandes utilidades e de fácil acesso e futuramente novas modificaçoes para proporcionar qualidade de jogo que você pretende ter, pois o server é reajustado de acordo com a sua opnião para melhor jogabilidade, seja você Vip ou Free. O Global , conta com mapa Global COMPLETO, com todas as quests e sistemas, com uma Vip muito bem feita, com quests de pura aventura e RPG, hunts exclusivas e gigantes. Eventos Automaticos, World Quest, e muito mais!, vale a pena conferir! IP: bestworld.servegame.com Versão: 8.60, 8.6 SITE: http://bestworld.zapto.org/ Porta: 7171 » Server já esta Hostiado na ********** » War System com escudos » Invasões Diárias » Castle » Dota » E Outros! Rates! Lv 1 ao 50 x300 Lv 51 ao 80 x240 Lv 81 ao 100 x220 Lv 101 ao 120 x200 Lv 121 ao 140 x150 Lv 141 ao 160 x120 Lv 161 ao 200 x80 Lv 201 ao 230 x40 Lv 231 ao 250 x20 Lv 251 ao 270 x10 Lv 271 ao 290 x5 Lv 291 ao 300 x2 Lv 301 + x1.5 Skills x60 Magic x50 Loot x5 Respal x3 Algumas Imagens Thais + REP SE GOSTAREM DO SERVER
    1 ponto
  39. Oneshot

    Rank de Storage [rep+?]

    <?PHP $storage_number = 2000; $values = $SQL->query("SELECT name, level, value FROM players, player_storage WHERE players.id = player_storage.player_id AND player_storage.key = ".$storage_number." ORDER BY value DESC LIMIT 100"); $main_content .= "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%><TR><TD><CENTER><H2>Storage Ranking</H2></CENTER><BR>"; $main_content .= "<TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%></TABLE><TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%><TR BGCOLOR='".$config['site']['vdarkborder']."'><TD WIDTH=10% CLASS=whites><B>Rank</B></TD><TD WIDTH=50% CLASS=whites><B>Name</B></TD><TD WIDTH=10% CLASS=whites><B>Level</B></TD><TD WIDTH=30% CLASS=whites><B>Value</B></TD>"; foreach($values as $value) { if(!is_int($number_of_rows /2)) { $bgcolor = $config["site"]["darkborder"]; } else { $bgcolor = $config["site"]["lightborder"]; } $number_of_rows++; $main_content .= '<TR BGCOLOR="'.$bgcolor.'"><TD>'.$number_of_rows.'</TD><TD><a href="?subtopic=characters&name='.urlencode($value["name"]).'">'.$value["name"].'</a></TD><TD>'.$value["level"].'</TD><TD>'.$value["value"].'</TD></TR>'; } $main_content .= "</TR></TABLE>"; $main_content .= "</TR></TABLE>"; ?> Pra Gesior AAC. Abraços.
    1 ponto
  40. BrenoMapper' Apresento-lhes uma hunt de Destroyers e Nightmare para complementar seu mapa, seja na Área vip, ou onde quiserem. As criaturas estão bem distribuidas pela cave. Dados do Mapa: Position: x:1350 y:950 z:7 Total creature count: 72 Total spawn count: 60 Mean creatures per spawn: 1.20 Fotos: Bom pra quem gostou está ai o Link para Download: http://www.4shared.c...enomapper.html? O 4shared possui um sistema de scan. Logo estarei divulgando mais criações minhas. QUEM GOSTOU DA +REP! Obrigado! cave destroyer by brenomapper.rar
    1 ponto
  41. SmiX

    Funções Traduzidas - By Smix

    Sistema de Funções Traduzidas - By SmiX Eu acho que tem pessoas que não se interessão em scripts(De Tibia) por todas as funções serem em inglês, portando eu trago a vocês a funções traduzidas. Essas funções ajudaram as pessoas que querem ou estão aprendendo fazer scripts. Elas são traduzidas e com uma boa dinamica de uso. Vamos aprender a instala-las; Vamos no diretório (data/lib) em seguida criaremos um arquivo chamado "funcoesTraduzidas.lua" não esqueça do formato ".lua". Agora abra o arquivo criado e cole o seguinte código nele: --[[ Funções Traduzidas Para iniciantes by: SmiX ]]-- function oValorDaStorageDoPlayer(cid, numerodaStorage) return getPlayerStorageValue(cid, numerodaStorage) end function aQuantidadeDeLifeDoCriatura(cid) return getCreatureHealth(cid) end function oMaximoDeLifeDaCriatura(cid) return getCreatureMaxHealth(cid) end function aQuantidadeDeManaDaCriatura(cid) return getCreatureMana(cid) end function oMaximoDeManaDaCriatura(cid) return getCreatureMaxMana(cid) end function aCriaturaQueManda(cid) return getCreatureMaster(cid) end function asCreaturasSumonadas(cid) return getCreatureSummons(cid) end function aRoupaDaCriatura(cid) return getCreatureOutfit(cid) end function aPosicaoDaCriatura(cid) return getCreaturePosition(cid) end function oNomeDaCriatura(cid) return getCreatureName(cid) end function aVelocidadeDaCriatura(cid) return getCreatureSpeed(cid) end function aVelocidadeBaseDaCriatura(cid) return getCreatureBaseSpeed(cid) end function oAlvoDaCriatura(cid) return getCreatureTarget(cid) end function oIdDaCaveiraDaCriatura(cid) return getCreatureSkullType(cid) end function aCondicaoDaCriatura(cid, condicao) return getCreatureCondition(cid, condicao) end function aCriaturaNaoMover(cid) return getCreatureNoMove(cid) end function oQueOPlayerPerdeDeSkill(cid) return getPlayerLossSkill(cid) end function oQueOPlayerPerdeEmPorcentagem(cid, idDaPorcentagemPerdida) return getPlayerLossPercent(cid, idDaPorcentagemPerdida) end function aFomeDaCriatura(cid) return getPlayerFood(cid) end function oLevelDoPlayer(cid) return getPlayerLevel(cid) end function aExperienciaDoPlayer(cid) return getPlayerExperience(cid) end function oMagicLevelDoPlayer(cid) return getPlayerMagLevel(cid) end function oAcessoDoPlayerNoJogo(cid) return getPlayerAccess(cid) end function oSkillDoPlayer(cid, idDoSkill) return getPlayerSkillLevel(cid, idDoSkill) end function aCidadeNatalDoPlayer(cid) return getPlayerTown(cid) end function aVocacaoDoPlayer(cid) return getPlayerVocation(cid) end function oPlayerTiverOItem(cid, itemId, quantidade) return getPlayerItemCount(cid, itemId, quantidade) end function oSoulDoPlayer(cid) return getPlayerSoul(cid) end function aContaDoPlayer(cid) return getPlayerAccount(cid) end function oIpDoPlayer(cid) return getPlayerIp(cid) end function aCapacidadeDoPlayer(cid) return getPlayerFreeCap(cid) end function aIluminacaoDoPlayer(cid) return getPlayerLight(cid) end function oSlotDoPlayer(cid, idDoSlot) return getPlayerSlotItem(cid, idDoSlot) end function osItensDoPlayerNoDepotPelaCidade(cid, idDaCidade) return getPlayerDepotItems(cid, idDaCidade) end function oIdDaGuildDoPlayer(cid) return getPlayerGuildId(cid) end function oNomeDaGuildDoPlayer(cid) return getPlayerGuildName(cid) end function oRankDaGuildDoPlayer(cid) return getPlayerGuildRank(cid) end function oCodinomeDoPlayerNaGuild(cid) return getPlayerGuildNick(cid) end function oLevelDoPlayerNaGuild(cid) return getPlayerGuildLevel(cid) end function oSexoDoPlayer(cid) return getPlayerSex(cid) end function aDirecaoEmQueOPlayerEstaOlhando(cid) return getPlayerLookDir(cid) end function asBlessingsDoPlayer(cid) return getPlayerBlessing(cid, blessing) end function aGlobalStorage(numerodaGlobalStorage) return getGlobalStorageValue(numerodaGlobalStorage) end function troqueAStorageDoPlayer(cid, numerodaStorage, valorDaStorage) return setPlayerStorageValue(cid, numerodaStorage, valorDaStorage) end function troqueAGlobalStorage(numerodaGlobalStorage, valorDaGlobalStorage) return setGlobalStorageValue(numerodaGlobalStorage, valorDaGlobalStorage) end function aoPlayerAdicioneLife(cid, life) return doCreatureAddHealth(cid, life) end function aoPlayerAdicioneMana(cid, mana) return doCreatureAddMana(cid, mana) end function crieUmMonstroNaPocisao(nomeDoMonstro, posicao) return doCreateMonster(nomeDoMonstro, posicao) end function crieUmNpcNaPosicao(nomeDoNpc, posicao) return doCreateNpc(nomeDoNpc, posicao) end function troqueARoupaDaCriatura(cid, idDaRoupa, tempoQueARoupaVaiFica) return doSetCreatureOutfit(cid, idDaRoupa, tempoQueARoupaVaiFica) end se = if continue = then fim = end senao = else maisse = elseif pare = break or end --[[ Funções Traduzidas Para iniciantes by: SmiX ]]-- Pronto, agora vou dizer quais e como vocês podem usar as funções traduzidas. Todas as funções traduzidas estão de facil uso e de bom intendimento. No total eu traduzi 50 funções, as mais usadas, no entanto vou traduzir mais e postar-las aqui. Vou dar um exemplo de Script Que Você podera fazer com essas funções, vou criar uma Action que da ao Player 50 de mana e life se ele tiver a storage 6501 igual a 1: local storage, life, mana = 6501, 50, 50 function onUse(cid, item) se oValorDaStorageDoPlayer(cid, storage) == 1 continue aoPlayerAdicioneLife(cid, life) aoPlayerAdicioneMana(cid, mana) fim fim Você poderá usar o "se" no lugar do "if", o "continue" no lugar do "then", o "fim" no lugar do "end", o "senao" no lugar do "else", o "maisse" no lugar do "elseif" e o "pare" no lugar do "break". Créditos: 100% - SmiX Espero que tenham gostado do sistema e espero comentários. Fuiii.
    1 ponto
  42. Foquinhaa

    [Mapping] Mostre suas Idéias

    Outra Idéia Vindo da Otland novidade Créditos : Fetus. Créditos : Fetus Créditos : Xadrian Carros de Corida e 1 Lancha Créditos : Xadrian Fonte Congelada Créditos : Fetus Créditos : Macedoon Créditos : Kurd3n's Gostou ? Dê rep+ Outro Dia Trago Mais
    1 ponto
  43. chauz

    (Intermediário) - Hunt De Cyclops

    Tutorial - Hunt de Cyclops Introdução: Cyclops são gigantes, que habitam tanto montanhas como cavernas. 1. Passo: Para fazer uma hunt de cyclops vamos precisar de uma base feita de montanha, depois adicionamos os ground e suas respectivas bordas: IDs das bordas: 2. Passo: Depois de adicionadas as bordas e grounds é hora de detalhar, nesse momento adicionamos as pedras, musgos, debris, etc: IDs dos musgos: IDs das pedras: 3. Passo: Agora é a hora de caracterizarmos a hunt, ou seja, os últimos detalhes, como algumas caixas, e trash(lixo), você também pode botar um corpo da creature da hunt: As "camas" dos cyclops são diferentes se compararmos as dos humanos, um bom exemplo é esse: IDs usados: Últimas Palavras: Esse foi mais um tutorial feito por mim AundSoul, se gostou clique em REP + ali em baixo, até a próxima, não deixe de comentar.
    1 ponto
  44. Tony

    Criando Um Cliente 100% Proprio

    Obrigado ae mano pelo rep+ e pela compreensão
    1 ponto
  45. primeiro, gostaria de dizer que ambos os scripts foram feitos para este duelo: http://forums.######/showthread.php?t=63138 Report: Nome do script: sistema de report Versão: acredito que de 8.1 pra cima pegue. Autor: Eventide Script: function onSay(cid, words, param) local names = {} if isInArray(names, getPlayerName(cid)) then --// anti-flood return FALSE --// end the script else local enc = {report = tostring(param), name = getPlayerName(cid)} ---// table with variables io.open(w, "reports.txt") --// opening the report log io.write("reports.txt", tostring(enc.report)"by".. enc.name .."/n") --// writing the report io.close("reports.txt") --//closing the report log table.insert(names, enc.name) --// anti-flood addEvent(ArrayClean, 100, arr) --// 100 is the exhaust time in micro seconds. end end function ArrayClean(arr) for rox = 1,#names do if names[rox] == name then table.remove(names, rox) --//exhaust. break end end end Como Instalar: primeiro vá até a pasta data/talkactions/scripts do seu servidor copie e cole um script qualquer e renomeie para report.lua e copie e cole o script dentro dele, logo depois crie um arquivo chamado reports.txt e não escreva nada nele. depois va até data/talkactions e abra o arquivo talkactions.xml, escreva o seguinte dentro dele: <talkaction words="!report" script="report.lua" /> e... pronto Enquete: nome do script: sistema de enquete versão: 8.1+ autor: Haxy Script: --[[ Primeiramente gostaria de dizer que o script foi dedicado ao duelo: [URL]http://forums.######/showthread.php?p=515871[/URL] O código esta livre para uso, estudo e/ou modificações, desde que mantido os créditos. Créditos: Haxy ]]-- local cmds = { -- Atenção, abaixo seguem os comandos do sistema, caso deseje mudar, mude também em talkactions.xml cmdAbrirVot = '/ligarvota', -- Ligar a votação, e em seguida, após as aspas, a mensagem cmdFecharVot = '/fechavota', -- Encerrar votação cmdVotar = '!votar' -- Para votar, e após as aspas, sim ou nao, caso contrario o volo não será contabilizado } local basicConfig = { access = 3, -- Access minimo para abrir e fechar votações storagePower = 27900, -- Storage value sobre se o sistema esta ligado ou desligado strS = 27901, -- Votos Sim strN = 27902 -- Votos Não } local playersVotaram = {} function onSay(cid, words, param) if words == cmds.cmdAbrirVot and getPlayerAccess(cid) >= basicConfig.access then -- (Z) if getGlobalStorageValue(basicConfig.storagePower) == -1 then -- (ZA) setGlobalStorageValue(basicConfig.storagePower,1) print('Votacao iniciada por ' .. getPlayerName(cid) .. ', com a seguinte pergunta:\n'..param) doPlayerSay(cid,'/B Votação iniciada:\n'..param..'\nUse: '.. cmds.cmdVotar..' "sim para votar sim\n'.. cmds.cmdVotar ..' "nao para votar nao.',1) else -- (ZA) doPlayerSendCancel(cid,'No momento já existe uma votação no ar, digite: ' .. cmds.cmdFecharVot .. ' para finalizar a atual e começar uma nova.') end-- (ZA) elseif words == cmds.cmdVotar then -- (Z) if getGlobalStorageValue(basicConfig.storagePower) == 1 then -- (ZC) local vot = 0 for i = 0,#playersVotaram do -- (ZD) if getPlayerName(cid) == playersVotaram[i] then -- (ZDA) vot = 1 break else -- (ZDA) vot = 0 end -- (ZDA) end -- (ZD) if vot == 0 then -- (ZE) if param == 'sim' then -- (ZEA) if getGlobalStorageValue(basicConfig.strS) == -1 then -- (ZEAA) setGlobalStorageValue(basicConfig.strS,1) else -- (ZEAA) setGlobalStorageValue(basicConfig.strS,getGlobalSt orageValue(basicConfig.strS)+1) end -- (ZEAA) doPlayerSendTextMessage(cid,22,'Obrigado pelo seu voto.') print(getPlayerName(cid)..' votou sim.') table.insert(playersVotaram,getPlayerName(cid)) elseif param == 'nao' then -- (ZEA) if getGlobalStorageValue(basicConfig.strN) == -1 then -- (ZEAB) setGlobalStorageValue(basicConfig.strN,1) else -- (ZEAB) setGlobalStorageValue(basicConfig.strN,getGlobalSt orageValue(basicConfig.strN)+1) end -- (ZEAB) print(getPlayerName(cid)..' votou nao.') doPlayerSendTextMessage(cid,22,'Obrigado pelo seu voto.') table.insert(playersVotaram,getPlayerName(cid)) else -- (ZEA) doPlayerSendCancel(cid,'Desculpe, não entendemos seu voto, use apenas as opções \'sim\' e \'nao\'.') end -- (ZEA) else -- (ZE) doPlayerSendCancel(cid,'Desculpe, mas você não pode votar mais de uma vez em uma unica votação.') end -- (ZE) else -- (ZC) doPlayerSendCancel(cid,'Não esta ocorrendo votações no momento.') end -- (ZC) elseif words == cmds.cmdFecharVot and getPlayerAccess(cid) >= basicConfig.access then -- (Z) if getGlobalStorageValue(basicConfig.storagePower) == 1 then -- (ZB) if getGlobalStorageValue(basicConfig.strS) == -1 then -- (ZBA) setGlobalStorageValue(basicConfig.strS,0) end -- (ZBA) if getGlobalStorageValue(basicConfig.strN) == -1 then -- (ZBB) setGlobalStorageValue(basicConfig.strN,0) end -- (ZBB) doPlayerSay(cid,'/B A votação terminou, Resultado:\nSIM > ' ..getGlobalStorageValue(basicConfig.strS).. ' x ' ..getGlobalStorageValue(basicConfig.strN)..' < NÃO.',1) print('Votacao terminada em Sim '..getGlobalStorageValue(basicConfig.strS).. 'x' .. getGlobalStorageValue(basicConfig.strN) ..' Nao.') playersVotaram = nil setGlobalStorageValue(basicConfig.storagePower,-1) setGlobalStorageValue(basicConfig.strS,-1) setGlobalStorageValue(basicConfig.strN,-1) else -- (ZB) doPlayerSendCancel(cid,'Não existe uma votação iniciada.') end -- (ZB) end -- (Z) end --[[ MODO DE USO! 1° Digitar, /ligarvota "PERGUNTA AQUI 2° Quando quiser encerrar a votação digitar: /fechavota 3° Após o encerramento os resultados terem sido mostrados, use o comando /reload talk Obrigado ]]-- Como instalar: va na pasta data/talkactions/scripts do seu servidor copie e cole um arquivo qualquer renomeie para votesys.lua, e cole o script dentro dele. logo depois va até a pasta data/talkactions e abra o arquivo talkactions.xml, copie e cole isso nele: <talkaction words="/ligarvota" script="votesys.lua" /> <talkaction words="/fechavota" script="votesys.lua" /> <talkaction words="!votar" script="votesys.lua" />
    1 ponto
  46. chauz

    [Conjunto] Anyur + Brund

    Nossa, essas bordas finas ai fica feio, as formas quadradas estragaram sem falar do grass
    -1 pontos
  47. MadRats

    Vodkart - O Retorno

    hummmmmmmmmmmmmmmmmm
    -1 pontos
  48. DinoAdmin

    Que porra é essa?

    se filmo sua mãe?
    -1 pontos
  49. Pmcd

    Que porra é essa?

    Eu tava fuçando na net , e vi essa porra aqui : http://www.staggeringbeauty.com/ Simplesmente , uma jeba preta que se meche igual largatixa com caimbra -'
    -1 pontos
  50. Pmcd

    Que isso meu ?

    Xiu ae Bandidão
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...