-
Total de itens
1185 -
Registro em
-
Última visita
-
Dias Ganhos
36
Tipo de Conteúdo
Perfis
Fóruns
Calendário
Publique
Tudo que MaXwEllDeN postou
-
Me passa seu spells.xml. Preciso ver uma coisa
-
CreatureScript%2FGlobalEvent%2FMoveMent Spell Info ao avançar o level
MaXwEllDeN respondeu ao tópico de MaXwEllDeN em Scripts tfs 0.4 (OLD)
2º O string explode separa uma string com base em um padrão. Como por exemplo nesse script. Caso em vez de uma ocorrência como "1;2;3;4;5", ele encontre algo assim "1", ele vai retornar a própria string. E não, o ; não serve como quebra de linha. Na verdade ele funciona assim: O primeiro for pega todo o conteúdo de uma tag de Spell usando esse padrão: <instant name="(.-)</instant> No caso, se eu tiver um arquivo spells.xml com alguma spell assim: <instant name="KAMUI" words="kamui in" lvl="120" mana="200" prem="1" blockwalls="1" exhaustion="1000" needlearn="0" event=" -
(Resolvido)Funçao doPlayerSendChannelMessage
MaXwEllDeN respondeu ao tópico de Nextbr em Suporte Tibia OTServer (Resolvidos)
[+] Eu vi essa um script parecido com esse em um ot Server que funciona como [Death Channel] ai eu estou querendo adaptar para Pokemon Rep+ Para quem Ajudar Essa função manda uma mensagem em um determinado channel que o player tenha aberto no momento. -
Gostei, cara. Boa sorte com seu projeto ^_^. Poderia me ensinar como fez para deixar esse background nos ítens um pouco transparente? Como por exemplo na opção das Montarias.
-
CreatureScript%2FGlobalEvent%2FMoveMent Spell Info ao avançar o level
MaXwEllDeN respondeu ao tópico de MaXwEllDeN em Scripts tfs 0.4 (OLD)
Tenta assim: if not SERVER_SPELLS then SERVER_SPELLS = {} local file = io.open("data/spells/spells.xml") local str = file:read("*all") file:close() for line in str:gmatch("<instant name=\"(.-)</instant>") do for voc in line:gmatch("<vocation id=\"(.-)\"") do for _, vocation in pairs(string.explode(voc, ";")) do if SERVER_SPELLS[tonumber(vocation)] then table.insert(SERVER_SPELLS[tonumber(vocation)], line:match("(.-)\"")) else SERVER_SPELLS[tonumber(vocation)] = {line:match("(.-)\"")} end end end end end function onAdvance(cid, skill, -
Opa, perdão. Uma linha que acabei esquecendo de tirar enquanto testava o código. Pode copiar de novo no meu antigo post!
-
Bem, pessoal. O script foi criado a partir do pedido do membro loreal: Sem mais delongas, para instalar é simples: Crie o arquivo creaturescripts/scripts/advancespells.lua e adicione o seguinte conteúdo: function onAdvance(cid, skill, oldLevel, newLevel) if skill == SKILL__LEVEL then local spells = {} for index = 0, getPlayerInstantSpellCount(cid) - 1 do local spell = getPlayerInstantSpellInfo(cid, index) if spell.level > oldLevel and spell.level <= newLevel then table.insert(spells, " [".. spell.name .."] \"".. spell.words .. "\" Mana[".. spell.mana
-
Não cheguei a testar creaturescripts/scripts/advancespells.lua if not SERVER_SPELLS then SERVER_SPELLS = {} local file = io.open("data/spells/spells.xml") local str = file:read("*all") file:close() for line in str:gmatch("<instant name=\"(.-)</instant>") do for voc in line:gmatch("<vocation id=\"(.-)\"") do for _, vocation in pairs(string.explode(voc, ";")) do if SERVER_SPELLS[tonumber(vocation)] then table.insert(SERVER_SPELLS[tonumber(vocation)], line:match("(.-)\"")) else SERVER_SPELLS[tonumber(vocation)] = {line:match("(.-)\"")} end e
-
Que ótima ideia. Iria facilitar e agilizar bastante o trabalho de quem curte fazer uns mods para OT Client. Espero que não se importe se eu utilizar sua ideia para desenvolver um em Python, somente com fins didáticos. Curti muito a ideia.
-
(Resolvido)Pedido Catapulta sistem
MaXwEllDeN respondeu ao tópico de sertthoon em Suporte Tibia OTServer (Resolvidos)
actions/actions.xml : <action actionid="2101" event="script" value="catapulta.lua"/> E não esquece de colocar a actionid na catapulta pelo map editor. -
Isso, caso não possua as tags, pode usar essas: <!-- Weapons enchanting (Gems) --> <action itemid="2146" event="script" value="other/enchanting.lua"/> <action itemid="2147" event="script" value="other/enchanting.lua"/> <action itemid="2150" event="script" value="other/enchanting.lua"/> <action itemid="2149" event="script" value="other/enchanting.lua"/> <action itemid="7759" event="script" value="other/enchanting.lua"/> <action itemid="7760" event="script" value="other/enchanting.lua"/> <action itemid="7761" event="script" value="other/ench
-
(Resolvido)Pedido Catapulta sistem
MaXwEllDeN respondeu ao tópico de sertthoon em Suporte Tibia OTServer (Resolvidos)
local config = { shoot = "cima", -- Direção do tiro -- "cima" -- "baixo" -- "direita" -- "esquerda" damage = {100, 500}, -- Dano mínimo e máximo, respectivamente ammo_id = 2160, -- Itemid da pedra ammo_shoot = 10, -- Quantas stones para um "tiro" ammo_pos = {x = 160, y = 54, z = 7}, -- Posição onde as stones vão ficar } local area = createCombatArea({ {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, {1, 1, 1} }) local aux = { ["cima"] = {0, -10}, ["baixo"] = {0, 10}, ["direita"] = {10, 0}, ["esquerda"] = {-10, 0}, } function onUse(cid, item, frompos, item2, tp) local pos = {x = -
-- [( Script edited by DoidinMapper )] -- function onUse(cid, item, fromPosition, item2, toPosition) local gems = {2146, 2147, 2149, 2150} local egems = {7759, 7760, 7761, 7762} local altars = {{7508, 7509, 7510, 7511}, {7504, 7505, 7506, 7507}, {7516, 7517, 7518, 7519}, {7512, 7513, 7514, 7515}} local weapons = {2383, 7384, 7389, 7406, 7402, 2429, 2430, 2435, 7380, 2454, 2423, 2445, 7415, 7392, 2391, 2544, 8905} local eweapons = {{7763, 7744, 7854, 7869}, {7765, 7746, 7856, 7871}, {7770, 7751, 7861, 7876}, {7766, 7747, 7857, 7872}, {7767, 7748, 7858, 7873}, {7768, 7749, 7859, 7874}, {776
-
AutoEquipar clickando em um Item[AJUDA]
MaXwEllDeN respondeu ao tópico de vpa1 em Suporte Tibia OTServer
Quando houver um item dentro da backpack que não seja "equipável" ou não seja da parte do set em si, o que aconteceria? Quando eu clicar na backpack e já possuir algo equipado, ele simplesmente abririra a backpack como se fosse uma bp normal? -
Minha depressão é porque tô deprimido.
-
[CTF] Capture The Flag 2.0(Automático)
MaXwEllDeN respondeu ao tópico de MaXwEllDeN em Sistemas, Mods & Funções .lua
Me desculpe por não te ensinar a ler, realmente foi meu erro fazer esse script para a comunidade. Perdão mesmo. -
Hoje sou um novato, amanhã um novo OTserv
MaXwEllDeN respondeu ao tópico de NepzSmith em Playground (Off-topic)
Bem vindo ao TK. Tenha uma ótima estadia (: E boa sorte com seu servidor. -
[CTF] Capture The Flag 2.0(Automático)
MaXwEllDeN respondeu ao tópico de MaXwEllDeN em Sistemas, Mods & Funções .lua
Você não há via removido essa "tralha não-funcional" do seu OT? Para pegar a bandeira é pisando no tile cuja posição para configurar está descrita na lib. E sim, você vai ter que fazer o mapa Sobre adicionar o outro item ao vencedor: Tem uma função que é executada pra acabar o evento, ela que adicionar todos os ítens aos vencedores, lê a lib e tenta adicionar. Sobre o looktype, já está configurado, não? -
Uma pequena modificação nessa Action
MaXwEllDeN respondeu ao tópico de Frenesy em Suporte Tibia OTServer
Ah, um exemplo de um dialog normal mesmo. -
Uma pequena modificação nessa Action
MaXwEllDeN respondeu ao tópico de Frenesy em Suporte Tibia OTServer
Me mostra um exemplo pra eu ver como é. Se me lembro bem, ele define os dialogs quando tá carregando o script. E mais tarde, ele só faz ler os dialogs que já estão definidos. Por isso seria necessário criar dois dialogs, e na hora, só escolher qual mostrar -
Uma pequena modificação nessa Action
MaXwEllDeN respondeu ao tópico de Frenesy em Suporte Tibia OTServer
Creio que você teria que fazer dois dialogs com a mesma estrutura, mas só mudando o nome. Ai caso a storage assumisse um valor, você enviava um dialog, caso fosse outro valor, enviava outro dialog. Se pudesse postar o resto do script, eu ajeitava pra você. Não lembro qual lógica os modal dialogs seguem, hehe -
(Resolvido)[Pedido] Alterar effect
MaXwEllDeN respondeu ao tópico de Rofl em Suporte Tibia OTServer (Resolvidos)
local events = {} function getPositionsByDirection(uid) pos = getCreaturePosition(uid) positionsByDirection = { [1] = {x = pos.x + 1, y = pos.y, z = pos.z, stackpos = 0}, [2] = {x = pos.x, y = pos.y + 1, z = pos.z, stackpos = 0}, [3] = {x = pos.x - 1, y = pos.y, z = pos.z, stackpos = 0}, [4] = {x = pos.x, y = pos.y - 1, z = pos.z, stackpos = 0}, } return positionsByDirection end function changeOutfit(cid) local sec = 0.5 if not isPlayer(cid) then return false end local positions = getPositionsByDirection(cid) local last = last or 1 local last = (positions[last] -
(Resolvido)[Pedido] Alterar effect
MaXwEllDeN respondeu ao tópico de Rofl em Suporte Tibia OTServer (Resolvidos)
Estranho, testei aqui e funcionou de boa. Tenta assim: local interval = 0.5 -- Em segundos local function getPositions(uid) local pos = getCreaturePosition(uid) local ret = { [1] = {x = pos.x + 1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y + 1, z = pos.z}, [3] = {x = pos.x - 1, y = pos.y, z = pos.z}, [4] = {x = pos.x, y = pos.y - 1, z = pos.z}, } return ret end function changeOutfit(cid, last) local sec = 0.5 if not isPlayer(cid) then return false end local positions = getPositions(cid) local last = last or 1 local last = (positions[last] a -
(Resolvido)Ordenar tabela
MaXwEllDeN respondeu ao tópico de MarceLoko em Suporte Tibia OTServer (Resolvidos)
Desse modo vai ordenar em ordem decrescente: local t = {{1,30},{2,35},{3,55},{4,20},{5,70}} table.sort(t, function(a, b) return a[2] > b[2] end) for i, v in ipairs(t) do print(v[1] .. " = ".. v[2]) end Desse em ordem decrescente: local t = {{1,30},{2,35},{3,55},{4,20},{5,70}} table.sort(t, function(a, b) return a[2] < b[2] end) for i, v in ipairs(t) do print(v[1] .. " = ".. v[2]) end -
(Resolvido)[Pedido] Alterar effect
MaXwEllDeN respondeu ao tópico de Rofl em Suporte Tibia OTServer (Resolvidos)
local interval = 0.5 -- Em segundos local function getPositions(uid) local pos = getCreaturePosition(uid) local ret = { [1] = {x = pos.x + 1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y + 1, z = pos.z}, [3] = {x = pos.x - 1, y = pos.y, z = pos.z}, [4] = {x = pos.x, y = pos.y - 1, z = pos.z}, } return ret end function changeOutfit(cid, last) local sec = 0.5 if not isPlayer(cid) then return false end local positions = getPositions(cid) local last = last or 1 local last = (positions[last] and last) or 1 local next = (last == #positions) and 1 or last +
TibiaKing
Open Tibia Server
Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.
Anuncie no TibiaKing
Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no OTKing e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!