Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Ensinando Criar Guarda/Cabo

    3visan e 2 outros reagiu a Duh Here por uma resposta no tópico

    3 pontos
    Um tutorial realmente simples para fazer sua primeira guarda e o cabo sem parecer que é feito de papel para começar ignoraremos alguns efeitos de luz das sprites, como o luminosidade pelo lado da sprite, nesse tutorial consideraremos somente a claridade de acordo com o relevo Quanto mais alto mais claro Quanto mais baixo mais escuro Começamos com o formato. Normalmente o cabo tem 3 pixel no inteiro de grossura e 3/4 de altura A guarda comece com um formato redondo, e faça algumas pontas para fora (a critério do spriter) Você obterá algo parecido com isso (ou não) imagem ampliada: o segundo passo é a escolha de cores, no caso usarei um tom meio amarelo queimado, com 4 variações do seu tom, a técnica usada nesse tutorial pode ser usada com 3 ou 4 variações de tom (um claro/branco, um entre o médio e o claro/branco, um médio, um escuro) ou (claro/branco, médio, escuro) Agora preencha o interior da sprite com esse tom (para o cabo a variação de cor é quase a mesma porem deixarei minha tabela de cor para vocês usarem no cabo a vontade) imagem ampliada: E trace uns tons medianos nessas linhas onde será mais alto ainda (ignore essa etapa se estiver usando 3 variações de tons) imagem ampliada: E finalmente nos pontos mais altos (com mais relevo, onde sera mais grosso da guarda) dessas linhas passe o claro/branco, normalmente os claros ficam mais para o meio, tente nunca encostar um claro com o preto do contorno imagem ampliada: Agora o cabo deixe com a cor mais escura e pegue um tom do meio e faça linhas inclinadas imagem ampliada: Agora no cabo faça o canto \/ mais escuro e em cima /\ mais claro em todas as linhas, se tiver alguma duvida amplie minha imagem e faça parecido imagem ampliada: Agora faça alguns detalhes se preferir, no meu caso botei uma esmeralda no meio da guarda. E faça a lamina (em breve ensinarei como fazer elas): imagem ampliada: Aqui também um exemplo usando Três tons: imagem ampliada: Créditos: LooktovasK & Duh Here, Por trazer ao Fórum , Observe não sou o melhor spriter, também sou iniciante observe quando for fazer uma Sword desse tipo deixe o cabo maior observe está muito pequeno porem é um belo tutorial para os Iniciantes. Aqui fica minha Dica
  2. Galeria de sprites do Duh

    thalia e um outro reagiu a Duh Here por uma resposta no tópico

    2 pontos
    Salve, Então galera sou novo aqui no ramo de "Spriter" antes deu aprender/aprendendo ser um Spriter eu queria ser um Scripter mais ai não deu muito certo e tal então fui procurar outra coisa ai eu conheci o Vittu ai ele falo a Spriter é legal mais não adianta querer virar da noite pro dia sem gosta tem que ter força de vontade pra aprender e gosta do que faz neeh ai ele me mostro trabalho de um spriter por que eu não sabia AUHSAUHS ai eu gostei neeh dai ele foi me dando umas aulinhas mandando uns tuto pra eu lê e foi isso Bom chega de papo neeh? UHAUHSA Vamos ao que intereça bom antes de tudo quero que saibam que essas são minhas primeiras Spriter não sou profissional asuhauhs 1° Axe que criei Axe de Pedra 2° Axe que criei Axe de Prata 3° Minha primeira outfit que tentei Cria auhasuh' mais fiko com umas parte meio LOL igual a MÃO dele. é isso ai galera o que voçês acharo ? lembre-se é meus 3 primeiros Spriter
  3. [Action] Key Door System

    Japoneeiiz reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Bem pessoal, pensei que uma action dessa ia deixar o servidor de vocês com mais RPG, então resolvi botar a ideia para funcionar. - Para que serve? Para o seu servidor ficar com mais RPG, serve para quest mais elaboradas - Como funciona? Você instala a quest e a action no seu servidor, depois para passar na porta, o player ira precisar da chave, quando ele der use, a porta vai se abrir e ficar aberta, quando ele der use denovo a porta irá se fechar e ficar trancada. - Qual a vantagem disso? Na verdade, quase nenhuma, pois só vai trazer mais RPG para o seu servidor se você tiver criatividade para usa-la, alguns players valorizam isso. - Como "instalo" no meu servidor ? Simples, vamos adicionar dois scripts em \data\actions\script e adicionar duas linhas em \data\actions\actions.xml Vamos lá Instalação data\actions\scripts\portas.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local doors = {[5098]={id=5100}, [5099]={id=5100}, [5101]={id=5102}, [5107]={id=5109}, [5108]={id=5109}, [5110]={id=5111}} local config = { actionid = 1221, -- Uma action normal, só para a portar nao abrir. keyaid = 1222 -- A action que deve ter na key } for i, x in pairs(doors) do if ((itemEx.itemid == i) and (itemEx.actionid == config.actionid) and (item.actionid == config.keyaid)) then doTransformItem(itemEx.uid, x.id) doItemSetAttribute(itemEx.uid, "aid", 0) elseif (itemEx.itemid == x.id) and (itemEx.actionid == 0) and (item.actionid == config.keyaid) then doTransformItem(itemEx.uid, i) doItemSetAttribute(itemEx.uid, "aid", config.actionid) elseif (itemEx.itemid == i) and (itemEx.actionid == 0) and (item.actionid == config.keyaid) then doTransformItem(itemEx.uid, i) doItemSetAttribute(itemEx.uid, "aid", config.actionid) end end return TRUE end data\actions\actions.xml <action itemid="IDdeUmaChave" event="script" value="portas.lua" /> Agora uma quest para ganhar a chave que abre a porta. data\actions\scripts\darkey.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local config = { storage = 3235, -- Uma storage, se quiser nao precisa modificar keyID = 2088, -- ID de uma chave, você pode trocar. aid = 1222, -- ActionID, tem que ser o mesmo do script acima. } if getPlayerStorageValue(cid, config.storage) == -1 then local item = doPlayerAddItem(cid, config.keyID,1) if item then doItemSetAttribute(item, "aid", config.aid) setPlayerStorageValue(cid, config.storage, 1) doPlayerSendCancel(cid, "Você recebeu uma key") end else doPlayerSendCancel(cid, "Desculpe, mais você ja fez essa quest") end end data\actions\actions.xml <action actionid="7777" event="script" value="darkey.lua" /> " Lembrando que o bau, ou qualquer outra coisa, deve conter o action id = 7777 " Se você preferir, aqui tem um NPC que vende a mesma key que é pega na quest. data/npc/Diog.xml <?xml version="1.0"?> <npc name="Diog" script="data/npc/scripts/diog.lua" walkinterval="7000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="76" body="96" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|! Eu vendo keys, Diga {keys} para saber quais eu vendo e o valor delas." /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="keys" /> <parameter key="keyword_reply1" value="Eu vendo {Key Quest Editada} por 1000 gps." /> </parameters> </npc> data/npc/scripts/diog.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local keys = { ["Key Quest Editada"] = {id_key = 2088, price = 1000, action_id = 1222}, } local m = keys[msg] if (not m) then selfSay("Eu não vendo esta key ", cid) return FALSE end if doPlayerRemoveMoney(cid, m.price) == TRUE then a = doPlayerAddItem(cid, m.id_key, 1) doItemSetAttribute(a, "aid", m.action_id) selfSay("Obrigado, aqui esta sua key", cid) talkState[talkUser] = 0 else selfSay(" Você não tem ".. m.price.." gps para comprar ", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configuração Como você viu, eu nao adicionei todas as portas no script portas.lua, então só iram funcionar em um tipo. Nao adicionei porque sou preguiçoso, então para você adicionar é simples. Só seguir esses parametros [iDPortaFechada]={id=IDPortaAberta}, e adicionar em local doors = {} Agora para adicionar mais keys para o npc vender, é muito simples tambem, Só você adicionar mais linhas em local keys, Siga os parametros ["NomeQueOPlayerTemQueFalar"] = {id_key = IDDaKey, price = PreçoDaKey, action_id = 1222}, E mudar para quando o player falar com o npc: <parameter key="keyword_reply1" value="Eu vendo {Key Quest Editada} por 1000 gps e {NomeQueOPlayerTemQueFalar} por 122 gps." /> Script bem facil que eu fiz, qualquer duvida só falar comigo, Até mais.
  4. [Sistema] Futebol com torcida e juiz!

    Milbradt reagiu a Zathao por uma resposta no tópico

    1 ponto
    Informações Gerais Nome: Sistema de futebol Autor: Zathao Testado em: The Forgotten Server 0.3.6 Versão Tibia: 8.54 Sistema O sistema se resume em uma partida completa de futebol entre 2 jogadores, sendo controlada por um juiz e apoiada por uma torcida para cada player. Juiz: Da informações referentes ao placar, ao tempo de espera para iniciar o lance e informa quando é gol. Torcida: Apoia os jogadores. Cada jogador tem uma torcida fanática que não para de dar forças, apoiando com isentivos e comemorando loucamente um gol! Ao termino do jogo, o vencedor recebe um troféu com o nome do ganhador e do vencedor! Video Demonstrativo Instalação - Crie um arquivo chamado futebol.lua na pasta data/actions/scripts/ - Adicione este codigo dentro do arquivo: ---------------------------------------- ----- ### Sistema de Futebol ### ----- ---------------------------------------- -- Feito por: zathao -- -- Msn: [email protected] -- -- email: [email protected] -- ---------------------------------------- -- Configurações Gerais local config = { -- Posição que o jogadores devem estar na hora de puxar a alavanca posJogador1 = {x=82,y=153,z=7, stackpos=1}, posJogador2 = {x=84,y=153,z=7, stackpos=1}, -- Posição inicial dos jogadores na partida posTeleporte1 = {x=81,y=160,z=7, stackpos=1}, posTeleporte2 = {x=85,y=160,z=7, stackpos=1}, posBola = {x=83,y=160,z=7, stackpos=1}, -- Posição inicial da bola nomeNpc = "Juiz", -- Lembrando que o npc deve existir posNpc = {x=83,y=155,z=7, stackpos=1}, -- Posição inicial do npc gols = 5, -- Quantidade de gols para ganhar o jogo tempoPrePartida = 5, -- Tempo de espera para começar a partida (segundos) quantidadeTorcedores = 7, -- Para cada equipe -- Posição inicial em que o script irá começar preencher com os torcedores posTorcida1 = {x=76,y=165,z=7, stackpos=1}, posTorcida2 = {x=84,y=165,z=7, stackpos=1}, -- Posição dos gols posGol1 = { {x=75,y=159,z=7, stackpos=1}, {x=75,y=160,z=7, stackpos=1}, {x=75,y=161,z=7, stackpos=1} }, posGol2 = { {x=91,y=159,z=7, stackpos=1}, {x=91,y=160,z=7, stackpos=1}, {x=91,y=161,z=7, stackpos=1} } } local jogador1 = nil local jogador2 = nil local listaTorcedores1 = "" local listaTorcedores2 = "" local npcUid = nil local placar = { 0,0 } local eventoTorcida = nil local eventoGol = nil local function inicioJogo() doCreatureSay(npcUid, "Valendo!", TALKTYPE_YELL) doSendMagicEffect(config.posTeleporte1, 12) doSendMagicEffect(config.posTeleporte2, 12) doCreatureSetNoMove(jogador1, false) doCreatureSetNoMove(jogador2, false) end local function torcida(nome1, nome2) local chanceTorcida1 = math.random(1,2) local chanceTorcida2 = math.random(1,2) if(chanceTorcida1>1)then local uids = string.explode(listaTorcedores1, ",") local torcedor = uids[math.random(1,#uids)] doCreatureSay(torcedor, "Vai "..nome1.."!", TALKTYPE_YELL) end if(chanceTorcida2>1)then local uids = string.explode(listaTorcedores2, ",") local torcedor = uids[math.random(1,#uids)] doCreatureSay(torcedor, "Vai "..nome2.."!", TALKTYPE_YELL) end eventoTorcida = addEvent(torcida,4000, nome1, nome2) end local function delayMsg(msg) doCreatureSay(npcUid, msg, TALKTYPE_YELL) end local function testeGol(nome1,nome2) for i=1,#config.posGol1 do for j=1,10 do local testPos = {x=config.posGol1[i].x, y=config.posGol1[i].y, z=config.posGol1[i].z, stackpos=j} local thing = getThingFromPos(testPos) if(thing.itemid==2109)then if(placar[2]==config.gols-1)then doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.") doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.") doTeleportThing(jogador1, config.posJogador1) doTeleportThing(jogador2, config.posJogador2) doSendMagicEffect(config.posJogador1, 12) doSendMagicEffect(config.posJogador2, 12) local item = doPlayerAddItem(jogador2, 5805) doItemSetAttribute(item, "description", nome2.." conquistou este troféu apos derrotar "..nome1.." em uma partida de futebol.") doRemoveCreature(npcUid) stopEvent(eventoTorcida) stopEvent(eventoGol) local uids1 = string.explode(listaTorcedores1, ",") local uids2 = string.explode(listaTorcedores2, ",") for k = 1, #uids1 do doRemoveCreature(uids1[k]) doRemoveCreature(uids2[k]) end jogador1 = nil jogador2 = nil listaTorcedores1 = "" listaTorcedores2 = "" config.posTorcida1 = {x=76,y=165,z=7, stackpos=1} config.posTorcida2 = {x=84,y=165,z=7, stackpos=1} npcUid = nil placar = { 0,0 } else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) local uids = string.explode(listaTorcedores2, ",") for k = 1, #uids do doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL) end placar[2] = placar[2]+1 local msg = "Gol do "..nome2.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."." addEvent(delayMsg,1000, msg) msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,6000, msg) addEvent(inicioJogo,7000+(config.tempoPrePartida*1000)) end doRemoveItem(thing.uid) end end end for i=1,#config.posGol2 do for j=1,10 do local testPos = {x=config.posGol2[i].x, y=config.posGol2[i].y, z=config.posGol2[i].z, stackpos=j} local thing = getThingFromPos(testPos) if(thing.itemid==2109)then if(placar[1]==config.gols-1)then doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.") doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.") doTeleportThing(jogador1, config.posJogador1) doTeleportThing(jogador2, config.posJogador2) doSendMagicEffect(config.posJogador1, 12) doSendMagicEffect(config.posJogador2, 12) local item = doPlayerAddItem(jogador1, 5805) doItemSetAttribute(item, "description", nome1.." conquistou este troféu apos derrotar "..nome2.." em uma partida de futebol.") doRemoveCreature(npcUid) stopEvent(eventoTorcida) stopEvent(eventoGol) local uids1 = string.explode(listaTorcedores1, ",") local uids2 = string.explode(listaTorcedores2, ",") for k = 1, #uids1 do doRemoveCreature(uids1[k]) doRemoveCreature(uids2[k]) end jogador1 = nil jogador2 = nil listaTorcedores1 = "" listaTorcedores2 = "" config.posTorcida1 = {x=76,y=165,z=7, stackpos=1} config.posTorcida2 = {x=84,y=165,z=7, stackpos=1} npcUid = nil placar = { 0,0 } else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) local uids = string.explode(listaTorcedores1, ",") for k = 1, #uids do doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL) end placar[1] = placar[1]+1 local msg = "Gol do "..nome1.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."." addEvent(delayMsg,1000, msg) msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,7000, msg) addEvent(inicioJogo,8000+(config.tempoPrePartida*1000)) end doRemoveItem(thing.uid) end end end eventoGol = addEvent(testeGol,100,nome1,nome2) end function onUse(cid, item, fromPosition, itemEx, toPosition) if (isPlayer(jogador1) == true and isPlayer(jogador2) == true)then doPlayerSendCancel(cid, "Lamento, mas o campo ja está em uso.") doSendMagicEffect(fromPosition, 2) return false end local coisa1 = getThingFromPos(config.posJogador1).uid local coisa2 = getThingFromPos(config.posJogador2).uid if(isPlayer(coisa1))then jogador1 = coisa1 end if(isPlayer(coisa2))then jogador2 = coisa2 end if(jogador1==nil or jogador2==nil)then doPlayerSendCancel(cid, "Desculpe, mas você precisa de outro player para começar um jogo.") doSendMagicEffect(fromPosition, 2) return false else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) npcUid = doCreateNpc(config.nomeNpc, config.posNpc) doCreatureSetLookDirection(npcUid, 2) doSendMagicEffect(config.posNpc, 10) doCreatureSetNoMove(npcUid, true) local nome1 = getCreatureName(jogador1) local nome2 = getCreatureName(jogador2) local msg = "Saudações "..nome1.." e "..nome2..". Serei o juiz desta partida. Ganhará o primeiro a fazer "..config.gols.." gols." addEvent(delayMsg,1000, msg) msg = "A partida irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,9000, msg) local uidMonstro local randomOutfit for i=1,config.quantidadeTorcedores do uidMonstro = doCreateMonster("Torcedor",config.posTorcida1) doCreatureSetLookDirection(uidMonstro, 0) doSendMagicEffect(config.posTorcida1, 10) doCreatureSetNoMove(uidMonstro, true) config.posTorcida1.x = config.posTorcida1.x + 1 randomOutfit = { lookType = 128, lookHead = math.random(1,66), lookAddons = math.random(0,2), lookLegs = math.random(1,66), lookFeet = math.random(1,66) } doCreatureChangeOutfit(uidMonstro, randomOutfit) if(listaTorcedores1=="")then listaTorcedores1 = uidMonstro else listaTorcedores1 = listaTorcedores1..","..uidMonstro end end for i=1,config.quantidadeTorcedores do uidMonstro = doCreateMonster("Torcedor",config.posTorcida2) doCreatureSetLookDirection(uidMonstro, 0) doSendMagicEffect(config.posTorcida2, 10) doCreatureSetNoMove(uidMonstro, true) config.posTorcida2.x = config.posTorcida2.x + 1 randomOutfit = { lookType = 128, lookHead = math.random(67,132), lookAddons = math.random(0,2), lookLegs = math.random(67,132), lookFeet = math.random(67,132) } doCreatureChangeOutfit(uidMonstro, randomOutfit) if(listaTorcedores2=="")then listaTorcedores2 = uidMonstro else listaTorcedores2 = listaTorcedores2..","..uidMonstro end end addEvent(inicioJogo,10000+(config.tempoPrePartida*1000)) eventoTorcida = addEvent(torcida,10000+(config.tempoPrePartida*1000), nome1, nome2) eventoGol = addEvent(testeGol,10000+(config.tempoPrePartida*1000), nome1, nome2) local teste = string.explode(listaTorcedores1,",") end return true end - Posição do Npc: {x=83,y=155,z=7, stackpos=1} - Posição inicial de preenchimento das torcidas: posTorcida1 = {x=76,y=165,z=7, stackpos=1} posTorcida2 = {x=84,y=165,z=7, stackpos=1} - Posição dos gols posGol1 = { {x=75,y=159,z=7, stackpos=1} {x=75,y=160,z=7, stackpos=1} {x=75,y=161,z=7, stackpos=1} } posGol2 = { {x=91,y=159,z=7, stackpos=1} {x=91,y=160,z=7, stackpos=1} {x=91,y=161,z=7, stackpos=1} } -- É isso pessoal, espero que tenham gostado. Esse é o primeiro script que posto aqui. Todo tipo de crítica será bem vinda. Obrigado! - Agora adicione no arquivo actions.xml em data/actions este conteúdo: <action actionid="5000" event="script" value="futebol.lua"> - Crie um arquivo chamado juiz.lua em data/npc/scripts e cole este conteúdo: local focuses = {} local function isFocused(cid) for i, v in pairs(focuses) do if(v == cid) then return true end end return false end[/left] local function addFocus(cid) if(not isFocused(cid)) then table.insert(focuses, cid) end end local function removeFocus(cid) for i, v in pairs(focuses) do if(v == cid) then table.remove(focuses, i) break end end end local function lookAtFocus() for i, v in pairs(focuses) do if(isPlayer(v)) then doNpcSetCreatureFocus(v) return end end doNpcSetCreatureFocus(0) end function onCreatureAppear(cid) end function onCreatureDisappear(cid) if(isFocused(cid)) then selfSay("Hmph!") removeFocus(cid) if(isPlayer(cid)) then --Be sure he's online closeShopWindow(cid) end end end function onCreatureSay(cid, type, msg) end function onPlayerCloseChannel(cid) if(isFocused(cid)) then selfSay("Hmph!") closeShopWindow(cid) removeFocus(cid) end end function onThink() for i, focus in pairs(focuses) do if(not isCreature(focus)) then removeFocus(focus) else local distance = getDistanceTo(focus) or -1 if((distance > 4) or (distance == -1)) then selfSay("Hmph!") closeShopWindow(focus) removeFocus(focus) end end end lookAtFocus() end - E conclua com a criação de um arquivo chamado juiz.xml em data/npc/ contendo este conteúdo: <!--?xml version="1.0" encoding="UTF-8"?--> <npc name="Juiz" script="juiz.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"> <parameters> </parameters> </look></health></npc> - E por ultimo, vamos criar nosso torcedor fanático! torcedor.xml em data/monster/ contendo isto: <!--?xml version="1.0" encoding="UTF-8"?--> <monster name="Torcedor" namedescription="a torcedor" race="blood" experience="0" speed="0" manacost="250"> <health now="20" max="20"> <look type="255" head="114" body="132" legs="132" feet="132" corpse="6080"> <targetchange interval="2000" chance="20"> <strategy attack="100" defense="0"> <flags> <flag summonable="1"> <flag attackable="1"> <flag hostile="1"> <flag illusionable="1"> <flag convinceable="1"> <flag pushable="1"> <flag canpushitems="0"> <flag canpushcreatures="0"> <flag targetdistance="1"> <flag staticattack="90"> <flag runonhealth="20"> </flag></flag></flag></flag></flag></flag></flag></flag></flag></flag></flag></flags> <attacks> <attack name="melee" interval="2000" skill="0" attack="0"> </attack></attacks> <defenses armor="1" defense="2"> <elements> <element firepercent="-10"> </element></elements> <voices interval="5000" chance="10"> </voices> <loot> <item id="3976" countmax="10" chance="50000"><!-- worm --> <item id="2666" countmax="3" chance="80000"><!-- meat --> <item id="2671" countmax="2" chance="70000"><!-- ham --> </item></item></item></loot> </defenses></strategy></targetchange></look></health></monster> - Finalizando com a adição desde código em monsters.xml em data/monster/ contendo isto: <monster name="Torcedor" file="torcedor.xml"> Pronto esta tudo pronto! Indo para ultima parte. Configuração - Primeiramente, seria bom ter um campo com as mesmas dimensões como na imagem: - No cabeçalho do código, esta uma série de configurações pré-definidas para facilitar a entrada e adaptação do script em um no ot. Sendo elas: - Alavanca! Coloque um item de sua preferencia com a action id 5000 - Posição que o jogadores devem estar na hora de puxar a alavanca: posJogador1 = {x=82,y=153,z=7, stackpos=1} posJogador2 = {x=84,y=153,z=7, stackpos=1} - Posição inicial de partida, a qual os jogadores serão teleportados: posTeleporte1 = {x=81,y=160,z=7, stackpos=1} posTeleporte2 = {x=85,y=160,z=7, stackpos=1} - Posição da bola: posBola = {x=83,y=160,z=7, stackpos=1}
  5. 1 ponto
    Salve galera, então à uns 5 més atras eu queria saber, como fazer Refiller quando eu jogava TibiaGTA, rsrs ai uma galerinha lá tinha me passado umas script, e me deu uma força como usa e talz.. ai eu gravei em um bloco de notas certo? então vamos lá aqui estão as seguintes Script de Refiller. isnotlocation skip say hi npcsay trade buyitems 3152 100 Essa script a cima faz voçê comprar o item, observe na parte "buyitems 3152 100" no 3152 é o Id do item e o 100 é a quantidade, vamos supor que voçê quer comprar 75 health potion, voçê vai lá e coloca 75. Ah.. mais como eu fasso para por para vender items? é a mesma script basta modifica aonde está "buyitems" para "sellitems" e claro modifica também o Id do item e a quantidade, que no caso ali está 100 e o Id está 3152 voçê substitui pelo o do seu item. usegrounditem 000 wait 1000 pra quê serve está script a cima? essa serve para voçê abrir porta/buero/etc... OBS: no " usegrounditem 000 " você coloca o Id da porta/buero etc... countitems 6528 | if [$count > 400] gotolabel start wait 1000 pra quê serve está script a cima? essa serve para voçê contar o item vamos supor, você é um paladin e voçê deseja retorna a city com 10 Royal Spears você vai lá e modifica, aonde está o "countitems 6528" e eu coloco o que no "6528" ? você coloca o Id do seu item e o 400 ali ? é uma porcentagem como voçê pode ver ali está, o sinal >400 significa que está menor então quando estiver menor que 40% ele vai retorna a city e comprar mais Royal Spears. caphigher 2300 gotolabel start wait 1000 caplower 2300 gotolabel start wait 1000 Pra quê serve está 2 script a cima? 1° serve para ele retornar city com cap maior que 2300 | 2° retornar city com cap menor que 2300 ali voçê coloca a cap desejada OBS: São 2 script ali você escolhe a que quer usar. Bom é Isso ai galera e só pra relembra vocês OBS: COLOCA AS SCRIPT DO JEITO QUE MANDEI UMA EM BAIXO DA OUTRA Tutorial de minha Autoria Créditos: 100% Duh Here, Observe não aceito que poste meu tutorial em outros Fórum Conteúdo exclusivo do TibiaKing Tópico similar: [ElfBot] Criando Depositer/Refiller
  6. [Aviso] Site falso do redbot !

    Ferzola reagiu a Gabriel Dias por uma resposta no tópico

    1 ponto
    A pouco tempo procurei no google por redbot, apareceu o seguinte site : http://tibiaredbot.net/ Baixei o bot do site tibiaredbot.net e fiz um scan, este bot continha vírus. Após postar um tópico aqui na comunidade perguntando sobre o site oficial, o Guilherme me falou que o oficial é http://tibiaredbot.com.br Fui até o site e fiz o download, o bot do site oficial (tibiaredbot.com.br) não continha vírus. Pessoal, tomem cuidado com este tipo de coisa.
  7. Getguildleadername(Guildname)

    Agaka reagiu a Vodkart por uma resposta no tópico

    1 ponto
    é uma função que pega o nome do leader da guild,dá para fazer algo interessante como adicionar itens ao lider da guild depois de completar um "war",etc adicionando: 050-function function getGuildLeaderName(GuildName) -- function by vodkart local leader = db.getResult("SELECT `players`.`name` FROM `players` WHERE `players`.`id` = (SELECT `guilds`.`ownerid` FROM `guilds` WHERE `guilds`.`name` = ".. db.escapeString(GuildName) .. ")") if(leader:getID() ~= -1) then return leader:getDataString("name") end return nil end exemplo de uso em talkactions: FLW exemplo em actions: function onUse(cid, item, frompos, item2, topos) local leader,pid = getGuildLeaderName(getPlayerGuildName(cid)),getPlayerByName(leader) local item = 2400 if getPlayerGuildId(cid) <= 0 then return doPlayerSendCancel(cid, "You are not a guild member.") elseif (not pid or isPlayerGhost(pid)) then return doPlayerSendCancel(cid, "Sorry, The Leader [".. leader .."] is offline and will not receive the item!") end doPlayerAddItem(pid,item,1) return TRUE end nesse script o jogador vai puchar a alavanca ou clicar em alguma coisa e vai ser adicionado um item para o lider da sua guild
  8. Bug BBot + Tibia

    raphimac reagiu a Private Sub Teste por uma resposta no tópico

    1 ponto
    Uso essa: BBot-5.4 2 ~ 3 dias sem desligar o computador com char no bot, sem problema (porém, quando a stamina do Ek#1 acabou eu só pulei pro Ek#2, não fechei nada, ou seja, rodando sempre...)
  9. 1 ponto
    Você tenque instalar as includes openssl. Foi umas das coisas mais complicadas que a tfs lançou na epoca. Tive que aprender a instalar manualmente e fazer gambiarra pra consegui isso. Se você tem premium na otland baixa a ultima rev que la tem as include tudo recomendada por eles e as que eles usam. Na vapus tem um dev com openssl para baixar acho também.
  10. 1 ponto
    Vi o waypoint no forum oficial do bbot. fica aqui para quem quiser http://forums.bmega.net/viewtopic.php?f=8&t=2031&start=20#p5543
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo