Ir para conteúdo
  • Cadastre-se

Action%2FTalkaction Send Coins System V2 (Enviar gold coins para amigos)


Posts Recomendados

Fala pessoal, hoje eu venho trazer uma segunda versão desse meu sisteminha que é o Send Coins System.

Para quem não chegou a ver o primeiro, Clique Aqui!

 

PS : Testado em OTX Server 8.60, porém creio que funcione em qualquer servidor 8.60

janela.thumb.png.ce889f41b93b0a3168a5eab

 

Bom, mas o que esse sistema faz?

Spoiler

 

Ele simplesmente permite que um jogador possa enviar gold coins para outro de onde eles estiverem.

Os gold coins são retirados da mochila do jogador que realizará o envio, e enviados para a mochila do jogador

que está prestes a receber essa quantia. E como eu expliquei no primeiro tópico, se o jogador não tiver gold coins

em sua mochila, mas tiver no banco, os gold coins serão descontados da balance.

Muito útil em casos de emergência!

 

 

O que há de novo?

Spoiler

 

    *Agora é possível determinar um limite(configurável), para que os jogadores não enviem tantos gold coins de uma vez só;

    *Antes era possível enviar para si mesmo. Esse ato era útil para quem precisava tirar uma quantia da balance no banco,

      então se você estivesse sem gold coins na mochila e com coins na balance, era só enviar para si mesmo. Agora você pode

      configurar se deseja que essa função continue ou não;

    *ADM's podem enviar para outros jogadores mesmo se estiver sem nada na mochila e nem no balance (meio tosco).

 

 

Vamos ao sistema :

em data/talkactions/talkactions.xml, adicione isso :

<talkaction words="!sendcoins;/sendcoins" event="script" value="sendcoins.lua"/>

em data/talkactions/scripts, crie um arquivo sendcoins.lua e cole isso dentro :

--[[
    Send Coins System developed by Zoom in 04/02/2016 21:27.
    For more scripts, please contact me on skype : halls.santos
    
    Enjoy!
]]

local info = [[Olá %s,
Este comando serve para o envio de gold coin(s).
Caso você queira enviar para um amigo, é necessário informar
o nome do jogador e em seguida a quantia em gold coin(s).

ex : /sendcoins Magezin 3500

PS : Será descontado do seu balance no banco caso você não
tenha coin(s) em sua mochila. Este processo é automático.]]

local SEND_COINS_LIMIT = 100000000
local SEND_YOURSELF     = false

function onSay(cid, words, param)
    
    local tmp = param.explode(param, ' ')
    if not tmp[1] then
        return doPlayerPopupFYI(cid, info:format(getCreatureName(cid)))
    elseif not tmp[2] then
        return doPlayerSendCancel(cid,'Você precisa especificar um valor.')
    end

    if(not SEND_YOURSELF and getCreatureByName(tmp[1]) == cid) then
        return doPlayerSendCancel(cid, 'Não é possível enviar para si mesmo(a).')
    end
    
    if isPlayer(getCreatureByName(tmp[1])) then
        if(getPlayerBalance(cid) >= tonumber(tmp[2]) and setPlayerBalance(cid, getPlayerBalance(cid) - tmp[2]) or doPlayerRemoveMoney(cid, tmp[2])) or getPlayerAccess(cid) >= 3 then
            if(tonumber(tmp[2]) <= SEND_COINS_LIMIT) then
                doPlayerAddMoney(getCreatureByName(tmp[1]), tmp[2])
            else
                return doPlayerSendCancel(cid, "Você tentou enviar muitos coins, tente novamente e ver se não exagera.")
            end
        else
            return doPlayerSendCancel(cid, "Você não possui "..tmp[2].." gold coin(s).")
        end
    else
        return doPlayerSendCancel(cid, 'Este player não está on-line ou não existe.')
    end
    
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Envio de '..tmp[2]..' gold coin(s) realizada.')
    doSendMagicEffect(getThingPos(getCreatureByName(tmp[1])), 13)

    return doPlayerSendTextMessage(getCreatureByName(tmp[1]), MESSAGE_STATUS_DEFAULT, 'Você recebeu '..tmp[2]..' gold coin(s) enviado(s) pelo jogador '..getCreatureName(cid)..'.')
end

Pronto!

Após instalado, utilize o comando /sendcoins para ver um exemplo detalhado de como usar o sistema.

 

Créditos : EU

Link para o post
Compartilhar em outros sites
4 horas atrás, Wakon disse:

Tópico aprovado, obrigado por compartilhar.

Você recebeu um REP pela contribuição.

Obrigado :)

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 Tricoder
      Preview

       
      Script
      data/items/items.xml
      <item id="8981" article="a" name="gold premium card"> <attribute key="weight" value="0" /> <attribute key="description" value="Use this card to receive 7 premium days." /> </item> data/actions/actions.xml
      <action itemid="8981" script="other/premiumcard.lua"/> data/actions/scripts/premium_card
      local t = { days = 7, effect = CONST_ME_HOLYAREA } function onUse(cid, item, fromPosition, itemEx, toPosition) doPlayerRemoveItem(cid, 8981, 1) return TRUE, doPlayerAddPremiumDays(cid, t.days), doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You now have +" .. t.days .. " premium days!"), doSendMagicEffect(fromPosition, t.effect) end Créditos: God Mythera
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo