Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 09/17/22 em todas áreas

  1. Tinha visto isso no servidor do MegaTibia / Kaldrox e achei bem interessante. Todos os tópicos que encontrei sobre o assunto de alterar a cor das mensagens dos GMs, CMs e ADM no channel Help para vermelho, falavam que tinham que fazer uma configuração na própria source do servidor. Fiz uma gambiarra que funciona, sem a necessidade de mexer na source do servidor e de utilizar comandos para isso. Testei somente em TFS 0.4 e funciona tranquilamente. segue abaixo como configurar em seu otserver: data > talkactions > scripts > crie um arquivo chamado gmsayred.lua e cole o código abaixo: function onSay(cid, words, param, channel) if channel == CHANNEL_HELP then for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', "".. getCreatureName(cid) .. ": ".. words, TALKTYPE_CHANNEL_R1, CHANNEL_HELP) end return true end end em talkactions.xml cole a tag abaixo: <!-- Gamemasters --> <talkaction default="yes" filter="quotation" logged="no" access="3" event="script" value="gmsayred.lua"/> e pronto! Agora é só enviar alguma mensagem no Help que a mensagem ficará em vermelho.
  2. Alavanca de troca [X itens por Y itens]

    Nerivalhs reagiu a lordzetros por uma resposta no tópico

    1 ponto
    Olá, Bom... teve um pedido no Discord da TK feito por algum usuário (não estou recordando o nome) que estava tendo dificuldades em fazer determinado script, então decidi fazê-lo. É algo simples, eu já tinha enviado lá no canal de suporte, porém, como já de conhecimento por muitos, o canal foi removido. Decidi refazer de uma forma melhor e mais prática. * Sobre o Script * Quando o jogador utilizar a alavanca para ganhar determinado(s) item(s), ele terá que ter deixado em POSIÇÕES DEFINIDAS alguns itens, sendo assim, possível efetuar a troca. Simples, não? Caso ainda não tenha entendido, tem imagem abaixo de como funciona o mesmo. * Imagens demonstração * Tentando efetuar a troca sem tá com os itens posicionados de forma correta... Efetuando a troca de forma correta. * Instalando o Script * Em data/actions/scripts/ crie um arquivo chamado alavanca_troca.lua e cole isto dentro: --[[ Lordzetros - TK ]] local config_itens = { {id = 2666, pos = {144,63,6}, count = 1}, -- ID DO ITEM NECESSÁRIO, POSIÇÃO QUE DEVE FICAR, QUANTIDADE DE ITEM NECESSÁRIO {id = 2667, pos = {145,63,6}, count = 1}, {id = 2671, pos = {146,63,6}, count = 1}, -- Caso queira colocar outro item, basta seguir esse modelo (ctrl + c) } local config_troca = { msg_falha = "Falha na troca do item. Necessario: %dx %s em sua devida posicao!", msg_sucesso = "A troca foi efetuada com sucesso!", recompensas = {{id = 2003, count = 1}, {id = 2004, count = 1}} -- Para deixar apenas uma recompensa, apenas deixe recompensas = {{id = ID_DO_ITEM_A_GANHAR, count = QUANTIDADE_A_GANHAR}} } function onUse(player, item, fromPosition, target, toPosition, isHotkey) local ax_t = {} for i, v in ipairs(config_itens) do local vt = Tile(Position(v.pos[1], v.pos[2], v.pos[3])) local item_t = vt:getItemById(v.id) if (not item_t or item_t:getCount() < v.count) then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(36, config_troca.msg_falha:format(v.count, ItemType(v.id):getName())) return false end table.insert(ax_t, {item_t, v.count}) end for i, v in ipairs(ax_t) do v[1]:remove(v[2]) end for i, v in ipairs(config_troca.recompensas) do player:addItem(v.id, v.count) end player:sendTextMessage(36, config_troca.msg_sucesso) player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_RED) return true end Em seguida, coloque esta linha de código abaixo de uma semelhante em data/actions/actions.xml <action actionid="30258" script="alavanca_troca.lua" /> Para finalizar, abre seu editor de mapa e coloque em algum alavanca o actionID = 30258 * Configurando o Script * Tá tudo comentado no código, portanto, vou falar só por cima. {id = 2666, pos = {144,63,6}, count = 1} Nesta parte, você deve colocar o id do item necessário, a posição que ele deve ficar e a quantidade. E nesta parte você configura a recompensa do jogador recompensas = {{id = 2003, count = 1}, {id = 2004, count = 1}} Id do item que ele ganhará e quantidade Enfim, script simples, porém, pode ser útil para muitos, assim como acredito que será para o usuário que solicitou, :). Abraços.
  3. (Resolvido)Alavanca potion.

    Nerivalhs reagiu a Leomonti por uma resposta no tópico

    1 ponto
    Boa tarde galera.. alguem pode me ajudar em um script? "script que ao clicar na alavanca compra potions" eu ja tenho esse script: mais queria modificar queria que o player sem "cap" suficiente nao conseguisse comprar. e tbm alem da msg que aparece no "default" aparecer sem cima da alavanca tipo essa msg: (success) e so uma coisa.. a alanca nao mexesse ela so fica na posição 1945 obrigado desde ja.. valendo rep++
  4. (Resolvido)Alavanca potion.

    Nerivalhs reagiu a Dwarfer por uma resposta no tópico

    1 ponto
    local config = { money = 10000, -- Dinheiro que vai custar item = 7591, -- ID do item que vai vender count = 100, -- Quantidade } function onUse(cid, item, fromPosition, itemEx, toPosition) local p = getPlayerPosition(cid) if getPlayerFreeCap(cid) < getItemWeightById(config.item, config.count) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você não tem cap suficiente para ".. config.count.." "..getItemNameById(config.item)..".") doSendMagicEffect(p, CONST_ME_POFF) return true end if not doPlayerRemoveMoney(cid, config.money) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você não possui "..config.money.. " gold coins.") doSendMagicEffect(p, CONST_ME_POFF) return true end doPlayerAddItem(cid, config.item, config.count) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você comprou "..config.count.." "..getItemNameById(config.item)..".") doSendAnimatedText(toPosition, "SUCCESS!", COLOR_TEAL) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo