Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 07/02/15 em todas áreas

  1. [ACTION] de Semente

    Fearlet e 2 outros reagiu a Caronte por uma resposta no tópico

    3 pontos
    Olá pessoal, hoje venho vos trazer um "sistema" que se resume em 1 script, nele você pode semear e de acordo com o tempo, cresce a planta! melhor explicar com imagens: No script já vêm pré-configurado para 2 tipos possíveis de semente/broto : - Id: 8582 - Id: 7732 para plantar é necessária uma base: O monte de terra no meio. Ao dar use em cima do monte, com a semente ou o galho, haverá estágios... 1º Estágio: (padrão) 2º / 3º / 4º / Para instalar, siga as instruções: Crie um arquivo, com o nome de seed.lua em (data/actions/scripts) function onUse(cid, item, toPos, itemEx, fromPos) -- Exemplo para criar: [ID da semente] = {etapa1, etapa2, ..., etapa1000}, local c = { trees = { [8582] = {2768, 2712, 2700}, [7732] = {2784, 2767, 2702}, [2401] = {2344, 4404, 2711}, }, ----------- need_aid = false, -- PRECISA DE ACTION_ID NA SEMENTE OU ITEMEX PARA PLANTAR ? ( NAO FUNCIONA COM A SEMENTE ) floor_aid = 20390, -- SE SIM, ESSE SERÁ O ACTION_ID textcant = "You can't plant here.", -- textcancel = "You canceled the plantation.", -- CANCELAMENTO DA ETAPA 1 target = getTileItemById(fromPos, 8167), ----------- grow_up_interval = 2, -- TEMPO EM SEGUNDOS ENTRE OS CRESCIMENTOS } if not(item.actionid == c.floor_aid or itemEx.actionid == c.floor_aid) and c.need_aid then return doPlayerSendCancel(cid, c.textcant) and doSendMagicEffect(fromPos, CONST_ME_POFF) end if item.itemid == 8166 then doTransformItem(getTileItemById(fromPos, 8166).uid, 8167) doPlayerSendCancel(cid, c.textcancel) doSendMagicEffect(fromPos, CONST_ME_INSECTS) stopEvent(gr) stopEvent(up) return true end if c.trees[item.itemid] and c.target.uid > 0 then doTransformItem(c.target.uid, 8166) doRemoveItem(item.uid, 1) gr = addEvent(function() doTransformItem(getTileItemById(fromPos,8166).uid, c.trees[item.itemid][1]) end, 1000*c.grow_up_interval) for w = 2, #c.trees[item.itemid] do up = addEvent(function() doTransformItem(getTileItemById(fromPos,c.trees[item.itemid][w-1]).uid, c.trees[item.itemid][w]) end, (1000 * (c.grow_up_interval * w) ) ) end else doPlayerSendCancel(cid, c.textcant) doSendMagicEffect(fromPos, CONST_ME_POFF) end return true end Em seguinda, adicione a <TAG/> em (data/actions/actions.xml) <action itemid="7732;8582;8166" event="script" value="seed.lua"/>
  2. [8.54] Pokémon Paraíso V1

    opacalaj reagiu a GOD Vitor por uma resposta no tópico

    1 ponto
    Edições Pokémons Megas Adicionados:Mega Gengar,Mega Charizard X,Mega Charizard Y,Mega Alakazam,Mega Lucario,Mega Blaziken,Mega Tyranitar e Mega Blastoise Obs:se faltou algum desculpe-me Pokémons Ultras adicionados:Ultra Alakazam,Ultra Gengar,Ultra Lucario e Ultra Blastoise Obs: se faltou algum desculpe-me Pokémons Shinys Adicionados:Shiny Roserade e Shiny Aggron. Obs: se faltou algum desculpe-me Pokémons Normais adicionados: Abomasnow Obs: se faltou algum desculpe-me Outfits adicionadas:Outfit do beaver(ot pokémon),Bike male e female igual do ot pokémon,Jogador e Jogadora(igual do otpokémon). •NPCs adicionados: Key Seller (vendedor de chaves que abrem a porta de algumas quests...), Cpt. Ezra e Cpt. Cloud (Teleportam o player para o continente hoen ou kanto), Npc Biker (Npc de duel que te da uma bike se vc vence-lo), Npc Champion Lance (Npc de Duel que se vencê-lo você ganha um darkrai). •Master Ball Adicionada com Catch 100% •Adicionado Comando "!save" que salva o player. •Adicionado Comando "!buyvip" que deixa o jogador vip por 30 Diamonds. •Adicionado Shiny Stone e Boost Stone •Adicionado Tournament PvP Event (ocorre as 15:00, so falar com o npc torneio) •Adicionado Novos Ataques •Retirada Loteria Créditos: •Slicer •tibiaking - Tibiaking por alguns scripts. •Wolf Admin •eu,por adicionar alguns pokémons e editar o mapa. Erros do servidor: Master ball:quando usa a master ball em alguns pokémons shinys,da crash no servidor e não captura o pokémon. Mewtwo: quando o mewtwo usa um ataque(não sei qual ataque é),da debug. CB:Alguns pokémons quando vai fazer eles no /cb,da debug. /m: quando usar o /m,alguns pokémon da debug exemplo:/m mewtwo. Prints: Downloads: Servidor:http://www.mediafire.com/download/hmj4zbs5jzbj2qd/Servidor+Pok%C3%A9mon+Paraiso--By+Dungeon+Man+13.rar Old cliente:http://www.4shared.com/zip/_rP87GScce/Cliente_PKP.html Me desculpem,não deu tempo postar o scan,se alguem poder fazer e postar aqui,ficarei muito agradecido! Em breve nova versão! Me desculpem,pela desorganização ainda estou aprendendo a lhe dar com tópico. Se gostou da rep+ ae,não custa nada : Conta do adm:yureot/995246822xz
  3. 1 ponto
    Bom primeiro vá no Dat editor ou Object Builder, pegue a looktype da roupa, no meu caso vou usar 661 para a mulher e 662 para o homem. Imagem -> Depois vá até C:\Users\pc\Desktop\Server\data\XML do seu servidor e procure por outfit.xml, abra o arquivo que vai conter isso dentro: Adicione uma nova tag debaixo da ultima. -- Como Editar -- Vermelho - O id da tag no caso, se tiver um 57 na penultima tag você coloca um número a mais na tag seguinte no caso vai ficar 58. Laranja - Gender [Mulher = 0], [Homem = 1] Verde - Looktype da roupa que foi oque eu falei acima. Cyano - Nome da Roupa. (Pode ser qualquer nome) Ajudei ? Da um rep+ ai , duvidas só chamar no PM.
  4. Mega Evolution System (PxG)

    thalisson12 reagiu a mee por uma resposta no tópico

    1 ponto
    Oi. Antes de tudo, este sistema foi escrito para o servidor PDA by Slicer, versão 1.9. A adaptação para outras bases pode ser bem simples, dependendo do seu conhecimento em Lua (que na verdade nem precisa ser grande). Resolvi escrever este simples sistema porque me deu um certo desgosto ver vários servidores onde a mega evolução é literalmente uma evolução (inclusive o que estive jogando, onde alguns jogadores também concordaram com minha opinião). Quero dizer, o pokémon fica transformado direto, para sempre, forever, algo que contraria a ideia original. Optei por fazer o sistema igual (ou semelhante, já que me baseei apenas nas informações disponíveis no Blog PxG, que aliás são poucas) ao da PokeXGames. Mais futuramente, no entanto, posso fazer uma outra versão voltada a ideia de uma mega evolução temporária. Para quem não conhece o sistema, bem, estou com preguiça de explicar, logo recomendo acessar este link. A diferença é que a pedra (mega stone) não ocupa o espaço de um Held Item tier Y (visto que não são todos os servidores que possuem este sistema). O sistema, como poderão notar, possui muitos detalhes. O motivo é que tenho a tendência de deixar a configuração o menor possível. Ou seja, basta configurar o efeito no código da spell e a tabela das mega evoluções. Nossa, que textão. TL;DR: Igual ao sistema da PxG; PDA; muitos detalhes mas pouquíssima configuração. data/lib: cooldown bar.lua: Troque o código da função getNewMoveTable(table, n) por este: function getNewMoveTable(table, n) if table == nil then return false end local moves = {table.move1, table.move2, table.move3, table.move4, table.move5, table.move6, table.move7, table.move8, table.move9, table.move10, table.move11, table.move12} local returnValue = moves if n then returnValue = moves[n] end return returnValue end No código da função doUpdateMoves(cid), troque o segundo: table.insert(ret, "n/n,") Por: local mEvolve if not getCreatureName(summon):find("Mega") and getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") then if not isInArray(ret, "Mega Evolution,") then table.insert(ret, "Mega Evolution,") mEvolve = true end end if not mEvolve then table.insert(ret, "n/n,") end Depois, em pokemon moves.lua: Troque: min = getSpecialAttack(cid) * table.f * 0.1 --alterado v1.6 por: min = getSpecialAttack(cid) * (table and table.f or 0) * 0.1 --alterado v1.6 Código da spell: elseif spell == "Mega Evolution" then local effect = xxx --Efeito de mega evolução. if isSummon(cid) then local pid = getCreatureMaster(cid) if isPlayer(pid) then local ball = getPlayerSlotItem(pid, 8).uid if ball > 0 then local attr = getItemAttribute(ball, "megaStone") if attr and megaEvolutions[attr] then local oldPosition, oldLookdir = getThingPos(cid), getCreatureLookDir(cid) doItemSetAttribute(ball, "poke", megaEvolutions[attr][2]) doSendMagicEffect(getThingPos(cid), effect) doRemoveCreature(cid) doSummonMonster(pid, megaEvolutions[attr][2]) local newPoke = getCreatureSummons(pid)[1] doTeleportThing(newPoke, oldPosition, false) doCreatureSetLookDir(newPoke, oldLookdir) adjustStatus(newPoke, ball, true, false) if useKpdoDlls then addEvent(doUpdateMoves, 5, pid) end end end end end Depois, em configuration.lua: megaEvolutions = { --[itemid] = {"poke_name", "mega_evolution"}, [11638] = {"Charizard", "Mega Charizard X"}, [11639] = {"Charizard", "Mega Charizard Y"}, } Agora, em data/actions/scripts, código da mega stone: function onUse(cid, item) local mEvolution, ball = megaEvolutions[item.itemid], getPlayerSlotItem(cid, 8).uid if not mEvolution then return doPlayerSendCancel(cid, "Sorry, this isn't a mega stone.") elseif ball < 1 then return doPlayerSendCancel(cid, "Put a pokeball in the pokeball slot.") elseif #getCreatureSummons(cid) > 0 then return doPlayerSendCancel(cid, "Return your pokemon.") elseif getItemAttribute(ball, "poke") ~= mEvolution[1] then return doPlayerSendCancel(cid, "Put a pokeball with a(n) "..mEvolution[1].." in the pokeball slot.") elseif getItemAttribute(ball, "megaStone") then return doPlayerSendCancel(cid, "Your pokemon is already holding a mega stone.") end doItemSetAttribute(ball, "megaStone", item.itemid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Now your "..getItemAttribute(ball, "poke").." is holding a(n) "..getItemNameById(item.itemid)..".") doRemoveItem(item.uid) return true end Depois, em goback.lua: Abaixo de: if not pokes[pokemon] then return true end coloque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end Depois, em data/creaturescripts/scripts, look.lua: Abaixo de: local boost = getItemAttribute(thing.uid, "boost") or 0 coloque: local extraInfo, megaStone = "", getItemAttribute(thing.uid, "megaStone") if megaStone then extraInfo = getItemNameById(megaStone) if pokename:find("Mega") then pokename = megaEvolutions[megaStone][1] end end Depois, acima de: doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, table.concat(str)) coloque: if extraInfo ~= "" then table.insert(str, "\nIt's holding a(n) "..extraInfo..".") end Já em data/talkactions/scripts, move1.lua: Troque: if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end por: if not move then local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone") if not isMega or name:find("Mega") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local moveTable, index = getNewMoveTable(movestable[name]), 0 for i = 1, 12 do if not moveTable[i] then index = i break end end if tonumber(it) ~= index then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end local needCds = true --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown. if needCds then for i = 1, 12 do if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then return doPlayerSendCancel(cid, "To mega evolve, all the spells of your pokemon need to be ready.") end end end move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"} end E troque: doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY) por: local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!" if move.name == "Mega Evolution" then spellMessage = "Mega Evolve!" end doCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY) Se quiser que o "Mega" não apareça no nome do pokémon, vá em data/lib, level system.lua: Acima de: if getItemAttribute(item, "nick") then nick = getItemAttribute(item, "nick") end coloque: if nick:find("Mega") then nick = nick:match("Mega (.*)") if not pokes[nick] then nick = nick:explode(" ")[1] end end E, caso o seu servidor possua pokémons evoluídos permanentemente na forma mega, em data/actions/scripts, goback.lua: Troque: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if normalPoke then doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end end por: if pokemon:find("Mega") then local normalPoke = megaEvolutions[getItemAttribute(item.uid, "megaStone")][1] if not normalPoke then local megaStone for itemid, table in pairs(megaEvolutions) do if table[2] == pokemon then megaStone = itemid break end end if not megaStone then return doPlayerSendTextMessage(cid, 27, "Your pokemon is bugged. Please, talk to the administrator.") end doItemSetAttribute(item.uid, "megaStone", megaStone) normalPoke = megaEvolutions[megaStone][1] end doItemSetAttribute(item.uid, "poke", normalPoke) pokemon = normalPoke end Bem, é isso aí. Acho que não esqueci de nada. Até mais. Obs¹:,esqueci uma informação específica no segundo passo de instalação do sistema (doUpdateMoves). Editado. Ah, editei novamente com uma correção para OTClient. Creditos: zipter98 (Pela criação) Eu (por divulgalo)
  5. TopLevel Effect

    JEAN JR reagiu a Bruno Minervino por uma resposta no tópico

    1 ponto
    Fala galera, Um membro fez um pedido, e achei que deveria compartilhar com vocês, algo simples porém útil. Principalmente em OT's do estilo Baiak. O que o script faz ? Ele simplesmente manda um efeito para o Top Level caso ele estiver online. Instalação: Em data/creaturescripts/creaturescripts.xml adicione: <event type="login" name="TopEffect" event="script" value="topeffect.lua"/> <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/> Agora crie um arquivo em data/creaturescripts/scripts com o nome topeffect.lua e adicione: --[[ Script by Bruno Minervino para o Tibia King Caso for postar, colocar os créditos ]] local config = { tempo = 10, --tempo em segundos mensagem = { texto = "[TOP]", --não use mais de 9 caracteres efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText }, efeito = 30, --efeito da função doSendMagicEffect globalstr = 5687 -- uma global storage qualquer q esteje vazia } --[[ Não mexa em nada abaixo ]] local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0 function onLogin(cid) local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local pid = query:getDataString("id") local name = query:getDataString("name") if getPlayerName(cid) == name then if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end setGlobalStorageValue(config.globalstr, pid) TopEffect(cid) end end registerCreatureEvent(cid, "CheckTop") return true end function onAdvance(cid, skill, oldlevel, newlevel) if skill == 8 then local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1") if (query:getID() ~= -1) then local level = tonumber(query:getDataString("level")) if level < newlevel and topPlayer ~= getPlayerID(cid) then doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22) topPlayer = getPlayerID(cid) doSaveServer() setGlobalStorageValue(config.globalstr, getPlayerID(cid)) TopEffect(cid) end end end return true end function TopEffect(cid) if not isPlayer(cid) then return true end if topPlayer == getPlayerID(cid) then doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito) doSendMagicEffect(getCreaturePosition(cid), config.efeito) addEvent(TopEffect, config.tempo * 1000, cid) end end function getPlayerNameById(id) local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id)) if query:getID() ~= -1 then return query:getDataString("name") end return 0 end function getPlayerIdByName(name) local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name)) if query:getID() ~= -1 then return tonumber(query:getDataString("id")) end return 0 end function getPlayerID(cid) return getPlayerIdByName(getPlayerName(cid)) end Espero ajudar!
  6. 1 ponto
    Sprite Seduction -INTRODUÇÃO - Capítulo l Onde tudo começa • A importância da teoria Você não é bom: Você não ficará bom em 1 semana 1 mês ou 1 ano,assim como qualquer coisa na vida spriting exige dedicação e foco.Busque sempre estar aprendendo e evoluindo de maneira sadia e com humildade,então se você está a 6 meses e acha que já está bom,eu aconselho que pense novamente; Talento x Esforço: você está spriteando à 6 meses e achou seu rendimento baixo,porque seu amigo que está à 1 mês é melhor do que você? Nunca se compare com outras pessoas,cada um tem seu tempo de desenvolvimento porém,não sejamos hipócritas existem sim pessoas talentosas e melhores do que você,se acostume; O olhar crítico: é importante se manter alerta sobre isso pois na maioria dos casos os iniciantes são por muitos bombardeados com elogios e que suas sprites estão magníficas,porque isso acontece?Muitos que fazem esses elogios acreditam que estão ajudando porém não estão pois,elogiando uma arte de nível básico - médio você está dizendo em outras palavras que está pessoa alcançou um nível razoável de spriting o que não é verdade. Dessa maneira você causa o efeito reverso,e faz estes mesmo acharem que alcançaram um nível avançado e pararem de buscar maior conhecimento.Os elogios são importantes porém se foquem nas críticas construtivas que será o seu combustível de desenvolvimento. • Spriteando de maneira efetiva Não dispersar: quando comecei eu fazia tudo errado,começava uma espada fazia até a metade depois começava uma criatura,voltava para espada dava alguns toques e ia para criatura,depois começava outra criatura até a metade...Ou seja,eu nunca terminava nada,entendam que é de muita importância começar e terminar por completo todas as suas sprites,desse jeito você irá ver um avanço considerável; Esteja bem aparelhado: lembro que no meu início não existia muitos tutoriais,apenas aqueles que todos conhecem de Galiant e etc...porém nem por isso eu desisti,esteja sempre perguntando e pedindo dicas à pessoas mais avançadas e checando tutoriais. Não fique buscando maneiras milagrosas baixando photoshop,gimp,fireworks e toda essa porcaria,se foque em aprender a usar o paint, o Photoshop Cs6 é um dos poucos programas bons de se usar,porém isso eu só aprovo para aqueles de nível avançado; O poder do foco: estar focado é uma das coisas mais importantes,é o que vai fazer suas artes evoluírem,sempre esteja atento a seus erros e saiba reconhecer as criticas sem raiva,mais com sabedoria.Cada sprite é diferente e leva tempo para ficar pefeita por isso eu digo,nenhuma sprite fica perfeita feita em 1 dia,mesmo que feita por alguém experiente alguns erros passam despercebidos aos olhos pois geralmentes estamos cansados depois de 3-4 horas trabalhando de maneira intensa; Sendo mais produtivo: antes de spritear esteja numa cadeira confortável,seu mouse deve ser confortável também assim como ter um computador razoavelmente bom.Faça sem pressa,trabalhe por 2 horas depois vá fazer um lanche volte e faça mais 3 horas,assista um pouco de televisão,converse etc...Acorde no outro dia e abra a mesma sprite e refaça tudo denovo,é importante levar mais de 1 dia pois a capacidade cerebral é diminuída conforme você se estressa com o esforço.Nunca jamais tente fazer nada rápido ou correndo acreditem,vai ficar ó uma bosta. • Entendendo o pixel O porque de começar do 0: muitos acreditam que usar uma "base" é algo interessante para iniciantes mais não é cada um tem uma ideia determinada de imagem.Por exemplo um mago na minha cabeça é Gandalf e na cabeça de fulano é Dumbledore ou seja,não use bases façam suas próprias bases do 0,vocês verão que as ideias fluiram com mais facilidade; Espelhamento reverso: lembra daquela sprite de ciclano que você viu e achou foda? então tenho uma má notícia você não vai conseguir fazer uma igual,simplesmente porque cada pessoa tem seu próprio estilo e isso é único,não tente copiar a sprite de alguém porque em outras palavras,você esta tentando copiar o estilo também e isso é praticamente impossível. Capítulo ll Perspectiva45º e sua origem • A ordem cronológica Tudo começou com o jogo chamado Ultima Online,foi um dos primeiros MMORPGs lançados,em 1997 pela Origin System.Já foi um dos três MMORPGs mais jogados no mundo e é situado em cenário medieval.O criador do jogo é Richard Garriot,o mesmo criador de Ultima Vll e Lineage ll. Ainda no mesmo ano,foi lançado nosso tão querido Tibia desenvolvido pela CipSoft. Criado em 1997, é um dos jogos mais antigos do gênero. Nele, os jogadores podem desenvolver as habilidades de seus avatares, buscar tesouros, resolver enigmas e explorar áreas como cidades, masmorras, florestas, desertos, ilhas, praias, minas, etc..Os personagens podem disputar lutas entre si ou com criaturas, tais como: monstros; dragões; demônios; orcs e etc... • A explosão dos Otservers Algum tempo depois,programadores e jogadores de tibia viram um potencial no jogo e com seu esforço conseguiram trazer o Otservers,que seriam servidores alternativos de Tibia hosteados por uma empresa ou pelo próprios donos em suas residências,onde experiência,loot,monstros e cenários eram totalmente configuráveis. Com a ascensão dos Otservers Tibia Global perdeu um pouco de seu espaço,uma vez que os Otservers eram servidores totalmente surreais entretanto,faltava algo mais,algo que estaria por vir... • Brasileiros na perspectiva45 e a nova ordem Com a popularidade dos otservers muitos viram uma maneira de lucrar,dessa maneira os otserver não apresentavam somente nova jogabilidade mais também novos gráficos,eis que surge um tsunami de servidores derivados de diferentes temas,dentre eles tibia gta,tibia harry potter,narutibia,resident tibia,tibia digimon,poketibia entre outros... Com a inovação de temas e possibilidades muitos viram um grande interesse na perspectiva45,em meados de 2009 a comunidade brasileira estava a todo vapor em busca de conhecimento.A evolução dos spriters brasileiros era consideravelmente boa e em fóruns os tópicos eram abarrotados de membros buscando por tutoriais,um membro muito importante para comunidade e conhecido como pai da comunidade foi Galiant,entretanto algo mudaria tudo no cenário brasileiro... Capítulo lll A Evolução da perspectiva45 e a era top down • O gráfico se aprimorando Precisamente em 07-07-2010 Galiant deu ínicio ao que seria o porto seguro de spriters profissionais,o perspective 45 era um fórum destinado à spriters profissionais e de lá sairiam grandes artistas. Durante o tempo muitos artistas ganharam destaque por serem chamados para trabalhar em projetos notórios como Zezenia Online e Phobos. • Top down e seu sucesso aparente Passado tempo o interesse pela perspectiva45 veio diminuindo e o nível de spriters no Brasil caiu bastante,uma vez que os antigos mestres agora tinham suas obrigações,trabalho e uma vida agitada como pessoas normais. A comunidade de spriters brasileiros começou a declinar gradativamente,outrora o que era a sensação dos otservers a p45 deu espaço para seu algoz que seria a perspectiva Top down. A perspectiva top down surgiu em meados de 2012 (se não me engano) quando jogadores e programadores decidiram exportar sprites de game boy advanced e game boy color para dentro de seus otservers,aparentemente uma ideia estúpida porém,a comunidade brasileira e também polonesa adorou a ideia eis que a famosa PXG se tornou febre entre os poketibias. Mês após mês derivados surgiram,buscando a mesma consagração da PXG uma vez que misturava p45 com top down.Apesar de causar uma rude incongruência gráfica os jogadores não se importaram,uma vez que poderiam reviver suas lembraçans de quando jogavam gameboy color em uma fita porém com muito mais qualidade (ou não). • Fim da perspectiva45 ? Com os interesses de lucrar à todo custo foi deixado de lado a perspectiva45,uma vez que sprites top down eram deveras mais simples e mais fáceis de se fazer,dessa maneira os jogadores foram se acostumando com gráficos de péssima qualidade assim caindo nas graças do conformismo.Existiram alguns projetos de qualidade na perspectiva que resistiram ao maligno top down ,como por exemplo Shinobi Online entre outros... Desde então alguns spriters simplesmente pararam seus projetos,pois não há perspectiva de se competir com grandes empresas como estas citadas,e com o fim do ex-maior fórum de Otserver o tibiaking,tantos os veteranos quanto os amadores ficaram sem um rumo certo. Próximo tutorial em breve... -------------------------------------------------------------------------------------------------------------------------------------------------------------------- Tutorial feito por: Madarada Crédito de Imagens: Tibiabrfóruns Perspective45 André Galiant Iven miller Erick Etchebeur Lucas Melo Wikipédia
  7. Pokémon new age (Pna) Open source

    Maxwell743 reagiu a Max willain por uma resposta no tópico

    1 ponto
    Fala galera vim postar um servidor que meu amigo Aberos = Mario Junior editou Sem mais delongas vamos ao que interessa * Informações +Edições +Printe's +Erros/Bug's +Creditos +Download .Edições Base do servidor eron 12 Servidor com sistema de contagem de Pokeball's usadas para capturar pokemons Pokedex Diferente propia do servidor Servidor contem 1 geração com seus respectivos shiny's Loot's modificados agora estão vindo cartinhas pokémon Colodown bar Totalmente diferente . Printe's + Pokedex + Colldown bar + Catch . Erros No momento que eu saiba nem um erro . Creditos Aberos Criadores do eron site Eu por trazer para tk . Download Servidor Source Cliente http://www.mediafire.com/download/g7ok4oqu29ycymf/pna+100.rar[> Scan: https://www.virustotal.com/pt/file/50231e068eac3a508ff3fd630e5f67ad45151fa0466a2f55258d9ea669f9ab30/analysis/1428800609/
  8. [Action] Key Door System

    Japoneeiiz reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Bem pessoal, pensei que uma action dessa ia deixar o servidor de vocês com mais RPG, então resolvi botar a ideia para funcionar. - Para que serve? Para o seu servidor ficar com mais RPG, serve para quest mais elaboradas - Como funciona? Você instala a quest e a action no seu servidor, depois para passar na porta, o player ira precisar da chave, quando ele der use, a porta vai se abrir e ficar aberta, quando ele der use denovo a porta irá se fechar e ficar trancada. - Qual a vantagem disso? Na verdade, quase nenhuma, pois só vai trazer mais RPG para o seu servidor se você tiver criatividade para usa-la, alguns players valorizam isso. - Como "instalo" no meu servidor ? Simples, vamos adicionar dois scripts em \data\actions\script e adicionar duas linhas em \data\actions\actions.xml Vamos lá Instalação data\actions\scripts\portas.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local doors = {[5098]={id=5100}, [5099]={id=5100}, [5101]={id=5102}, [5107]={id=5109}, [5108]={id=5109}, [5110]={id=5111}} local config = { actionid = 1221, -- Uma action normal, só para a portar nao abrir. keyaid = 1222 -- A action que deve ter na key } for i, x in pairs(doors) do if ((itemEx.itemid == i) and (itemEx.actionid == config.actionid) and (item.actionid == config.keyaid)) then doTransformItem(itemEx.uid, x.id) doItemSetAttribute(itemEx.uid, "aid", 0) elseif (itemEx.itemid == x.id) and (itemEx.actionid == 0) and (item.actionid == config.keyaid) then doTransformItem(itemEx.uid, i) doItemSetAttribute(itemEx.uid, "aid", config.actionid) elseif (itemEx.itemid == i) and (itemEx.actionid == 0) and (item.actionid == config.keyaid) then doTransformItem(itemEx.uid, i) doItemSetAttribute(itemEx.uid, "aid", config.actionid) end end return TRUE end data\actions\actions.xml <action itemid="IDdeUmaChave" event="script" value="portas.lua" /> Agora uma quest para ganhar a chave que abre a porta. data\actions\scripts\darkey.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local config = { storage = 3235, -- Uma storage, se quiser nao precisa modificar keyID = 2088, -- ID de uma chave, você pode trocar. aid = 1222, -- ActionID, tem que ser o mesmo do script acima. } if getPlayerStorageValue(cid, config.storage) == -1 then local item = doPlayerAddItem(cid, config.keyID,1) if item then doItemSetAttribute(item, "aid", config.aid) setPlayerStorageValue(cid, config.storage, 1) doPlayerSendCancel(cid, "Você recebeu uma key") end else doPlayerSendCancel(cid, "Desculpe, mais você ja fez essa quest") end end data\actions\actions.xml <action actionid="7777" event="script" value="darkey.lua" /> " Lembrando que o bau, ou qualquer outra coisa, deve conter o action id = 7777 " Se você preferir, aqui tem um NPC que vende a mesma key que é pega na quest. data/npc/Diog.xml <?xml version="1.0"?> <npc name="Diog" script="data/npc/scripts/diog.lua" walkinterval="7000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="76" body="96" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|! Eu vendo keys, Diga {keys} para saber quais eu vendo e o valor delas." /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="keys" /> <parameter key="keyword_reply1" value="Eu vendo {Key Quest Editada} por 1000 gps." /> </parameters> </npc> data/npc/scripts/diog.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local keys = { ["Key Quest Editada"] = {id_key = 2088, price = 1000, action_id = 1222}, } local m = keys[msg] if (not m) then selfSay("Eu não vendo esta key ", cid) return FALSE end if doPlayerRemoveMoney(cid, m.price) == TRUE then a = doPlayerAddItem(cid, m.id_key, 1) doItemSetAttribute(a, "aid", m.action_id) selfSay("Obrigado, aqui esta sua key", cid) talkState[talkUser] = 0 else selfSay(" Você não tem ".. m.price.." gps para comprar ", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configuração Como você viu, eu nao adicionei todas as portas no script portas.lua, então só iram funcionar em um tipo. Nao adicionei porque sou preguiçoso, então para você adicionar é simples. Só seguir esses parametros [iDPortaFechada]={id=IDPortaAberta}, e adicionar em local doors = {} Agora para adicionar mais keys para o npc vender, é muito simples tambem, Só você adicionar mais linhas em local keys, Siga os parametros ["NomeQueOPlayerTemQueFalar"] = {id_key = IDDaKey, price = PreçoDaKey, action_id = 1222}, E mudar para quando o player falar com o npc: <parameter key="keyword_reply1" value="Eu vendo {Key Quest Editada} por 1000 gps e {NomeQueOPlayerTemQueFalar} por 122 gps." /> Script bem facil que eu fiz, qualquer duvida só falar comigo, Até mais.
  9. 1 ponto
    Olá pessoal, dando uma vasculhada nas sources do TFS 1.0 e sabendo que não existe o comando "/reload all", resolvi fazer essa modificação para ajudar a muitos ... É bem simples, abra o arquivo o commands.cpp e procure pela linha: player.sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Reloaded global.lua."); Abaixo adicione os códigos: } else if (tmpParam == "all") { g_actions->reload(); // reload actions g_config.reload(); // reload config reload(); // reload commands g_creatureEvents->reload(); // reload creaturescripts g_moveEvents->reload(); // reload movements Npcs::reload(); // reload npcs Raids::getInstance()->reload(); // reload raids Raids::getInstance()->startup(); // reload raids g_spells->reload(); // reload spells g_monsters.reload(); // reload monsters g_talkActions->reload(); // reload talkactions Item::items.reload(); // reload items g_weapons->reload(); g_weapons->loadDefaults(); // reload weapons Quests::getInstance()->reload(); // reload quests XML Mounts::getInstance()->reload(); // reload mounts XML g_globalEvents->reload(); // reload globalevents g_events->load(); // reload events g_chat.load(); // reload chatchannels g_luaEnvironment.loadFile("data/global.lua"); // reload global lua player.sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Reloaded All (by luanluciano93)."); Só isso, fácil né? Espero ter ajudado, até a próxima.
  10. Sistemas Portrait [100%] Pokedex [100%] Surf [100%] Fly [100%] Ride [100%] Catch [100%] Teleport [100%] Fishing [100%] Bike [100%] Elite Stone [100%] Gerações I [100%] Gerações II [100%] Shiny Stone [100%] Boost Stone [100%] Caught [100%] Moves [100%] Go-Back [100%] E MUITO MAIS! Créditos: Dreamer Screenshot Downloads Server: MediaFire Client: MediaFire DLLs: dll TibiaKing.com.rar Senha: anti sangue-sugas tibiaking.com Scans Server: VirusTotal Client: VirusTotal Dlls: VirusTotal
  11. (Naruto) Naruto Legend 2.0 - Com Tp

    whit3w0lf reagiu a Bruno Maciell por uma resposta no tópico

    1 ponto
    [8.54] Naruto Legend V2.0 - Com Teleports! Informações: - Novo Mapa RPG, com teleports (Com Levels); - Novas Organizações (Akatsuki, anbu, sannin, shippuden, hokage, etc); - Novas Transformações; - 24 Vocações; - Novos Jutsus; - Novos Itens; - Novos Sistemas e comandos; - Novos Monstros; - 3 Vilas; - Ajeitei o servidor para rodar em sqlite (Account Manager já configurado). - Sistema Premium (Com Premium Zone). - Servidor 100% estável; - E mais! Prints Download Servidor & Scan: Download: http://www.mediafire...1e54136t4b7855m Scan: https://www.virustot...sis/1355872674/ Download Client & Scan: Incluso tibia.spr e tibia.dat! Download: http://www.mediafire...9fdj1y9nc4ta1fy Scan: https://www.virustot...sis/1355873069/ Créditos: Tfs Team Uffox Wono-CJ SmoOkeR
  12. Meu Primeiro Mapa

    JonatasLucasf reagiu a Artt por uma resposta no tópico

    1 ponto
    Como o titulo já diz este é meu primeiro mapa... Gostaria de saber oque acharam sobre ele, aceito criticas construtivas.
  13. Como mudar nome na aba do navegador?

    acesso123 reagiu a psychonaut por uma resposta no tópico

    1 ponto
    <title><?PHP echo $title?> Test </title> Mude para: <title>O nome que quiser </title>
  14. Não envia email

    p e o p l e reagiu a psychonaut por uma resposta no tópico

    1 ponto
    Vai em C:\xampp\php la vai ter o php.ini, abre ele e edita igual no tutorial que te mandei ai, na parte que fala sobre ele.
  15. Não envia email

    p e o p l e reagiu a psychonaut por uma resposta no tópico

    1 ponto
    Você ta usando o que? Wampp, Xampp?
  16. Não envia email

    p e o p l e reagiu a psychonaut por uma resposta no tópico

    1 ponto
    Aperta a tecla do windows + R / ou vai no Executar, e digita php.ini e da enter, ele é do apache e não do site.
  17. (Resolvido)Erro ao executar /save

    TioJapa reagiu a psychonaut por uma resposta no tópico

    1 ponto
    Editei aquele script, olha la, muda e tenta dar /save http://www.tibiaking.com/forum/topic/59582-problemas-com-rollback/
  18. (Resolvido)Problemas com RollBack

    TioJapa reagiu a psychonaut por uma resposta no tópico

    1 ponto
    Editei o script, acontece que algumas funções eram antigas. Esse ai é o do talkactions. function onSay(cid, words, param, channel) if getPlayerGroupId(cid) > 2 then for var = 1,2 do if var == 1 then broadcastMessage("Salvo.", 4) end if var == 2 then saveServer() end end end return true end
  19. Meu nome :Victor Hugo Idade: 17 Oque pretendo fazer no server: Sou spriter iniciante ja sei fazer sprites de personagens pra dbo e nto , mapper ,e fusso um poquinho em script. Contato :Guin.top (skype) ou aki no tk msm
  20. 1 ponto
    abra o forgottonserver no editor account em account manager va para la >> vai te as pos muda as pos de la e pronto
  21. O seu só não tem o height="350" width="400", tem que adicionar, vai no script lá, aperta ctrl+f e digita: <img src="item_images/'.$itemvip['item_id'].'.gif"> Ele vai te levar pra parte do script que tem que mudar, muda pra: <img src="item_images/'.$itemvip['item_id'].'.gif" height="350" width="400"> Faz o mesmo com: <img src="item_images/'.$item['item_id'].'.gif"> Substituindo para: <img src="item_images/'.$item['item_id'].'.gif" height="350" width="400"> Se isso não mudar nada, avisa, que é porquê tem que mudar o tamanho da tabela Lembrando que tu pode alterar os valores height="350" width="400" pro tamanho que quer que a imagem fique.
  22. Nao é Bug isso, voce ja viu uma Pedra levar um Raio? tomar um Choque? Sair Sangue? - Voltando ao Assunto o Seu Servidor é PDA? Se For é facil de mexer; - Vai em data/lib/configuration.lua e procure por isso: Explicando: ELECTRICDAMAGE = Damage de Elemento Eletrico Super = Forte contra o Elemento {"flying", "water"} weak = Fraco contra o Elemento {"grass", "electric", "dragon"} Non = Sem Dano {"ground"} - Ja que voce quer que o Elemento Pedra leva Hit de Elemento Eletrico voce tem que Adiconar o Elemento Ground (Pedra) Na Tabela "Weak" ou Tabela "Super" - Vai ficar assim troca por isso aqui: - Agora na questao de % eu nao sei te dizer como vai funcionar , so fiz para o Elemento Pedra levar Hit de Elemento Eletrico! @edit: Deu DeBug no meu Cerebro , o Titulo do Topico fala uma Coisa e no Post fala outra? me ajude ae =s
  23. (Resolvido)[LINUX] Quais as vantagens ?

    pokefelipe reagiu a braianlomas por uma resposta no tópico

    1 ponto
    Nao tem Virus. evita hackers. não vai cair o servidor, etc
  24. (Resolvido)[LINUX] Quais as vantagens ?

    pokefelipe reagiu a Valakinhas por uma resposta no tópico

    1 ponto
    a vantagem é que evita mais os hacker que podem derrubar seu servidor poucos usam esse sistema e então fica mais dificil de alguem hackear acho que isso
  25. Senha adicionada ao tópico. Se eu encontrar ela removida você será banido. É totalmente intolerável no fórum você trocar conteúdo por reputação e por isso você acaba de perder 20 pontos de reputação.
  26. (Resolvido)Script de level maximo com storage.

    Ackerzin reagiu a Wakon por uma resposta no tópico

    1 ponto
    Em "Data/creaturescripts/scripts", copie e cole um arquivo.LUA e renomeie para maxLevel.lua, apague tudo e cole: local t = { storage = {44440, 4}, -- Storage e valor necessário. maxLevel = 25 -- Level máximo. } function onAdvance(cid, skill, oldLevel, newLevel) if skill == SKILL__LEVEL then if getPlayerStorageValue(cid, t.storage[1]) ~= t.storage[2] then if newLevel >= t.maxLevel then doPlayerAddExp(cid, getExperienceForLevel(t.maxLevel)-getPlayerExperience(cid)) doPlayerSendCancel(cid, "Você atingiu o level máximo, faça a quest para continuar upando.") end end end return true end Agora em "Data/creaturescripts", abra o arquivo creaturescripts.xml e adicione a tag: <event type="advance" name="maxLevel" event="script" value="maxLevel.lua"/> Novamente em "Data/creaturescripts/scripts", abra o arquivo login.lua e adicione: registerCreatureEvent(cid, "maxLevel") Caso dê algum problema ou falte algo, me avise.
  27. É possivel sim, Afinal o Servidor que esta na minha assinatura e PDA com Sources , "porem" voce vai ter dor de cabeça vai ficar no minimo 1 mes Arrumando e Adaptando os Scripts do PDA para o seu Executavel - Eu mexi em tudo praticamente desde os Sistemas Basicos como : Fly/Surf/Teleport/Order/Goback/Nurse/6 Pokemons 7 DP - Aos Sistemas Avançados Scripts e c++ como: Pokemons Passivos/Monstro Ataca summon e etc... - Ja existem outros Servidores de Pokemon (PDA + Sources) - http://www.pokecentro.net/ - http://pokeing.com/ - http://pokemixx.pl/(Usa o Meu Servidor de PDA com Level System + Sources) - Tudo é Possivel , Bj ;*
  28. setCreatureName(cid, name, description)

    Admnwso reagiu a xADMx por uma resposta no tópico

    1 ponto
    cara era só ter feito uma cópia da sources antes de adicionar as funções. Aí se desse erro vc apagava e pegava a de antes. Pq concerteza vc fez Algo de errado, pq Aqui funcionou perfeitamente.
  29. Dodge System (Por Item)

    Sekk reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    exatamente
  30. como botar efeitos nas tranformaçoes

    Admnwso reagiu a xADMx por uma resposta no tópico

    1 ponto
    Qual é versão do seu ot -- Edit -- pq se estiver globalevents então fãs isso. Bem simples vc coloca pra vocação fica com efeito aí quando transformar fica com efeito subido. http://www.tibiaking.com/forum/topic/56960-ajuda-efeito-depois-da-transformaçao/ espero ter ajudado.
  31. Meu Nome: Luan Aparecido Dos Santos Minha idade: 13 Oque Eu Pretendo Fazer no Serve: Ajuda As pessoas como um bom admin, Evoluir esse serve ate o extremo Meu Contado: Spilinguindolino do lado sul deste , luan aparecido , luan santos Meu Skype: xxgrilogamerxx Meu Nome: Luan Aparecido Dos Santos Minha idade: 13 Oque Eu Pretendo Fazer no Serve:si eu for admin desse serve ilhei fazer eventos invasão para upa melhor,prender players, fazer torneiro e outros eventos Emoticon grin Meu Contado: Spilinguindolino do lado sul deste , luan aparecido , luan santos Meu Skype: xxgrilogamerxx
  32. Efeitos 68+

    Admnwso reagiu a xADMx por uma resposta no tópico

    1 ponto
    Ver se ajuda meu amigo. http://www.tibiaking.com/forum/topic/45033-aumentar-effects-z-na-source-ate-256/
  33. SecureMode Creaturescript

    Admnwso reagiu a xADMx por uma resposta no tópico

    1 ponto
    Tenta se n abrir procura no google securemode otland. https://otland.net/threads/securemode-pvp-system.128600/
  34. setCreatureName(cid, name, description)

    Admnwso reagiu a xADMx por uma resposta no tópico

    1 ponto
    Simples e fácil de instalar. Obrigado Luan, Reputado.
  35. Tente usar o [*/code] da próxima vez, ou edite... Em nome da comunidade do TK, muito obrigado pela contribuição! Seu tópico de conteúdo foi aprovado e será movido para a seção adequada. Você ganhou 1 REP+!
  36. [NPC] Quest por missões.

    Pedro. reagiu a Caronte por uma resposta no tópico

    1 ponto
    Em nome da comunidade do TK, muito obrigado pela contribuição! Seu tópico de conteúdo foi aprovado e será movido para a seção adequada. Você ganhou 1 REP+!
  37. [PEDIDO] Map tracker 8.60

    Fir3element reagiu a Caronte por uma resposta no tópico

    1 ponto
    http://www.tibiaking.com/forum/topic/10813-86-map-tracker/
  38. 1 ponto
    procura no items.xml o item q vc qer q eles aceitem e depois coloque isso <attribute key="worth" value="10000" /> no lugar de 10000 vc coloca o valor q vc qer q vale o dinheiro
  39. Sim verifica o group id do Player quando ele da Goback senao me engano os goback muda para id 11 no goback.lua
  40. Mega Evolution System (PxG)

    thalisson12 reagiu a mee por uma resposta no tópico

    1 ponto
    Que demora é essa para aprovar meu conteudo? Deus me livre...
  41. PXG>Pokés Megas,Descompilado.

    Vanne Bonser reagiu a mee por uma resposta no tópico

    1 ponto
    Creditos. Yagoo Rme(eu) <Pela descompilaçao e pela disponibilização. Pxg<Pelas Sprites! Obs:Já em formato OBD Obs²:Não esqueça do Rep+ pelo trabalho,Obg =) (+Info) Download's= http://www.mediafire.com/download/675fcxdy5bbfi2r/Megas+PXG.rar Scan (Por Virus-total) = https://goo.gl/gf7er3 Print dos megas que contém = http://imgur.com/pSxtaNr
  42. Achievements & Reward Chest

    Wise reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    repmais pro cara que conseguiu ter essa sacada, pior de tudo é ver o pessoal da equipe tendo essa atitude de "não vou liberar porque vai ter gente que vai pegar só a solução e fazer dinheiro com isso", sempre vai ter esse tipo de gente mas não é por causa disso que a gente vai deixar de postar coisas no fórum. Quando começarmos a parar de fazer coisas pensando nos usos que as pessoas vão fazer com nossa tecnologia, o mundo vai parar de evoluir. Vai estudar um pouco de história da ciência que você vai ver o quão absurda foi a frase que você escreveu aqui e, consequentemente, a desculpa que você deu pra não dividir o conhecimento com os outros membros desse fórum;
  43. PXG>Pokés Megas,Descompilado.

    mixnaruto reagiu a mee por uma resposta no tópico

    1 ponto
    Post Organizado e Scan Fixado,Peço a aprovação,desde já,obrigado!
  44. 1 ponto
    http://www.tibiaking.com/forum/topic/52099-script-de-casino-para-elf-bot/
  45. [TUTORIAL] Humanóide Básico

    AndreAzevedo reagiu a Madarada por uma resposta no tópico

    1 ponto
    Olá Tibianos,meu nick é Madarada e hoje venho lhes trazer um tutorial básico de spriting,espero que gostem. Antes de começarmos quero deixar claro que : Este tutorial foi feito com base em meus conhecimentos em spriting,ele não é uma verdade absoluta apenas um material desenvolvido e voltado para todos os membros iniciantes em nesta área. Este tutorial é minuciosamente detalhado e foi desenvolvido para leigos e iniciantes em spriting Neste primeiro tutorial iremos abordar um assunto muito importante que se chama outline.Futuramente virão tutorias de outline de monstros,armas,cenários mais por enquanto apenas humanóide. 1. Outline (humanóide) # Outline o que é ? Outline do inglês (linha de fora) é o contorno do sprite l - Criando uma base - Primeiramente devemos localizar e abrir o Ms paint do windows,ele será nossa ferramente principal e nós ajudará em nossa jornada. - Antes de começar devemos habilitar nosso abiguinho "miniatura" ele fica no canto superior como na imagem abaixo: - Em seguida selecione um sprite para usar como base,eu uso o citizen por ser bem simples contudo,algumas pessoas preferem fazer uma outline do zero o que eu acho que para um iniciante um tanto avançado.Seguindo o exemplo do citizen pinte o todo de vermelho (por ser uma cor bem saturada) porém sem atingir as linhas principais que separam as pernas,cabeça,braço e olhos como no exemplo: - Feito isso contorne as linhas as principais de preto (são as linhas contornadas de verde) para limpar o sprite todo.Pinte a parte interna da arte de branco como no exemplo para começarmos. ll - Aprimorando sua base - Pronto agora temos nossa base,porém ela ainda é um citizen então iremos criar o nosso próprio personagem.Para isso precisamos nos basear em alguma imagem (se você tem o dom de desenhar pode criar uma roupa para sua base e pular esta parte).Vamos nos fixar em fazer os detalhes mais básicos,por isso eu peguei está de um camponês medieval bem simples: - Como próximo passo iremos analisar a roupa do campones e tentar reproduzi-la em nossa base.Para facilitar iremos copiar a imagem do campones para dentro do paint e coloca-lo de canto,dessa maneira podemos observar a todo instante se a reprodução da imagem está correta: - Iremos começar pelo cabelo,essa parte pode ser fácil falando,mais deve ser feita com atenção para um bom resultado mais tarde.Primeiramente iremos selecionar a cor azul e fazer um rabiscado de cabelo caindo sobre os ombros,aos poucos vamos adaptando ele á cabeça e criando forma. - Na sequência,devemos tirar a margem de erro melhorando o cabelo e arredondando-o de uma maneira coerente à nossa imagem.Os pixels vermelhos devem ser removidos e pintados de branco,e os pixels verdes devem ser adicionados e pintado de azul.Segue abaixo um ilustrativo: - Após feito isso devemos colorir a margem de preto para tornar o cabelo parte da outline.Em rosa estáo os pontos aonde devem ser adicionado pixels preto: - Com o cabelo terminado agora iremos direto para a cota de malha e mangás da roupa.De início iremos fazer uma blusa na parte superior do corpo. - Com a primeira parte da cota de malha pronta seguiremos para a segunda parte.Vamos começar fazendo pequenas alças nos extremos da blusa,cor cinza para podermos diferir as duas blusas.Aos poucos vamos prenchendo e seguindo com uma gola V. - Finalizando iremos terminar a calça e a bota.Fazendo a traçado curvado vamos dando forma á bota. lll - Acabamento Final - Por fim adicionamos detalhes na bota dando um pouco de volume e melhorando sua aparência - Depois vamos usar o conta gotas e pegar as cores da roupa do campones - Tcharaam está pronto nossa primeira outline de humanóide Espero que tenham gostado do tutorial, agradeço à todos que tiveram paciência de ler até o fim rsrs Próximo tutorial em breve...Quem gostou deixa aquele REP+ - ABRAÇOS -
  46. 1 ponto
    NOVO BAIAK LERO? - Baiak Lero tem a base do baiak ice, todos os bugs retirados. - Contem 4 novas quests (Lero Quest) cada item da 3% def de todos os danos. - Cidade free, Vip1, vip2, Reformulada. - Adicionado VIP 3. - Adicionado VIP Donate.Poder ser comprada pelo Lero Seller tmb pode ser tirada para compra por doaçoes ao servidor - Adicionado Itens (LERO) no templo npc (Lero Seller) 2º melhores armas do jogo. - Acidionados Novos Scripts, calculo de kills, ant-magebomb etc. - Adicionado npc Ring Seller. - Adicionado Recarregar Soft/Firewalker apenas Clicando nelas. - Buero inicial Reformulado. - Não contem exit trainer. - Evento dota colocado (não configurado tem que configurar) - Novos Monsters Donates na cidade vip donate. -Nova Quest Boots Donate -2 Systema novos Task System e Guild frags onde a guild que tiver 100 kills ganha 5 honor points para comprar acesso a uma area so da guild -Implementado 2 boss portas lvl 400 e 500 no templo -Boss Ghazbaram, Morgaroth, Ferumbras dao loot igual do global e tem alguns escondidos no mapa obs: nao dropa itensda quest lero nem donate -Algumas hunts sem teleports espalhadas no mapa tmb de Warlock Demon Medusa -Novos teleports free -entre outras coisas Imagens: Scan:https://www.virustotal.com/pt/file/8bed77f3d90ed997925fab4be7a9797830d5d78b2fc10c675d093b24afa7b06e/analysis/1399329881/ Download : Depositfiles:: http://depositfiles.org/storage/901657f 4Shared::http://www.4shared.com/rar/YHbR23o2ba/Baiak_Lero_Novo.html?
  47. Como funciona a compra do Magebot ?

    highlevel reagiu a Paja por uma resposta no tópico

    1 ponto
    Se tu ainda precisar, me manda pm.. não uso mais minha key de mb, e ela é pra 30 pcs.. te passo uma key de boas
  48. Fala ae falera do Tibia King, resolvi fazer uma Script para fazer o Pokemon Falar hehehe'.... Vamos lá: 1º -> Data/Talkaction/Script Faça um arquivo com o nome de pokemontalk.lua e Cola isso dentro: 2º Vá em Data/Talkaction E abra o Talkactions.xml e cole está tag dentro: Para fazer o pokemon falar o comando é: !x O QUE VOCÊ QUISER QUISE O POKEMON FALE !! Bom galera, é só isso msm !! Qualquer duvida comenta ae. Ajudei ? Rep + Não custa nada (:
  49. [Modern Acc] OTPokemon Template

    GuhCapovila reagiu a TheSource por uma resposta no tópico

    1 ponto
    Esse template é bastante igual ao do otpokemon com uns reparos pequenos ele fica perfeito, aproveitem. Demonstração Scan Créditos: Douglas Wanzzine Download
  50. alguem ajuda com esse erro

    GeanRs reagiu a ViitinG por uma resposta no tópico

    1 ponto
    PastadoOT/data/globalevents/script Exclui o Shop.lua e retire a tag do PastadoOT/data/globalevents/globalevents.lua.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo