Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. [Votação Encerrada] Zathao x Vittu

    brenonetoale e um outro reagiu a 3visan por uma resposta no tópico

    2 pontos
    Votação iniciada Inicio: 15/02/2012 00:00 Terminio: 18/02/2012 20:00 Gostei de mais do seu escudo zathao só que poderia mudar o formato dele, meu voto vai pra você. Edit: Ampliei a votação por causa da troca de hosts do tibiaking.
  2. [Votação Encerrada] Zathao x Vittu

    Adriano SwaTT e um outro reagiu a Zathao por uma resposta no tópico

    2 pontos
  3. [Votação Encerrada] Zathao x Vittu

    Adriano SwaTT e um outro reagiu a 3visan por uma resposta no tópico

    2 pontos
    Fico bem basicona nem, sombriei muito, vamos zathao, quero ver sua sprite. *-*
  4. [CreatureEvent] Efeito no Player

    CabralChoi reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Bom pessoal, criei esse script totalmente inutil e util para vocês, espero que gostem - Oque exatamente ele faz? Nada, ele só verifica se o player tem uma storage e se o player tiver, quando ele logar vai aparecer um efeito em um tempo configuravel, Por Exemplo, o player é VIP, ai o seu system vip tem uma storage, você adiciona essa storage no script e o player vai ficar com um efeito, ou ... Tem aquela super quest fodona em seu servidor, pq nao mostrar para os outros que aquele player conseguiu fazer? *-* - Nossa que legal, como posso ter isso no meu servidor? Simples amigo, basta você ir em \data\creaturescripts\scripts, depois adicionar um registro no login.lua e adicionar uma linha em creaturescripts.xml effect.lua local effect = 30 -- Efeito que vai usar local storage = 9994 -- Storage que o player precisa ter local tempo = 5 -- Tempo em segundos function onLogin(cid) if getPlayerStorageValue(cid, storage) == 1 then SendEffect(cid) end return TRUE end function SendEffect(cid) doSendMagicEffect(getCreaturePosition(cid), effect) addEvent(SendEffect, tempo*1000, cid) return TRUE end Agora adicione isso em login.lua registerCreatureEvent(cid, "Effect") Agora adicione esse code em creaturescripts.xml <event type="login" name="Effect" event="script" value="effect.lua"/> Uma Fotinho para ver, estou usando o efeito 30 Abraços...
  5. [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}
  6. 1 ponto
    [Globalevents]Criando teleports falantes para tibia. Tutorial de como colocar teleports falantes no seu OT. Vamos lá, primeiro vá na pasta do seu ot, Data>Globalevents e abram o Globalevents.xml com o bloco de notas e adiciona essa linha : <globalevent name="Teleports" interval="2" script="info.lua" /> Depois vá em Data>Globalevents>Scripts e crie um arquivo .lua, e colocque o nome como info.lua, dentro do scrpit adicione isso : function onThink(interval, lastExecution) pos = {x = 113, y = 56, z = 7} pos1 = {x = 113, y = 54, z = 7} pos2 = {x = 113, y = 52, z = 7} pos3 = {x = 113, y = 50, z = 7} doSendAnimatedText (pos, 'Demon [1]', 140) doSendAnimatedText(pos1, 'Dragon [2]', 140) doSendAnimatedText(pos2, 'Cyclops [1]', 130) doSendAnimatedText(pos3, 'Tumba [2]', 130) pos = {x = 113, y = 56, z = 7} = Coordenadas do teleport doSendAnimatedText(pos, 'Texto para o tp falante', 140) = Ira mandar Texto animado na pos Depois feche e salve, pronto seu teleporte está criado ! Imagem : Click this bar to view the original image of 800x599px. Se lhe ajudei agradeça , não custa nada Se eu estiver errado me corrija ! Lembrando esse tutorial nao foi criado por mim , apenas eu o editei , elaborei algumas coisas e o postei para mante-los informados e com mais conteúdo no fórum e para ajuda-los. Creditos : -> ~ ScaR -> RookWar Outro forum
  7. [Wand] Randon

    campiao reagiu a japavrb15 por uma resposta no tópico

    1 ponto
    Obs: Eu nao sei se ja tem 1 topico parecido com esse se tiver me avisem e mandem o link e me desculpem... é o meu 1° topico E ae gente. Tudo bom? Bom ese é meu primeiro topico No TibiaKing. Tenho quase certeza que esta na area errada. Mas nao axei nenhuma outra seçao que se encaixe Emfim...o script que venho trazendo Muitos ja me pediram...é o Randon Staff ___________________________________________________________ Função : Nesse script a wand dara 7 hits aleartorios por isoo o nome de Randon Staff ___________________________________________________________ Entao vou postar o script aki .... Vai em Data/weapons/scripts Copie 1 arquivo lá e renomeie para randonstaff.lua ou qualquer outro nome E coloque isso dentro Vou Tentar Explicar : Bom em Verde é o efeito que vai aparecer quando acerta o alvo Em Azul é o Distanceeffect no caso é o efeito que sai da wand ate acerta o alvo Em Vermelho é o tipo de hit Ex: FIREDAMAGE << é o hit de fogo ou >>> ICEDAMAGE que é um hit de gelo E em Roxo ja diz tudo...Hit minimo e o maximo _________________________________________________________ Agora vamo em Data/weapons/weapons.xml Embaixo da Ultima Wand Coloque essa Tag Agora vou tentar explicar : Em Azul é o id da wand que voce deseja Em Verde é o level que precisara para usar a wand Em Roxo é a mana que ira gastar a cada hit da wand Em Vermelho é o nome do seu script.lua _________________________________________________________ Agora em Data/items/items.xml Procure pelo id da sua wand que voce colocou em Weapons.xml E coloque a tag dela assim Agora vou tentar explicar : Em Vermelho é o id da sua wand Em Azul é o nome da sua wand Ex: Randon Staff Em Verde é o peso da wand Em Roxo é o range dela no caso a distancia medida em sqm q acertara a creatura Ex: 5 --- a 5 sqm de distancia a sua wand ira hitar Em Verde Escuro é o tipo da arma... no caso wand _____________________________________________________ Pronto sua "Randon Staff" esta pronta Agora é so aproveitar :] obs : se der algum erro post aki obs²: se alguem axar 1 tutorial igual o meu me avise e me de o link obs³: lembrando que é meu primeiro post nao me deem alerta se postei na area errada :S ________________________________________________________ Então é isso ai... Falow Galerinha... Espero ter ajudado Obs: nao postei uma foto pq ainda nao sei se qalguem tiver abondade de me ensinar manda 1 private ou link de tutorial quem me indico para esse forum : Jedian e com ele aprendi bastante das coisas que eu sei :] Comentem pf Flw :]
  8. [Sistema] Atirar com arma

    ReyMystery reagiu a Skydangerous por uma resposta no tópico

    1 ponto
    Esse sistema é bem legal para aqueles que gostam de tipo tibia gta , o script não é perfeito mas é bem criativo e legal. Crie um arquivo em nas pata action com nome de arma.lua Cole isso function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function doShootEffect(distancetotarget, effect, l, y) -- l = localpos(lookdirpos), y = dirvalue for i = 0, distancetotarget-1 do if isInArray({0,3}, y) then local _J = y == 0 and {x = l.x, y = l.y-i, z = l.z} or y == 3 and {x = l.x-i, y = l.y, z = l.z} doSendMagicEffect(_J, effect) else _J = y == 1 and {x = l.x+i, y = l.y, z = l.z} or y == 2 and {x = l.x, y = l.y+i, z = l.z} doSendMagicEffect(_J, effect) end end return true end local items = { [2534] = { balaid = 2545, level = 1, skillup = 5, mindamage = -1, maxdamage = -5255, damagetype = COMBAT_HOLYDAMAGE, } } local _MIT = {} local shootmode = "shooteffect mode" -- "effect mode" or "shooteffect mode" function onUse(cid, item, fromPosition, itemEx, toPosition) local function getFirstThingInArea(pos) for areax = pos.x, pos.x do for areay = pos.y, pos.y do local area = {x = areax, y = areay, z = pos.z} if isCreature(getTopCreature(area).uid) or not isWalkable(area) then table.insert(_MIT, getThingFromPos(area).uid) for s = 1, #_MIT-1 do table.remove(_MIT, s+1) end end end end return true end local l = getPlayerLookPos(cid) local y = getCreatureLookDirection(cid) local g = items[item.itemid] if g then if getPlayerLevel(cid) < g.level then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need level ".. g.level .." or higher.") end if getTilePzInfo(getCreaturePosition(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You cannot use a gun in a protection zone.") end if item.uid ~= getPlayerSlotItem(cid, 5).uid then return doPlayerSendCancel(cid, "Equip your gun on gun slot.") end if getPlayerSlotItem(cid, 10).itemid == g.balaid then doRemoveItem(getPlayerSlotItem(cid, 10).uid, 1) doPlayerAddSkillTry(cid, g.skillup, 1) for T = 0, 20 do local _g = y == 0 and {x = l.x, y = l.y-T, z = l.z} or y == 3 and {x = l.x-T, y = l.y, z = l.z} or y == 1 and {x = l.x+T, y = l.y, z = l.z} or y == 2 and {x = l.x, y = l.y+T, z = l.z} getFirstThingInArea(_g) end if #_MIT >= 1 then local mpos = getThingPos(_MIT[1]) local ppos = getDistanceBetween(mpos, l) local ft = y == 0 and {x = l.x, y = l.y-ppos, z = l.z} or y == 1 and {x = l.x+ppos, y = l.y, z = l.z} or y == 2 and {x = l.x, y = l.y+ppos, z = l.z} or y == 3 and {x = l.x-ppos, y = l.y, z = l.z} if isCreature(getTopCreature(mpos).uid) then doAreaCombatHealth(0, g.damagetype, ft, 0, g.mindamage, g.maxdamage, 0) else doSendMagicEffect(ft, 3) end if shootmode == "shooteffect mode" then doShootEffect(ppos, 12, l, y) elseif shootmode == "effect mode" then doSendDistanceShoot(l, mpos, 40) end table.remove(_MIT, 1) end else doPlayerSendCancel(cid, "You do not have munition.") end end return true end Cole isso agora em action.xml <action itemid="2534" event="script" value="arma.lua"/> Explicação: local shootmode <-- Pode trocar para effect mode [2534] = { <-- ID DA ARMA balaid = 2545, <-- ID DA BALA level = 1, <-- Level para usar skillup = 5, <-- SKILL UP mindamage = -1, <-- MINIMO DE DANO maxdamage = -5255, <-- MAXIMO DE DANO damagetype = COMBAT_HOLYDAMAGE, <-- EFEITO DO TIRO <action itemid="2534"/> Id da arma , preste atenção se mudar também no script. Video demostrando: KylerXxX Skydangerous - Explica&#231;&#227;o , tutorial e video Créditos:
  9. [Votação Encerrada] Zathao x Vittu

    brenonetoale reagiu a 3visan por uma resposta no tópico

    1 ponto
    Zathao x Vittu Area reservada para postagem das sprites dos dois participantes Zathao e Vittu. Tema: Escudos Prazo de entrega: 2 dias Regras Apos 5 min da postagem da sprite não podera mais editar. Se a sprite de um dos participantes for fora do tema o autor perdera o duelo. Só é permitido postar uma sprite, se postar mais de uma, o autor perdera o duelo. Apos a postagem das sprites dos participantes, sera iniciada a votação nesse mesmo topico.
  10. [Duvida] Stalker

    MegaNo0body reagiu a Renato por uma resposta no tópico

    1 ponto
    Sei que não é fácil ficar recebendo essas críticas que comparam à outros bots, mas não concordo o jeito que você trata seus usuários, de maneira grosseira. Acho que quando isso ocorrer, nem se manifeste, deixe falar. Leve isto como uma crítica construtiva minha à teu ponto de vista.
  11. 1 ponto
    Acabo de ganhar mais um motivo pra não gostar de funk
  12. [Votação Encerrada] Zathao x Vittu

    Zathao reagiu a Adriano SwaTT por uma resposta no tópico

    1 ponto
    @@Vittu Cara, o comentário sobre deixar sem fundo é muito valido', não da pra enxergar direito os detalhes da sua...tire o fundo e reposte ela para ficar mais avaliável' Enfim... ficou legal sim o escudo' @@Zathao Realmente, redondo ficou parecido com moeda, mas gostei do desenho central do escudo' @@@Topic Estou em dúvida de para quem votar... Se fosse para nomear o escudo, que nome dariam? Vamos ver a resposta mais criativa? [valendo meu voto] Abraços e ótimas Sprites' Atenciosamente, Adriano Swatt
  13. [Votação Encerrada] Zathao x Vittu

    Zathao reagiu a Augusto por uma resposta no tópico

    1 ponto
    Zathao, voto vai pra você! Ficou muito rox, mesmo tendo o formato redondo, ficou bacana! A sua também Vittu, mais procure remover os fundos das suas sprites, fica melhor pra ver os detalhes Parabéns aos dois
  14. [Votação Encerrada] Zathao x Vittu

    Zathao reagiu a Uissu por uma resposta no tópico

    1 ponto
    [pagapau]Zathao![/pagapau]
  15. Peça seu mapa

    Leandrinhow reagiu a GuuhTorres por uma resposta no tópico

    1 ponto
    Obrigado pelo seu comentário e seu elogio. Agora só falta participantes !
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo