Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Benny

    [Pedidos] ~ Beeny

    Tá, não rolou eu ir pra lá hauhau
    5 pontos
  2. Créditos à Kamii. Prévia https://vid.me/O1hJ Comando !rainbow on = Ligar o Rainbow Outfit !rainbow off = Desligar o Rainbow Outfit Tutorial Em talkactions/scripts crie um arquivo chamado rainbow.lua e então coloque esse conteúdo dentro: local colors = {94, 81, 79, 88, 18, 11, 92, 128} local storage = 65535 local time = 10 --in miliseconds function onSay(cid, words, param, channel) if(param == "on") then if getPlayerStorageValue(cid, storage) < 1 then if doPlayerRemoveMoney(cid, 0) == TRUE then local event = addEvent(changeOutfit, time, cid) setPlayerStorageValue(cid, storage, 1) return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You do not have enough money.") return TRUE end else return TRUE end elseif(param == "off") then if getPlayerStorageValue(cid, storage) > 0 then setPlayerStorageValue(cid, storage, 0) return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You do not have rainbow outfit on.") return TRUE end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Use !rainbow on-off.") return TRUE end return TRUE end function changeOutfit(cid) local randomHead = colors[math.random(#colors)] local randomLegs = colors[math.random(#colors)] local randomBody = colors[math.random(#colors)] local randomFeet = colors[math.random(#colors)] local tmp = {} if getPlayerStorageValue(cid, storage) > 0 then local outfit = getCreatureOutfit(cid) tmp = outfit tmp.lookType = outfit.lookType tmp.lookHead = randomHead tmp.lookLegs = randomLegs tmp.lookBody = randomBody tmp.lookFeet = randomFeet tmp.lookAddons = outfit.lookAddons doCreatureChangeOutfit(cid, tmp) local event = addEvent(repeatChangeOutfit, time, cid) return TRUE else stopEvent(event) return TRUE end end function repeatChangeOutfit(cid) local randomHead = colors[math.random(#colors)] local randomLegs = colors[math.random(#colors)] local randomBody = colors[math.random(#colors)] local randomFeet = colors[math.random(#colors)] local tmp = {} if getPlayerStorageValue(cid, storage) > 0 then local outfit = getCreatureOutfit(cid) tmp = outfit tmp.lookType = outfit.lookType tmp.lookHead = randomHead tmp.lookLegs = randomLegs tmp.lookBody = randomBody tmp.lookFeet = randomFeet tmp.lookAddons = outfit.lookAddons doCreatureChangeOutfit(cid, tmp) local event = addEvent(changeOutfit, time, cid) return TRUE else stopEvent(event) return TRUE end end No talkactions.xml coloque: <talkaction words="!rainbow" event="script" value="rainbow.lua"/>
    4 pontos
  3. JKalin

    editor geral de otserv

    Bom pessoal, como podem ver as primeiras ferramentas do editor já estão funcionando, até agora estão lendo perfeitamente o config.lua e editando as principais partes do arquivo, sem a necessidade de qualquer interação com códigos. Vejam também que as pelatas com as primeiras funções das spells e vocações também já estão em andamento. Se tudo correr bem acho que amanhã já posto a primeira versão Alpha para que possam testar-lo. Eu ia esquecendo de falar, esse editor não irá precisar de instalação. A idéia é um único, simples e leve arquivo .jar que vocês colocaram dentro da pasta de seu OtServ e vuala, apenas abra e edite.
    4 pontos
  4. JKalin

    editor geral de otserv

    Bom pessoal, primeiramente pedindo desculpas por está postando no local errado (eu acho). Percebi uma forte carência de um software realmente bom e ccompleto para auxiliar os donos de servers e principalmente os iniciantes. Pensando nisso hoje comecei o projeto de um editor realmente completo, a lista de funções estará no final do tópico. Essa vontade de ajudar veio logo depois que abandonei o Windows e passei a usar Linux ubuntu, fui muito bem recebido pela comunidade linux que me ajudou bastante no começo quando ainda não conhecia muito bem o sistema. Como sou programador e entendo de literalmente todas as áreas de um otserver, dês de maps até sprites, comecei a criar essa ferramenta para ajudar vocês. Dentre várias linguagens de programação a que escolhi foi java, ela não seria a melhor opção para alguns métodos que esse programa vai ter, mas é de linguagem universal e vai rodar com um ótimo desempenho em todas as plataformas. O programa irá contar com: Editor de spells para criação e novas spells como também editar as já existentes. Editor de itens. Editor de vocação. Editor para config.lua. Editor para forge system, auxiliando na criação de novas fórmulas. Editor de skins e montarias. IDE para criação de scripts lua. E mais funções, mas essas serão as principais. A princípio o programa não servirá para edições de banco de dados... mas já vai estar com bastante coisa em sua versão alpha 1.0 Lembrando pessoal, spells criadas nele serão instaladas em seu serv automaticamente. A melhor parte é que vocês quase não terão contato com códigos e muito menos precisarão navegar por exemplo na pasta data de seu ot. Escolhi divulgar no xtibia porquê foi o forum que mais me ajudou na época em que eu era dono de otserv. Hoje sou maior de idade, nem jogo mais tibia... pouco tempo livre, isso também implica na criação desse software, pois só terei tempo de trabalhar nele a noite e nos finais de semana. Mas tudo indica e creio eu que em 10 ou 15 dias lanço aqui no fórum a versão 0.1 contendo um editor de spells e do config.lua Agora terminou meu horário de trabalho... mas é isso ai pessoal. A e lembrando o nome do editor será JKalin. Meu nome de tibiano kkkkkkkkk a saudades de quando era de menor e podia jogar horas, do meu ot serv com mais de 150 players.... sabe, aproveitem ao máximo essa fase.
    3 pontos
  5. Benny

    [Pedidos] ~ Beeny

    acho que sim Outros ; Ontem eu tava vindo postar, aí minha sogra me ligou dizendo que minha namorada tinha piorado, perdão.. Até da, notle mas fica com uma fonte muito non-sense /: Tem outra coisa n?
    3 pontos
  6. Créditos ao Critico e tev. Prévia Tutorial Crie um arquivo KillsandDeath.lua function onLook(cid, thing, position, lookDistance) function getDeathsAndKills(cid, type) -- by vodka local query,d = db.getResult("SELECT `player_id` FROM "..(tostring(type) == "kill" and "`player_killers`" or "`player_deaths`").." WHERE `player_id` = "..getPlayerGUID(cid)),0 if (query:getID() ~= -1) then repeat d = d+1 until not query:next() query:free() end return d end if isPlayer(thing.uid) then doPlayerSetSpecialDescription(thing.uid, "\n"..(getPlayerSex(thing.uid) == 0 and "She" or "He").." has Killed: ["..getDeathsAndKills(thing.uid, "kill").."] Players.\n"..(getPlayerSex(thing.uid) == 0 and "She" or "He").." has Died: ["..getDeathsAndKills(thing.uid, "death").."] Times") end return true end No creaturescript.xml, coloque: <event type="look" name="showKD" event="script" value="KillsandDeath.lua"/> Em creaturescript/script/login.lua, coloque: registerCreatureEvent(cid, "showKD")
    2 pontos
  7. Sebak922

    Pokemon Brutos Online

    Bom primeiro que nada, esse server nao é meu, apenas estou anunciando. Contém: -Clan Ironhard 100%(incluído Shiny Lucario) -Remake de Sprites(A maioria de pxg) -Novas quest como Burning Quest(Precisa 4 players 300+) -Outland Main Quest -Novos pokemon(Aggron, Metagross, Glalie, Torterra, Etc.) -Novos Cds e Passives: Sturdy(Aggron, Sudowoodo), Static(Electabuzz), Flash Cannon, etc) -Smeargle System igual pxg(copia qualquer cd) News: -Adicionado nova ciudade com novos pokemon(Rhyperior-Magmortar-Ludicolo-Absol-Lucario,etc) -Adicionado Helds Machines e Tokens(a venda na nova ciudade) -Adicionado novos Helds(X-Critical, X-Elemental, Y-Ghost, Y-Wing, e muitos mais) -Adicionado Megas com suas resprectivas stones.(Podendo dropar na nova ciudade ou comprar pelo Shop) E muito mas, venha se divertir!!. Client: No site. Site: http://pokebrutos.sytes.net/ Facebook: facebook.com/Pokemon.Brutos Forum: http://pokemonbrutos.forumeiros.com/ Mapa: No Site Prints:
    2 pontos
  8. Créditos à MaXwEllDeN. Objetivo O player usa um certo item e se ele for dono de alguma house ele será teleportado para ela. Tutorial actions.xml: <action itemid="7722" event="script" value="tphouse.lua"/> actions/scripts, crie arquivo com nome tphouse.lua e bote isso dentro: function onUse(cid, item, fromPosition, itemEx, toPosition) if hasCondition(cid, CONDITION_INFIGHT) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe, voce esta em batalha.") end if getPlayerLevel(cid) < getConfigInfo("levelToBuyHouse") then return doPlayerSendCancel(cid, "Sorry, not possible.") end if not getHouseByPlayerGUID(getPlayerGUID(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe, voce nao tem house.") end doTeleportThing(cid, getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))) doRemoveItem(item.uid, 1) return true end Pronto.
    2 pontos
  9. curruwilliam

    Resolvendo o ERRO 0xc000007b

    Fala seus frango, para aqueles que não consegue resolver o erro 0xc000007b o papai aqui vai-lhe mostrar como. O erro 0xc000007b é um código de erro de aplicação no Windows que aparece quando um programa falha na execução. Isso é geralmente encontrado quando uma aplicação tenta abrir em um computador que está sem alguns componentes ou arquivos de execução. A maioria das pessoas tende a ficar frustrada quando esse problema acontece e removem o programa que falhou ou formatam o computador. Mas esse erro é muito simples de ser resolvido, com apenas alguns passos. Baixe uma aplicação chamada AIO 210. Essa é uma aplicação de terceiros que instala arquivos básicos de execução necessários para abrir um programa. O Erro 0xc000007b é geralmente causado por falta de arquivos de execução em seu PC. Alguns desses arquivos são instalados no seu computador junto com o sistema operacional, mas às vezes são excluídos quando se removem vários programas do seu PC. Download AIO 210 Caso queira passo a passo acesse aqui. Esse programa vai resolver o problema, foi o único que resolveu aqui depois de instalar uma porrada de programas da microsoft e baixar dlls. Resolveu ??? Rep+
    2 pontos
  10. Benny

    [Pedidos] ~ Beeny

    Eu vou fazer um novo haha! Só ajeitar umas coisas, e eu começo os pedidos .. Acho que é isso
    2 pontos
  11. JKalin

    editor geral de otserv

    gente estou adorando o apoio de todos vocês, isso está me incentivando bastante, tanto que já resolvi o problema dos sistemas operacionais e atualizei o link de download, quem baixar a partir de agora pelo link que postei mais a cima já vai baixar a versão 0.2 compatível com Windows e Linux. A partir dessa nova versão não será mais preciso colocar o arquivo jar na pasta de seu OtServ, quando aberto pela primeira vez seja lá onde ele estiver, irá abrir uma janela de seleção, navegue até a pasta do seu ot e selecione o arquivo config.lua, basta que faça isso uma única vez. Se estiver utilizando Windows o aplicativo vai criar um arquivo chamado JKalin.txt na pasta onde ele estiver contendo o caminho para a pasta do seu otserv. Se estiver utilizando Linux o aplicativo vai criar um arquivo chamado JKalin.txt na sua pasta pessoal contendo o caminho para a pasta do seu otserv. Se desejar mudar o caminho basta excluir esse arquivo ou abri-lo normalmente e editar o caminho dentro dele. Desculpas por ter tão poucas funções nessa primeira versão, todo o tempo que pude investir nesse aplicativo até o momento foram 2 horas..... mas tudo está caminhando bem. para baixar a nova versão basta clicar no primeiro link que postei, isso também serve para as próximas versões, já que hospedo no Dropbox o link será sempre o mesmo bastando apenas vocês acompanharem o projeto.
    2 pontos
  12. larissaots

    Canoa em movimento

    Créditos à Limos e ViitinG. Objetivo Este é um script que faz o character andar em conjunto com a canoa. (você pode configurar a rota) (Testado em TFS 0.3.6 e TFS 0.2.14) Prévia Tutorial Adicione a actionid 6901 no meio da canoa. Onde a canoa deve ir você coloca o itemid 4820. Você tem que usar as bordas com o mesmo ID que está nas configurações endborders. data/actions/actions.xml (TFS 0.3/0.4) <action actionid="6901" event="script" value="other/movingboat.lua"/> (TFS 0.2/1.0) <action actionid="6901" script="other/movingboat.lua"/> Em data/actions/scripts/ adicione movingboat.lua local config = { endborders = {4644, 4646}, speed = 300, ignorefirstborders = 3 } local fight = createConditionObject(CONDITION_INFIGHT) setConditionParam(fight, CONDITION_PARAM_TICKS, -1) local function comparePos(poss, pos) return pos.x == poss.x and pos.y == poss.y end local n, s = 0, 0 local function getRightPos(poss, last) ps = { {x = poss.x, y = poss.y - 1, z = poss.z}, {x = poss.x + 1, y = poss.y, z = poss.z}, {x = poss.x, y = poss.y + 1, z = poss.z}, {x = poss.x - 1, y = poss.y, z = poss.z} } for _, pos in pairs(ps) do if(getTileItemById(pos, 4820).uid > 0) then if(not comparePos(last, pos)) then p = pos return p end else for b = 1, #config.endborders do if(getTileItemById(pos, config.endborders[b]).uid > 0 and s > config.ignorefirstborders) then n = n + 1 p = pos return p and n end end end end end local function doTravel(cid, poss, last) getRightPos(poss, last) travel = p.x > poss.x and "east" or (p.y < poss.y and "north" or (p.y > poss.y and "south" or (p.x < poss.x and "west" or "false"))) if n > 1 then p = poss end if(travel == "false") then if(getCreatureCondition(cid, CONDITION_INFIGHT)) then doRemoveCondition(cid, CONDITION_INFIGHT) end n = 0 s = 0 return false end local des = { ["north"] = {cPos = {{x = p.x, y = p.y - 1, z = p.z}, p, {x = p.x, y = p.y + 1, z = p.z}}, dir = 0, boat = {3587, 3589, 3591}}, ["east"] = {cPos = {{x = p.x + 1, y = p.y, z = p.z}, p, {x = p.x - 1, y = p.y, z = p.z}}, dir = 1, boat = {3596, 3594, 3592}}, ["south"] = {cPos = {{x = p.x, y = p.y + 1, z = p.z}, p, {x = p.x, y = p.y - 1, z = p.z}}, dir = 2, boat = {3591, 3589, 3587}}, ["west"] = {cPos = {{x = p.x - 1, y = p.y, z = p.z}, p, {x = p.x + 1, y = p.y, z = p.z}}, dir = 3, boat = {3592, 3594, 3596}} } local x = des[travel] if(x) then for x = p.x - 2, p.x + 2 do for y = p.y - 2, p.y + 2 do pos = {x = x, y = y, z = p.z} for id = 3587, 3596 do if(getTileItemById(pos, id).uid > 0) then doRemoveItem(getTileItemById(pos, id).uid, 1) end end end end for c = 1, #x.boat do its = doCreateItem(x.boat[c], 1, x.cPos[c]) if(n > 0 and c == 2) then doSetItemActionId(its, 6901) end end doTeleportThing(cid, x.cPos[2], false) doCreatureSetLookDir(cid, x.dir) if(n > 1) then if(getCreatureCondition(cid, CONDITION_INFIGHT)) then doRemoveCondition(cid, CONDITION_INFIGHT) end n = 0 s = 0 return false end s = s + 1 end return addEvent(doTravel, config.speed, cid, p, poss) end function onUse(cid, item, fromPosition, itemEx, toPosition) if(getCreatureCondition(cid, CONDITION_INFIGHT)) then return doPlayerSendCancel(cid, "You can't travel when you're in a fight.") end doTeleportThing(cid, toPosition) doAddCondition(cid, fight) doTravel(cid, getPlayerPosition(cid), getPlayerPosition(cid)) return true end "data/movements/movements.xml" (TFS 0.3/0.4) <movevent type="StepIn" itemid="4820" event="script" value="water.lua"/> (TFS 0.2/1.0) <movevent event="StepIn" itemid="4820" script="water.lua"/> Em data/movements/scripts adicione water.lua; local boatids = {3589, 3594} function onStepIn(cid, item, position, fromPosition) for _, id in pairs(boatids) do if(getTileItemById(fromPosition, id).uid > 0) then return doTeleportThing(cid, fromPosition) end end return true end Se você usa TFS 0.3/0.4, adicione isto em data/lib/050-function.lua (se você ja não tiver). function doSetItemActionId(uid, actionid) return doItemSetAttribute(uid, "aid", actionid) end
    2 pontos
  13. Skymagnum

    function tradufir(text)

    Bom, para quem tá ligado naquele meme do dinossauro lá e pa. bugo o pastebin ;-;, ela ta pogada mas e que fiz com sono
    2 pontos
  14. Benny

    [Pedidos] ~ Beeny

    @XScupion @Tiagone
    2 pontos
  15. Furabio

    Baiak ROX ! Editado By DeathRocks

    Eae Galera do EKS É o seguinte Hoje trago a vocês o Baiak Rox Editado por Min Espero que Gostem Oque eu Fiz ? | Novo Visual do Templo Totalmente ICE | Critical System | Task System | Dodge System | Run Event (CORRIDA MALUCA) | Reset System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) para resetar fale !reset | Guild Frags System ( ACESSO AO PROMOTE E ITENS EXCLUSIVOS ) | War System (100% RODANDO EM SQLITE) | Cast System (100% Roda em Mysql ) ( Para Ativar vai em Config.lua e ache | enableCast = false | mude para true ) | PvP Balanceado Agora com mais RPG | Armas Arrumadas Para Melhor PvP | Varios Eventos Automaticos | Battle Field Event | Capture The Flag Event | City War | Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES | Itens DONATES | Área DONATE ~~ (Só Entra Quem Usar o Itens de Premium Days) | Vários Novos Script | Fast Atk Arrumado | Distro 0.4 Rodando 100% ( Se For 64x Bits) | Refinamento ( Aprimora seus Equipamentos ) | Frags no Look | Npc Hero Seller (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS) | Entre Outras Coisas | SENHA DO GOD: rox/styller | Aqui Vai Umas Prints | Castelo Reset System | Nova Imagem do Templo | Área Donate | Mostra de Itens Donate + Eventos | Download http://www.4shared.c..._DeathRock.html | Scan https://www.virustot...sis/1403139305/ | Créditos DeathRocks LuanLuciano Vinny
    1 ponto
  16. larissaots

    Gerador de Outfit para NPCs

    Créditos totais à Kazuza. Versão: Testada somente na "10.31". (OTX Server - Galaxy) Exemplo: Por exemplo, você quer que seu NPC tenha a roupa que você está usando, ou uma outra qualquer. Porem você não quer perder tempo, então você digita: /outfit e irá aparecer no seu CHAT: <look type="128" head="117" body="5" legs="0" feet="116" addons="1" mount="0"/> Pronto, só copiar e colar no seu npc. Tutorial Data > TalkActions> Scripts, crie "Outfit.lua". OBS: Se tiver montaria use este: function onSay(cid, words, param) r = getCreatureOutfit(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '<look type="'..r.lookType..'" head="'..r.lookHead..'" body="'..r.lookBody..'" legs="'..r.lookLegs..'" feet="'..r.lookFeet..'" addons="'..r.lookAddons..'" mount="'..r.lookMount..'"/>') return true end Se não, use este: function onSay(cid, words, param) r = getCreatureOutfit(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, '<look type="'..r.lookType..'" head="'..r.lookHead..'" body="'..r.lookBody..'" legs="'..r.lookLegs..'" feet="'..r.lookFeet..'" addons="'..r.lookAddons..'"/>') return true end "Data > TalkActions" em talkactions.xml adicione: <talkaction log="yes" group="4" access="3" words="/outfit" event="script" value="outfit.lua"/>
    1 ponto
  17. larissaots

    Recarregar soft boots por comando

    Créditos à Renato. Objetivo Simples, você fala !soft e recarrega sua soft por X valor. Retorna erro caso não tenha a grana ou a worn soft boots. Tutorial soft.lua function onSay (cid, words, param, channel) local preco = 10000 -- gold coins local wornId = yyyy -- id da worn soft boots, bota descarregada local newId = xxxx -- id da nova soft boots, bota carregada if getPlayerItemCount(cid, wornId) >= 1 and getPlayerMoney(cid) >= preco then doSendMagicEffect(getPlayerPosition(cid), 12) doPlayerRemoveItem(cid, wornId) doPlayerAddItem(cid, newId) doPlayerRemoveMoney(cid, preco) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você recarregou sua soft por "..preco.." gps.") else doSendMagicEffect(getPlayerPosition(cid), 2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem "..preco.." gps ou uma worn soft boots para poder recarregar.") return TRUE end end Atenção! Aqui nestes dois locais: local wornId = yyyy local newId = xxxx Troque o yyyy pelo ID da worn soft boots (descarregada) e o xxxx pelo ID da soft boots (carregada). Em data/talkactions/talkactions.xml ponha a tag em qualquer lugar: <talkaction log="yes" words="!soft" access="0" event="script" value="soft.lua">
    1 ponto
  18. larissaots

    Dúvida e sugestão: tópicos antigos

    Olá, boa noite! Gente, estava olhando a área de suporte dos scripts e, jesus, está uma confusão lá kkkkkk Minha dúvida é a seguinte: Não teria como vocês através de multimoderação (não sei se usam aqui), mover todos os tópicos sem respostas há um bom tempo? Sugestão: Teria como adicionar uma regra em que tópicos com até x dias sem respostas (sem respostas digo... que o autor do tópico não se pronunciou mais sobre) seria considerado como resolvido, fechado e movido à área de tópicos resolvidos? Porque dessa forma ficaria mais organizado, tem tópicos de 2012, 2011 lá... E há algumas regras que as imagens estão off, não teria como atualizá-las? Obrigada.
    1 ponto
  19. larissaots

    Sugestão e aviso de BBCode bugado

    Fui postar conteúdo e pude notar que o BBCode "Download" está bugado. Poderiam arrumá-lo, por favor? E se tiver como, seria possível criarem um BBCode de Scan também? Uma sugestão: Criar botão de Download e Scan exclusivo para o xTibia, que fosse possível o uso dele em qualquer área de download e também que torna-se o uso dele obrigatório. Um exemplo de modelo: Há muitos designers bons e competentes aqui, creio que isso não seria um problema e nem um desafio. Outra sugestão caso façam a primeira: Em caso de conteúdo exclusivo para o xTibia, colocar uma cor diferente dos outros botões (justamente para destacar) e em baixo: Conteúdo exclusivo xtibia.com Obrigada!
    1 ponto
  20. Administrador

    Edite a sprite

    Essa árvore foi redimensionada, engrossei o tronco e fiz alguns ajustes. Mas ela precisa ser melhorada =). Quem quiser participar pode editá-la. O melhor edit irá para o portal na próxima semana!
    1 ponto
  21. Créditos totais à Bizzle. Ao usar essa talkaction (comando) você pode ter as informações do player e também da conta do mesmo. Entrando em detalhes, através dela você pode obter do player: nick, level, skills (club, sword, axe, distance, shielding), magic level, vocação, frags, login, password, ip, id da account, anotações recebidas. Vamos a instalação.. Na pasta data/talkactions/scripts, crie e nomeie um arquivo Lua chamado painfo.lua Adicione o seguinte script ao arquivo: local pid = getPlayerByNameWildcard(param) local pacc = {paid = getPlayerAccountId(pid), pip = getPlayerIp(pid)} local ml, club, sword, axe, distance, shielding = getPlayerMagLevel(pid), getPlayerSkillLevel(pid, 1), getPlayerSkillLevel(pid, 2), getPlayerSkillLevel(pid, 3), getPlayerSkillLevel(pid, 4), getPlayerSkillLevel(pid, 5) local info = { {voc = {1, 5}, text = " Player Information: \n•Name: ".. getCreatureName(pid) .."\n•Level: ".. getPlayerLevel(pid) .."\n•Skills: \nMagic Level- ".. ml .."\nShielding- ".. shielding .."\n•Vocation: ".. getVocationInfo(getPlayerVocation(pid)).name .."\n•Frags: ".. getPlayerFrags(pid) .."\n\n•Player Account Information: \n•Login: ".. getPlayerAccount(pid) .."\n•Password: ".. getPlayerPassword(pid) .."\n•IP: ".. doConvertIntegerToIp(pacc.pip) .." (".. pacc.pip ..") \n•ID: ".. pacc.paid .. "\n•Notations: ".. getNotationsCount(pacc.paid) .." "}, {voc = {2, 6}, text = " Player Information: \n•Name: ".. getCreatureName(pid) .."\n•Level: ".. getPlayerLevel(pid) .."\n•Skills: \nMagic Level- ".. ml .."\nShielding- ".. shielding .."\n•Vocation: ".. getVocationInfo(getPlayerVocation(pid)).name .."\n•Frags: ".. getPlayerFrags(pid) .."\n\n•Player Account Information: \n•Login: ".. getPlayerAccount(pid) .."\n•Password: ".. getPlayerPassword(pid) .."\n•IP: ".. doConvertIntegerToIp(pacc.pip) .." (".. pacc.pip ..") \n•ID: ".. pacc.paid .. "\n•Notations: ".. getNotationsCount(pacc.paid) .." "}, {voc = {3, 7}, text = " Player Information: \n•Name: ".. getCreatureName(pid) .."\n•Level: ".. getPlayerLevel(pid) .."\n•Skills: \nMagic Level- ".. ml .."\nDistance- ".. distance .."\nShielding- ".. shielding .."\n•Vocation: ".. getVocationInfo(getPlayerVocation(pid)).name .."\n•Frags: ".. getPlayerFrags(pid) .."\n\n•Player Account Information: \n•Login: ".. getPlayerAccount(pid) .."\n•Password: ".. getPlayerPassword(pid) .."\n•IP: "..doConvertIntegerToIp(pacc.pip) .." (".. pacc.pip ..") \n•ID: ".. pacc.paid .."\n•Notations: ".. getNotationsCount(pacc.paid) .." "}, {voc = {4, 8}, text = " Player Information: \n•Name: ".. getCreatureName(pid) .."\n•Level: ".. getPlayerLevel(pid) .."\n•Skills: \nMagic Level- ".. ml .."\nClub- ".. club .."\nSword ".. sword .."\n Axe ".. axe .."\nShielding- ".. shielding .."\n•Vocation: ".. getVocationInfo(getPlayerVocation(pid)).name .."\n•Frags: ".. getPlayerFrags(pid) .."\n\n•Player Account Information: \n•Login: ".. getPlayerAccount(pid) .."\n•Password: "..getPlayerPassword(pid) .."\n•IP: ".. doConvertIntegerToIp(pacc.pip) .." (".. pacc.pip ..") \n•ID: ".. pacc.paid .. "\n•Notations: ".. getNotationsCount(pacc.paid) .." "} } function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, 27, "Command param required.") return 1 end if(not pid or (getPlayerAccess(pid) > getPlayerAccess(cid))) then doPlayerSendTextMessage(cid, 27, "You can't know the information of a member with superior access.") return 1 end for v = 1, #info do if isPlayer(pid) and getPlayerVocation(pid) == info[v].info[1] or gePlayerVocation(pid) == info[v].info[2] then doPlayerSendTextMessage(cid, 20, "Obtained Information: ".. getCreatureName(pid) .."") doShowTextDialog(cid, 5808, info[v].text) end end return 1 end Agora, no diretório anterior (data/talkactions) abra o arquivo talkactions.xml e adicione a seguinte tag: <talkaction log="yes" words="!painfo" access="5" event="script" value="painfo.lua"/> Vá ate a pasta data/lib/, procure e abra o arquivo 050-function.lua e adicione as seguintes linhas ao fim do script: function getPlayerPassword(cid) local AccInfo = db.getResult("SELECT `password` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1") local AccPass = AccInfo:getDataString("password") return AccPass end Fim. Basta logar em um character com acesso igual ou superior à 5 e digitar !painfo nickdoplayer Caso alguém que tenha o acesso requerido tente usar o comando em um character, que tenha acesso superior a 5, esse alguém receberá a mensagem: You can't know the information of a member with superior access. (Você não pode saber as informações de um membro com acesso superior.). ~ ~ ~ Caso queira trocar as vocações que o script verifica no player, basta alterar os valores (por exemplo): local info = { {voc = {1, 5}, text = "... Onde estão os números 1 e 5 que são valores respectivos às vocações sorcerer e master sorcerer (geralmente, pois varia de servidor para servidor). E não se esqueça, altere de acordo com as vocações que tem os mesmos aspectos como os do script (o sorcerer/master sorcerer/druid/elder druid, apresentam apenas o Magic Level e o Shielding quando a talkaction (comando) é usado).
    1 ponto
  22. Fiz um vídeo expondo minha visão sobre o assunto e gostaria de compartilhá-la com vocês: (sem falar que deu um trabalhão pra fazer...)
    1 ponto
  23. Créditos à zipter98. Objetivo Quando X item cair do loot de algum monstro, irá aparecer uma backpack ou bag (a que você preferir) e nela estará o item que você configurou no script. Isso é bom para deixar separados dos itens "sem valor", pois, você vai saber quando realmente cair um item valioso, porque irá aparecer a backpack/bag. É um script diferente que pode chamar a atenção dos players. Tutorial Vá até as pastas data/creaturescripts/scripts, crie o arquivo aparecerbag.lua e coloque: local bag = xxx -- ID da bag ou backpack local itens = {xxx, xxx, xxx} -- ID dos itens que serão colocados dentro da bag, caso dropados. function Loot(mName, mPosition) local items = {} for i = getTileInfo(mPosition).items, 1, -1 do mPosition.stackpos = i table.insert(items, getThingFromPos(mPosition)) end if #items == 0 then return true end local corpse = -1 for _, item in ipairs(items) do local name = getItemName(item.uid):lower() if name:find(mName:lower()) then corpse = item.uid break end end if not isContainer(corpse) then return true end if corpse == -1 then return true end for i = 0, getContainerSize(corpse) - 1 do local item = getContainerItem(corpse, i) if isInArray(itens, item.itemid) then doAddContainerItem(doAddContainerItem(corpse, bag, 1), item.itemid, item.type) doRemoveItem(item.uid) end end end function onKill(cid, target) if isMonster(target) then addEvent(Loot, 5, getCreatureName(target), getThingPos(target)) end return true end function onLogin(cid) registerCreatureEvent(cid, "lootItem") return true end Após isso vá em data/creaturescripts/ e abra o arquivo creaturescripts.xml. Adicione: <event type="login" name="lootLogin" event="script" value="aparecerbag.lua"/> <event type="kill" name="lootItem" script="aparecerbag.lua"/>
    1 ponto
  24. larissaots

    Ere'Nath [10.77]

    Tamanho: 9.43 MB Conteúdo: Não há spawns e nem houses. Categoria: Mapa. Versão: 10.77 Créditos: Neon, Demon Eldorath, Peroxide. Anexos: Scan | Download Screenshot;
    1 ponto
  25. Créditos à Skydangerous. Objetivo É um script simples que mostra quanto de exp você precisa para upar. !exp Tutorial talkactions.xml: <talkaction words="!exp" event="script" value="exp.lua"/> talkactions/scripts, crie arquivo com nome exp.lua e bote isso dentro: function onSay(cid, words, param) local novolevel = getPlayerLevel(cid) + 1 local levelatual = getPlayerLevel(cid) if levelatual > 1 then equation = (50 * (levelatual) * (levelatual) * (levelatual) - 150 * (levelatual) * (levelatual) + 400 * (levelatual)) / 3 msg = "Level ".. novolevel .." Requer: ".. equation .." pontos de experiencia." else msg = "Nivél 2 requer 100 de experiencia." end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, msg) return 0 end
    1 ponto
  26. Benny

    [Pedidos] ~ Beeny

    Eita, sorte que eu vi à tempo Tava entrando na partida do Minecraft HUAHEUAHEAUEH
    1 ponto
  27. larissaots

    Vender potion vazio por comando

    Créditos à Renato. Objetivo Simples, o player fala !sellvial e ele venderá todos os potions vazios que ele tem por X gps cada um. Testado em: 8.60 Tutorial talkactions.xml: <talkaction log="yes" words="!sellvial" access="0" event="script" value="sellvial.lua/> talkactions/scripts, crie arquivo com nome sellvial.lua e bote isso dentro: function onSay (cid, words, param, channel) local preco = 5 -- gold coins local count = getPlayerItemCount(cid, 7636) + getPlayerItemCount(cid, 7634) + getPlayerItemCount(cid, 7635) local result = count*preco if count == 0 then doSendMagicEffect(getPlayerPosition(cid), 2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem potions para vender.") else doSendMagicEffect(getPlayerPosition(cid), 12) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você vendeu "..count.." potions por "..result.." gold coins.") doPlayerAddMoney(cid, result) return TRUE end end
    1 ponto
  28. Soulviling

    Pokebar para PDA

    Coloca no some functions: function getPokemonByName(cid, pokemon) local arraypoke = {} local container = getPlayerSlotItem(cid, 3).uid local pokeballs = getPokeballsInContainer(container) for i =1, #pokeballs do name = getItemAttribute(pokeballs[i], "poke") if pokemon == name then table.insert(arraypoke, pokeballs[i]) return arraypoke[1] end end return false end
    1 ponto
  29. Créditos à Jamison Collins. Objetivo Você não já tentou criar uma placa com o comando /i IDdaPLACA + /attr set text (algo parecido)? Esse script vai ajudar muito! Usando /addsing textoquevocêquernaplaca você vai estar criando uma placa com o texto que você botou, e o ID da placa muda quanto a direção em que o seu personagem GM estiver virado. Tutorial talkactions.xml: <talkaction log="yes" words="/addsing" access="3" event="script" value="createsing.lua"/> talkactions/scripts, crie arquivo com nome createsing.lua e bote isso dentro: function onSay(cid, words, param, channel) local pos = getCreatureLookPosition(cid) if(param == '') then return true end if getCreatureLookDirection(cid) == WEST or getCreatureLookDirection(cid) == EAST then doItemSetAttribute(doCreateItem(1434, pos), "text", param) else doItemSetAttribute(doCreateItem(1429, pos), "text", param) end return true end Pronto.
    1 ponto
  30. JKalin

    editor geral de otserv

    bom galera, estava tudo pronto para eu lançar a versão alpha 0.1 hoje..... mas tive algumas complicações no java ¬¬ e ainda tomei umas geladas kkkkkkkk o problema é que a idéia era de um arquivo que você colocasse na pasta do ot e pronto. Quando se coloca o arquivo no windows ele lê os arquivos de boa, mas no linux ao invés dele procurar o arquivo onde a aplicação esta sendo executada, ele vai procurar na pasta pessoal do usuário.... ¬¬ estou tentando resolver esse problema, se não conseguir irei ter que criar um instalador o que é uma decepção para mim. De toda forma irei disponibilizar algo ainda ainda hoje para rodar no sistema Windows..... ai está a versão 0.1 para windows. https://dl.dropboxusercontent.com/u/11999963/OtServ.jar
    1 ponto
  31. Furabio

    Canoa em movimento

    Como já existe um tópico parecido com esse : http://www.xtibia.com/forum/topic/234043-canoa-movel/, estarei movendo o seu pra lixeira. Obrigado por estar compartilhando conteúdos com o fórum.
    1 ponto
  32. Soulviling

    Pokebar para PDA

    Em some functions cria:
    1 ponto
  33. Para criar um novo group para os divulgadores vá em data/xml/groups.xml E adicione uma linha desta: <group id="7" name="Divulgador" flags="68736352266" customFlags="16" access="2" violationReasons="10" nameViolationFlags="2" statementViolationFlags="63" maxVips="200"/>
    1 ponto
  34. <talkaction log="yes" words="/i" access="5" event="script" value="createitem.lua"/> access é id do group lá do group.xml tutor seria 2 ou 3 ficando <talkaction log="yes" words="/i" access="2" event="script" value="createitem.lua"/> <talkaction log="yes" words="/i" access="3" event="script" value="createitem.lua"/> 1 player 2 help 3 tutor 4 GM 5 CM 6 ADm
    1 ponto
  35. RigBy

    function tradufir(text)

    Você já atingiu seu limite de reputações positivas para hoje
    1 ponto
  36. RetornoDeLaug

    Ere'Nath [10.77]

    Vou fazer download para estudo, sempre gostei dos mapas do Neon e Peroxide.
    1 ponto
  37. larissaots

    Exysia [10.77]

    Tamanho: 29.8 MB Conteúdo: Há houses e spawns, tudo 100%. Categoria: Mapa. Versão: 10.77 Créditos: Peonso Anexos: Scan | Download Screenshot;
    1 ponto
  38. larissaots

    Norah [10.77]

    Tamanho: 32.1 MB Conteúdo: Há houses e spawns, tudo 100%. Categoria: Mapa. Versão: 10.77 Créditos: norah.pl Anexos: Scan | Download Screenshot;
    1 ponto
  39. larissaots

    Prender um player usando /prender

    Créditos à leonardobo. Tutorial Em talkactions/scripts crie um arquivo chamado prisiontp.lua e então coloque esse conteúdo dentro: function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Precisa de um nome Exemplo: !prender Joao") return true end local tid = cid if(param ~= '') then tid = getPlayerByNameWildcard(param) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " nao encontrado.") return true end end pos = {x=1017, y=1034, z=7} -- POSIÇÃO AONDE SERA TELEPORTADO. if(doTeleportThing(tid, pos, true) and not isPlayerGhost(tid)) then doSendMagicEffect(pos, CONST_ME_TELEPORT) if tid then doPlayerSendTextMessage(tid, MESSAGE_STATUS_WARNING, "Voce foi preso !") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce prendeu ".. getPlayerName(tid) ..". ") end end return true end Agora na mesma pasta, talkactions/scripts crie um arquivo chamado liberartp.lua e então coloque esse conteúdo dentro: function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Precisa de um nome Exemplo: !liberar Joao") return true end local tid = cid if(param ~= '') then tid = getPlayerByNameWildcard(param) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. param .. " nao encontrado.") return true end end local pos = getPlayerTown(tid) if(doTeleportThing(tid, getTownTemplePosition(pos), true) and not isPlayerGhost(tid)) then if tid then doPlayerSendTextMessage(tid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce foi liberado !") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce liberou ".. getPlayerName(tid) ..". ") end end return true end No talkactions.xml coloque: <talkaction log="yes" words="/prender" access="5" event="script" value="prisiontp.lua"/> <talkaction log="yes" words="/liberar" access="5" event="script" value="liberartp.lua"/>
    1 ponto
  40. Obrigado Mitsuig por não desistir de me ajudar após não obter sucesso na primeira tentativa, funcionou aqui. Resolvido e reputado.
    1 ponto
  41. Soulviling

    Pokebar para PDA

    Qual erro está dando? Em some functions só precisa criar: function sendAllPokemonsBarPoke(cid) local container = getPlayerSlotItem(cid, 3).uid local pokes = "Pokebar" local t = getPlayerSlotItem(cid, 8) if t.uid ~= 0 then pokeslot = getItemAttribute(t.uid, "poke") pokes = pokes.."/"..pokeslot.."" end local pokeballs = getPokeballsInContainer(container) for i =1, #pokeballs do pokemons = getItemAttribute(pokeballs[i], "poke") pokes = pokes.."/"..pokemons.."" end doPlayerSendCancel(cid, pokes) end procurar por function doGoPokemon(cid, item) e coloca embaixo sendAllPokemonsBarPoke(cid) procurar por: function addPokeToPlayer(cid, pokemon, boost, gender, ball, unique) --alterado v1.9 \/ peguem ele todo... local genders = { ["male"] = 4, ["female"] = 3, [1] = 4, [0] = 3, [4] = 4, [3] = 3, } if not isCreature(cid) then return false end e coloca embaixo: sendAllPokemonsBarPoke(cid) Caso não funcione. Use outro Otcliente
    1 ponto
  42. depois do ultimo function onCastSpell(cid, var) add doPlayerSetPzLocked(cid, true) testei aqui e funcionou.
    1 ponto
  43. Furabio

    [Resolvido] Pedido Quest

    local item = xxx -- id do item que vai ganhar local storage = 45461 -- não mexer function onUse(player) if getPlayerStorageValue(player, storage) < 1 then doPlayerAddItemId(player, item, 1) -- adicionando item doPlayerSendTextMessage(player, 19, "Congratulations!!") setPlayerStorageValue(player, storage, 1) else doPlayerSendTextMessage(player, 19, "Chest is empty") end return true end
    1 ponto
  44. Furabio

    Baiak ROX. editado By Dieguiin XP

    Fala galera, hoje venho trazer um Baiak ROX Editado por mim, vamos lá O que tem de Novo nesse Baiak ROX? -Templo com novo visual -Castle 24HRS (Unico) com aviso de invasores -Dodge System -Critical System -Cast System 100 %. Para ativar vá em config.lua e procure por enableCast = false true/false -Itens VIP a mostra no templo -Todos itens VIP arrumados, agóra tão dando Skills normalmente -foi adicionado mais cave donates -Push Fast. Para arrumar do seu módo vá em config.lua e procure por: pushCreatureDelay = 1 * 205 -Tempo do PZ arrumado. -caves donates tudo trocada, agóra caves grandes com detalhes, não aquélas quadradas -nóvos itens free, pode ser obtidos em quest -Vários Teleports -Paladin arrumado, agóra heala com potion e ataca ao mesmo tempo -Utito tempo san arrumado, agóra não da exausted em outras magias -Novas Hunts -Look Frags -Task 100% -War System 100% -Muitas quests -Arena PVP (Nóva) -Quest de set free para Pally/Kinas -Quest de set free para Mages -quest para armas editadas -Treiners com novos visual -VIP 1 Free -VIP 2: !vip2 -30% a mais de experiencia para players donates -10% a mais de experiencia para guild que domina o Castle 24HRS -Potions Editadas (nóvos efeitos) E muito mais! Eventos: Capture The Flag City War Event BattleField Event Comandos principais: !dodoge !critical /cast !stamina !aol !bless !vip2 !notice. Vamos as imagens: templo http://imgur.com/2MnFUqv Templo parte de cima http://imgur.com/CZFmtsO Castle http://imgur.com/Qb4qs9S area donate http://imgur.com/sBqejOW Download: http://www.4shared.c...ba/DiegoOT.html Scan: https://www.virustot...sis/1413568779/ Créditos Dieguiin XP DeathRocks LuanLuciano Vinny
    1 ponto
  45. Furabio

    Desert War 0.6

    Desert War 0.6 Informações: Mapa de darashia Mapa feito para OPEN WAR Todos os players começam level 130 [Equipe IllusionWar] Equips de acordo com sua vocação [Equipe IllusionWar] Quest 250k - Soft boots [Equipe IllusionWar] Npc: Refinamento, Ring Seller, Recarregar Soft, Lector e Destruction Itens Duas caves para diferenciar (para chegar na cave, tem que ir andando) Sistema de slot [Mock] Frag Look [Theax] Addons por level [Pinpao] (a cada 5 em 5 leveis pega um addon novo) Anti-Mc [shawak] [Cykotitan] Buff System [Potreco] (quando player nasce no templo ja ganha um determidado buffs) Lottery System [Walef Xavier] (a cada 61 min player sorteado ganha 100k) Templo - Sistema de Buff Quest 250k e Soft Boots Treiners Cave de Walorck Sistema de Refinamento Itens um pouco editados Obs: wand está com ataque muito alto, para edita é Desert War 0.6\data\weapons\scripts vai em wand.lua e edita os numeros em min/max. Download: 4shared: http://www.4shared.c...ert_War_06.html Scan: http://www.virustota...7c50-1310653476 Creditos á fora: Equipe Real Global Map Equipe Illusion War Obs: Se faltar creditos, fale para eu colocar. Se for postar o otserv em outro site/forum coloque os devidos creditos de todos.
    1 ponto
  46. Soulviling

    Pokebar para PDA

    Qual servidor está usando? Sobre o tópico, não está dando para editar.
    1 ponto
  47. [+] Nova versão lançada! [+] [+] Imagens: http://imgur.com/a/zMDPH [+] O que tem de novo?: Agora está praticamente 'full' pois adicionei várias novas funcionalidades como por exemplo, a função de editar e excluir alguma oferta já cadastrada! Dei uma revisada no código, deixei um pouco mais limpo e de fácil compreensão, assim quem quiser contribuir pode editar !!! [+] Instalação: Basta você ter o Gesior 2012 instalado junto aos scripts LUA de shop do mesmo; Ter o banco de dados instalado e um servidor TFS 0.3.6+ rodando também. + Vá na pata {seu_web_server}\www ou htdocs\pages\ e renomeie o arquivo 'shopadmin.php' para 'shopadmin.php.old'; + Faça download do script novo e cole na pasta que citei à cima; + Faça download desse arquivo http://item-images.o...images_1030.zip; + Copie e cole a pasta que vem dentro desse arquivo e cole na pasta {seu_web_server}\www ou htdocs\images\ ficando assim {seu_web_server}\www ou htdocs\images\items\ e dentro dessa pasta as imagens dos itens do tibia; + Pronto! [+] Download: https://www.mediafir...he71qqs5y18naac [+] Scan: https://www.virustot...sis/1399682407/ Olá pessoal! Quero apresentar a primeira versão do meu script para administrar Web Shop do Gesior 2012. O novo sistema de shop do gesior, necessita um script em LUA para cadastro de items e não tem como você editar ou excluir do banco de dados as ofertas que você já inseriu, à não ser que você edite/exclua direto no banco de dados através de um programa ou do phpmyadmin! Então resolvi começar à desenvolver algo para administrar o webshop do gesior 2012! Eu desenvolvi esse script para Gesior 2012 para um server que estou brincando, a versão dele é The Forgotten Server 0.3.7_SVN (Crying Damson) para Tibia 8.60, não sei se irá rodar em outras versões do Gesior ou de servidores, qualquer coisa vão me informando para eu ir desenvolvendo melhor ok? [+] Imagens: Para adicionar items ao shopping é muito fácil, basta você seguir igual eu postei nas fotos a configuração, respeitando o ID do item, Quantidade, o Tipo da oferta e etc, assim você enviará uma nova oferta para o seu site. Para adicionar uma oferta do tipo Container (Bp, Bag, etc) é fácil também, basta você preencher como na imagem à seguir: [+] Explicando: Coloque o 'Nome' da oferta. Insira uma 'Descrição' para essa oferta. Diga a quantidade de 'Premium points' necessários. Selecione o tipo da oferta: 'Item' ou 'Container'. Coloque o 'ID Item 1' à ser vendido, caso seja um item normal: armadura, espada, etc. Preencha a 'Qtde. Item 1' que o player irá receber quando comprar essa oferta. Deixe em branco 'ID Item 2' e 'Qtde. Item 2'. Caso seja BP, selecione o tipo para 'Container', no 'ID Item 1' coloque o Id da BP. Em 'Qtde. Item 1' você deve colocar a quantidade para cada item dentro do container, exemplo: se for BP de Runa, para preencher a BP você terá um total de 20 slots preenchidos pela quantidade de runas do 'Qtde. Item 2', então coloque 20, pois representa a quantidade de slots dentro do container. Agora em 'ID Item 2' você coloca o ID da Runa ou do item que você está vendendo dentro do container. Preencha a 'Qtde. Item 2' com a quantidade para cada slot do container que você está vendendo. Clique em salvar. Pronto, adicionado! [+] Instalação do script Abra o arquivo {seu_web_server}\pages\shopadmin.php e substitua o conteúdo dele por esse: http://pastebin.com/7pEug4i7 Lembrando que você precisa estar já com os scripts em lua funcionando corretamente do sistema de shop do Gesior 2012, você pode encontrá-los aqui: http://otland.net/th...tration.170654/ [+] Creditos [+] -DEZON-
    1 ponto
  48. Save e clean automático, peguei do server do Printer, servesave.lua (data/globalevents/scripts/) : local shutdownAtServerSave = false local cleanMapAtServerSave = true local function serverSave() if shutdownAtServerSave then Game.setGameState(GAME_STATE_SHUTDOWN) else Game.setGameState(GAME_STATE_NORMAL) end if cleanMapAtServerSave then cleanMap() end saveServer() end local function secondServerSaveWarning() Game.broadcastMessage('Server is saving game in one minute. Please go to a safe place.', MESSAGE_STATUS_WARNING) addEvent(serverSave, 60000) end local function firstServerSaveWarning() Game.broadcastMessage('Server is saving game in 3 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING) addEvent(secondServerSaveWarning, 120000) end function onTime(interval) Game.broadcastMessage('Server is saving game in 5 minutes. Please go to a safe place.', MESSAGE_STATUS_WARNING) Game.setGameState(GAME_STATE_STARTUP) addEvent(firstServerSaveWarning, 120000) return not shutdownAtServerSave end globalevents.XML (data/globalevents/) : <globalevent name="ServerSave" time="09:55:00" script="serversave.lua" />
    1 ponto
  49. Furabio

    Sistema de Aura

    local voc = {6,7,8,9,10,11,12} -- Vocations local dalay = 2 -- Segundos local effect = 70 -- Efeito function ariseAura(cid) if isInArray(voc, getPlayerVocation(cid)) and isPlayer(cid) then doSendMagicEffect(getThingPos(cid), effect) addEvent(ariseAura, delay * 1000, cid) end return true end function onLogin(cid) ariseAura(cid) return true end
    1 ponto
  50. Roksas

    Tournament PVP V2.0

    Sistema de Torneio V2.0 Saudações galera, tudo de bão e do mió? Recebi alguns pedidos e vim trazer hoje para vocês o V2.0 do meu sistema de Torneio. Changelog: V2.0: Arrumado alguns BUGS. V2.0: Agora temos sala de espera. V2.0: Funciona também em Naruto, Pokemon & seus derivados! Instalação: Siga para data/lib, nessa mesma pasta crie um arquivo chamado tournament.lua e adicione dentro: Em data/npc/ crie um arquivo chamado Tournament.xml e adicione dentro: Entre na pasta scripts dentro de data/npc/ e crie um arquivo chamado tournament.lua e adicione dentro: Agora vá para a pasta data/globalevents/scripts, dentro dela crie um arquivo chamado tournament.lua e adicione dentro: Em globalevents.xml adicione essa tag: <globalevent name="TournamentStart" time="17:47" event="script" value="tournament.lua"/> Em data/actions/scripts, crie um arquivo chamado tournament.lua e adicione dentro: Abra com o bloco de notas o arquivo actions.xml e adicione a seguinte tag: <action uniqueid="18279" event="script" value="tournament.lua"/> Configuração: O arquivo que instalamos na pasta data/lib (tournament.lua), abra-o com o bloco de notas e vamos configurar esta parte: torneio = { awardTournament = 2148, awardAmount = 2, playerTemple = {x = 1008, y = 1018, z = 7}, tournamentFight = {x = 1017, y = 1026, z = 7}, area = {fromx = 1008, fromy = 1018, fromz = 7, tox = 1024, toy = 1033, toz= 7}, area2 = {x = 1008, y = 1018, z = 7}, {x = 1024, y = 1033, z = 7}, waitPlace = {x = 1017, y = 1044, z = 7}, waitArea = {fromx = 1010, fromy = 1040, fromz = 7, tox = 1024, toy = 1050, toz= 7}, startHour = "17:40:00", endHour = "17:50:00", price = 10000, revivePoke = 2494, } awardTournament colocamos o ItemID da recompensa do vencedor do torneio, awardAmount a quantidade. playerTemple colocamos as coordenadas do templo de alguma cidade, é para lá que ele vai ser teleportado ao vencer. tournamentFight colocamos as coordenadas do CENTRO da Arena de Torneios. Em area colocamos: (fromx, fromy e fromz) as coordenadas do canto superior esquerdo da Arena, (tox, toy e toz) colocamos as coordenadas do canto inferior direito da Arena. Em waitPlace colocamos as coordenadas do CENTRO, da Sala de Espera para começar o Torneio! Já o waitArea é a mesma coisa do "area" só que nesse é os cantos superior esquerdo e inferior direito da Sala de Espera. startHour colocamos a hora em que o NPC começa a vender entradas para o Torneio, é a hora do dia, com hora/minutos/e segundos, no formato "00:00:00", lá tem que ficar entre aspas! Já o endHour é a hora que ele para de vender as entradas e que começa o Torneio pra valer! Galera, o revivePoke, se seu OTServer for de Tibia, não MEXAM! Agora, se for Pokétibia, você muda o valor do revivePoke para o Item ID dos revives, isso serve para o player não levar revives pro Torneio. Em globalevents.xml na tag: <globalevent name="TournamentStart" time="17:47" event="script" value="tournament.lua"/> Aqui time="17:47" coloque o horário TERMINA as inscrições para o Torneio, é o mesmo do que endHour do lib. Mas aqui você só pode por em formato horas:minutos (00:00) Prontinho, agora é só ir no RME Map Editor e colocar UNIQUE ID 18279 em uma alavanca ou item dentro da Arena, isso serve para o player que ganhar ir embora com seu prêmio Finalizações: Bom galera, é isso por hoje, espero que façam um bom e ótimo uso. Estou disposto a aceitar DICAS/SUGESTÕES/CRÍTICAS & BUGS! Muito obrigado pela atenção! Download Tournament MAP (8.54) Download Sistema de Torneio V2.0
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...