Histórico de Curtidas
-
joaovitorjoia recebeu reputação de BrunaGaldino169 em [SHOW OFF]JoaovitorIaew galera hj vou mostrar todos os meus mapas ja feitos entre esses 2 meses que eu voltei a mappear.
-
joaovitorjoia recebeu reputação de brunooangeel em [PEDIDO] Banner & BGaqui eu fis meio do jeito que vc queria ai vc so escreve oque vc quiser que n entendi muito a parte da escrita
-
joaovitorjoia deu reputação a Thiago Duarte em Meu primeiro spriteTo fazendo um serve de raças e classes
essa é do orc knight fiz toda no paint queria saber se tem um programa melhor pra fazer se tiver posta o link do download
não sei se fico bom, ainda n terminei toda mais ela sera +- assim. Quero saber onde preciso melhorar
-
joaovitorjoia recebeu reputação de Maconheira em [SHOW OFF]JoaovitorIaew galera hj vou mostrar todos os meus mapas ja feitos entre esses 2 meses que eu voltei a mappear.
-
joaovitorjoia deu reputação a Markin em [SHOW OFF]Joaovitoragora sim vi um avanço rs, continue neste ritmo que você vai longe!
-
joaovitorjoia recebeu reputação de thiagobji em Escola de MappingEscola de Mapping
Eu não sei se aqui poderia ser a areá certa mais oque vale e a intenção
Começo
Ola galera dou Tk hj estarei faseando uma escola de mapping.oque seria isso
Seria aonde mappers postariam tutoriais com coerência e com objetivo em ajudar em quem esta começando ou em que quer começar.
Mais vai pra frente esse projeto
Não sei vai depender de quem for ajudar ser tivemos uma quantia de mapper que querem ajudar seria melhor porque quanto maior melhor xD
Oque faríamos
Mostraríamos tutoriais escritos ou em video aula com uma ajuda de como criar hunts especificas houses enfeites cidades e entre outros...
Colaboração
Se vc for uma mapper experiente e tem a capacidade de ajudar escreva ai no tópico que esta disponível porque ai teríamos como saber quem esta na ajuda ou não
Mapas
Hoje a partir das 6:40 vou começar trazer conteúdos para todos aqui do Tk com exclusividade
Contato
Vou cria uma sala no Radcall pq ai se precisa-se de de um help você vai na sala e pede para os mappers que estearem disponíveis la
Finalização
É so isso galera espero que esse projeto vá para frente e que consigamos criar muitos mappaer para a nossa comunidade.
-
joaovitorjoia deu reputação a Gabrieltxu em [Tibia] Yalahar CidadeEae Galera eu aki denovo Postando mais Uma Cidade Para Tibia Para vcs hehe' xD
Umas Prints:
Bem, aqui é a cidade Yalahar completa:
Localizasão: "x = 5200, y = 5200, z = 7"
versão do cliente: "9,60"
Bem Legal né? Se gostou num Custa nada dar um REP++ xD
Link do download: http://www.mediafire.com/?uobbti7qcygkkm1
-
joaovitorjoia deu reputação a Gabrieltxu em Criando Client com launcherVocê já jogou GrandChase, League of Legends? Se já, Você deve ter reparado que quando você abre esses jogos, aparece uma janela com promoções, opções do jogo, um botão para abrir o jogo. Alem disso, essa janela baixa atualizações, mostra o progresso, atualiza o seu jogo e habilita você abrir o jogo. Isso é um Launcher, e é isso que eu estou disponibilizando para a comunidade! Um meio fácil, simples de mostrar promoções, video, tweets e qualquer tipo de Media que possa ser inserida em um site. Um meio fácil e simples de atualizar o seu próprio jogo. Um Launcher que é totalmente que a interface é totalmente configurável com um sistema de Skins.
Está interessado? Baixe Já o Launcher e aprenda no meu post como configura-lo!
Download:http://www.mediafire...xmohk7hy8rgniep
Oque ele é?
O Launcher funciona de uma forma Simples.Ele abre o site que irá mostrar as propagandas, media, etc. Depois, ele compara os arquivos do computador do player com os arquivos no servidor. Caso existam arquivos novos ou caso algum arquivo foi modificado ou até deletado, o Launcher baixa esses arquivos e coloca/substituiu eles no lugar certo ou deleta o arquivo caso ele não exista mais no servidor. Enquanto está baixando, o Launcher mostra para o player qual arquivo está baixando, quantos por cento do total da atualização já foi concluída com uma barra de progresso. Quando a atualização acaba, o Launcher mostra uma mensagem para o player e habilita um botão para que o player possa abrir o jogo. Simples assim
Como Usar
Descompacte o arquivo UpdateFiles.7z em qualquer lugar. Abra a pasta UpdateFiles, depois, abra a pasta Launcher. Todos esses arquivos são o Launcher. Esses são os arquivos que devem estar no computador do player, como o client do tibia. Use instaladores e crie um atalho(area de trabalho, barra de iniciação rapida) com o nome e ícone do seu server.Importante: Antes de entregar o launcher ao player, certifique-se de configura-lo e configurar o servidor.
Configurando o Launcher
O launcher.exe é a parte principal do Launcher. Você o configura de duas maneiras: Launcher.ini e Skin.ini. No Launcher.ini você configura as principais configurações do Launcher.exe. No Skin.ini, você configura a interface grafica(sistema de skins) do Launcher, e as imagens que são usadas nela.
Launcher.ini
O launcher.ini é encontrado na mesma pasta que o launcher.exe.
[General] ; Titulo da janela do Launcher, que aparece na barra de tarefas, etc Title=Launcher! ;É o link da pagina que vai aparecer dentro do Launcher. Dentro do rentangulo da pagina. ViewSite=www.google.com.br ;É o site de Download dos arquivos. DownloadSite=www.google.com.br ;Seu id unico. ELe serve para abrir apenas uma instancia do Launcher. MutexID=idunico ;Nome do executavel do Launcher. Não editar. LauncherExe=Launcher.exe ;Nome do executavel do seu jogo. Ex: tibia.exe, etc. executable=pbr.exe ;Mensagem que aparece quando a atualização está completa FinishMsg=Atualização completa Esse é o arquivo de configuração. Mas como disse Jack Stripador, vamos por partes: Title: É o titulo do launcher. o Titulo da janela, que aparece na barra de tarefas e tal. ViewSite: É o link da pagina que vai aparecer dentro do Launcher. DownloadSite: É o link de download dos arquivos: Ex: www.seusite.com.br/UpdateFiles/ MutexID: É um id unico seu. Ele serve para que existe apenas uma instancia do Launcher aberta no computador do player. LauncherExe: É o nome do executavel. altere isso caso você mude o nome do launcher.Recomendo que não altere, inves disso, crie no instalador um atalho com o nome do seu server que aponte para o Launcher.exe. Executable: É executável do seu client. FinishMsg: É a mensagem que aparece quando a atualização está completa. Ela aparece em um label dentro do programa, no mesmo lugar que aparece o nome do arquivo que está sendo baixado no momento. [General] ;Posição X(horizontal) e Y(horizontal) em pixels do Botão OK/Enter(o butão que abre O Cliente quando a atualização está completa) EnterBtnX=100 EnterBTnY=250[/b][/font][/color] [b];Posição X(horizontal) e Y(horizontal) em pixels do Botão Minimizar MinimizeBtnX=350 MinimizeBTnY=40[/b] [b];Posição X(horizontal) e Y(horizontal) em pixels do Botão Fechar CloseBtnX=450 CloseBtnY=10[/b] [b];Posição X(horizontal) e Y(horizontal) em pixels da barra de progresso(que mostra o progresso do download) ProgressX=10 ProgressY=300 ;Tamanho em X(horizontal) e Y(horizontal) em pixels da barra de progresso(que mostra o progresso do download) ProgressWidth=100 ProgressHeight=20 ;A cor da barra de progresso cheia ProgressColor=16776960 ;A cor de fundo da barra de progresso ProgressBackColor=16776960[/b] [b];Posição X(horizontal) e Y(horizontal) em pixels do retangulo da pagina de internet(viewsite) ScreenX=10 ScreenY=10 ;Tamanho em X(horizontal) e Y(horizontal) em pixels do retangulo da pagina de internet(viewsite) ScreenWidth=200 ScreenHeight=200[/b] [b];Posição X(horizontal) e Y(horizontal) em pixels do label(texto) que mostra os arquivos sendo baixados e mostra a actualizedMsg FileLbX=200 FileLby=200 ;Tamanho em X(horizontal) e Y(horizontal) em pixels do label(texto) que mostra os arquivos sendo baixados e mostra a actualizedMsg FileLbWidth=100 FileLbHeight=20[/b] [b]
lembrando que o tamanho dos butões(em x e y) é configurado a partir das imagens da skin.
Imagens:
Na pasta Skin, existe a pasta IMG, essa pasta tem as imagens que são usadas no Launcher e fazem parte da skin,Por exemplo, botões, fundo do launcher.
você deve substituir essas imagens para ter seu proprio design. Elas são:
background.png: É o fundo do Launcher, a imagem que fica atraz, pode ser transparente.
close.png: É a imagem do butão de fechar.
minimize.png: é a imagem do butão de minimizar.
enteron.png: É a imagem do butão Enter quando o client está atualizado e pronto para ser aberto.
enteroff.png: É a imagem do butão enter quando o client está desatualizado.
loadbackground.png: É a imagem de fundo de quando o launcher está carregando, pode ser transparente(efeito dahora )
Brinque a vontade com as skins! Assim você ficará mais familiarizado com a interface gráfica.
Servidor
O sistema de Update do Launcher é muito simples. Ele apenas faz uma copia do servidor. O computador do player sempre está igual ao servidor. Caso mude algo no servidor, no computador do player essa mudança irá ser baixada e atualizada.
Configurando
Primeiro, coloque todos os arquivos(como uma pasta chamada client que contem o seu client tibia e os arquivos dele) que devem ser atualizados dentro da pasta update que fica dentro da pasta UpdateFiles. Todo arquivo ou pastas que devam ser atualizada devem ser estar dentro da pasta Update.
Depois, certifique-se de configurar o launcher da maneira que quiser. Depois, execute O gendata.exe. A seguir, copie a pasta UpdateFiles para a pasta Htdocs dentro da pasta do XAMP. Pronto, o servidor está pronto.
Lembre-se que caso exista algum arquivo no computador do player que esteja dentro da mesma pasta do Launcher e não foi configurado no servidor com o gendata, ele foi vai ser deletado. Isso serve para deletar arquivos que não são mais usados.
A pasta "updatefiles" vai estar acessivel pela internet por esse link "www.seusite.com.br/updatefiles/.
Esse link você deve botar no DownloadSite no launcher.ini.
O sistema de download do Launcher é como se você bota-se o seu client para download no seu proprio site usando o seu proprio servidor para o download. Geralmente, você coloca o arquivo na htdocs, e depois bota no site o link(www.seusite.com.br/arquivo.exe). O launcher funciona da mesma forma, só que é automatizado. Você usa o gendata, coloca a UpdateFiles dentro da htdocs e coloca no downloadsite(launcher.ini) do launcher: www.seusite.com.br/updatefiles/ . Assim, ele sabe a pasta que estão os arquivos e faz o download de cada um.
Esse modelo é muito simples, e muito util. Cada vez que você quiser modificar o Launcher no computador do player(caso eu atualize o launcher ou você mude alguma configuração) é so modificar os arquivos da pasta Launcher dentro da UpdateFiles e usar o gendata denovo. Para atualizar os arquivos do Client, apenas mude o que tem dentro da pasta client que fica dentro da pasta Update e execute o GenData.
Lembre-se de atualizar o instalador do jogo cada vez que modificar/atualizar o launcher.
Os arquivos, quando são baixados do servidor, são colocados na pasta do Launcher no computador do Player. Por exemplo, os arquivos dentro da pasta Client, ficam dentro de uma pasta Client na pasta do Launcher no computador do Player.Todas as pastas e arquivos dentro da pasta Update vão para a mesma pasta do Launcher.
Caso exista um arquivo novo que não exista no computador do player, o launcher baixa esse arquivo novo. Caso um arquivo não exista mais no servidor(foi removido da pasta update) o launcher deleta no computador do Player.
O launcher e o gendata aceitam qualquer tipo de arquivos e pastas. Quer dizer, caso você crie pastas dentro de pastas, o launcher irá criar essas pastas no computador do player e irá colocar o arquivo no lugar certo. Assim, o launcher é funcional para qualquer tipo de update, alem de jogos e tibia.
Creditos: cristofermartins e Gabrieltxu
Skin.ini O skin.ini é encontrado na pasta skin, dentro da pasta que se encontra o launcher.exe.O skin.ini faz parte do sistema de Skins. Você pode construir varias skins, e quando quiser coloca-las no Launcher, você apenas modifica o skin.ini ou as imagens da pasta IMG. Ou Até substituir a pasta Skin inteira, trocando a skin por completo. -
joaovitorjoia deu reputação a Clenwinne em ScriptsLEVE ROPE E SHOVEL COMUM!
Salve-salve galerinha
Eu vi que esta seção do Tibia King estava meio parada e resolvi disponibilizar uns scripts LOW-LEVEL e money-maker
A média de exp vai ficar em verde e a média de gold em azul
1º: Esse aqui é da primeira cave de Kazz, bom pra low level (não vai nos guards nem nos soldier, só no -2)
2k~5k / 0.6k ~ 1,5k
Nivel recomendado: 9
Set recomendado: IOD Set / Plate Set + Serpent
Kazordoon Dwarf Cave1.xml
2º: Esse é de Rookgard, aconselho comprar o Leather Set Full antes de descer pra não morrer no level 3 (pega 1,3k +/- até o level 8)
3~6h pra pegar level 8 / 1k~1,5k até o level 8
Rookgard Rats.xml
3º: Esse é um Addon Colector, faz uma Tour por toda Thais por fora, coleta uns itens pra addons bem interessante pra deixar durante a madrugada!
0,5k ~ 1,5k / 500 gp (o lucro vem dos itens)
Level Recomendado: o suficiente para aguentar Bear, Wolf e MUITOS Wasps
Set recomendado: IOD Set aguenta tranquilamente
Thais Addon Colector.xml
4º: Cave de troll só na parte central, 70% afk pois tem várias caixas que o pessoal põe pra barrar bot
3k ~ 5k / 500gps ~ 900gps
Level recomendado: 8
Set recomendado: IOD Set / Plate Set + Serpent
Thais Troll -1.xml
5º: Esse script é bem interessante pra quem quer uma lucro maior que dos trolls acima
Thais North Rotworms.xml
5k~7k / 800gp ~ 1,5k
6º: Esse script é da mesma cave de troll anterior, mas vai em toda ela. (passa por Poison Spider, pode ficar poison)
4k~6k / 700gps ~ 1k
Thais Troll East.xml
7º: Melhor script que eu tenho, exp e lucro muito médios durante o dia e a noite, mas durante a tarde fica MAGNIFICO. Por que? por que é justamente quando é madrugada na Polonia e Cia.
Dia/Noite: 1k~2k / 4k~7k
Tarde: 2k~3,5k / 9k~15k
Thais Undead Mount Sternum.xml
Todos esse scripts são de Thais, menos o primeiro que é de Kazz
-
joaovitorjoia deu reputação a Clenwinne em ScriptsAqui eu vou postar onde fica os mapas das caves acima
1º:(começa só no -2)
2º: começa no dentro do bueiro
3: Não coloquei por ser muito extenso deixando a visualização ruim!
4º:
passa por todos os pontos laranjas
5º: Começa no inicio da reta vermelha
6º: dividi em 4 partes segue os links
1 2 3 4
7º: dividi em 3 partes:
1 2 3
-
joaovitorjoia deu reputação a Ryzor em [Talkcations] Sistema-Guild-Fairy-Tail[sistema] Guild Fairy Tail
Sintaxe: minha_funcao(pos, item, itemtr)
Descrição: Função que faz você pegar certo level ser mandado ao Rei, Escolher Sua Guilda.
Requerimentos: MySQL / Lua 5.1+
Primeiramente Vou me apresentar, GodMarini. Velho aqui, mais novo em postagens, vim trazer um script feito por min.
Vai em data/creaturescripts e poe :
Código:
<event type="combat" name="attacknacao" script="attacknacao.lua"/> <event type="look" name="Look" event="script" value="look.lua"/> Vai em data/creaturescripts/scripts Crie uma .lua com nome attacknacao.lua e poe :
Código:
--script by Muliouch
function onCombat(cid, target)
local creatureSkull = getCreatureSkullType(cid)
if isPlayer(target) and getPlayerReino(cid) ~= tostring("0") and getPlayerReino(target) ~= tostring("0") then if isPlayer(target) and getPlayerReino(cid) == getPlayerReino(target) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não pode atacar jogadores da mesma Guilda.") doCreatureSetSkullType(cid, creatureSkull) return false end end return true end
Vai em data/creaturescripts/scripts Crie uma .lua com nome loguin.lua e poe :
Código:
registerCreatureEvent(cid, "Look") registerCreatureEvent(cid, "attacknacao") Vai em data/creaturescripts/scripts Crie uma .lua com nome look.lua e poe :
Código:
--Script feito por Muliouch
function onLook(cid, thing)
pid = thing.uid
local access = {[1] = {[0] = 'has no vocation',
[1] = 'a Sorcerer',
[2] = 'a Druid',
[3] = 'a Paladin',
[4] = 'a Knight',
[5] = 'a Magician',
[6] = 'a Warlock',
[7] = 'a Templar',
[8] = 'a Healer',
[9] = 'a Assassin',
[10] = 'a Archer',
[11] = 'a Lord Knight',
[12] = 'a Defender',},
[2] = {'a Tutor'},
[3] = {'a Senior Tutor'},
[4] = {'a Gamemaster'},
[5] = {'a GOD'},}
local art = {
[0] = 'She',
[1] = 'He',
}
if isPlayer(pid) then local nacao = getPlayerAccess(pid) > 2 and '' or ' Nação '.. getPlayerReino(pid) ..'' local guild = (getPlayerGuildName(pid)~='' and " ".. art[getPlayerSex(pid)] .." is ".. getPlayerGuildRank(pid) .." of the ".. getPlayerGuildName(pid) .."" .. (getPlayerGuildNick(pid)~='' and ' ('.. getPlayerGuildNick(pid) ..').' or '.') or '') local guild1 = (getPlayerGuildName(pid)~='' and " You are ".. getPlayerGuildRank(pid) .." of the ".. getPlayerGuildName(pid) .."" .. (getPlayerGuildNick(pid)~='' and ' ('.. getPlayerGuildNick(pid) ..').' or '.') or '') local voc = getPlayerAccess(pid) > 2 and access[getPlayerAccess(pid)][1] or access[1][getPlayerVocation(pid)] local level = getPlayerAccess(pid) > 2 and '.' or ' (Level '.. getPlayerLevel(pid) ..').' local msg = ('You see '.. getPlayerName(pid) ..''.. level .. ' '.. art[getPlayerSex(pid)] ..' is '.. voc ..'.'..nacao)..guild local msg1 = ('You see yourself. You are '.. voc ..'.'..nacao)..guild1 if getPlayerName(pid) == getPlayerName(cid) then if getPlayerAccess(cid) > 2 then if getPlayerStorageValue(cid, 1078) == 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg1) else return true end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg1) end else if getPlayerAccess(cid) > 2 then if getPlayerStorageValue(cid, 1078) == 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg) else return true end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg) end end elseif not isPlayer(pid) then return true end end Verde: As Vocations Vai De Acordo Com o Serv
Vai em data/lib crie um .lua. nacao.lua :
Código:
--Script feito por Muliouch local nacao = { [1] = "Fairy Tail", [2] = "Phantom Lord", [3] = "Blue Pegasus", [4] = "Lamia Scale", [5] = "Cait Shelte" } function reinoSetTable() local i = db.executeQuery("ALTER TABLE `players` ADD `reino` VARCHAR(50) NOT NULL DEFAULT '0' AFTER `name`;") return i end function setPlayerReino(cid, new) dofile("config.lua") db.executeQuery("UPDATE `"..sqlDatabase.."`.`players` SET `reino` = '".. nacao[new].."' WHERE `name` = '".. getPlayerName(cid).."';") return true end function getPlayerReino(cid) local get = db.getResult("SELECT `reino` FROM `players` WHERE `name` = '".. getPlayerName(cid).."';") local j = get:getDataString('reino') return j end function haveReino(cid) if type(getPlayerReino(cid)) == 'string' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Nação: ".. getPlayerReino(cid).."") end end Vai em data/talkactions/scripts e crie um .lua reino.lua :
Código:
--script feito por GustavoMassa e adaptado por Muliouch function onSay(cid, words, param) local c = { levelmin = 20, reipos = {x = 851, y = 1687, z = 7}, <----------------- x,y,z, as coordenadas do Castelo do NPC do Rei no MAP. reino1pos = {x = 99, y = 99, z = 7}, <----------------- x,y,z, as coordenadas do reino da "Fairy Tail", aonde so os players da Fairy Tail podem ir. reino2pos = {x = 99, y = 99, z = 7}, <-----------------x,y,z, as coordenadas do reino da "Phantom Lord", aonde so os players da Phantom Lord podem ir. reino3pos = {x = 99, y = 99, z = 7}, <-----------------x,y,z, as coordenadas do reino da "Blue Pegasus", aonde so os players da Blue Pegasus podem ir. reino4pos = {x = 99, y = 99, z = 7}, <-----------------x,y,z, as coordenadas do reino da "Lamia Scale", aonde so os players da Lamia Scale podem ir. reino5pos = {x = 99, y = 99, z = 7} <-----------------x,y,z, as coordenadas do reino da "Cait Shelte", aonde so os players da Cait Shelte podem ir. } if isPlayerPzLocked(cid) then doPlayerSendCancel(cid, "You cannot use this command during battle.") return true end if param == '' then if getPlayerLevel(cid) < c.levelmin then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa alcançar o lvl 20 para poder ir ate o Rei.") return false elseif getPlayerLevel(cid) > c.levelmin and getPlayerReino(cid) == tostring("0") then doTeleportThing(cid,c.reipos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Agora vá falar com o Rei e escolher sua Nação!") return true elseif getPlayerLevel(cid) > c.levelmin and getPlayerReino(cid) == tostring("Fairy Tail") then doTeleportThing(cid,c.reino1pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem-Vindo "..getPlayerName(cid).." a Guilda Fairy Tail.") return true elseif getPlayerLevel(cid) > c.levelmin and getPlayerReino(cid) == tostring("Phantom Lord") then doTeleportThing(cid,c.reino2pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem-Vindo "..getPlayerName(cid).." a Guild Phantom Lord.") return true elseif getPlayerLevel(cid) > c.levelmin and getPlayerReino(cid) == tostring("Blue Pegasus") then doTeleportThing(cid,c.reino3pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem-Vindo "..getPlayerName(cid).." a Guilda Blue Pegasus.") return true elseif getPlayerLevel(cid) > c.levelmin and getPlayerReino(cid) == tostring("Lamia Scale") then doTeleportThing(cid,c.reino4pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem-Vindo "..getPlayerName(cid).." a Guilda Lamia Scale.") return true elseif getPlayerLevel(cid) > c.levelmin and getPlayerReino(cid) == tostring("Cait Shelte") then doTeleportThing(cid,c.reino5pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Bem-Vindo "..getPlayerName(cid).." a Guilda Cait Shelte.") return true end end return true end
Código:
Vai em data/npc e crie um npc chamado rei :
<?xml version="1.0" encoding="UTF-8"?> <npc name="Rei" script="rei.lua" walkinterval="0" floorchange="0"> <health now="9999" max="9999"/> <look type="325" head="95" body="94" legs="60" feet="113" addons="3"/> <parameters> <parameter key="message_greet" value="Bem-Vindo ao meu Castelo |PLAYERNAME|."/> </parameters> </npc>
Vai em data/talkactions e poe :
Código:
<talkaction words="/reino" event="script" value="nacao/nacao.lua"/>
Vai em data/npc e crie um .lua rei :
Código:
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler)
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 oracle(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end
local reinoNode = node:getParent() local reino = reinoNode:getParameters().new if getPlayerReino(cid) == tostring("0") then setPlayerReino(cid, reino) selfSay('Agora você pertence ao Reino {'..getPlayerReino(cid)..'}.',cid) elseif getPlayerReino(cid) ~= tostring("0") then selfSay('Você já pertence ao Reino {'..getPlayerReino(cid)..'}.',cid) npcHandler:resetNpc() end return true end
function greetCallback(cid) if(getPlayerLevel(cid) < 20) then selfSay('Volte quando alcançar o Nível 20.',cid) npcHandler:resetNpc() else return true end end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setMessage(MESSAGE_GREET, '|PLAYERNAME| está preparado para escolher seu reino?')
local yesNode = KeywordNode:new({'sim' or 'sím'}, oracle) local noNode = KeywordNode:new({'nao' or 'não'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Então, que Reino ira escolher?'})
local node1 = keywordHandler:addKeyword({'sim' or 'sím'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você quer se juntar aa guilda {Fairy Tail}, a guilda {Phantom Lord}, a guilda {Blue Pegasus}, a guilda {Lamia Scale}, a guilda {Cait Shelt}?'}) local node2 = node1:addChildKeyword({'Fairy Tail'}, StdModule.say, {npcHandler = npcHandler, new = 1, onlyFocus = true, text = 'Então, vai se juntar a Guilda {Fairy Tail}? A decisão é irreversível!'}) node2:addChildKeywordNode(yesNode) node2:addChildKeywordNode(noNode) node2 = node1:addChildKeyword({'Phantom Lord'}, StdModule.say, {npcHandler = npcHandler, new = 2, onlyFocus = true, text = 'Então, vai se juntar a Guilda {Phantom Lord}? A decisão é irreversível!'}) node2:addChildKeywordNode(yesNode) node2:addChildKeywordNode(noNode) node2 = node1:addChildKeyword({'Blue Pegasus'}, StdModule.say, {npcHandler = npcHandler, new = 3, onlyFocus = true, text = 'Então, vai se juntar a Guilda {Blue Pegasus}? A decisão é irreversível!'}) node2:addChildKeywordNode(yesNode) node2:addChildKeywordNode(noNode) node2 = node1:addChildKeyword({'Lamia Scale'}, StdModule.say, {npcHandler = npcHandler, new = 4, onlyFocus = true, text = 'Então, vai se juntar a Guilda {Lamia Scale}? A decisão é irreversível!'}) node2:addChildKeywordNode(yesNode) node2:addChildKeywordNode(noNode) node2 = node1:addChildKeyword({'Cait Shelte'}, StdModule.say, {npcHandler = npcHandler, new = 5, onlyFocus = true, text = 'Então, vai se juntar a Guilda {Cait Shelte}? A decisão é irreversível!'}) node2:addChildKeywordNode(yesNode) node2:addChildKeywordNode(noNode) keywordHandler:addKeyword({'nao' or 'não'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Volte quando estiver pronto.'})
npcHandler:addModule(FocusModule:new())
-
joaovitorjoia deu reputação a Ryzor em [Action] SurpresinhaDistro Usado: TFS 0.36
Protocolo: 8.6
Mas creio que funcione em outras versões.
Entendendo como Funciona.
exemplo: Voce pega uma pedra qualquer ou outro item vou usar uma pedra para exemplo:
Eu dou Use witch nesta pedra e ela vira algum item a minha escolha:
Exemplo eu edito o action para dar uma MPA ou golden legs.
Ao usar esta pedra ela ira virar algum deste items aleatoriamente porem voce pode adicionar varios items deixando assim mas dificiu de conseguir items boms.
vamos ao script para entender melhor o que estou falando =P.
Instalaçao:
Em actions.xml adicione esta Tag.
<action itemid="8301" event=script" value="surpresinha.lua"/>Entendendo a Tag:
-Vermelho: Id do Item que ao dar use ira virar a Surpresa ( 8301 e uma pedra que nao achei drop )
-Verde: nome do arquivo
Continuando a Intalaçao:
Em data/actions/scrips crie um arquivo.lua, nomeio para surpresinha.lua e adicione:
items = {
[0] = {id = 7735, count = 1, chance = 2},
[1] = {id = 7735, count = 1, chance = 5},
[2] = {id = 7735, count = 1, chance = 10},
[3] = {id = 7735, count = 1, chance = 15},
[4] = {id = 7735, count = 1, chance = 30},
[5] = {id = 7735, count = 1, chance = 100}
}
function onUse(cid, item, fromPos, itemEx, toPos)
for i = 0, #items do
if (items.chance > math.random(1, 100)) then
doPlayerAddItem(cid, items.id, items.count)
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Wow Você Ganho! Seu Item e '..getItemNameById(items.id)..'!', TALKTYPE_MONSTER)
end
end
doRemoveItem(item.uid, 1)
return doCreatureSay(cid, 'Não ganhei nada!', TALKTYPE_MONSTER)
endEntendendo como configurar:
-Vermelho: Id do item que podemos Ganhar
-Verde: Quantidade de item que vamos ganha
-Laranja: Chance de ganhar cada item (de 0.1 a 100) quanto maior a chance mais saira aquele item
-Roxo: Mensagem quando receber o item
-Marrom: Mensagem quando não receber nada
Obs: A chance pode ser 0.1, 0.2... (Apenas UM numero depois do ponto)
Se quiser adicionar mais itens na lista faça o seguinte:
items = {
[0] = {id = 7735, count = 1, chance = 2},
[1] = {id = 7735, count = 1, chance = 5},
[2] = {id = 7735, count = 1, chance = 10},
[3] = {id = 7735, count = 1, chance = 15},
[4] = {id = 7735, count = 1, chance = 30},
[4] = {id = 7735, count = 1, chance = 30},
[5] = {id = 7735, count = 1, chance = 100}
}Observe que dupliquei a parte laranja, depois faça:
items = {
[0] = {id = 7735, count = 1, chance = 2},
[1] = {id = 7735, count = 1, chance = 5},
[2] = {id = 7735, count = 1, chance = 10},
[3] = {id = 7735, count = 1, chance = 15},
[4] = {id = 7735, count = 1, chance = 30},
[5] = {id = 7735, count = 1, chance = 30},
[6] = {id = 7735, count = 1, chance = 100}
}-Laranja: Parte adicionada
-Vermelho: Numeros alterados
Acho que deu pra interder ja ne galera =P.
Em Uso uma SS o item caiu no chao porque estava sem BP se voce espaço na sua Bag ele ira para dentro dela mesmo voce dando use with no chao =P:
Creditos:
Script: Newtonnotwen
Trazer o script pra voces? GodMarini
-
joaovitorjoia deu reputação a Ryzor em Cassino slot machineNome: Cassino slot machine
Autor: CyberM // otland
Versão Testada: tfs 0.4
Informações Adicionais: video auto-explicativo. Video:
Frutas padrões
Ganho padrão de combos
Outras infos
-Qualquer item jogado nos grounds de slot são deletados, para prevenir bugs e trapaças
-Ao player "usar" a alavanca ele não pode se mover até o jogo acabar
-Se o player "desaparecer" o jogo renicia
Em actions/scripts crie um arquivo .lua chamado cassino e coloque isto dentro:
Código:
--[[
Advanced Slot Machine
by Cybermaster
]]--
--REQUIRED MONEY(gp) TO PLAY SLOT MACHINE
local money = 1000
--MILISECONDS TO CHANGE FRUITS
local time = 200
--ITERATOR TIME TO STOP CHANGING FRUIT IF PLAYER DOESN'T (30 is like 7 seconds)
local limit = 30
--FRUITS THAT WILL RANDOMLY APPEAR AND SWITCH
local fruits = {2674,2675,2676,2679,2680,2682,2683,5097,8841}
--PRIZES TABLES
local win = {
-- [{FRUIT.1,FRUIT.2,FRUIT.3} = {PRIZE,#PRIZE}]
--MIXED COMBOS
[{2679,2683,2679}] = {2160,2}, -- cherry-pumpkin-cherry
[{8841,2682,8841}] = {2160,1}, -- lemon-melon-lemon
--TRIPLE COMBOS
[{2680,2680,2680}] = {2152,80}, -- triple strawberry
[{5097,5097,5097}] = {2152,60}, -- triple mango
[{2683,2683,2683}] = {2152,80}, -- triple pumpkin
[{2682,2682,2682}] = {2152,50}, -- triple melon
[{2676,2676,2676}] = {2152,40}, -- triple banana
[{8841,8841,8841}] = {2152,25}, -- triple lemon
[{2679,2679,2679}] = {2152,20}, -- triple cherry
[{2675,2675,2675}] = {2152,30}, -- triple orange
[{2674,2674,2674}] = {2152,10}, -- triple apple
--ANY COMBOS
[{ANY,2683,2683}] = {2152,5}, -- double pumpkin right
[{2683,2683,ANY}] = {2152,5}, -- double pumpkin left
[{2683,ANY,2683}] = {2152,10}, -- pumpkin sides combo
[{ANY,2679,2679}] = {2152,4}, -- double cherry right
[{2679,2679,ANY}] = {2152,4}, -- double cherry left
[{2679,ANY,2679}] = {2152,8}, -- cherry sides combo
[{ANY,8841,8841}] = {2152,5}, -- double lemon right
[{8841,8841,ANY}] = {2152,5}, -- double lemon left
[{8841,ANY,8841}] = {2152,5}, -- lemon sides combo
}
--MESSAGES THAT RANDOMLY APPEAR WHEN PLAYER WINS
local messages = {'Bingo!','Lucky!','Jackpot!','Win!'}
--FRUITS ROWS
local p = { --[LEVER.UNIQUEID]
[6297] = {},[6298] = {},[6299] = {},[6300] = {}, --[6301] = {},
} --JUST PUT THE INITIAL ROW POS FROM LEFT, SECOND & THIRD WILL BE AUTOM. GENERATED
for i = 1,3 do --p, UNIQUEID.LEVER, {POS FROM TILE OF LEFT}
table.insert(p[6297],i,{x=91+(i-1),y=145,z=7,stackpos=1})
table.insert(p[6298],i,{x=95+(i-1),y=145,z=7,stackpos=1})
table.insert(p[6299],i,{x=99+(i-1),y=145,z=7,stackpos=1})
table.insert(p[6300],i,{x=103+(i-1),y=145,z=7,stackpos=1})
-- table.insert(p[6301],i,{x=19+(i-1),y=145,z=7,stackpos=1})
end
function verifyRow(cid, array, pos)
local result, prize = false, ''
for a, b in pairs(win) do
if getTileItemById(pos[1],a[1]).uid > 1 or a[1] == ANY then
if getTileItemById(pos[2],a[2]).uid > 1 or a[2] == ANY then
if getTileItemById(pos[3],a[3]).uid > 1 or a[3] == ANY then
doPlayerAddItem(cid, b[1], b[2] or 1, true)
doSendAnimatedText(getThingPos(cid), messages[math.random(#messages)], math.random(255))
result, prize, amount = true, b[1], b[2]
end
end
end
end
if prize ~= '' then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, 'Congratulations!! You won '..amount..' '..getItemPluralNameById(prize)..'!')
end
for i = 1,3 do
doSendMagicEffect(pos, result and CONST_ME_GIFT_WRAPS or CONST_ME_EXPLOSIONHIT)
doRemoveItem(getTileThingByPos(pos).uid)
end
return not result and doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, 'You have lost in the Slot Machine Try again')
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
local function doFruit(pos,cid,id,limit)
if not isPlayer(cid) then
return doItemEraseAttribute(item.uid, 'aid'), getTileThingByPos(pos).uid > 0 and doRemoveItem(getTileThingByPos(pos).uid)
end
if getTileThingByPos(pos).itemid < 1 then
doSendMagicEffect(pos, CONST_ME_POFF)
doCreateItem(fruits[math.random(#fruits)], 1, pos)
else
doTransformItem(getTileThingByPos(pos).uid,fruits[math.random(#fruits)],1)
end
if limit <= 0 then
doSendMagicEffect(pos,math.random(28,30))
doTransformItem(getTileThingByPos(pos).uid,fruits[math.random(#fruits)],1)
doItemSetAttribute(getTileThingByPos(fromPosition) .uid, 'aid', getTileThingByPos(fromPosition).actionid+1)
doTransformItem(getTileThingByPos(fromPosition).ui d, getTileThingByPos(fromPosition).itemid == 9826 and 9825 or 9826)
elseif getTileThingByPos(fromPosition).actionid > id then
doSendMagicEffect(pos,math.random(28,30))
doTransformItem(getTileThingByPos(pos).uid,fruits[math.random(#fruits)],1)
else
addEvent(doFruit,time,pos,cid,id,limit-1)
end
end
if item.actionid == 0 then
if not doPlayerRemoveMoney(cid, money) then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, 'You need '..money..' gps to play Slot Machine.')
end
doItemSetAttribute(item.uid, 'aid', 1)
doCreatureSetNoMove(cid, true)
doTransformItem(item.uid, item.itemid == 9826 and 9825 or 9826)
doSendAnimatedText(getThingPos(cid), '-$'..money,COLOR_RED)
for i = 1,3 do doFruit(p[item.uid],cid,i,i*limit) end
elseif isInArray({1,2,3},item.actionid) then
doItemSetAttribute(item.uid, 'aid', item.actionid+1)
doTransformItem(item.uid, item.itemid == 9826 and 9825 or 9826)
elseif item.actionid == 4 then
doCreatureSetNoMove(cid, false)
doItemEraseAttribute(item.uid, 'aid')
doTransformItem(item.uid, item.itemid == 9826 and 9825 or 9826)
verifyRow(cid, win, p[item.uid])
end
return true
end
E em actions.xml adicione esta tag:
Código:
<action uniqueid="6297-6300" event="script" value="cassino.lua"/>
Agora em movements/scripts crie um arquivo .lua chamado cassino e coloque isto dentro:
Código:
function onAddItem(moveItem, tileItem, position, cid)
if isPlayer(cid) then
doRemoveItem(moveItem.uid)
doSendMagicEffect(position, CONST_ME_EXPLOSIONHIT)
end
end
Agora em movements.xml adicione esta tag:
Código:
<movevent type="AddItem" tileitem="1" actionid="6577" event="script" value="cassino.lua"/>
Mapa
Código:
--FRUITS ROWS
local p = { --[LEVER.UNIQUEID]
[6297] = {},[6298] = {},[6299] = {},[6300] = {}, --[6301] = {},
} --JUST PUT THE INITIAL ROW POS FROM LEFT, SECOND & THIRD WILL BE AUTOM. GENERATED
for i = 1,3 do --p, UNIQUEID.LEVER, {POS FROM TILE OF LEFT}
table.insert(p[6297],i,{x=91+(i-1),y=145,z=7,stackpos=1})
table.insert(p[6298],i,{x=95+(i-1),y=145,z=7,stackpos=1})
table.insert(p[6299],i,{x=99+(i-1),y=145,z=7,stackpos=1})
table.insert(p[6300],i,{x=103+(i-1),y=145,z=7,stackpos=1})
-- table.insert(p[6301],i,{x=19+(i-1),y=145,z=7,stackpos=1})
end
NOTA: Coloque o actionid 6577 ao tile embaixo da alavanca
Itemid das alavancas usadas: 9825 - 9826
Actionid usado: 6577
Uniqueid usado: 6297, ... etc (para cada alavanca usa-se um diferente uid)
Espero que gostem
-
joaovitorjoia recebeu reputação de Ragnahziito em [Escola de Mapping 1 edç]Como criar uma cave de DragonCave de Dragon
Nota
Dragons foram as primeiras criaturas de Tibia e já dominaram todo o continente. Agora apenas alguns restaram e vivem em cavernas. São criaturas muito fortes e investem pesados ataques em qualquer intruso. Disparam
Bolas de fogo, Ondas de fogo, se regeneram rapidamente de ferimento e são imunes contra qualquer ataque de fogo.
Tutorial
Comece fasendo o formato da caverna depois adicione um poucos de fari field umas pedrinha andaveis e o chao vc pode faser a seu gosto no meu caso eu usei na entrada rocky ground. e pedrinhas andáveis se quiser adicionar arvores coloque somente arvores mortas mais bem pouco.
Não adcione arvores por perto porque dragons eles gospem fogo causando queima das arvores devastando o local,adicione também em alguns pontos da caverna stone cave rockes paradar alguns efeitos de desmoronamento de pedras. xD
Agora vamos nos aprofunda vamos ir para dentro da caverna começar a detalhar.
faça o formato desejado da caverna depois adicione algumas poças de lava nos cantos ou no meio.Faça a cave estreita porque dragons nao gostam de escavar a propia caverna.
Vamos começar a detalha essa caverna,coloque fari fiel um pouco de pedrinhas andaveis staglamites alguns ossos pelo chão e umas partes de mud cave rocke paradar aquele efeito de desmoronamento.e tambem coloque lave hole para dar o efeito de explosões de lava dentro da cave.
Pronto cave feita agora vamos a outro tipo de cave.
Montanha de Dragons estilo as de ank
Crie o formato da sua caverna
em cima crie outra forma diferente da debaixo cubra o chão com montain top ground de pois faça monte de areia com o piso sand. Não faça muito grande mais também não muito pequenos eu fis 2 andares ficando assim olhem.
e em cima no ultimo andar eu fis só o piso ficando assim
Feito toda a montanhas vamos detalhar adicione pedrinhas andáveis coloque também pedras grandes de aquele efeitos de desmoronamento com aquelas pedra e coloque um staglamites na caverna depois disso a caverna vai ficar assim.
adicione os rewpan não coloque os dragons muito perto dos outros em grupos grandes colo em grupos de no max 2 ficando assim ou em grupos de no max 3 com 1 dragon lord
Id do eskeleto do dragon 3125,3122,3123,3124,3127,3126
Fim
pronto galera a montanhas ta prontas duvidas mande uma mp ou fale pelo tópico mesmo
Próximo tutorial como criar caves ou montanhas de Hydra ,ou Como fase telhados
-
joaovitorjoia recebeu reputação de Markin em [SHOW OFF]JoaovitorIaew galera hj vou mostrar todos os meus mapas ja feitos entre esses 2 meses que eu voltei a mappear.
-
joaovitorjoia recebeu reputação de WarW0lf em [SHOW OFF]JoaovitorIaew galera hj vou mostrar todos os meus mapas ja feitos entre esses 2 meses que eu voltei a mappear.
-
joaovitorjoia deu reputação a Cat em Nolis Show Off
-
joaovitorjoia deu reputação a Spraypaint em [Duelo]Joaovitorjoia x SpraypaintAi demoro mais chego, tava almoçando (:
-
joaovitorjoia recebeu reputação de Markin em [Duelo]Joaovitorjoia x SpraypaintIaê galera estava conversando com o spray ai resolvi tirar um duelo com ele o tema do duelo vai ser
Loja Criativa
Que vença o melhor
o perdedor tem que dar um rep+ pra o vencedor
que vença o melhor.
o topico sera fechado as 5:00 da tarde
-
joaovitorjoia deu reputação a Markin em Tutorial Básico CreaturescriptsVim trazer hoje um tutorial bem útil para quem esta aprendendo a linguagem lua.
Com a autorização do grande Jhon vou postar aqui um tópico desenvolvido por ele.
Tutorial Básico sobre CreatureScripts
CreatureScripts = São scripts que serão ativados após uma determinada ação criada pelo monstro ou personagem. Essas ações são determinadas como funções. Existem varias funções utilizadas para a criação de creaturescripts e estas são:
onDeath(cid, corpse, killer)-- que é executada ao morrer. onPrepareDeath(cid, lastHitKiller, mostDamageKiller) -- semelhante a onDeath. onAttack(cid, target) -- executa ao atacar. onCombat(cid, target) -- semelhante ao onAttack. onLogin(cid) -- executa ao logar. onLook(cid, thing, position, lookDistance) -- executa ao dar look. onAdvance(cid, skill, oldLevel, newLevel) -- executa ao upar skills/levels. onStatsChange(cid, attacker, type, combat, value) -- executa ao perder ou ganhar life/mana/condições. onLogout(cid) -- executa ao deslogar. onKill(cid, target, lastHit) -- executa ao matar. onThink(cid, interval) -- executa em determinado tempo. onJoinChannel(cid, channelId, users) -- executa ao entrar em um chat. onReceiveMail(cid, sender, item, openBox) -- executa ao receber um parcel/carta. onReportBug(cid, comment) -- executa ao reportar bug. Para criar esse tipo de script, primeiramente vai na pasta data/creaturescripts/scripts e duplica um arquivo e salve com "nomedesejado"; Agora você vai determinar que função você vai precisar para criação do seu script. Para exemplo vou usar a função "onAdvance"(ao upar). Neste exemplo, quando o player upar level 100 ele irá ganhar 1kk: 1 function onAdvance(cid, skill, oldLevel, newLevel) 2 if (getPlayerLevel(cid) == 100) then 3 doPlayerAddItem(cid, 2160, 100) 4 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabéns, você ganhou 1kk por atingir level 100!") 5 doSendMagicEffect(getCreaturePosition(cid), 30) 6 end 7 return true 8 end Numerei as linhas para melhor entendimento, nos seus scripts vocês não devem numerar. linha 1 = Inicio da função onAdvance, essa linha recebe algumas informações do player que upou, como seu cid, seus skills o velho level e o novo level. Obs: cid = creature id, numero de identificação do player/monstro. linha 2 = Inicia-se um if onde verifica se o level do player é igual a 100. Se for verdadeiro, o script executa as linhas 3,4 e 5, senão pula direto a linha 6. linha 3 = Adiciona 100 itens com o id 2160 ao player. linha 4 = Manda uma mensagem parabenizando o player. linha 5 = Solta o efeito de numero 30, na posição em que o player esta. linha 6 = Finaliza a verificação do if. linha 7 = Retorna verdadeiro. Obs: sempre é necessario ela linha no final de seu código. linha 8 = Finaliza a função onAdvance. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Por fim para funcionamento do seu script é necessario adicionar 2 tags: 1º- No "data/creaturescripts/creaturescripts.xml" 2º- No arquivo "data/creaturescripts/scripts/login.lua", Obs: se o script que você for fazer for de função onLogin, não precisa adicionar a segunda tag. 1º Tag: Vai em data/creaturescripts/creaturescripts.xml e cole a tag: <event type="advance" name="QualquerNome" event="script" value="nomedesejado.lua"/> O type="" , será o nome da função de seu script após a palavra "on" e sempre tudo em minusculo. O name="", use qualquer nome porem esse nome vai ser usado para registrar no script onLogin na tag2. O value="", é o nome com qual você salvou seu script. Agora em data/creaturescripts/scripts/login.lua, sempre antes do último return true: registerCreatureEvent(cid, "QualquerNome")
QualquerNome é o name que você adicionou na tag1 do creaturescripts.xml.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Acho que é isso aew, espero ter ajudado a galera que esta iniciando.
Dica para criação de scripts:
Para melhor edição e organização use Notepad++: http://www.baixaki.c...ad/notepad-.htm
Sempre usar uma lista de funções como apoio: http://tibiaking.com...funcoes-em-lua/
E sempre pesquise por scripts prontos e tutoriais para ter uma base.
CREDITOS:
JHON pelo tutorial completo!
Anne por trazer ao TK.
-
joaovitorjoia recebeu reputação de Markin em [Escola de Mapping 1 edç]Como criar uma cave de DragonCave de Dragon
Nota
Dragons foram as primeiras criaturas de Tibia e já dominaram todo o continente. Agora apenas alguns restaram e vivem em cavernas. São criaturas muito fortes e investem pesados ataques em qualquer intruso. Disparam
Bolas de fogo, Ondas de fogo, se regeneram rapidamente de ferimento e são imunes contra qualquer ataque de fogo.
Tutorial
Comece fasendo o formato da caverna depois adicione um poucos de fari field umas pedrinha andaveis e o chao vc pode faser a seu gosto no meu caso eu usei na entrada rocky ground. e pedrinhas andáveis se quiser adicionar arvores coloque somente arvores mortas mais bem pouco.
Não adcione arvores por perto porque dragons eles gospem fogo causando queima das arvores devastando o local,adicione também em alguns pontos da caverna stone cave rockes paradar alguns efeitos de desmoronamento de pedras. xD
Agora vamos nos aprofunda vamos ir para dentro da caverna começar a detalhar.
faça o formato desejado da caverna depois adicione algumas poças de lava nos cantos ou no meio.Faça a cave estreita porque dragons nao gostam de escavar a propia caverna.
Vamos começar a detalha essa caverna,coloque fari fiel um pouco de pedrinhas andaveis staglamites alguns ossos pelo chão e umas partes de mud cave rocke paradar aquele efeito de desmoronamento.e tambem coloque lave hole para dar o efeito de explosões de lava dentro da cave.
Pronto cave feita agora vamos a outro tipo de cave.
Montanha de Dragons estilo as de ank
Crie o formato da sua caverna
em cima crie outra forma diferente da debaixo cubra o chão com montain top ground de pois faça monte de areia com o piso sand. Não faça muito grande mais também não muito pequenos eu fis 2 andares ficando assim olhem.
e em cima no ultimo andar eu fis só o piso ficando assim
Feito toda a montanhas vamos detalhar adicione pedrinhas andáveis coloque também pedras grandes de aquele efeitos de desmoronamento com aquelas pedra e coloque um staglamites na caverna depois disso a caverna vai ficar assim.
adicione os rewpan não coloque os dragons muito perto dos outros em grupos grandes colo em grupos de no max 2 ficando assim ou em grupos de no max 3 com 1 dragon lord
Id do eskeleto do dragon 3125,3122,3123,3124,3127,3126
Fim
pronto galera a montanhas ta prontas duvidas mande uma mp ou fale pelo tópico mesmo
Próximo tutorial como criar caves ou montanhas de Hydra ,ou Como fase telhados
-
joaovitorjoia deu reputação a Spraypaint em [Tutorial] Criando Cave SwampIntrodução
Oi eu sou o goku!Mentira não sou o goku,hoje vou mostrar a vocês como se cria uma caverna swamp ou simplesmente lhes dar uma noção de como sé faz um swamp razoavel aproveitar que esta acontecendo ai Mapping of the Week #5 com este mesmo tema.
Montando a Estrutura
Bem para começar a cave primeiramente vocês terão que montar a estrutura da cave eu particulamente gosto de cavernas fechadas,nesse modo a minha saiu assim:
"Nota,onde eu coloquei as tabas para o player passar eu usei swamp andavel"
Detalhamento
Bem, um bom detalhamento e essencial para o resultado final do mapa nesse caso usarei os seguintes itens.
Existem diversos tipos de plantas mais no caso do swamp usaremos apenas algumas no caso estas:
O debris também e uma parte importante pro mapa eu pessoalmente uso entre bordas e corredores estreitos:
Em mapas swamps também usamos as tão famosas graminhas,e também pedrinhas eu recomendo que coloquem-na perto das áreas com swamp.
Resultado Final:
Depois de todos esses passos o meu resultado final ficou assim:
Creditos
SprayPaint
Kausen (pelas imagens dos itens)
-
joaovitorjoia deu reputação a Markin em log simples
-
joaovitorjoia recebeu reputação de Markin em [Escola de Mapping 1 edç]Como criar uma cave de RotSs e que fis sobre rot e a cave e meio parecida mais na pro sima que vou criar vai ser sobre dragon.
Obrigado hj mesmo vou trazer mais alguns conteusdos.
-
joaovitorjoia recebeu reputação de Gustavo Ferreira em [Escola de Mapping 1 edç]Como criar uma cave de RotCave de Rotworm
Nota
Esta é a criatura mais comum de ser caçada em
Tibia e você nunca estará muito longe de uma caverna de rotworms.Rotworms se movem bem lentamente e não tem ataque à distância, logo eles não são muito mortíferos a não ser que você seja cercado por eles.
Vídeo Aula
Tutorial
itens que sera usados
Passo a Passo
primeira mente crie o formato da caverna.
Agora adcione em alguns pontos umas poças de aguas mais por que...porque os rot são umas minhocas gigantes que vivem nos bueros ou em cavernas escuras e humidas.
Atenção quando for fase uma caverna de rot nunca coloque lava nela pq ai perderia o RPG pq rots vivem es lugares sujos e humidos.
Agoras vamos aos detalhes:adcione trahs pelo chão e bastante sugere coloca algumas pedrinhas andaveis e algumas splash pelo chão adcione tambem em algumas partes cave wall twings e mud cave rocks,adcione tambem algumas walter source aonde tem poças de águas.
agora sua cave estará pronta adicione os rewpan nao ponhas os rots muitos juntos ponha um pouco separa e no max em grupos de 3.
Próxima aula sobre como criar cave de dragon.