Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Spell Exclusiva

    Luis Matheus e um outro reagiu a Junior Lopes por uma resposta no tópico

    2 pontos
    Spell exclusiva! Tibia 8.6 Join! • Menu: ├ Informações; ├ Compatibilidade; ├ Tutorial; ├ Explicação; ├ ScreenShots; └ Créditos. •Informações; Fala galera do TibiaKing. Tudo na paz? Então, hoje estou aqui para postar meu PRIMEIRO TÓPICO no TK. Vou ensina-los a como fazer uma spell exclusivamente MINHA. COMENTEM POR FAVOR... MESMO QUE FOR PARA FALAR MAL OU FALAR BEM. E agora vocês vão me ver explicando... ou não. •Compatibilidade; -Windows Xp: OK! -Windows 7: OK! -Testado Somente em Alissow OT 8.6 •Tutorial; Estou aqui para mostra-los e ensina-los a colocar uma spell que Eu criei! Bom, para começo de conversa, vá na PastaDoSeuServer/Data/Spells/Scripts . E lá , você cria um arquivo ( ou copie e cole um arquivo já existente ) e renomeie ele para: "Vip Spelling" Depois de ter feito isso, abra-o e coloque isto dentro do arquivo: Bom, feito isso, 50% da sua nova spell já está criada! Agora vamos voltar; vá na PastaDoSeuServer/Data/Spells , abra o arquivo chamado Spell.xml ( é o único arquivo editável )! Acrescente isso na linha abaixo de ATTACK SPELLS : <instant name="Vip Spelling" words="Exevo Vip Power" lvl="20000" mana="5500" prem="1" exhaustion="1500" needlearn="0" event="script" value="Vip Spelling.lua"> <vocation name="Druid"/> <vocation name="Knight"/> <vocation name="Paladin"/> <vocation name="Sorcerer"/> <vocation name="Master Sorcerer"/> <vocation name="Elder Druid"/> <vocation name="Elite Knight"/> <vocation name="Royal Paladin"/> </instant> •Explicação; Vip Spelling: isso é o nome da spell que eu falei pra copiar um arquivo já existente e renomear para Vip Spelling ( caso colocou outro nome, escreva o nome que colocou no lugar de Vip Spelling. ) Exevo Vip Power: Isso é o que o player irá falar para que a spell seja conjurada! ( isso é totalmente editável, pode mudar o quanto quiser.) Lvl="20000" = O 20000 é o level mínimo que o player terá que ter para usar a spell, se for abaixo que isso, não poderá usar. ( isso também é totalmente editável. ) Mana="5500" = É a Mana que irá gastar após conjurar a spell. (Totalmente editável, também.) prem="1" = É se o player precisará ser premium para usar a spell, no meu caso, como a spell é para VIP's, eu coloquei sim. (0=não 1=sim) value="Vip Spelling.lua"= Isso é o nome do arquivo que você teve que criar lá no começo do Tutorial. ( Totalmente editável, coloque de acordo com o nome da spell lá no começo do tutorial.) setCombatFormula(combat4, COMBAT_FORMULA_SKILL, 0, -600, 6.0, -650): em rosa é o hit que irá dar. ( Totalmente editável.) O resto eu não recomendo editar, pois irá fazer a spell ficar diferente. Bom, é isso pessoal, espero que tenham gostado. •ScreenShot; •Créditos; 100% Meu, por criar a magia e o tópico.
  2. House Clean

    Heyron reagiu a Vodkart por uma resposta no tópico

    1 ponto
    Descrição: É para deletar house de players inativos, ou seja, o player que não loga em "X" dias perde a sua house! houseclean.lua function onTimer() local days = 15*24*60*60 doSaveServer() local query = db.getResult("SELECT `owner`,`id` FROM `houses`;") if (query:getID() ~= -1) then while true do local own,houseid = query:getDataInt("owner"),query:getDataInt("id") local qry = db.getResult("SELECT `lastlogin` FROM `players` WHERE `id` = "..own) if(qry:getID() ~= -1) then last = tonumber(qry:getDataInt("lastlogin")) if last < os.time() - days then setHouseOwner(houseid, NO_OWNER_PHRASE,true) end end if not(query:next()) then break end end query:free() end return true end globalevents.xml <globalevent name="HouseClean" time="03:00" event="script" value="houseclean.lua"/> na tag está para executar o script as 3 da manhã se quiser alterar só mudar essa parte: time="03:00" para configurar os dias que o player que não logar em "X" dias É aqui: local days = 15*24*60*60 no caso está para o jogador que não logar em 15 dias perder a house.
  3. [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}
  4. [Aula 5] Variáveis e Comentários

    sanjedo reagiu a MaXwEllDeN por uma resposta no tópico

    1 ponto
    << Aula 4 - Operadores e Bibliotecas Variaveis Aula 5 Olá, bem-vindos a nossa 5ª aula de scripting. Nesta aula iremos tratar de uma coisa indispensável em todos os scripts: Variáveis. As variáveis podem ser entendidas como uma "caixa"que armazena um valor na memória RAM, ou um substituto de um valor, uma igualdade de um valor, como se ela fosse o valor em si. Toda variável deve ter um nome definido por você, mas existem regras para definí-los: quando for escolher o nome da variável, não use números no começo e nunca use caracteres especiais, como acentos, sifrões ou asteríscos. Use apenas a-z, A-Z e pode-se usar números também, desde que não estejam no começo da variável. Existem também palavras que são reservadas e não podem ser declaradas como variáveis: (if while true nil for repeat until do break return function false in end else elseif or and). Na maioria das vezes, você deve declarar (Dar um valor) a variável, senão ela retornará nil (Vimos isto na Aula 2). Vamos ao um exemplo de como declarar uma variável. numero = 27 Repare, eu criei uma variável chamada numero, e ao mesmo tempo ela vale 27, então quando eu for usa-lá em algum lugar eu posso escrever 27 ou então escrever numero. Vamos ao um exemplo em si: numero = 27 print(numero) print(27) Veja, eu declarei a nossa variável como 27, em seguida a função print irá mostrar o valor dela no caso 27, e em baixo mostra a você o número 27. Ambos irão mostrar a mesma coisa, pois você declarou que numero é 27. As variáveis podem ser modificadas no decorrer do script como o exemplo: numero = 10 numero = numero * 3 print(numero) print(10) Nesse caso é diferente, vamos por linhas para ser mais fácil. Em sua primeira linha declaramos que a variável vale 10. Logo na segunda linha redeclaramos a variável como sendonumero igual a numero (seu valor atual) vezes 3. No caso ela vai passar a valer 30, pois 10 * 3 = 30. Na terceira linha o script ira mostrar a você o valor da variável, que nesse caso é 30. Na quarta linha ele irá mostrar 10, sim 10 não é 30, mas nós não declaramos ela como 10? Sim, mas acontece que na segunda linha modificamos seu valor. Apenas para ressaltar vamos falar mais uma vez brevemente o que vimos na aula 2. Os tipos de variáveis. Nossas variáveis podem ser de vários tipos. Como vimos acima se chama number (Número), mas temos tambem: (Curiosidade: Funções são armazenadas em variáveis!) Bem, em OTServ, quando se declara uma variável, como por exemplo o nome numero em um script x ela acaba sendo chamada de variável global, isso quer dizer que apos executar uma vez o script x, quando se executar o script y e chamar a variável sem ser declarada ela será usada com o valor que foi declarado no script x. Normalmente isso atrapalha muito e ainda consome memória do seu PC, pois a variável fica guardada ocupando memória a toa. Existe um modo de evitar isso, esse modo é declarar a variável como local, que no caso quando o script terminar de executar a variável, ela vai ser deletada e não ficará consumindo memória do seu PC. E isso se faz assim: local texto = "Ola pessoas." --- ou assim local algo Veja que quando declarada local na 3ª linha eu não coloquei = valor, isso se dá porque você declarou ela como local, mas não declarou valor. So se pode fazer isso quando ela é declarada local, depois você pode colocar o valor que quiser, ela apenas está como local mais ainda é nil. Não se preocupem ainda com variáveis locais e globais. Veremos mais afundo na próxima aula. criar um comentário basta iniciá-lo com --. A cada linha do comentário você deve adicionar mais dois - (menos) assim: -- Ola gente, eu estou comentando!!!!!! -- que coisa o0 -- uhahuahuahuauhauhahu -- oi? ------- eu posso fazer com mais de um porem o minimo é 2 Quando se inicia um comentário ele fica até o final da linha. Pode se fazer comentários com varias linhas sem ter que ficar adicionando -- toda hora, se faz usando [[, assim: --[[ ahuahuahuhua eu sei comentar em comentarios ]] --- aqui vai seu script Usa-se muito isso para inserir créditos ou explicar algo, mesmo. Exercício. Crie um pequeno script que tenha 3 variáveis, que e o valor de cada uma deve ser modificado de alguma forma e insira comentários em cada linha e no final um comentários com + de uma linha usando [[ ]]. Resposta: Essa aula foi escrita por um urso gordo Mock, todos os créditos são dele. Aula 6 - Escopo >> Comentarios Essa parte é simples, ajuda quando se esta fazendo um script, ou quando quer explicar alguma coisa no script para uma pessoa que vai ver. São os comentários. Eles servem apenas para você "falar" ou comentar alguma coisa no script. Elas não influenciam em nada do script (Em sua execução). Para
  5. Centurion V4

    TogaX reagiu a Hona por uma resposta no tópico

    1 ponto
    com os pokes da 3 geração full. Os bugs que Cacaiu arrumo foram esses : ScreenShots V4: Centurion V3 Centurion V3.1 Centurion V3.2- [Recomendado] Centurion V3.3 Centurion V4 Executável Sem Bug de Catch sé ajudei Rep+ pra mim !!!
  6. [CreatureScripts] Hit Message

    brendoonh reagiu a Skyforever por uma resposta no tópico

    1 ponto
    Créditos Skyforever e Vodkart Como funciona? É um script que manda uma mensagem animada dependendo do hit do player Script Primeiramente vá em /data/creaturescripts/scripts login.lua adicione essa linha la registerCreatureEvent(cid, "Hitmsg") em creaturescripts.xml adicione essas 2 linhas: <event type="statschange" name="HitMessage" event="script" value="hitmsg.lua"/> <event type="combat" name="Hitmsg" event="script" value="hitmsg.lua"/> depois na mesma pasta crie um arquivo chamado hitmsg e adicione isso dentro: Versão com chance: Versão com recompensa Explicando o versão com recompensa: Explicando outras versões: Imagen: se gostaram REP+
  7. Criando e adicionando rune no npc

    Mad Rats reagiu a Junior Lopes por uma resposta no tópico

    1 ponto
    Mana e Healing Rune VIP. Tibia 8.6 Join! • Menu: ├ Informações; ├ Tutorial; ├ Explicação; ├ ScreenShot; └ Créditos. •Informação; Fala galera do TibiaKing! Estou aqui novamente com um novo Tutorial para Tibia 8.6! AAAAAAAAAAAAAAWYEAAAAH. Por favor, comentem! É de muita importância para mim que vocês comentem, para me avaliar e me dar um intuito de criar novos tutoriais. E agora vocês vão me ver eu explicando... ...Ou não. •Tutorial; Bom galera, primeiramente vá na PastaDoSeuServer/Data/Spells/Scripts/Healing e crie um arquivo chamado ``chaos greater mana rune.lua ´´ e dentro adicione isto. local combat = createCombatObject()[/font][/color] setCombatParam(combat, COMBAT_PARAM_EFFECT, 14) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE) function onCastSpell(cid, var) doCreatureAddMana(cid, math.random(100000,500000)) return doCombat(cid, combat, var) end Ok, a parte da VIP Mana Rune está feita, agora vamos fazer a VIP Healing Rune! Vá novamente na PastaDoSeuServer/Data/Spells/Scripts/Healing e crie um arquivo chamado `` chaos greater healing rune.lua ´´ e adicione isto: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, 14) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 500, 5000, 10000, 12000) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Beleza, a parte da spells/scripts/healing já esta feita. Agora vá em Spells.xml e adicione isto na parte de Healing Runes: <item id="2299" toid="2300" article="a" name="spell rune"> <attribute key="weight" value="120" /> </item> Pronto, está feita suas duas runes. Agora vamos adiciona-las no NPC. Vá na PastaDoSeuServer/Data/NPC/Scripts e abra o arquivo rune.lua, dê ctrl+f e procure por " blank rune", EM BAIXO adicione isto: Pronto! Finalmente acabou; você está com sua VIP Healing Rune e VIP Greater Healing Rune! •Explicação; Em setCombatParam(combat, COMBAT_PARAM_EFFECT, 14): o 14 é Efeitos! Você pode olhar os efeitos entrando com o GOD no server e digitando /z 1 até o 63 se não me engano; Em Marron Claro: o nome da runa, totalmente ao seu critério; Em Laranja: o id das runas, totalmente ao seu critério; Em Rosa: o level necessário para usar a runa, totalmente ao seu critério; Em Verde: o magic level necessário para usar a runa, totalmente ao seu critério; Em Verde Água: nome e local do arquivo .lua que a gente criou; Em Marron: nome das runas; E em Amarelo: o preço das runas no npc. •ScreenShot; Chaos Greater Mana Rune: Chaos Greater Healing Rune: •Créditos: 100% Meu. Agora chegou a parte mais complicada do tutorial, mas não é nada de "nossa, essa parte é a mais difícil, não vou conseguir fazer". Vá na PastaDoSeuServer/Data/Items e abra o items.xml, aperta ctrl+f e procure pelo id 2296. Substitua o que tem lá por isto: A Mana rune está completamente feita! Agora no mesmo arquivo (items.xml) dê ctrl+f novamente e procure por o id 2298 e substitua o que tem lá por isto: Agora, se deixar do jeito que esta, vai dar erro no distro. Então você terá que adicionar isto EM BAIXO da Chaos Greater Healing Rune:
  8. Scripts premium low level e ghost land carlin

    jeangt reagiu a eduuh por uma resposta no tópico

    1 ponto
    Olá galera, vim postar alguns dos meus scripts premium lol level, bom com esses scripts peguei level 14 ao 38 em menos de 1 semana [ levando em conta os dias que deixei off para recuperar stamina ] - TUTORIAL PARA USAR OS SCRITS Após abrir o tibia e o tibiaauto iremos dar LOAD CONFIG, acima de load config cliquem em SHOW MAP e selecione os 2 quadradinhos que aparecerar, de uma volta pelo depot abra algum deles, vai ao banco fale com o npc e pronto o tibia auto reconheceu aonde esta o depot e o banco. Agora iremos para perto das hunts, das que eu testei e fiz as que não precisam ir para perto do local de hunt é, crocodiles 1 e 2, rotworm e swamp troll ATENÇÃO: Se caso ele ficar parado em frente o buraco ou subindo em cima daquele troço marrom que você abre com shovel, pause o cavebot, abra o SHOWMAP e clica com o botão direito no showmap aonde que fica o buraco ou onde tem que usar a shovel, se caso for descer procure por down one level, se for para abrir o buraco selecione closed hole, agora se for subir procure por up one level e selecione o que ira usar, rope ou magic hope (exani tera) PS: SÃO TODOS PARA KNIGHTS Esse é apenas da parte de cima dos crocodiles onde tem também as crab é bom deixar la se for level muito baixo ou não tiver bons skills e equipes. Crocodiles Port Hope.xml Esse é tanto a parte de cima onde tem os crab quanto o andar inferior onde tem as tortoise, e no caminho pode trombar 2 blood crab lurados Crocodiles2 Port Hope.xml Esse um amigo que me passou nunca usei CYCLOPOLIS Edron.xml Esse um amigo que me passou nunca usei Ghost Land 0.2 Carlin.xml Esse é muito bom para fazer bag loot pois programei para jogar determinados itens no chão, eu level 30 com 100 mana potions e 30 heatlh potions fiquei 4 horas tranquilas nessa hunt peguei em 2 partes as bagloot pro dp uma de 8 bps e a de 9 roubaram :/ Minotaur Yalahar 2.xml este é a primeira cave ao west de darashia << muito bom para level muito baixo foi la que comecei a upar com o bot Rotworm West Darashia.xml Melhor lugar para fazer dinheiro pois poderá vender cada medicine pouch por 1k +/- ou troca-lo no npc de venore e conseguir itens muito valiosos swamp troll Port Hope.xml Esse um amigo que me passou nunca usei Mutanted Human Yalahar.xml sei que o tópico não está muito organizado mais estou com uma enorme preguiça de procurar por imagens e tals meu dia foi muito cansativo :/ Bom se gostarem do tópico não custa nada da um gostei aqi em baixo né? *-* Creditos: Eduuh
  9. [Compilando no Linux] Passo a Passo + Bônus

    Calvin reagiu a Guiiway por uma resposta no tópico

    1 ponto
    Ola pessoal , todos ja viram , ou pelo menos ouviram falar do Linux , certo ? Oque é linux ? Ele é simplesmente a melhor opçao para hospedagem de otserv e website. alem de sua alta capacidade para rodar otservs , ele tambem é bem resistente contra os famosos "Nukers" ... chega de papo , vamo la (: Bom primeiramente se voce tiver um VPS ou Dedicado baixe o SSH e a TRUNK Caso voce for hostear o ot , baixe apenas a TRUNK Primeiramente vamos instalar as Libs : sudo apt-get install autoconf libxml2-dev liblua5.1-0-dev g++ libgmp3-dev libcrypto++-dev libboost-filesystem1.40-dev libboost-system1.40-dev libboost-regex1.40-dev libboost-thread1.40-dev libmysqlclient15-dev Logo depois que voce baixou passe a pro VPS ou Host e verifique se o comando 7z esta ativado Digitando : # apt-get install p7zip-full se extiver tudo OK ! , extraia a TRUNK # 7z x trunk.r3777.7z Logo após extrair . Vamos dar todas as permissoes e ir até a pasta da trunk Digitando ... # chmod -R 777 trunk* # cd trunk* # sh autogen.sh # ./configure --enable-mysql Possiveis Erros : Logo após isso , daremos continuação a compilação ... root@hostingjogos:/trunk.r3777# ./configure --enable-mysql checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking for g++... g++ checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for style of include used by make... GNU checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/timeb.h usability... yes checking sys/timeb.h presence... yes checking for sys/timeb.h... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... no checking for an ANSI C-conforming const... yes checking for inline... inline checking for int16_t... yes checking for int32_t... yes checking for int64_t... yes checking for size_t... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for uint16_t... yes checking for uint32_t... yes checking for uint64_t... yes checking for uint8_t... yes checking for ptrdiff_t... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for working memcmp... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking for ceil... yes checking for floor... yes checking for ftime... yes checking for gethostbyname... yes checking for gethostname... yes checking for memset... yes checking for pow... yes checking for sqrt... yes checking for strcasecmp... yes checking for strncasecmp... yes checking for strstr... yes checking for strtol... yes checking for xml2-config... /usr/bin/xml2-config checking for libxml - version >= 2.6.5... yes (version 2.7.6) checking gmp.h usability... yes checking gmp.h presence... yes checking for gmp.h... yes checking for __gmpz_init2 in -lgmp... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for main in -lz... yes checking for main in -lboost_thread-gcc-mt... no checking for main in -lboost_thread-mt... yes checking for main in -lboost_regex-gcc-mt... no checking for main in -lboost_regex-mt... yes checking for main in -lboost_system-gcc-mt... no checking for main in -lboost_system-mt... yes checking for main in -lboost_date_time-gcc-mt... no checking for main in -lboost_date_time-mt... yes checking for main in -lboost_filesystem-gcc-mt... no checking for main in -lboost_filesystem-mt... yes checking boost/asio.hpp usability... yes checking boost/asio.hpp presence... yes checking for boost/asio.hpp... yes checking boost/tr1/unordered_set.hpp usability... yes checking boost/tr1/unordered_set.hpp presence... yes checking for boost/tr1/unordered_set.hpp... yes checking cryptopp/sha.h usability... yes checking cryptopp/sha.h presence... yes checking for cryptopp/sha.h... yes checking cryptopp/md5.h usability... yes checking cryptopp/md5.h presence... yes checking for cryptopp/md5.h... yes checking cryptopp/adler32.h usability... yes checking cryptopp/adler32.h presence... yes checking for cryptopp/adler32.h... yes checking cryptopp/hex.h usability... yes checking cryptopp/hex.h presence... yes checking for cryptopp/hex.h... yes checking cryptopp/base64.h usability... yes checking cryptopp/base64.h presence... yes checking for cryptopp/base64.h... yes checking cryptopp/hmac.h usability... yes checking cryptopp/hmac.h presence... yes checking for cryptopp/hmac.h... yes checking cryptopp/cryptlib.h usability... yes checking cryptopp/cryptlib.h presence... yes checking for cryptopp/cryptlib.h... yes checking for main in -lcryptopp... yes checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for LUA... yes checking mysql/mysql.h usability... yes checking mysql/mysql.h presence... yes checking for mysql/mysql.h... yes checking for main in -lmysqlclient... yes configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands theforgottenserver 0.4 Server diagnostics.......... : no Login server mode........... : no OTAdmin protocol............ : no Root run permission......... : no Login server mode........... : no Home-directory configuration : no OTServ custom allocator..... : no Debug build................. : no Using LuaJIT................ : no Build with MySQL............ : yes Build with SQLite........... : no Build with PostgreSQL....... : no Configure complete, now you may type './build.sh'. root@hostingjogos:/trunk.r3777# Devemos digitar . make E pronto , começara a compilação , enquanto isso , crie uma pasta com o nome de otserv , Digitando ... # mkdir otserv logo depois que acabar a compilação , copie o theforgottenserver , data , mods , schemas e o theforgottenserver.s3db para pasta otserv , com o seguinte Comando # cp -rp /trunk*/theforgottenserver mods data schemas theforgottenserver.s3db /otserv/ Logo após ter copiado iremos dar permissões para a pasta otserv com o seguinte Comando ... # chmod -R 777 otserv E pronto , seu otserv estará pronto para rodar ... baste voce digitar o seguinte Comando ... # cd ot* # ./theforgottenserver BOÔNUS 2 IpTables Ant-DoS Iptables Ant Dos By:@Gustavo Ferreira ; echo "Block TCP-CONNECT scan attempts (SYN bit packets)" iptables -A INPUT -p tcp --syn -j DROP echo "Block TCP-SYN scan attempts (only SYN bit packets)" iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH SYN -j DROP echo "Block TCP-FIN scan attempts (only FIN bit packets)" iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP echo "Block TCP-ACK scan attempts (only ACK bit packets)" iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP echo "Block TCP-NULL scan attempts (packets without flag)" iptables -A INPUT -m conntrack --ctstate INVALID -p tcp --tcp-flags ! SYN,RST,ACK,FIN,URG,PSH SYN,RST,ACK,FIN,URG,PSH -j DROP echo "Block "Christmas Tree" TCP-XMAS scan attempts (packets with FIN, URG, PSH bits)" iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP echo "Block DOS - Ping of Death" iptables -A INPUT -p ICMP --icmp-type echo-request -m length --length 60:65535 -j ACCEPT echo "Block DOS - Teardrop" iptables -A INPUT -p UDP -f -j DROP echo "Block DDOS - SYN-flood" iptables -A INPUT -p TCP --syn -m iplimit --iplimit-above 9 -j DROP echo "Block DDOS - Smurf" iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP iptables -A INPUT -p ICMP --icmp-type echo-request -m pkttype --pkttype broadcast -j DROP iptables -A INPUT -p ICMP --icmp-type echo-request -m limit --limit 3/s -j ACCEPT echo "Block DDOS - UDP-flood (Pepsi)" iptables -A INPUT -p UDP --dport 7 -j DROP iptables -A INPUT -p UDP --dport 19 -j DROP echo "Block DDOS - SMBnuke" iptables -A INPUT -p UDP --dport 135:139 -j DROP iptables -A INPUT -p TCP --dport 135:139 -j DROP echo "Block DDOS - Connection-flood" iptables -A INPUT -p TCP --syn -m iplimit --iplimit-above 3 -j DROP echo "Block DDOS - Fraggle" iptables -A INPUT -p UDP -m pkttype --pkt-type broadcast -j DROP iptables -A INPUT -p UDP -m limit --limit 3/s -j ACCEPT echo "Block DDOS - Jolt" iptables -A INPUT -p ICMP -f -j DROP Ant-DoS By :@Matheus
  10. 1 ponto
    Eae galera, blz? esse e meu primeiro post, então... desculpe por qualquer coisa. Meu nome e Pedro. Primeiro: trolls thais (saida north de thais) não e muito boa com xp em media de 2 a 4k por hora os loots tbm nao sao muito bom mas pode chegar a 1k por hora. North Trolls Thais 100% afk com depositer.xml Segundo: Rotworms thais ( abaixo dos Trolls da saida north) galera essa aki ja é bem melhor... xp pode chegar a 8k com loot de 600 a 2k por hora o script e 100% afk, ou seja... vem com deposit automatico. Thais North Rotworms.xml terceira: Ghoul , Skeleton thais ( acima do andar que tem Bonelord ) Galera esse aki e muito bom para iniciantes, experiencia pode chegar a 20k por hora com loots de 1 a 3k por hora ( golds sem os Life rings ) Poren não e 100% afk, não tem depositer. Ghoul dois andares a baixo.xml galera e so isso, tenho mais scripts aki, mas por enquanto vou postar so esses... si tiver virus reporter porfavor. vlw!
  11. Meu primeiro sprite

    joaovitorjoia reagiu a Thiago Duarte por uma resposta no tópico

    1 ponto
    To fazendo um serve de raças e classes essa é do orc knight fiz toda no paint queria saber se tem um programa melhor pra fazer se tiver posta o link do download não sei se fico bom, ainda n terminei toda mais ela sera +- assim. Quero saber onde preciso melhorar
  12. Tópico das tretas

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

    1 ponto
  13. Cubix compile official (x86 - x64)

    Markin reagiu a mario0582 por uma resposta no tópico

    1 ponto
    Cubix official tibia compile game server. Bom pessoal, meu nome é mario, estou aqui e nao sei se estou no lugar certo, mais vou disponibilizar um ótimo utilitario pra vocês, é um programa que vai ajudar todo mundo que tem problemas pra passar a versão do seu ot server pra nóvas versoes porque demora pra sair versão nóva ja compilada, mais em fim vamos falar um pouco sobre o projeto (programa). Como funciona o programa? Bem simples, ao utilizar o programa em menos de 2 dias que sair os updates do tibia global, nesse programa vocês vao poder baixar versão ja compilada do mesmo, assim podendo atualizar seu servidor sem precisar compilar, simplesmente baixando o exe do cubix e as dll`s que ja vai estar tudo pronto pra voces. Finalidade. A finalidade deste programa é simplesmente melhorar o desenvolvimento dos open servers, sem que os desenvolvedores necessitem compilar nóvas versoes, vendo os tópicos vi que muitas pessoas estao tendo problemas para compilar agora, usando o visual studio 2010, ele tem varios problemas de imcompatibilidade com windows 7 - 64Bits, tornando quase impossivel compilar, eu e varios outros programadores sofremos muito pra desenvolver uma forma pra isso, assim que o programa novo estiver 100% completo nao teremos mais problemas com isso. E o melhor. . . Tudo gratuito sem custos. Porque o programa ainda nao esta liberando versão nóva ? (9.70) Simples estou desenvolvendo uma forma, para compilar versão especifica para windows 64x - 86x e Linux, assim varias versoes vao ser desenvolvidas para diferentes plataformas, ja vou deixar aqui o link do programa (web site) desenvolvido em HTML5, assim voces podem ver o alpha, porem nao esta liberando downloads ainda, eu edito esse post assim que tiver funcionando. Colaboradores do projeto: Comedinhasss Mario0582 Quér colaborar ? entre em contado com a battlesoft games! Link do programa: http://www.updateazeroth.xpg.com.br/ Site da battlesoft: http://www.battlesoft.xpg.com.br/ Interface do programa : Versão 1.0b Versão 2.0b do programa ja em desenvolvimento constante. Latest news: 25/12/2012 Projeto um pouco atrasado por causa das festividades, o link postado para o site foi desabilitado, alem de alguns problemas com o programa visual c++ compilador (dificuldades para compilar x64) 06/11/2012 - 15:31 Programa ja pode ser aberto, e ja é possivel ver sua interface, porem os recurssos ainda estao trancados, aos poucos serão liberados. Por favor, criticas sao bem vindas, tanto boas quanto ruim, é assim que melhoramos entao fiquem a vontade para comentar o projeto.
  14. Anél de Experiência' [Exp Ring]

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

    1 ponto
    Isso seria interessante. Agora estou trabalhando em casa, ajudando o pedreiro na reforma. Mas irei aprimorar o script mais tarde. Obg por comentar'
  15. Nem funfa... HAUIHAIUHAUIA Ficou mais simples agora, pra tu fazer depositer e refiller, tem o full check, só colocar ex: cap<100;268<20 e etc... quando você clica em full check, abre a pagina de tutorial
  16. [Show OFF] Vampira

    VictorFT reagiu a Markin por uma resposta no tópico

    1 ponto
    eu sei que foi o felipe também, não tenho provas mais ele já me mostrou o esse mapa, ele posto no ekz eu axo.
  17. -Guiiway Vamos fazer o seguinte,me manda seu msn,vou tentar te ajudar.
  18. Scripts Tibia auto algums 100% outros não

    matheuspk reagiu a kanalha123 por uma resposta no tópico

    1 ponto
    Galera... como eu prometi ai a cima disse q ia postar mais Scripts, pois bem... vou usar esse topico pra portar mais scripts agora vou postar só um de rookgard feito por min, com ele vc pode sair de rookgard com 1hora e meia. eu sei q e xato pakas fica em rook entao fiz esse script, numk vi nem um script pra sair de rook "tão rapido" e isso. Hunt rookgard 2k por hora.xml espero q gostem, como falei na outra post.. vou colocar mais scripts dps, vlw? áááá.... pessam scripts ae, que talvez eu possa ajudar.
  19. [HTML] Aula 3 - Cabeçalho e Titulos

    josegremista reagiu a Mozark por uma resposta no tópico

    1 ponto
    Obrigado,ai. Vou continuar com as aulas amanha
  20. [HTML] Aula 3 - Cabeçalho e Titulos

    josegremista reagiu a Mozark por uma resposta no tópico

    1 ponto
    Muito Obrigado,SkyLigh. Vou ajudar o TK no que eu puder.
  21. [Resolvido] [PEDIDO] npc outfits

    viniciusvasconcellos reagiu a ricardo3 por uma resposta no tópico

    1 ponto
    Adicione em sua pasta data\NPC, Addons.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Addons" script="data/npc/scripts/addons.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="367" head="0" body="94" legs="87" feet="0" addons="3"/> </npc> agora data\npc\SCRIPT\ Addons.lua Caso funcione volte a comentar.
  22. [CreatureScripts] Hit Message

    12Bryan12 reagiu a Skyforever por uma resposta no tópico

    1 ponto
    Versão com chance adicionada ao tópico PS: Não foi testada @EDIT Esta com 25% de chance de funcionar.
  23. Cubix compile official (x86 - x64)

    Skyligh reagiu a mario0582 por uma resposta no tópico

    -1 pontos
    Eu e o comedinhasss vamos fazer o possivel pra melhorar o mundo open tibia server, deixar e transformar dificuldade em diversão, entao só apoiem o projeto e aguardem o mais rapido possivel postamos o porgrama.
  24. [Show OFF] Vampira

    Skyligh reagiu a Vampira por uma resposta no tópico

    -1 pontos
    Anotado! E sobre a montanha ela desmoronou, dai então ela não é fechada, dai então da pra arvore fazer a fotossíntese
  25. Urgente Vip no Gesior não pega

    Skyligh reagiu a Piuzerashu por uma resposta no tópico

    -1 pontos
    @up AAJUDA GALERA FAAAST!
  26. Adicionar Comando /ban

    jpma reagiu a viniciusvasconcellos por uma resposta no tópico

    -1 pontos
    Galera eu vou ensinar a vocês como colocar o comando /ban ,eu vi em outro forum intão vim trazer para vocês Ele funciona assim : /ban nome do player ,dias (ex: /ban tibiaking,30 ) Va Na pasta do seu ot Data/talkactions/talkactions.xml Adicione Esta Tag ( Coloque Junto Com os Comandos Do CM ) Agora em talkactions/scripts Copie um Arquivo .lua Mude o nome para Banir e Adicione isso : Ajudei ? Da REP+
  27. [Show OFF] Vampira

    Guilherme reagiu a Vampira por uma resposta no tópico

    -1 pontos
    . Está é a apresentação de meus mapas Poste suas duvidas, criticas e sugestões E não esqueçam de votar na enquete • Loja de magia + quest:
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo