Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 02/06/16 em %

  1. Skulls

    Galeria de ideias

    @Up Breve otimização do blink, o exemplo abaixo está com o efeito de holy mas fica legal com diversos efeitos: (tirei a fala, mudei os efeitos, coloque para o player "desaparecer" e "reaparecer" e deixei mais correta a posição do mouse)
    2 pontos
  2. Administrador

    Herói

    Introdução Herói é um título (cargo). É concedido à membros que foram importantes para a comunidade. Em tempos passados, este título fora desvalorizado e permaneceu sem supervisão ou definição qualquer enquanto ativo. Herói 1.0 Heróis são avaliados pela contribuição realizada no fórum; 2.0 Alertas, dependendo da seriedade, podem remover o título de um membro. • Atualizado 30/05/17
    1 ponto
  3. Conteúdo: Imagens Mapa não incluso Downloads: Removendo Bugs de itens (como order, fishing, etc) Sistemas feitos para o PDE: Tutoriais feitos para o PDE: Bugs reportados:
    1 ponto
  4. gabrielbsales

    Smeargle System[PXG]

    Bom, como um individuo(Vudi) não sabe cumprir o que fala, vou postar o sistema aqui.(não cabe ao post explicar aqui) Bom, aqui está o smeargle system, igual o da PxG. Vamos lá. 1 - Vá na pasta Lib, substitua seu cooldown bar.lua por isso: 2 - Ainda no Lib, no fim(depois do ultimo end) do Some Functions.lua, adicione isso: 3 - Agora no order.lua, do Actions, em baixo de: Adicione: 4 - Se seu servidor ja tiver os spells, sketch 1, sketch 2... Substitua por esses(data/lib/pokemon moves.lua): Se não, use os mesmos acima, não esqueça de adicionar no spells.xml. 5 - Agora, vá em talkactions/scripst, abra o move1.lua e substitua: Por Depois: Por: Pronto, se tiver feito tudo certo, funcionará. Como ficará: Como usar: Créditos: Eu(Todo o script)
    1 ponto
  5. aremst

    [Sprites] [+226,859] De Tibia 10.82

    Este é um pacote de sprites em formato PNG com fundo transparente do Tibia versão 10,82 ... Na próxima versão da tíbia vou acrescentar mais pacotes extras para download neste post Download Link: Scan: -------------------------------------------------------- Pacote adicional de ultima preactualización 26/11/2015 03:40 am Download link:
    1 ponto
  6. FlamesAdmin

    OT Restarter (Auto Restarter)

    Eaí galerinha, trago à vocês um Auto Restarter excelente criado por Gabrielbsales (Featzen). Vamos lá! Como ele funciona? Checa se o servidor está aberto. - Se sim: Verifica se o mesmo está respondendo; - Se não: Aguarda 20 segundos para reiniciá-lo. Este Auto Restarter ele reinicia o servidor quando da algum crash no servidor e aparece aquela janelinha de "Parou de funcionar". Print do OT Restarter: Como usar? No campo: Application: Preencha com o título da janela do seu servidor, no meu caso é "Pokemon Online Server(DA)". Exemplo: Em Executable: Preencha com o caminho do executável do seu servidor ou selecione-o ao lado ('...'). Em Delay: Preencha em segundos, 'de quanto em quanto' tempo ele irá checar se o servidor está respondendo/executando. >[Download]< >[https://www.virustotal.com/pt/file/6fe4921f55397a7a37cc996cd9eedfcfe8926cc09f5cac6d38f2d4aab5754da2/analysis/1423192614/]< Não ta dando pra colocar link do Scan junto com "Scan". Créditos: Gabrielbsales (Featzen)
    1 ponto
  7. Nolis

    [10.30] Roshamuul

    Versão: 10.30 Download: https://www.mediafire.com/?8qm81s8po78bz3n Scan http://i.imgur.com/PpqxWwd.png
    1 ponto
  8. ​Olá galera, hoje eu vim postar um pequeno tutorial, na verdade um vídeo ensinando a usar o básico do Object Builder. Oque contém no tutorial? Ensino para aqueles que não sabem usar o Obeject Builder programa muito bom para adicionar sprites no Tibia Client. OBS: é a primeira vez que faço um vídeo, pretendo criar mais tutoriais para ajudar os membros do xtibia. OBS²: Não vou encher o tópico de palavras pois o Tutorial foi feito em vídeo para explicar melhor. ATUALIZADO: https://www.youtube.com/watch?v=fGvFny6lpbs&feature=youtu.be Tutorial de como Adicionar monster e Outfit: https://www.youtube.com/watch?v=4TUwfIRo-ls É isso ae galera, em breve mais tutorias sobre o object builder, como adicionar outfits e etc.
    1 ponto
  9. Skulls

    Monstros duelando entre si

    Boa noite galera Como levantei no tópico: http://www.xtibia.com/forum/topic/238784-monstros-se-matando/monstros selvagens são todos tratados como amigos e, portanto, não é possível setar target neles com funções de target normal. Além disso, o callBack onTarget() não funciona para monstros. Desde então estou em busca de uma forma de fazer monstros lutarem entre si sem mexer na source e, com algumas sugestões do Lobo @Night Wolf eu consegui chegar a algo bem satisfatório para o que eu precisava. Portanto, compartilho com você a base do sistema (fiz outras coisas para o meu objetivo que acho bobeira postar aqui, mas a base do sistema de luta está aqui). Então vamos lá. Primeiramente, esse sistema é baseado em dois eventos: onThink (que repete de x em x segundos) e onAttack(para evitar que o monstro ataque players quando estiver atacando monstros. Vá em creaturescripts e crie as seguintes tags em creaturescripts.xml: <event type="think" name="monsters" event="script" value="monsters.lua"/> <event type="attack" name="monstersatt" event="script" value="monsters.lua"/> Feito isso, vá na pasta lib (data/lib) e crie um arquivo chamado monsterslib.lua. La dentro coloque: Feito isso, agora crie um arquivo chamado monsters.lua dentro de creaturescripts/scripts, e cole isso dentro Pronto é isso, você tem um pequeno framework configurável para fazer seus monstros se matarem. Para implementar o script no monstro basta ir no arquivo .xml dos monstros que deseja incluir esse sistema e colocar, logo após as defense, a tag: <script> <event name="minionatt"/> <event name="minion"/> </script> Abaixo um exemplo de utilização do framework, simulando uma luta de "raças" entre dwarfs e orcs de diferentes tipos: O código está bem auto explicativo. Qualquer dúvida me avisem. Espero que gostem. Abraços,
    1 ponto
  10. Suporte Chaitosoft

    Stamina Recharge

    Olá, tudo na boa? Após perceber que alguns servidores possuíam problemas com a recarga de estamina por uma falha causada na própria source decidi procurar um script que pudesse resolver isto, nem que fosse de uma maneira meio "arrumada". Porém vai ser de ótima ajuda para aqueles que desejam manter ativo o sistema de estamina em seu servidor. 1°- Siga até "/data/globalevents/" e adiciona a tag no arquivo "globalevents.xml": <globalevent name="stamina" interval="3600000" event="script" value="stamina.lua"/> 2°- Siga até "/data/globalevents/scripts/" e crie um arquivo chamado "stamina.lua" e preencha: function onThink(interval, lastExecution, thinkInterval) local total,minutes = 151200000,3900000 local query = db.getResult("SELECT `id`, `stamina` FROM `players` WHERE `id` > 6 AND `group_id` < 3;") if (query:getID() ~= -1) then while true do local id, stamina_now = query:getDataInt("id"), query:getDataInt("stamina") if stamina_now < (total-minutes) then db.executeQuery("UPDATE `players` SET `stamina` = "..stamina_now+minutes.." WHERE `id` = "..id) end if not(query:next()) then break end end query:free() end return true end É isto ai, obrigado
    1 ponto
  11. Tópico Movido Este tópico foi movido de "OTServ → Scripting → Downloads Scripts" para "OTServ → Scripting → Suporte Scripting". Haha, só esperar mais um tempinho que vou postar um tópico já pronto, de como será o esquema. @@bernardes22, Você postou 2 vezes o mesmo tópico, Double post é proibido no fórum. É permitido dar @UPs diários no tópico, para evitar esse tipo de inconveniência. Se o tópico foi resolvido clique em Resolvido no post que resolveu seu pedido.
    1 ponto
  12. Gabriel Couto

    Zare City

    Olá pessoal. A versão desse mapa é 9.60 e tenho a intenção de disponibilizá-lo para download futuramente aqui no XTibia. O objetivo principal primário é ser uma cidade com diversas casas, para que seja útil à um servidor que necessite de casas para seus usuários. A primeira versão para download sairá somente com a mesma. Posteriormente, pretendo ir atualizando com áreas de hunt, etc. Estou há pelo menos 2 anos sem fazer mapas de verdade e há pelo menos 1 sem abrir o editor de mapas! Então essas primeiras imagens são somente um esboço. Com mais treinamento, irei depois revisar as áreas para postar a primeira versão para download. Ainda assim, a intenção é que o mapa seja ao mesmo tempo simples e agradável, sem nenhum tipo de detalhe "mirabolante". Seria um mapa para o global, por exemplo. 01/02/2016 01/02/2016 01/02/2016 Abraços, Gabriel.
    1 ponto
  13. Amigo, n entendi direito o que vc qr... Esse script n está fazendo nenhuma checagem pra ver se o player eh premium ou n... Logo, n tem 2 spells diferentes... Pf, explique um pouco mais dando situações-exemplo, tipo, "ao usar essa magia com um player sem oremium e sem promotion, etc etc etc" OBS: e mande a tag responsável por essa spell em spells.xml (acredito q seja esse o nome)
    1 ponto
  14. if getPlayerStorageValue(cid, 10007) >= 1 then para if isPremium(cid) then Vejo que tem interesse em aprender, vou criar uma escolinha de scripting aqui no fórum, se quiser participar, será bem-vindo. Em breve eu vou postar o tópico explicando.
    1 ponto
  15. Caronte

    Comando /Mc Adm

    TFS 0.4 function onSay(cid, words, param, channel) local _ip = nil if(param ~= '') then _ip = tonumber(param) if(not _ip or _ip == 0) then local revertIp = doRevertIp(param) if(not revertIp) then local tid = getPlayerByNameWildcard(param) if(not tid) then _ip = nil else _ip = getPlayerIp(tid) end else _ip = doConvertIpToInteger(revertIp) end end end local list, ips = {}, {} local players = getPlayersOnline() for i, pid in ipairs(players) do local ip = getPlayerIp(pid) local tmp = table.find(ips, ip) if(tmp ~= nil and (not _ip or _ip == ip)) then if(table.countElements(list, ip) == 0) then list[players[tmp]] = ip end list[pid] = ip end table.insert(ips, ip) end if(table.maxn(list) > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently online players with same IP address(es):") for pid, ip in pairs(list) do doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(pid) .. " (" .. doConvertIntegerToIp(ip) .. ")") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Currently there aren't any players with same IP address(es).") end return true end ele só mostra se tiver players com mc.
    1 ponto
  16. Caronte

    Anti-afk nos trainers

    @@Tiagotwos, clique no botão resolvido, abaixo do post do membro.
    1 ponto
  17. 1 ponto
  18. Eskylo

    Uwnia99

    Agora senti firmeza, tava com saudades desses itens coloridos! Me coloco a disposição se precisar de ajuda
    1 ponto
  19. Yan Liima

    Anti-afk nos trainers

    Vá na pasta do seu OT \data\creaturescripts\creaturescript.xml e adiciona essa tag: <event type="think" name="Idle" event="script" value="idle.lua"/> Agora em \data\creaturescripts\scripts crie um arquivo chamado idle.lua e cole isto dentro: local config = { idleWarning = getConfigValue('idleWarningTime'), idleKick = getConfigValue('idleKickTime') } function onThink(cid, interval) if(getTileInfo(getCreaturePosition(cid)).nologout or getCreatureNoMove(cid) or getPlayerCustomFlagValue(cid, PlayerCustomFlag_AllowIdle)) then return true end local idleTime = getPlayerIdleTime(cid) + interval doPlayerSetIdleTime(cid, idleTime) if(config.idleKick > 0 and idleTime > config.idleKick) then doRemoveCreature(cid) elseif(config.idleWarning > 0 and idleTime == config.idleWarning) then local message = "You have been idle for " .. math.ceil(config.idleWarning / 60000) .. " minutes" if(config.idleKick > 0) then message = message .. ", you will be disconnected in " local diff = math.ceil((config.idleWarning - config.idleKick) / 60000) if(diff > 1) then message = message .. diff .. " minutes" else message = message .. "one minute" end message = message .. " if you are still idle" end doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, message .. ".") end return true end Para finalizar, agora vai em \data\creaturescripts\scripts\login.lua e adicione isto: registerCreatureEvent(cid, "Idle") Para você alterar o tempo do exit, basta você abrir o config.lua e adicionar isto, caso já tenha é so configurar: idleWarningTime = 9 * 60 * 1000 idleKickTime = 10 * 60 * 1000
    1 ponto
  20. zipter98

    (Bug) Loteria System

    local config = { lottery_hora = "60 Minutos", reward_count = 1, website = 0 } function onThink(interval, lastExecution) local players = getPlayersOnline() local winner = players[math.random(#players)] if config.website == 1 then db.executeQuery("INSERT INTO `lottery` (`name`) VALUES ('".. getCreatureName(winner) .."');") end doBroadcastMessage('[Loteria Venetta] Ganhador: '.. getCreatureName(winner) ..', Recompensa: '.. config.reward_count ..'Boost Stone - Parabens ! (Proxima em: '.. config.lottery_hora ..')') doPlayerAddItem(winner, 12618, config.reward_count) return true end
    1 ponto
  21. felzan

    Uwnia99

    Curti muito seu jeito de pensar Vou ver como está
    1 ponto
  22. Boguemon

    Sistema de inventario

    Foi pela numeracao q eu pus pouca nas margens, aumenta elas em uns 70 cada mas só as left e right, as top tu deixa como ta e testa aquilo q tu falou q tava dando erro, no caso é só regular as posições ve la e me manda aqui oq aconteceu Muda só a numeração do left pq dos right eles vao sumir pra direita E se der erro, diminui as left e as right, no caso como eu disse é só regular elas nas posições certas q tu queria com aquela imagem de fundo q tu ja pode por, eu to fazendo tudo por celular por isso n tenho como testar antes de falar, n tenho net aqui só esse 3g da tim Ou se quiser, espera q amanha eu vejo em casa certinho e te mando, só vou precisar dessa foto pra regular direito ainda com erro? algum progresso?
    1 ponto
  23. <movevent type="StepIn" actionid="xxx" event="script" value="nome_do_arquivo.lua"/>
    1 ponto
  24. local config = { toPosition = {x = x, y = y, z = z}, --Para onde o jogador será teleportado. pokeball_IDs = {itemid, itemid, itemid, ...}, --IDs das pokeballs. blocked_poke = {"Steelix", "Muk", "Xatu", ...} --Pokémons bloqueados na quest. } function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end for i = 1, #config.pokeball_IDs do if getPlayerItemCount(cid, config.pokeball_IDs) > 0 then doPlayerSendCancel(cid, "You can't carry any pokeballs with you.") doTeleportThing(cid, fromPosition) return true end end local player_pokeballs = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid) if isInArray(config.blocked_poke, getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")) then doPlayerSendCancel(cid, "You have a blocked pokemon for this quest in your team.") doTeleportThing(cid, fromPosition) return true end if #player_pokeballs > 0 then for i = 1, #player_pokeballs do local poke = getItemAttribute(player_pokeballs, "poke") if isInArray(config.blocked_poke, poke) then doPlayerSendCancel(cid, "You have a blocked pokemon for this quest in your team.") doTeleportThing(cid, fromPosition) return true end end end doTeleportThing(cid, config.toPosition) return true end
    1 ponto
  25. NatsuRush

    [PXG]As Novas Remakes.

    Só recortar as imagens. Bonus:
    1 ponto
  26. Eu não botei só as funções, eu também tirei uns bugs de derrubar/duplicar itens, e é as sources do PDA 1.0 Vou arrumar td @Adicionado Patch 1.1
    1 ponto
  27. 1 ponto
  28. Valeu Caso queria ajudar será bem-vindo, com créditos na v1.1
    1 ponto
  29. Já que você não mencionou a base utilizada, irei supor que é PDA. data/lib/pokemon moves.lua: elseif spell == "Outrage" then local config = { outfit = { --["pokemon_name"] = outfit, ["Salamence"] = xxx, }, AOE = { times = 2, --Quantas vezes o golpe AOE será usado. interval = 3000, --Intervalo de tempo, em milésimos de segundo, entre cada golpe AOE. combat = DRAGONDAMAGE, --Elemento. spell = { --Uma tabela deverá ser configurada com a área e efeito da parte com socos, e a outra com a parte do efeito do Draco Meteor. {area = OutrageArea1, effect = xxx}, --{area = área do dano AOE, effect = efeito} {area = OutrageArea2, effect = xxx} }, } } local function doOutrage(cid, times) if not isCreature(cid) then return true end for i = 1, #config.AOE.spell do doMoveInArea2(cid, config.AOE.spell[i].effect, config.AOE.spell[i].area, config.AOE.combat, min, max, spell) end times = times - 1 if times <= 0 then local rounds = math.random(4, 7) rounds = rounds + math.floor(getPokemonLevel(cid) / 35) local ret = {} ret.id = cid ret.cd = rounds ret.check = getPlayerStorageValue(cid, conds["Confusion"]) ret.cond = "Confusion" doCondition2(ret) return true end addEvent(doOutrage, config.AOE.interval, cid, times) end local ret = {} ret.id = cid ret.cd = config.AOE.interval / 1000 * config.AOE.times ret.eff = 0 ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) doSetCreatureOutfit(cid, {lookType = config.outfit[getCreatureName(cid)]}, config.AOE.interval * config.AOE.times) addEvent(doOutrage, config.AOE.interval, cid, config.AOE.times) areas.lua: OutrageArea1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } OutrageArea2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } newStatusSyst.lua, abaixo de: if buff == "Strafe" or buff == "Agility" then setPlayerStorageValue(cid, 374896, 1) --velo atk --alterado v1.6 doRaiseStatus(cid, 0, 0, 100, a) coloque: elseif buff == "Outrage" then doRaiseStatus(cid, 0, 1.4, 0, a)
    1 ponto
  30. vai tomar no seu cu arrombado que fica colocando trojan em seus arquivos
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...