Jump to content

Olá Tibiano! Notamos que você está com um adblocker ligado... 

Nós promovemos servidores dentro da comunidade, para que eles tenham visibilidade.

Por favor, nos ajude a continuar promovendo esses servidores. Adicione nosso domínio na whitelist de seu adblocker, ok? :)

Nolis

Visconde
  • Content Count

    376
  • Joined

  • Last visited

  • Days Won

    2
  • xPoints

    0 [ Donate ]

Nolis last won the day on February 25 2015

Nolis had the most liked content!

About Nolis

  • Rank
    Ex-Admin Xtibia

Perfil

  • Gênero
    Masculino

Informações

  • Char no Tibia
    Hexagrama
  • Forma que conheci o xTibia
    Outros Sites
  • Sou
    Mapper

Recent Profile Visitors

5.668 profile views
  1. Tutoriais e downloads exclusivos sobre mapping, feitos por mim, você encontra na melhor comunidade sobre OTServ!

     

    Migrei para lá tem um tempo, entro pouco aqui.

     

  2. Resultado da live 02 (parte final do continente) Passagem pelas montanhas: Undeads cemitério, parte sul Undeads Acesso Undeads Acesso, montanha-centro Undeads Acesso, Torre de acesso < e subsolo Grim Reaper Acesso Grim Reaper Norte Montanha, divisão norte Grim Reaper final-Norte
  3. Poste seu login.lua (data/creaturescripts/scripts)
  4. Afim de participar do Nolis Live Mapping?

    Entre no Team Viewer (reunião) ID: m51-673-830

     

    Começa às 15:30

    1. Nolis

      Nolis

      Seção finalizada (4 participantes!), em breve terá mais.

  5. Status: OFF ON Histórico de Lives: 13/06/2018 - Tema Desértico | Início: 15:30, Término: 18:00 14/06/2018 - Tema Desértico Undead | Início: 14:00, Término: 19:00
  6. @Emanueldk, eu preciso saber sobre os 4 ids, quais são da porta horizontal e quais são da vertical ok? Eu vou tentar presumir isso e te ajudar com os códigos prontos, mas se não funcionar me de essa informação que eu resolvo. em data/actions/actions.xml adicione: <action itemid="13477" event="script" value="doors/door01.lua"/> <action itemid="13480" event="script" value="doors/door02.lua"/> <action itemid="13479" event="script" value="doors/door03.lua"/> <action itemid="13478" event="script" value="doors/door04.lua"/> em data/actions/scripts crie um pasta nomeada: doors -> dentro dela crie door01.lua Para a porta 13479 abrir/se transformar na porta 13480 em door01.lua adicione: local config = { door1 = {level = 1, uniqueid = 3000}, door2 = {level = 2, uniqueid = 3001}, } local function doorEnter(cid, item, toPosition) doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition) end function onUse(cid, item, toPosition) if item.uid == config.door1.uniqueid then if getPlayerLevel(cid) >= config.door1.level and item.uid == config.door1.uniqueid then doorEnter(cid, item, toPosition) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You need level " ..config.door1.level.. " to pass.") end end if item.uid == config.door2.uniqueid then if getPlayerLevel(cid) >= config.door2.level and item.uid == config.door2.uniqueid then doorEnter(cid, item, toPosition) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You need level " ..config.door2.level.. " to pass.") end end return TRUE end Agora para a porta (13480) fechar, vá em data/movements/movements.xml e adicione: <movevent type="StepOut" itemid="13480" event="script" value="doors/closedoor01.lua"/> Em data/movements/scripts crie uma pasta nomeada: doors -> dentro dela crie o arquivo closedoor01.lua Adicione dentro: function onStepOut(cid, item, position, fromPosition) if(getTileInfo(position).creatures > 0) then return true end local newPosition = {x = position.x, y = position.y, z = position.z} if(isInArray(verticalOpenDoors, item.itemid)) then newPosition.x = newPosition.x + 1 else newPosition.y = newPosition.y + 1 end doRelocate(position, newPosition) local tmpPos = position tmpPos.stackpos = -1 local i, tmpItem, tileCount = 1, {uid = 1}, getTileThingByPos(tmpPos) while(tmpItem.uid ~= 0 and i < tileCount) do tmpPos.stackpos = i tmpItem = getTileThingByPos(tmpPos) if(tmpItem.uid ~= item.uid and tmpItem.uid ~= 0 and not isMoveable(tmpItem.uid)) then doRemoveItem(tmpItem.uid) else i = i + 1 end end doTransformItem(item.uid, item.itemid - 1) return true end Segunda parte -> em data/actions/scripts/doors crie door02.lua Para a porta 13478 abrir/se transformar na porta 13477 em door02.lua adicione: local config = { door1 = {level = 1, uniqueid = 4000}, door2 = {level = 2, uniqueid = 4001}, } local function doorEnter(cid, item, toPosition) doTransformItem(item.uid, item.itemid - 1) doTeleportThing(cid, toPosition) end function onUse(cid, item, toPosition) if item.uid == config.door1.uniqueid then if getPlayerLevel(cid) >= config.door1.level and item.uid == config.door1.uniqueid then doorEnter(cid, item, toPosition) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You need level " ..config.door1.level.. " to pass.") end end if item.uid == config.door2.uniqueid then if getPlayerLevel(cid) >= config.door2.level and item.uid == config.door2.uniqueid then doorEnter(cid, item, toPosition) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You need level " ..config.door2.level.. " to pass.") end end return TRUE end Agora para a porta (13477) fechar, vá em data/movements/movements.xml e adicione: <movevent type="StepOut" itemid="13477" event="script" value="doors/closedoor02.lua"/> Em data/movements/scripts crie uma pasta nomeada: doors -> dentro dela crie o arquivo closedoor02.lua Adicione dentro: function onStepOut(cid, item, position, fromPosition) if(getTileInfo(position).creatures > 0) then return true end local newPosition = {x = position.x, y = position.y, z = position.z} if(isInArray(verticalOpenDoors, item.itemid)) then newPosition.x = newPosition.x + 1 else newPosition.y = newPosition.y + 1 end doRelocate(position, newPosition) local tmpPos = position tmpPos.stackpos = -1 local i, tmpItem, tileCount = 1, {uid = 1}, getTileThingByPos(tmpPos) while(tmpItem.uid ~= 0 and i < tileCount) do tmpPos.stackpos = i tmpItem = getTileThingByPos(tmpPos) if(tmpItem.uid ~= item.uid and tmpItem.uid ~= 0 and not isMoveable(tmpItem.uid)) then doRemoveItem(tmpItem.uid) else i = i + 1 end end doTransformItem(item.uid, item.itemid + 1) return true end Dentro dos dois scripts de actions, door01.lua e door02.lua, tem essas duas configurações: local config = { door1 = {level = 1, uniqueid = 3000}, door2 = {level = 2, uniqueid = 3001}, } e: local config = { door1 = {level = 1, uniqueid = 4000}, door2 = {level = 2, uniqueid = 4001}, } Como configurar: - Se não quiser utilizar level na door, apenas não adicione o uniqueid na porta. Se quiser, faça o contrário. (não esqueça de registrar esse uniqueid lá em actions.xml); - Não mexa aqui; - Aqui você configura o level para passar.
  7. @Emanueldk data/actions/actions.xml adicione <action actionid="5000" script="quests.lua"/> data/actions/scripts crie quests.lua e adicione function onUse(player, item, fromPosition, target, toPosition, isHotkey) local storage = specialQuests[item.uid] if not storage then storage = item.uid if storage > 65535 then return false end end if player:getStorageValue(storage) > 0 then player:sendTextMessage(MESSAGE_INFO_DESCR, "The " .. ItemType(item.itemid):getName() .. " is empty.") return true end local targetItem = Item(item.uid) local items = {} local reward = nil local size = targetItem:isContainer() and Container(item.uid):getSize() or 0 if size == 0 then if questItems[item.uid] == nil then reward = targetItem:clone() else for _,v in pairs(questItems[item.uid]) do local newItem = Item(doCreateItemEx(v.id, v.count or v.subtype or 1)) if v.aid ~= nil then newItem:setActionId(v.aid) end table.insert(items, newItem) end end else local container = Container(item.uid) for i = 0, container:getSize() - 1 do table.insert(items, container:getItem(i):clone()) end end local result = "" local addon = addonQuests[item.uid] if addon ~= nil then player:addOutfitAddon(addon.outfit.male, addon.addon) player:addOutfitAddon(addon.outfit.female, addon.addon) result = addon.msg else size = #items if size == 1 then reward = items[1]:clone() end local weight = 0 if reward then local ret = ItemType(reward:getId()) if ret:isRune() then result = ret:getArticle() .. " " .. ret:getName() .. " (" .. reward:getSubType() .. " charges)" elseif ret:isStackable() and reward:getCount() > 1 then result = reward:getCount() .. " " .. ret:getPluralName() else result = ret:getArticle() .. " " .. ret:getName() end weight = weight + ret:getWeight(reward:getCount()) else if size > 20 then reward = Container(doCreateItemEx(item.itemid)) elseif size > 8 then reward = Container(doCreateItemEx(1988)) else reward = Container(doCreateItemEx(1987)) end result = reward:getArticle() .. " " .. reward:getName() for i = 1, size do local tmp = items[i] if reward:addItemEx(tmp) ~= RETURNVALUE_NOERROR then print("[Warning] QuestSystem:", "Could not add quest reward to container") end end weight = weight + ItemType(reward:getId()):getWeight() end if player:addItemEx(reward) ~= RETURNVALUE_NOERROR then if player:getFreeCapacity() < weight then player:sendCancelMessage("You have found " .. result .. " weighing " .. string.format("%.2f", weight) .. " oz. You have no capacity.") else player:sendCancelMessage("You have found " .. result .. ", but you have no room to take it.") end return true end end if questsExperience[storage] ~= nil then player:addExperience(questsExperience[storage], true) end player:sendTextMessage(MESSAGE_INFO_DESCR, "You have found " .. result .. ".") player:setStorageValue(storage, 1) return true end No mapa, coloque actionid 5000 no seu baú e o item que receberá.
  8. @Guitz420 O N-PVP zone, se houver, aparecerá quando você utilizar a tecla de atalho "E". Depois disso segure ctrl e remova usando a tool N-pvp. Você configurou o protect level?
  9. @issler92 File -> Preferences -> General File -> Preferences -> Graphics Poste um print de como está essas configurações, por favor.
  10. Neutral Bot 10.81 Last Updated: Aug 31 2015 03:03 AM File Size: 6.98MB Download
  11. Bugs corrigido da versao 10.80: -Healer. -Floor diference. -Login. Download
  12. Mensagem do Sistema Este tópico foi movido de "OTServ → Suporte → Suporte Scripting" para "OTServ → Suporte → Suporte Scripting → Pedidos e dúvidas resolvidos - Scripting". Sempre seja atento ao postar um tópico, verifique se está postando no lugar correto.
  13. A aplicação que mostra as últimas respostas dos usuários será adicionada em breve.
  14. Olá pessoal, vocês provavelmente já deve ter visto este mesmo tutorial feito por mim postado nos tutoriais de mapping, bem, de fato, estou reformulando ele, acrescentando informações e arrumando o necessário. Modificando Seu Map Editor •Sumário• Grounds Grounds (z-order) Grounds (telhados) Doodads Doodads (efeito 3 em 1 [1]) Doodads (efeito 3 em 1 [2]) IMPORTANTE Faça um BACKUP do seu map editor antes de começar as modificações! GROUNDS Primeiramente, vou ensiná-lo a adicionar grounds ao seu map editor, siga os passos: PASSO 1: Abra seu map editor! PASSO 2: Escolher o que iremos modificar, no caso, vamos fazer um ground novo com auto-border. Vamos trabalhar com o TILE de ID: 11077, é um mais recente, se o seu não estiver com esse id procure por outro PASSO 3: abra a pasta do RME/data/8.6 e abra o arquivo grounds.xml (não esqueça de fazer um backup) PASSO 4: Vá até o final do script e antes da linha onde tem </materials> Adicione: <brush name="X1" type="ground" server_lookid="x2" z-order="4000"> <item id="X3" chance="2500"/> <border align="outer" id="999"/> <border align="inner" to="none" id="1"/> </brush> X1: Nome do seu novo ground x2: ID do ground X3: ID do ground Oresto nao mexa! se for adicionar outra ground so vai mudar esta linha <border align="outer" id="999"/> de 999 para 998, não pode ter igual no script PASSO 5: Agora na pasta do seu rme também e data/8.6 procure pelo script tilesets.xml, abra-o, aperte CTRL + F e coloque 'terrain', ele vai te levar até a linha, lá coloque na primeira linha: <brush name="NOME DO SEU ITEM"/> Salve e fexe junto com o ground. Vá em nature, e lá vai estar o seu item, no auto-border! PASSO 6: agora vamos adicionar borda ao ground. vá na pasta do rme em data/8.6 e abra o script borders. outra vez vá até o final do script e antes de </materials> Adicione: <border id="999"> <borderitem edge="n" item="a"/> <borderitem edge="e" item="b"/> <borderitem edge="s" item="c"/> <borderitem edge="w" item="d"/> <borderitem edge="cnw" item="e"/> <borderitem edge="cne" item="f"/> <borderitem edge="csw" item="g"/> <borderitem edge="cse" item="h"/> <borderitem edge="dnw" item="i"/> <borderitem edge="dne" item="j"/> <borderitem edge="dsw" item="k"/> <borderitem edge="dse" item="l"/> </border> Perceba que ali no border id foi colocado 999, que está também no group, isso serve para eles ficarem interligados. Agora é a parte mais complicada, mas eu resumi para voces, cada letra a cima represeta uma direção, norte, sul, leste, oeste, centroeste, etc.. Se o seu id for diferente procure pela imagem A= 11016 B= 11017 C= 11018 D= 11019 E= 11020 F= 11021 G= 11022 H= 11023 I= 11024 J= 11025 K= 11026 L= 11027 No meu caso usando esses ids meu script vai ficar assim: <border id="999"> <borderitem edge="n" item="11016"/> <borderitem edge="e" item="11017"/> <borderitem edge="s" item="11018"/> <borderitem edge="w" item="11019"/> <borderitem edge="cnw" item="11020"/> <borderitem edge="cne" item="11021"/> <borderitem edge="csw" item="11022"/> <borderitem edge="cse" item="11023"/> <borderitem edge="dnw" item="11024"/> <borderitem edge="dne" item="11025"/> <borderitem edge="dsw" item="11026"/> <borderitem edge="dse" item="11027"/> </border> Exemplo: Z-ORDER Agora mostrarei a função do Z-order Observem: <brush name="grass" type="ground" server_lookid="4526" z-order="3500"> <item id="4526" chance="2500"/> <item id="4527" chance="10"/> <item id="4528" chance="25"/> <item id="4529" chance="25"/> <item id="4530" chance="25"/> <item id="4531" chance="25"/> <item id="4532" chance="25"/> <item id="4533" chance="25"/> <item id="4534" chance="15"/> <item id="4535" chance="25"/> <item id="4536" chance="25"/> <item id="4537" chance="25"/> <item id="4538" chance="20"/> <item id="4539" chance="20"/> <item id="4540" chance="20"/> <item id="4541" chance="20"/> <item id="470" chance="0"/> <border align="outer" id="2"/> <border align="inner" to="none" id="1"/> </brush> Nos outros tutoriais eu não expliquei essa parta justamente para deixar mais simples agora, perceba que este é o grass com a borda pequena, ou seja, após adicionado o grass no piso e em seguida outros grounds ele vai ficar assim: Mas se mudarmos a z-order dele para 9000 vai ficar diferente: Isso acontece quando o z-order dele passa a ficar maior que o dos outros, então, fica por cima dos mesmos. Se mudarmos o z-order do grass de 9000 para 0, todas as outras bordas vão ficar por cima, por exemplo: Isso acontece por que o z-order dos outros tiles ficou maior que o grass. •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• A próxima função é a friend name: <brush name="grass (alternate border)" type="ground" server_lookid="9044" z-order="5100"> <item id="9043" chance="2500"/> <item id="9044" chance="10"/> <item id="9045" chance="25"/> <item id="9046" chance="25"/> <item id="9047" chance="25"/> <item id="9048" chance="25"/> <item id="9049" chance="25"/> <item id="9050" chance="25"/> <item id="9051" chance="15"/> <item id="9052" chance="25"/> <item id="9053" chance="25"/> <item id="9054" chance="25"/> <item id="9055" chance="20"/> <item id="9056" chance="20"/> <item id="9057" chance="20"/> <item id="9058" chance="20"/> <border align="outer" id="120"/> <border align="outer" to="none" id="120"/> <friend name="grass"/> </brush> <friend name="grass"/> É bem simples! Ao adicionar este ground no grass normal, não vai criar borda, pois os dois são 'verdes' (iguais) e não é preciso, veja o que acontece quando tem essa tag e quando não tem: Agora algo mais simples chance="1"/> Que tem em todos os grounds, você ja deve saber o que seria, no caso, se tivermos um ground com 5 pisos diferentes: chance="100"/> chance="90"/> chance="80"/> chance="70"/> chance="60"/> O Maior numero (chance) vai ser o tile que mais vai sair no mapa. Caso encontre as seguintes tags: <border super="true" align="inner" ground_equivalent="777"> <border super="true" align="inner" to="none" ground_equivalent="777"> Não se assuste! Estas duas tags classificam ele, para que não aja outra borda na hora de adicionar no mapa, e sim o própio ground, é como se a borda fosse para dentro, veja na imagem: TELHADOS Vou lhes ensinar a construir grounds em forma de telhado, grounds normais ao adicionados no mapa 'escuro' não criam borda, mas os 'roofs' sim, é bem simples Novamente grounds.xml antes de: </materials> Adicione: <brush name="Telhado" type="ground" server_lookid="10884" z-order="8000"> <item id="10884" chance="1"/> <border align="outer" to="none" id="998"/> </brush> No server_lookid só ponha o id do seu telhado, no item id, o id do telhado também, perceba que no border align eu coloquei 998, lembra no tutorial 1 que era 999? não pode repetir então preste atenção pra não fazer 'cagada'. Após ter adicionado isso no script abra o borders.xml Vá até o final e antes da linha: </materials> Adicione: <border id="998"> <borderitem edge="n" item="x"/> <borderitem edge="w" item="x"/> <borderitem edge="s" item="x"/> <borderitem edge="e" item="x"/> <borderitem edge="cnw" item="y"/> <borderitem edge="cne" item="y"/> <borderitem edge="csw" item="y"/> <borderitem edge="cse" item="y"/> <borderitem edge="dnw" item="z"/> <borderitem edge="dne" item="z"/> <borderitem edge="dsw" item="z"/> <borderitem edge="dse" item="z"/> </border> Esta parte é igual ao outro tutorial, você vai substituir o x pela seguinte ordem: X: Y: Z: Após ter feito isso (se a ordem de IDS do seu map estiver igual ao meu) vai ficar assim: <border id="998"> <borderitem edge="n" item="10889"/> <borderitem edge="w" item="10891"/> <borderitem edge="s" item="10886"/> <borderitem edge="e" item="10892"/> <borderitem edge="cnw" item="10890"/> <borderitem edge="cne" item="10888"/> <borderitem edge="csw" item="10887"/> <borderitem edge="cse" item="10885"/> <borderitem edge="dnw" item="10896"/> <borderitem edge="dne" item="10895"/> <borderitem edge="dsw" item="10894"/> <borderitem edge="dse" item="10893"/> </border> Após ter feito isso vá em data/8.6 e abra o tilesets.xml de ctrl + f e digite: Roofs Na primeira linha coloque: <brush name="Telhado"/> Abra o RME, vá em terrain/roofs. Resultado: DOODADS Vamos Trabalhar com o grass tuft (morto) Procure pelo id: 10737-10740 ou veja pela imagem: Abra a data/8.6 do seu map editor e vá em doodad.xml, antes da linha: </materials> Coloque: <brush name="Nature Morta" type="doodad" server_lookid="x" draggable="y" on_blocking="false" thickness="25/100"> <item id="z" chance="4"/> <item id="z" chance="10"/> <item id="z" chance="10"/> <item id="z" chance="10"/> </brush> X: ID Do item, a imagem que vai aparecer la no auto-border Y: Esta opção vai dizer se o grass poderá ser colocado no escuro sem nada em baixo ou somente em cima de um ground, veja a imagem. (exemplo) Z: ID dos grass tufts marrons, coloque o id dos 4, no meu caso vai ficar assim ! <brush name="Nature Morta" type="doodad" server_lookid="10740" draggable="true" on_blocking="false" thickness="25/100"> <item id="10740" chance="4"/> <item id="10739" chance="10"/> <item id="10738" chance="10"/> <item id="10737" chance="10"/> </brush> Agora abra o tilesets.xml, de CTRL + F e digite 'nature' e desca até doodad Pronto já pode utilizar sua nova auto-border! Também no doodad.xml antes da linha: </materials> Adicione: <brush name="Nature Morta2" type="doodad" server_lookid="x" draggable="true" on_blocking="false" thickness="10/100"> <item id="y" chance="70"/> <item id="y" chance="60"/> <item id="y" chance="50"/> <item id="y" chance="40"/> <item id="y" chance="30"/> <item id="y" chance="20"/> <item id="y" chance="10"/> </brush> E Utilizando esses itens: Vai ficar assim: <brush name="Nature Morta2" type="doodad" server_lookid="10735" draggable="true" on_blocking="false" thickness="10/100"> <item id="10741" chance="70"/> <item id="10743" chance="60"/> <item id="10742" chance="50"/> <item id="10764" chance="40"/> <item id="10736" chance="30"/> <item id="10763" chance="20"/> <item id="10735" chance="10"/> </brush> Agora vá em tilesets.xml de ctrl + f 'nature' vá em doodad e adicione <brush name="Nature Morta"/> Abra o mapa editor e divirta-se ! DOODAD 3 EM 1 Como você viu, essa imagem ao lado do título é um item formado por vários outros itens posicionados estrategicamente pelo map editor, existe uma função que faz você criar um item que adicione tudo de uma vez: vamos trabalhar o item id 11385~11392 vá em data/8.6 e abra o doodads.xml Vá até a ultima linha e antes da linha: </materials> Adicione: <brush name="estatuanova" type="doodad" server_lookid="11387" draggable="true" on_blocking="true" thickness="15/100"> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11389"/> </tile> <tile x="1" y="0" z="0"> <item id="11387"/> </tile> <tile x="2" y="0" z="0"> <item id="11390"/> </tile> <tile x="1" y="0" z="-1"> <item id="11385"/> </tile> <tile x="0" y="-1" z="-1"> <item id="11392"/> </tile> </composite> </brush> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- •• <brush name="estatuanova" type="doodad" server_lookid="11387" draggable="true" on_blocking="true" thickness="15/100"> <composite chance="10"> Brush name: Nome do item que será adicionado no mapa editor! server_lookid: ID do item cuja a imagem aparecerá na palette. draggable: Avançado, será esplicado melhor em outro tutorial, não mexa. on_blocking: Será explicado em outro tutorial, não mexa. thickness: Será explicado em outro tutorial, não mexa. Composite chance: Não mexa. <tile x="0" y="0" z="0"> <item id="11389"/> </tile> <tile x="1" y="0" z="0"> <item id="11387"/> </tile> <tile x="2" y="0" z="0"> <item id="11390"/> </tile> <tile x="1" y="0" z="-1"> <item id="11385"/> </tile> <tile x="0" y="-1" z="-1"> <item id="11392"/> </tile> Perceba que o X=0 no momento isso significa que X=Y=Z quando X=0 Se X for Igual a 1 ele pularia um Piso a direita > / Se Y for igual a 1 ele pularia um piso a para baixo (sendo Y=\/ [1] e Y=/\ [-1] < / Se Z For igual a 0 ele permanece no mesmo andar (7), porém quando o Z for igual a -1 ele Subira um andar (6). OOOOO OOOOO OOOOO Se o item X for 0 ele permanecerá na posição: XOOOO OOOOO OOOOO Se o item X for 1 ele mudará para posição (>) OXOOO OOOOO OOOOO Se o item X for -1 ele mudará para a posição (<) X OOOOO OOOOO OOOOO Se o item Y for 0 ele permanecerá na mesma posição XOOOO OOOOO OOOOO OU OXOOO OOOOO OOOOO Se o item Y for 1 ele decerá um piso OOOOO XOOOO OOOOO Se o item Y for -1 ele subirá um piso X OOOOO OOOOO OOOOO Se o item Z for 0 ele permanecerá no floor autal (7) OOOOO OOOOO OOOOO Se o item Z for 1 ele decerá para o floor (8) -- Se o item Z for -1 ele subira para o floor (6) -- ItemID: Coloque o id do item conforme o X,Y,Z Vamos ver outro exemplo ! Sabemos que: X=0 - Permanece no Local X= -1 - Pula um piso a esquerda X=1 - Pula um piso a direita Então: X=0 - X=-1 < X=1 > Vamos pegar os IDS 11385-11392! O ID 11389 vai ser o primeiro o X dele seria X=0 - Y=nulo Z=nulo Ele é o primeiro mas não é o centro! O ID 11387 vai ser o segundo no X o X dele vai ser X=1 (lembrando que x pula uma casa a direita, veja a imagem) Y=nulo Z=nulo O ID 11390 vai ser o terceiro na ordem X o X dele deve ser X=2 (por que ele pulou dois pisos a direita) Y=nulo Z=nulo O ID 11385 vai ser o primeiro na Ordem X porém no floor (7) Sendo assim o X dele Sera X=2, pois ele esta depois do id 11389 Y=nulo Z=-1 (lembrando que o Z=-1 sobe um andar) O ID 11392 será o negativo na ordem Y porém positivo 1 Na ordem X Sendo que está para > (direita) X=1 Sendo que Y negativo sobe uma casa Y=-1 Sendo que ele está no mesmo floor que o id 11385 Z=-1 Por último abra o tilesets.xml, pressione Ctrl + f e digite TOWN, coloque a linha: <brush name="estatuanova"/> DOODAD 3 EM 1 [2] Dando continuidade ao Doodads vou lhes ensinar a fazer Doodads 'ALTERNATIVE', sabe alguns itens do mapa editor que você preciona a tecla 'Z' e o item muda de direção (lado)? É Praticamente isso. Vamos trabalhar com os seguintes itens : ID: 11868-11887 ID: 11868-11887 ID: 11915-11916 Vamos Começar com o mais simples ! Abra a pasta do Map editor e vá em data/8.6/doodads.xml Como sempre antes da linha: </materials> Adicione: <brush name="novo1" type="doodad" server_lookid="A" draggable="true" on_blocking="false" thickness="10/10"> <alternate> <item id="B" chance="10"/> </alternate> <alternate> <item id="C" chance="10"/> </alternate> </brush> A: id do item, o que vai ficar de imagem no palette B: id do item normal, quando for adicionado, vamos colocar o id da tocha apagada C: id do segundo item, ou seja, quando você apertar 'Z' vai aparecer este item. Vai ficar assim: <brush name="novo1" type="doodad" server_lookid="11915" draggable="true" on_blocking="false" thickness="10/10"> <alternate> <item id="11915" chance="10"/> </alternate> <alternate> <item id="11916" chance="10"/> </alternate> </brush> Vá em tilesets.xml de ctrl + f, digite town e coloque: <brush name="Nature Morta"/> Agora na hora de abrir coloque sua tocha no mapa, depois aperte Z, perceba que ela vai mudar ! Normal: Depois que apertou o Z: Agora vamos complicar um pouco: Abra o doodads.xml novamente e adicione o script: <brush name="novo2" type="doodad" server_lookid="XXXX" draggable="true" on_blocking="true" thickness="10/10"> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="XXXX"/> </tile> <tile x="1" y="0" z="0"> <item id="XXXX"/> </tile> <tile x="2" y="0" z="0"> <item id="XXXX"/> </tile> <tile x="0" y="1" z="0"> <item id="XXXX"/> </tile> <tile x="1" y="1" z="0"> <item id="XXXX"/> </tile> <tile x="2" y="1" z="0"> <item id="XXXX"/> </tile> <tile x="0" y="2" z="0"> <item id="XXXX"/> </tile> <tile x="1" y="2" z="0"> <item id="XXXX"/> </tile> <tile x="2" y="2" z="0"> <item id="XXXX"/> </tile> <tile x="0" y="3" z="0"> <item id="XXXX"/> </tile> <tile x="1" y="3" z="0"> <item id="XXXX"/> </tile> <tile x="2" y="3" z="0"> <item id="XXXX"/> </tile> </composite> </alternate> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="XXXX"/> </tile> </composite> </alternate> </brush> O server_lookid como sempre é a imagem do item, qualquer item eu vou colocar o id 11856. Vamos trabalhar: Temos X=Y=Z sendo X=0 significa que se X=Y=Z permanece no local atual, então vamos adicionar o primeiro item Vamos usar os numeros 1-12 para representar cada ID O Item id 1 já está pronto ! Sendo que o itemid 2 está a uma posição a direita ele fica como X=1 Y=0 Z=0 Sendo que o itemid 3 está dois pisos a direita ele aumenta um X sendo: X=2 Y=0 Z=0 Sendo que o itemid 4 permanece na posição do itemid 1 porém uma casa abaixo ele fica X=0 Y=1 Z=0 Sendo que o itemid 5 permanece na posição Y porém uma casa a direita ele aumenta um X ficando: X=1 Y=1 Z=0 Sendo que o itemid 6 permanece na posição X e pula dois pisos a direita ele fica: X=2 Y=1 z=0 Sendo que o itemid 7 desce duas casas o Y dele é modificado porém ele permanece no X do primeiro item ficando: X=0 Y=2 Z=0 Sendo que o itemid 8 fica na mesma posição Y do itemid 7 só pulando uma casa a direita ele fica: X=1 Y=2 Z=0 Sendo que o itemid 9 fica na mesma posição X do itemid 7 pulando duas casas ele fica: X=2 Y=2 Z=0 Sendo que o itemid 10 permanece no X pulando ters casas para baixo o Y dele é o ultimo positivo ficando: X=0 Y=3 Z=0 Sendo que o itemid 11 permanece com o ultimo Y positivo pulando uma casa a direita só modifica o X ficando: X=1 Y=3 Z=0 Sendo que o itemid 12 é o ultimo na posição Y só modifica o X, que pula duas casas, ficando ! X=2 Y=3 Z=0 Modo avançado: [1] - x/y/z = 0/0/0 [2] - x/y/z = 1/0/0 [3] - x/y/z = 2/0/0 [4] - x/y/z = 0/1/0 [5] - x/y/z = 1/1/0 [6] - x/y/z = 2/1/0 [7] - x/y/z = 0/2/0 [8] - x/y/z = 1/2/0 [9] - x/y/z = 2/2/0 [10] - x/y/z = 0/3/0 [11] - x/y/z = 1/3/0 [12] - x/y/z = 2/3/0 O resultado fica: <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11868"/> </tile> <tile x="1" y="0" z="0"> <item id="11864"/> </tile> <tile x="2" y="0" z="0"> <item id="11873"/> </tile> <tile x="0" y="1" z="0"> <item id="11869"/> </tile> <tile x="1" y="1" z="0"> <item id="11856"/> </tile> <tile x="2" y="1" z="0"> <item id="11874"/> </tile> <tile x="0" y="2" z="0"> <item id="11870"/> </tile> <tile x="1" y="2" z="0"> <item id="11856"/> </tile> <tile x="2" y="2" z="0"> <item id="11876"/> </tile> <tile x="0" y="3" z="0"> <item id="11871"/> </tile> <tile x="1" y="3" z="0"> <item id="11856"/> </tile> <tile x="2" y="3" z="0"> <item id="11877"/> </tile> </composite> </alternate> Agora como estamos estudando utilizar o 'Z' vamos acrescentar no script: <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11878"/> </tile> <tile x="1" y="0" z="0"> <item id="11879"/> </tile> <tile x="2" y="0" z="0"> <item id="11881"/> </tile> <tile x="3" y="0" z="0"> <item id="11882"/> </tile> <tile x="0" y="1" z="0"> <item id="11865"/> </tile> <tile x="1" y="1" z="0"> <item id="11860"/> </tile> <tile x="2" y="1" z="0"> <item id="11860"/> </tile> <tile x="3" y="1" z="0"> <item id="11860"/> </tile> <tile x="0" y="2" z="0"> <item id="11883"/> </tile> <tile x="1" y="2" z="0"> <item id="11884"/> </tile> <tile x="2" y="2" z="0"> <item id="11886"/> </tile> <tile x="3" y="2" z="0"> <item id="11887"/> </tile> </composite> O Meu ja está feito, porém esse /\ é diferente do anterior não confunda ! Como eu ja fiz e expliquei em cima eu vou passar a formula do segundo ra vocês intenderem melhor: [1] - x/y/z = 0/0/0 [2] - x/y/z = 1/0/0 [3] - x/y/z = 2/0/0 [4] - x/y/z = 3/0/0 [5] - x/y/z = 0/1/0 [6] - x/y/z = 1/1/0 [7] - x/y/z = 2/1/0 [8] - x/y/z = 3/1/0 [9] - x/y/z = 0/2/0 [10] - x/y/z = 1/2/0 [11] - x/y/z = 2/2/0 [12] - x/y/z = 3/2/0 Juntando tudo e adicionando: <alternate> </alternate> O Script fica: <brush name="novo2" type="doodad" server_lookid="11856" draggable="true" on_blocking="true" thickness="10/10"> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11868"/> </tile> <tile x="1" y="0" z="0"> <item id="11864"/> </tile> <tile x="2" y="0" z="0"> <item id="11873"/> </tile> <tile x="0" y="1" z="0"> <item id="11869"/> </tile> <tile x="1" y="1" z="0"> <item id="11856"/> </tile> <tile x="2" y="1" z="0"> <item id="11874"/> </tile> <tile x="0" y="2" z="0"> <item id="11870"/> </tile> <tile x="1" y="2" z="0"> <item id="11856"/> </tile> <tile x="2" y="2" z="0"> <item id="11876"/> </tile> <tile x="0" y="3" z="0"> <item id="11871"/> </tile> <tile x="1" y="3" z="0"> <item id="11856"/> </tile> <tile x="2" y="3" z="0"> <item id="11877"/> </tile> </composite> </alternate> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11878"/> </tile> <tile x="1" y="0" z="0"> <item id="11879"/> </tile> <tile x="2" y="0" z="0"> <item id="11881"/> </tile> <tile x="3" y="0" z="0"> <item id="11882"/> </tile> <tile x="0" y="1" z="0"> <item id="11865"/> </tile> <tile x="1" y="1" z="0"> <item id="11860"/> </tile> <tile x="2" y="1" z="0"> <item id="11860"/> </tile> <tile x="3" y="1" z="0"> <item id="11860"/> </tile> <tile x="0" y="2" z="0"> <item id="11883"/> </tile> <tile x="1" y="2" z="0"> <item id="11884"/> </tile> <tile x="2" y="2" z="0"> <item id="11886"/> </tile> <tile x="3" y="2" z="0"> <item id="11887"/> </tile> </composite> </alternate> </brush> Agora abra o map editor, selecione o item e coloque no mapa, se você apertar a tecla Z vai mudar a ponte, pra cima ou pro lado
  15. Nolis

    The Carters 1

    The Carthers C1 - Meu planeta foi destruído, meus sonhos, minha família, meus amigos... Nada me restou. Estamos na Terra, planeta de 3º universo como diriam em Triox, mas é o único lugar seguro para ficarmos neste instante, ao todo, 11 de nós estamos na terra, que eu saiba, ninguém mais deixou o planeta, dentre nós onze está eu, meu irmao Jhonny, minha namorada Lannah, Alice, a namorada do Meu irmao, Tia Bety e o Tio Claus, o Bone, o Edy, a Vani, a Pardal e o Kenny, meu filho. Nos instalamos em uma mansão no Sul do Planeta, um lugar não tao popular no mundo, mais conhecido como um País, Brasil, construimos nossa fortaleza no meio de uma floreta não habitavel pelos humanos, Jhonny e eu criamos um campo magnético ao redor dos muros e a Alice cobriu com um sistema indetectável pelos satelites cameras por todas as partes, tabém foi instalado na mansão sistemas de alarmes que 'apitam' quando acontece algo errado referente a nós. Mais um dia amanhece, com um lindo sol. Cody: - Eu fui o único a acordar? Lannah: - Sim, toma seu café, o jhonny ta te esperando na oficina. Cody: - Pra que? Lannah: - Arrumar a moto dele... Cody: - ta bem, o ken ja acordou? Lana vira e me puxa pro lado, falando baixinho: Lannah: - Tem alguma coisa errada.. Eu tomando café continuo: Cody: - Tem sim, falta açucar no café Lannah: - Cody, sem brincadeira, o nick não veio atras de nós. Cody: - Mas lana, isso é bom, não? Lannah: - O Ken ta diferente, e você da escondendo algo, voce e o jhon Cody se cala e sai em direção da oficina. Jhony: - eae cara, preciso de um concerto na moto, pode ajuda? Cody: - Você contou, não contou? Jhony: - Ta falando do que cara? Cody: - O kenny, a Lannah ta desconfiada, não quero preocupar ela... Jhony: - Bem eu não contei nada, mais, se te serve de consolo, o ken ta falando pouco.. Cody: - Esquece a moto... Vou andando até a porta. Jhony: - Perai cara, ele ta ali no Piagarti, olhando pro norte, sei lá.. Cody: - valeu, mas esquece a moto Jhony: - Ta legal, eu concerto ... Ken tava numa arvore, apenas olhando no orizonte, ele é meio novo, 116 anos por ai, meus pais não aceitavam ele, por que a Lannah é de outra tribo, e o ken é, digamos, um animal. Mas o que vem ao caso é que ele não fala, nunca falou. Cody: - ta olhando o que Ken olha pra mim como se tivesse algo incomodando, porém desce da arvore e vai andando. C2 - Cody: - Alice, pode localizar alguns arquivos da NASA pra mim? Alice: - Sem problema, espera só um minutinho,. Cody: - ta legal. Ali, a lannah tem lhe falado algo, tipo, importante, sobre mim? Alice: - Que você é bom de cama? Cody: - Não é sobre.. perai o que? Alice: - To brincando, ela so tem reclamado de voce estar escondendo algo dela Cody: - Mais ela não sabe o que.. Alice: - Você está! .. escondendo algo dela, e de todos nós. Cody: - E tão facil perceber? =/ Alice: - Quando é algo bom não, mas quando é algo ruim, você fica mais quieto, e começa a ler livros, aqui está, relatorio de mudanças nos arquivos da NASA.. Cody: - Valeu, ah, eu sempre leio livros.. Ali, o que é a operação EXpl3 ? Alice: - ãn? ta falando do que? Cody: - É um arquivo velho aqui, 16 anos atras, operação exploração no 1º mundo... Alice: - Isso não é possivel..! Alice vai correndo até a sala de emergência e preciona o botão de alerta, em poucos seguntos todos vem correndo até a sala de reunião Cody: - A nossa nave, a que a pardal ta procurando no brasil.. A NASA ja tinha achado, há 16 anos. Lannah: - Perai, o que? 16 anos aqui sem saber nada? como isso? Alice: - Pelo que diz nos arquivos a NASA raptou a nave 2 dias depois de cairmos no Brasil. Bety: - Como, eles não podem simplesmente invadir um país e roubar a nave.. Jhon: - Na verdade podem, Além da NASA os Estados Unidos mantém em segredo muitos setores, além do poder de controlar tudo o que entra e sai do planeta, atravéz do satélite.. Cody: - Mas a Rússia, eles também sabem? Alice: - Provavelmente não, o sistema de sátelites da NASA foi aprimorado a 17 anos para vizualizar objetos espaciais não identificados a 50.000.000 Kilometros da terra, nem sei como. Lannah: - Mas se eles pegaram a nave, tem parte da nossa tecnologia.. Cody: - Precisamos recuperar a nave, assim saberemos se o nick veio atras da gente ou se mais gente conseguio escapar do planeta.. Edy: - Vou ligar pra Pardal, pedir pra ela voltar Cody: - Ok Bone: - Vou preparar os carros e carregar as armas Alice: - Certo vou tentar invadir os sistemas dos EU e tentar encontrar setores escondidos. Jhonny: - Provavelmente não vamos achar mas vou te ajudar. Cody: - Vou entrar em contato com o Presidente como anônimo, vou dizer que sei dos setores secretos e tentar arrancar algo, alice ativa os campos magnéticos pelo satélite pra que eles não nos localizem. Alice: - Ativados Cody: - Tomem cuidado, se eles tem nossa tecnologia podem facilmente nos capturar. C3 - Continua...
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...