Ir para conteúdo

joaovitorjoia

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    joaovitorjoia recebeu reputação de BrunaGaldino169 em [SHOW OFF]Joaovitor   
    Iaew galera hj vou mostrar todos os meus mapas ja feitos entre esses 2 meses que eu voltei a mappear.

















  2. Gostei
    joaovitorjoia recebeu reputação de brunooangeel em [PEDIDO] Banner & BG   
    aqui eu fis meio do jeito que vc queria ai vc so escreve oque vc quiser que n entendi muito a parte da escrita


  3. Gostei
    joaovitorjoia deu reputação a Thiago Duarte em Meu primeiro sprite   
    To 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
  4. Gostei
    joaovitorjoia recebeu reputação de Maconheira em [SHOW OFF]Joaovitor   
    Iaew galera hj vou mostrar todos os meus mapas ja feitos entre esses 2 meses que eu voltei a mappear.

















  5. Gostei
    joaovitorjoia deu reputação a Markin em [SHOW OFF]Joaovitor   
    agora sim vi um avanço rs, continue neste ritmo que você vai longe!
  6. Gostei
    joaovitorjoia recebeu reputação de thiagobji em Escola de Mapping   
    Escola 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.

  7. Gostei
    joaovitorjoia deu reputação a Gabrieltxu em [Tibia] Yalahar Cidade   
    Eae 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
  8. Gostei
    joaovitorjoia deu reputação a Gabrieltxu em Criando Client com launcher   
    Você 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.
  9. Gostei
    joaovitorjoia deu reputação a Clenwinne em Scripts   
    LEVE 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
  10. Gostei
    joaovitorjoia deu reputação a Clenwinne em Scripts   
    Aqui 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
  11. Gostei
    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())

     
  12. Gostei
    joaovitorjoia deu reputação a Ryzor em [Action] Surpresinha   
    Distro 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

  13. Gostei
    joaovitorjoia deu reputação a Ryzor em Cassino slot machine   
    Nome: 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
  14. Gostei
    joaovitorjoia recebeu reputação de Ragnahziito em [Escola de Mapping 1 edç]Como criar uma cave de Dragon   
    Cave 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





  15. Gostei
    joaovitorjoia recebeu reputação de Markin em [SHOW OFF]Joaovitor   
    Iaew galera hj vou mostrar todos os meus mapas ja feitos entre esses 2 meses que eu voltei a mappear.

















  16. Gostei
    joaovitorjoia recebeu reputação de WarW0lf em [SHOW OFF]Joaovitor   
    Iaew galera hj vou mostrar todos os meus mapas ja feitos entre esses 2 meses que eu voltei a mappear.

















  17. Gostei
    joaovitorjoia deu reputação a Cat em Nolis Show Off   
  18. Gostei
    joaovitorjoia deu reputação a Spraypaint em [Duelo]Joaovitorjoia x Spraypaint   
    Ai demoro mais chego, tava almoçando (:
  19. Gostei
    joaovitorjoia recebeu reputação de Markin em [Duelo]Joaovitorjoia x Spraypaint   
    Iaê 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

  20. Gostei
    joaovitorjoia deu reputação a Markin em Tutorial Básico Creaturescripts   
    Vim 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.

  21. Gostei
    joaovitorjoia recebeu reputação de Markin em [Escola de Mapping 1 edç]Como criar uma cave de Dragon   
    Cave 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





  22. Gostei
    joaovitorjoia deu reputação a Spraypaint em [Tutorial] Criando Cave Swamp   
    Introduçã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)

  23. Gostei
    joaovitorjoia deu reputação a Markin em log simples   
  24. Gostei
    joaovitorjoia recebeu reputação de Markin em [Escola de Mapping 1 edç]Como criar uma cave de Rot   
    Ss 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.
  25. Gostei
    joaovitorjoia recebeu reputação de Gustavo Ferreira em [Escola de Mapping 1 edç]Como criar uma cave de Rot   
    Cave 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.

Informação Importante

Confirmação de Termo