Ir para conteúdo

Demonbholder

Infante
  • Total de itens

    1551
  • Registro em

  • Última visita

  • Dias Ganhos

    24

Tudo que Demonbholder postou

  1. O script ficou interessante, parabéns! Só para esclarecer, créditos para: Dias Otonwer e Duduzz, certo? Abraços.
  2. Merlink, este tipo de comentário é considerado flood. Tenha cuidado da próxima vez cara. Abraços.
  3. Acho que é esse que você esta procurando: http://www.xtibia.com/forum/topic/157382-sistema-npc-gym-para-pokemon/ Abraços.
  4. Pow, bacana essa ai hein! Se eu já estivesse com o meu projeto um pouco mais adiantado com certeza compraria. Vou dar uma olhada, abraços.
  5. Quem viu o script logo que eu postei pode perceber que eu mudei um pouco, antes estava com número e um pouco mais difícil de entender. Agora ta tranquilo, valeu pelos comentários. Abraços.
  6. Achei legal, embora eu também não goste da edição da imagem. Enfim, não entendo muito, mas parece que ficou bom. Abraços.
  7. Faaala pessoal, estive um pouco ausente, pois estava bem ocupado, tanto com as novidades que estão por vir no XTibia, quanto com a minha vida pessoal. Enfim, o que importa é que eu fiz esse script agora pouco, e eu acho que pode ser útil no seu OT Serv. Como funciona: É um sistema de busca melhorado, você fala a talkaction junto com dois ou um parâmetro. No caso de um único parâmetro é para checar quais são as possíveis buscas. Você poderá editar o script para adicionar mais buscas, mas eu fiz apenas de nome, nível e sexo. Então você fala !search check e isso aparecerá: O que esta em negrito é o que você vai poder adicionar mais no script. Ensinarei no final como adicionar mais. Quando você usar dois parâmetros, deve ser como o exemplo ali em cima. No exemplo acima, esta !search level,100 isso quer dizer que o script vai mostrar o nome dos jogadores que possuem o level 100. Talkaction function getInformation(pa) local n = {} local pla = tonumber(db.getResult("SELECT `id` FROM `players` ORDER BY `id` DESC;"):getDataString("id")) local t = {} for i = 1, pla do info = {"name", "level", "sex"} for a, b in pairs(info) do local data = db.getResult("SELECT `"..b.."` FROM `players` WHERE `id` = "..i..";"):getDataString(b) table.insert(n, data) end table.insert(t, n) n = {} end return pa and info or t end function onSay(cid, words, param) local str = nil if param == "" then return TRUE, doPlayerSendCancel(cid, "Wrong param.") end if param == "check" then for _, da in pairs(getInformation(TRUE)) do str = str == nil and "First param: \n\n" .. da or str .. "\n" .. da end str = str .. "\n\nSecond param: Match result \n\nExemple: "..words.." level,100" return doShowTextDialog(cid, 2160, str), TRUE end local par = string.explode(param, ",") if par[2] == nil or par[2] == "" then return TRUE, doPlayerSendCancel(cid, "Wrong param.") end local ta = {} for z, a in pairs(getInformation()) do for b, c in pairs(a) do if table.find(getInformation(TRUE), par[1]) == b and c == par[2] then table.insert(ta, getInformation()[z][1]) end end end for _, d in pairs(ta) do str = str == nil and d or str .. "\n" .. d end return str and doShowTextDialog(cid, 2160, str) or doPlayerSendTextMessage(cid, 4, "No players found."), TRUE end Crie um arquivo .lua em data/talkactions/scripts e cole o script acima. Depois vá em data/talkactions, abra o arquivo talkactions.xml e cole esta tag: <talkaction words="!search" script="NomeDoArquivo.lua" /> Refinando ainda mais sua busca: Ache esta linha no script: {"name", "level", "sex"} Para adicionar mais quesitos para a busca, siga o exemplo: {"name", "level", "sex", "vocation", "cap"} Os nomes dos quesitos são de acordo com a database do seu OT Serv. Espero que tenha ficado claro, obrigado.
  8. Haha npc bem interessante, ele da os poderes do hachibi do anime naruto certo? Legal, parabéns!
  9. Consegui fazer um rank aqui, vamos ver se funciona, lá vai: Vai em data/talkactions/scripts, cria um arquivo .lua e cola isso: function onSay(cid, words, param) local tab = getDbSto() local n = {} local t = {} local m = {} local l = {} local str = nil for i = 1, #tab do if tonumber(db.getResult("SELECT `online` FROM `players` WHERE `id` = "..tab[i]..";"):getDataString("online")) == 0 then table.insert(n, tonumber(db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = "..tab[i].." AND `key` = 34571;"):getDataString("value"))) table.insert(t, tonumber(db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = "..tab[i].." AND `key` = 34571;"):getDataString("value"))) table.insert(m, db.getResult("SELECT `name` FROM `players` WHERE `id` = "..tab[i]..";"):getDataString("name")) else for _, pid in pairs(getPlayersOnline()) do if getPlayerGUID(pid) == tab[i] then table.insert(n, getPlayerStorageValue(pid, 34571)) table.insert(t, getPlayerStorageValue(pid, 34571)) table.insert(m, getCreatureName(pid)) end end end end local f = doOrderTab(n, 0) for r = 1, #f do local pos = table.find(t, f[r]) table.insert(l, m[pos]) table.remove(m, pos) table.remove(t, pos) end for h, g in pairs(f) do str = str and str .. "\n" .. l[h] .. " : " .. g or l[h] .. " : " .. g end return TRUE, doShowTextDialog(cid, 2160, str) end function getDbSto() local data = tonumber(db.getResult("SELECT `id` FROM `players` ORDER BY `id` DESC;"):getDataString("id")) c = {} for i = 1, data do w = 0 local t = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = "..i.." AND `key` = 34571;") for d, s in pairs(t) do w = w + 1 if w == 2 then table.insert(c, i) end end end return c end function doOrderTab(tabela, value) max = {} for i = 1, table.maxn(tabela) do valor = value for a, b in ipairs(tabela) do if b > valor then valor = b end end table.remove(tabela, table.find(tabela, valor)) if valor ~= value then table.insert(max, valor) end end return max end Depois vai em data/talkactions, abre o arquivo talkactions.xml e cola essa tag: <talkaction words="!duelrank" script="NomeDoArquivo.lua" /> Edita o NomeDoArquivo e as words se quiser. Da uma testada e avisa se funcionou.
  10. Demonbholder

    Sword D'gelo

    Pedido resolvido, reportado para seção de Pedidos de Scripts Atendidos. Caso precise de ajuda quanto a este script, utilize este mesmo tópico. Abraços.
  11. TeamSky e cmgabriel adicionados para testes. Continuem se inscrevendo. Precisamos urgente de um spriter. Abraços.
  12. Pelo jeito sua dúvida já foi resolvida. Vou mover para Dúvidas Sanadas de Mapping, pois algumas pessoas tem essa mesma dúvida e vem aqui nesta seção achando que é uma dúvida de mapping. Abraços.
  13. @Up Vai em mods/Event.xml, acha essa linha: <?xml version="1.0" encoding="UTF-8"?> E troca por essa: <?xml version="1.0" encoding="ISO-8859-1"?> Abraços. OBS: Isso aconteceu porque você colocou acento no mod.
  14. Congratulações pelo sistema! Muito obrigado por compartilhar com o fórum, com certeza vai ajudar muito a comunidade. Vou dar uma olhadinha no script quando puder, mas me pareceu muito bom. Parabéns! Abraços.
  15. Demonbholder

    Resolvido

    Pelo que eu entendi ele quer que alguém ajude ele em um bug do mapa e não demonstrar algum trabalho, portanto, está na seção correta. Abraços.
  16. Comece melhorando o seu português, o correto é seção. Fora isso, bom incentivo, embora que na minha opinião, não são muitos os usuários que visitam essa seção, pois a maioria simplesmente não acha interessante. Enfim, boa sorte, lhe ajudarei se estiver ao meu alcance. Abraços.
  17. Ótimo tutorial, já estou aproveitando e o aprovando! Obrigado por compartilhar com o XTibia, abraços.
  18. Então, testa ai Acha isso no script: temple = {x=160, y=51, z=7} Esta é a posição do templo.
  19. http://www.xtibia.com/forum/uploads/profile/photo-273760.png
    Isso significa o que esta escrito abaixo.
  20. O símbolo do movimento mod, inspirado naquele utilizado pela Força Aérea Britânica.
  21. Nessa tabela: monsters = { ["rat"] = {sto = -1, awa = 300}, ["skeleton"] = {sto = 3, awa = 500}, ["orc"] = {sto = 5, awa = 700}, ["rotworm"] = {sto = 7, awa = 900}, ["dwarf"] = {sto = 7, awa = 900}, ["minotaur"] = {sto = 8, awa = 1000}, ["dwarf soldier"] = {sto = 10, awa = 1200}, ["minotaur archer"] = {sto = 10, awa = 1200}, ["carrion worm"] = {sto = 10, awa = 1200}, ["slime"] = {sto = 15, awa = 1700}, ["cyclops drone"] = {sto = 18, awa = 2000}, ["minotaur guard"] = {sto = 18, awa = 2000}, ["minotaur mage"] = {sto = 23, awa = 2500}, ["dwarf guard"] = {sto = 26, awa = 2800}, ["demon skeleton"] = {sto = 30, awa = 3200}, ["dragon hatchling"] = {sto = 35, awa = 3700}, ["dragon"] = {sto = 45, awa = 5000}, } o sto é o número de vitórias necessárias (monstros iniciais é -1) e awa é o quanto que o oponente vai ganhar, em gps, por matar esse monstro.
  22. Quem tiver o mesmo problema que ele, usa esse script: function onSay(cid, words, param) if param == "" or not(isPlayer(getPlayerByName(param))) then return doPlayerSendCancel(cid, "Parâmetro incorreto.") end return setPlayerStorageValue(getPlayerByName(param), 34570, -1), TRUE end Coloca em data/talkactions/scripts. A tag deve ser essa: <talkaction words="!reset" script="NomeDoArquivo.lua" /> Troquem o NomeDoArquivo pelo nome do arquivo .lua que vocês usaram para colocar o script acima. Ai, no jogo, falem !reset NomeDoJogador --- Script editado, agora esse erro não vai mais acontecer. Lembrando que o monstro a ser sumonado dever poder ser convencido, e o dragon não é, então mude isso no seu OT Server.
  23. No seu mapa o jogador não deve poder atacar o monstro diretamente. Coloque uma parede em volta do local.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...