Ir para conteúdo
  • Cadastre-se

Action%2FTalkaction Novos comandos para Guild: war, invite, broadcast


Posts Recomendados

Testado no: TFS 0.4

 

Bom, esse script adiciona alguns comandos para auxiliar principalmente lideres de guildas, eu coloquei dois comandos padrões, porém se você tiver alguma ideia de comando, você pode adicionar na tabela.

 

/guild - Mostra a lista de comandos.

A lista de comandos aparece em um popup:

commands.png

O comando /guild mensagem é o broadcast, caso você desative-o nas configurações, ele irá sumir da lista de comandos.

O preço também é configurável e caso você desative-o nas configurações, ele irá sumir da lista de comandos.

 

- Instalação -

Na pasta "OT/Data/Talkactions/Scripts", copie e cole um arquivo.LUA, renomeie para guildHelp.lua, apague tudo e cole:

local config = {
    keys = {
	    ["war"] = {msg = " está procurando por uma guerra", info = "Procurar por uma guerra."},
	    ["invite"] = {msg = " está procurando por membros", info = "Procurar por membros para sua guilda."},
	},
    needMoney = {on = true, price = 15000}, -- Ativar custo para usar comando.
    broadcast = true,    -- Ativar mensagem livre, exemplo: /guild mensagem livre
    storage = 43095,     -- Só altere caso seja necessário
    permission = {3, 2}, -- Permissões: 3 = Leader, 2 = Vice-Leader, 1 = Member
    cooldown = 5         -- Em minutos.
}

function onSay(cid, words, param)
    local key, inf = config.keys[param], ''
    for wa, kon in pairs(config.keys) do
        inf = inf ..words.. " " ..wa.. " - " .. kon.info .."\n"
    end
	
    if config.broadcast then
        inf = inf .. words .. " mensagem - Mensagem livre."
    end
	
    if config.needMoney.on == true then
        inf = inf .. "\n\nPreço: " .. config.needMoney.price
    end

    if not isInArray(config.permission, getPlayerGuildLevel(cid)) then
        return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não tem permissão para usar esse comando.") and true
    elseif (param == "") then
        return doPlayerPopupFYI(cid, "Comandos:\n" ..inf) and true
    elseif getPlayerStorageValue(cid, config.storage) > os.time() then
        return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde ".. math.ceil(getPlayerStorageValue(cid, config.storage) - os.time()) .." segundos para usar novamente.") and true
    elseif config.needMoney.on == true then
        if doPlayerRemoveMoney(cid, config.needMoney.price) == false then
            return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não tem ".. config.needMoney.price .." gold coins.")
        end
    end
	
    if key then
        doBroadcastMessage("O jogador [".. getCreatureName(cid) .."] da guild [".. getPlayerGuildName(cid) .."]".. key.msg ..".")
        setPlayerStorageValue(cid, config.storage, os.time() + config.cooldown * 60)
    elseif not key and config.broadcast == true then
        doBroadcastMessage("Player[".. getCreatureName(cid) .."] Guild(".. getPlayerGuildName(cid) .."): "..  param) 
        setPlayerStorageValue(cid, config.storage, os.time() + config.cooldown * 60)
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Comando inválido, digite apenas '.. words ..' para ver a lista de comandos.')
    end
   return true
end

Agora em "OT/Data/Talkactions", abra o arquivo talkaction.xml e adicione:

<talkaction words="!guild;/guild" script="guildHelp.lua"/>

É isso, caso tenha alguma sugestão ou encontre algum erro, me avise.

 

Créditos: @Wakon

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por amoxicilina
      Olá Kings, venho aqui trazer uma TalkAction pra você comprar premium account, sei que pode ser algo meio inútil por existir a store.
      Então vamos script:
       
       
    • Por Erimyth
      Fala galerinha eu estava e um amigo meu me pediu um script de health e mana por talkaction por MSN, fiz ele e resolvi postar-lo aqui no TK para a galera usar-lo.

      Vá em data > talkactions > talkactions.xml e adicione a seguinte tag:

      <talkaction words="!buyhealth;!buymana" event="script" value="buylife.lua">
      Agora vá até a pasta scripts dentro de talkactions, crie um arquivo chamado buylife.lua com isto dentro:
      -- [( Script created by Matheus for TibiaKing.com )] -- function onSay(cid, words, param) local health = 1000 -- Vida que será adicionada ao player após ele usar o comando! local mana = 1000 -- Mana que será adicionada ao player após ele usar o comando! local cost = 10000 -- Preço para você comprar mana ou health! if (words == "!buymana") then if (doPlayerRemoveMoney(cid, cost) == TRUE) then doCreatureAddMana(cid, mana) doSendMagicEffect(getCreaturePosition(cid), 12) else doPlayerSendCancel(cid, "Sorry, you need "..cost.." gold coins to buy mana.") return TRUE end elseif (words == "!buyhealth") then if (doPlayerRemoveMoney(cid, cost) == TRUE) then doCreatureAddHealth(cid, health) doSendMagicEffect(getCreaturePosition(cid), 12) else doPlayerSendCancel(cid, "Sorry, you need "..cost.." gold coins to buy mana.") end return TRUE end end
      Prontinho, espero que gostem, é um script bem simples mas pode ser útil para alguns.  
        Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!? Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também!  
    • Por Danihcv
      Bom galera, faz tempo que não posto um tutorial, então resolvi trazer esse, que apesar de ser simples tem utilidade pra algumas pessoas.
       
      Esse é um sistema que eu criei pra fazer com que o god possa alterar a visão dele pra como se fosse sempre dia ou pra visão de players normais.

      1°)Como funciona:
          Quando o GOD entrar no server, ele já vai estar com a visão de "sempre dia". Se ele quiser ver que nem os players normais, basta falar /light. Se ele quiser voltar a ver "sempre dia" basta falar novamente /light
       
      2°)Instalando o sistema:
       
         Primeiramente vá em data\creaturescripts e adicione essa tag ao arquivo creaturescripts.xml:
      <event type="login" name="GodLight" event="script" value="godLight.lua"/>    Agora va em data\creaturescripts\scripts abra o arquivo login.lua e adicione isso antes do ultimo return true:
      registerCreatureEvent(cid, "GodLight")    Agora ainda na pasta data\creaturescripts\scripts crie um arquivo chamado godLight.lua e coloque isso dentro:



       
       
         Agora va na pasta data\talkactions e adicione essa tag ao arquivo talkactions.xml:
      <talkaction words="/light" event="script" access="5" value="godLight.lua"/>    Agora va na pasta data\talkactions\scripts e crie um arquivo chamado godLight.lua e coloque isso dentro:



       
      Pronto! Seu sistema está instalado.
       
      Se vc quiser que qualquer pessoa possa usar esse sistema, basta fazer o seguinte:



       
      E ao invés de colocar a tag (que está aí em cima) em talkactions.xml, coloque essa:
      <talkaction words="/light" event="script" value="godLight.lua"/>
       
       
      E isso é tudo, pessoal!
      Um sistema simples mas que pra alguns tem bastante utilidade. Em breve trarei novos tutoriais! Se tiverem alguma sugestão, podem mandar por pm.
    • Por CaduGTX
      Olá, eu e um amigo fizemos esse script para limpar as casas automaticamente, era um script pessoal mas resolvi postar.
      O Script foi feito em revscript, se for usar da forma antiga, terá que adaptar.

      Basta adicionar um arquivo lua na sua pasta de talkactions:
       
      local function doCheckHouses() local registros = db.storeQuery( "SELECT `houses`.`owner`, `houses`.`id` FROM `houses`,`players` WHERE `houses`.`owner` != 0 AND `houses`.`owner` = `players`.`id`;") if registros ~= false then local count = 0 repeat count = count + 1 local owner = result.getNumber(registros, "owner") local houseId = result.getNumber(registros, "id") local house = House(houseId) if house and (owner > 0) then print(house:getName()) house:setOwnerGuid(0) end until not result.next(registros) result.free(registros) end print('Houses Cleaned') return true end local limparhouse = TalkAction("/limparhouse") function limparhouse.onSay(player, words, param) if not player:getGroup():getAccess() or player:getAccountType() < ACCOUNT_TYPE_GOD then player:sendCancelMessage("Only admins can use this command.") return true end addEvent(doCheckHouses, 10 * 1000) player:sendCancelMessage("Cleaning houses.") return true end limparhouse:separator(" ") limparhouse:register()  
      Para usar é bem simples, basta usar o comando /limparhouse, e dentro de alguns instantes todas as casas serão limpas.

      Creditos:
      -CaduGTX
      -JameesDavid
       
    • Por LeoTK
      estou com uma dúvida que é a seguinte meu servidor tem varias talkactions eu percebi que quando eu falo !online < não aparece no chat para todo mundo ver exemplo assim eu falo !online aparece os players online agora quando eu falo por exemplo !tutoriais foi uma talkaction que adicionei recentemente abre a aba com tal informação mais no chat aparece em amarelo !tutoriais como faço para isso não aparece apenas a talkaction ser dita e mostrar seu conteúdo sem ser mostrada como uma fala normal no chat isso é meio inutil mais me incomoda o fato de saber que posso tirar isso mais não sei pesso ajuda a vocês aguardo respostas
       
      algumas print's para melhor compreendimento
       
      print's 
       
      !online \/
       

       
       
       
      agora quando falo !tutoriais aparece o seguinte segue na print \/
       

       
       
      seguinte olhem no chat /\ em amarelo aparece para todos que estiverem ao redor gostaria que isso não aparecesse
       
      script da talkaction
       



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo