Ir para conteúdo
  • 0

[Pedido] Banco da Staff (Cofre)


Farathor

Pergunta

Esse sistema, funcionaria como um segundo banco, que só poderia ser acessado por GM,CM e GOD (Group 4, 5, 6)

 

Existiriam 4 tipos de comandos, (2 comandos só funcionaria para GOD)

 

  • /cofreAdd (Só para GOD) Seria para o GOD adicionar dinheiro nesse segundo banco para os GM e CM do OT, funcionaria assim: /cofreAdd, <nome do jogador>, <quantidade>. O GOD, não precisa ter dinheiro em nenhum lugar para adicionar dinheiro no segundo banco ou seja, ele vai adicionar essa grana sem ter que tirar de nenhum outro lugar.
  • /cofreTransfer (Para Todos) Serve para quem tem dinheiro no segundo banco, transferir para jogador, como forma de recompensa de dinheiro etc, funcionaria assim: /cofreTransfer, <nome do jogador>, <quantidade>. Quando o dinheiro for transferido, ele sairá do cofre do jogador que está transferindo e ira para o banco normal do jogador para qual o dinheiro foi transferido
  • /cofreLimits, irá mostrar quanto de dinheiro ainda tem nesse segundo banco do jogador que soltou o comando.
  • /cofreAll(Só para GOD) irá mostrar a quantidade que todos os GMS,CMS tem de dinheiro no banco
Editado por Farathor
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Interessante, tomara que alguém ajude!!


1 pessoa que manja pakas dessas coisas é o @zipter98 uma vez ele fez um parecido com esse pra mim, porém, da forma que vc fez o pedido caso ele ajude eu iria trocar e utilizer esse tb..

Editado por brendoonh
Link para o comentário
Compartilhar em outros sites

  • 0

--[[> Marcryzius <]]--

function onSay(cid, words, param, channel)

local param = string.explode(param, ",")

local name = param[1]:lower()

local player = getCreatureByName(name)

local store_bank_two = 10000 --Numero da store para ser marcado na pessoa.

local saldo_balance = getPlayerStorageValue(player,store_bank_two) < 0 and 0 or getPlayerStorageValue(player,store_bank_two)

 

if(words == "/add")then

if(isPlayer(player) and tonumber(param[2]))then

setPlayerStorageValue(player,store_bank_two,param[2])

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce adicionou "..param[2].." gps na conta de "..name.." que tem "..saldo_balance.." gps de saldo.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "use o comando dessa forma: /add player,quantidade")

end

elseif(words == "/balance")then

if(isPlayer(player))then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O saldo � de: "..saldo_balance.." gps.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player n�o encontrado ou offline.")

end

elseif(words == "!transfer")then

if not(saldo_balance > 0 and saldo_balance >= tonumber(param[2]))then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce n�o tem saldo suficiente; seu saldo e de: "..saldo_balance.." gps.")

else

doPlayerDepositMoney(cid,tonumber(param[2]))

setPlayerStorageValue(cid,store_bank_two,saldo_balance - tonumber(param[2]))

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Foi adicionado em sua conta o valor de: "..param[2].." gps.")

end

elseif(words == "!balance")then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu saldo e de: "..saldo_balance.." gps.")

end

return true

end

Link para o comentário
Compartilhar em outros sites

  • 0

--[[> Marcryzius <]]--

function onSay(cid, words, param, channel)

local param = string.explode(param, ",")

local name = param[1]:lower()

local player = getCreatureByName(name)

local store_bank_two = 10000 --Numero da store para ser marcado na pessoa.

local saldo_balance = getPlayerStorageValue(player,store_bank_two) < 0 and 0 or getPlayerStorageValue(player,store_bank_two)

 

if(words == "/add")then

if(isPlayer(player) and tonumber(param[2]))then

setPlayerStorageValue(player,store_bank_two,param[2])

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce adicionou "..param[2].." gps na conta de "..name.." que tem "..saldo_balance.." gps de saldo.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "use o comando dessa forma: /add player,quantidade")

end

elseif(words == "/balance")then

if(isPlayer(player))then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O saldo � de: "..saldo_balance.." gps.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player n�o encontrado ou offline.")

end

elseif(words == "!transfer")then

if not(saldo_balance > 0 and saldo_balance >= tonumber(param[2]))then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce n�o tem saldo suficiente; seu saldo e de: "..saldo_balance.." gps.")

else

doPlayerDepositMoney(cid,tonumber(param[2]))

setPlayerStorageValue(cid,store_bank_two,saldo_balance - tonumber(param[2]))

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Foi adicionado em sua conta o valor de: "..param[2].." gps.")

end

elseif(words == "!balance")then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu saldo e de: "..saldo_balance.." gps.")

end

return true

end

Teria como explicar como instala!?

Link para o comentário
Compartilhar em outros sites

  • 0
  • Diretor

Teria como explicar como instala!?

 

Talkactions

 

Esse, é um script para banco ou para o cofre?

 

Ta tudo num script só, como você pode ver /add !transfer /balance ou !balance

 

a TAG seria essa:

<talkaction log="yes" words="/add;!transfer;!balance;/balance" event="script" value="banco.lua"/>
Link para o comentário
Compartilhar em outros sites

  • 0

O que seria isso no meio do script !? "�"


 

 

Talkactions

 

 

Ta tudo num script só, como você pode ver /add !transfer /balance ou !balance

 

a TAG seria essa:

<talkaction log="yes" words="/add;!transfer;!balance;/balance" event="script" value="banco.lua"/>

Ficaria meio esquisito, pois o comando de add so o GOD poderia usar, neste caso qualquer player usaria.. Mesmo eu colocando acess 5, soh acess 5 (god) iria poder usar o comando, e caso eu coloque acess 4/5 (gm/cm) eles mesmos iriam poder adicionar dinheiro no próprio cofre

Editado por brendoonh
Link para o comentário
Compartilhar em outros sites

  • 0
  • Diretor

O que seria isso no meio do script !? "�"

 

Isso é porcausa dos acentos "ã,é,ç,õ" etc... Para o arquivo .lua ou php funcionar com os acentos você teria que mudar o formato para UTF-8 ou ANSI geralmente funciona em ANSI.

 

O que seria isso no meio do script !? "�"

Ficaria meio esquisito, pois o comando de add so o GOD poderia usar, neste caso qualquer player usaria.. Mesmo eu colocando acess 5, soh acess 5 (god) iria poder usar o comando, e caso eu coloque acess 4/5 (gm/cm) eles mesmos iriam poder adicionar dinheiro no próprio cofre

 

Sim, não fui eu que fiz a script a penas respondi a pergunta de vocês. Só vocês modificar a script e em um dos comandos vocês coloca if getPlayerGroupId (cid) >= 5 then

Editado por nedroesdoksdja
Link para o comentário
Compartilhar em outros sites

  • 0

 

Isso é porcausa dos acentos "ã,é,ç,õ" etc... Para o arquivo .lua ou php funcionar com os acentos você teria que mudar o formato para UTF-8 ou ANSI geralmente funciona em ANSI.

 

 

Sim, não fui eu que fiz a script a penas respondi a pergunta de vocês. Só vocês modificar a script e em um dos comandos vocês coloca if getPlayerGroupId (cid) >= 5 then

Hmm, não tenho experiencia em .lua , vou aguardar pra ver se alguém consegue "escrever" esse script certinho e tals, vlw ae !

Link para o comentário
Compartilhar em outros sites

  • 0

Em talkactions.xml usa essas duas tags:

 

<talkaction log="yes" access="5" words="/add;/balance" event="script" value="nome do arquivo.lua"/>

 

Dessa forma só god poderá usar; para os players usarem use essa tag:

 

<talkaction log="yes" words="!transfer;!balance" event="script" value="nome do arquivo.lua"/>

Link para o comentário
Compartilhar em outros sites

  • 0
  • Diretor

Fui passar a script pra UTF-8 e ficou uns simbolos e pra ANSI aparece uma interrogação onde tava os simbolos..

Normal, é assim mesmo ai tu vai ter que editar de novo no lugar desse simbolo colocar a letra... deixa em ANSI que acho que da certo se caso dentro do jogo ficar bugado tu copia o que ta dentro do script passa para UTF-8 e da ctrl + V.

Link para o comentário
Compartilhar em outros sites

  • 0

Me passou despercebido que era apenas para staff usar esse script, então refiz ele.

 

 

<talkaction log="yes" access="5" words="/add;/balanceAll;/saldo" event="script" value="bank_two.lua"/>

<talkaction log="yes" access="3" words="/transfer;/balance" event="script" value="bank_two.lua"/>

 

 

--[[> Marcryzius <]]--

 

function onSay(cid, words, param, channel)

local param = string.explode(param, ",")

local name = param[1]:lower()

local player = getCreatureByName(name) or cid

local access = getPlayerAccess(cid)

local store_bank_two = 10000

local saldo_balance = getPlayerStorageValue(player,store_bank_two) < 0 and 0 or getPlayerStorageValue(player,store_bank_two)

 

if(words == "/add")then

if(isPlayer(player) and tonumber(param[2]))then

setPlayerStorageValue(player,store_bank_two,param[2])

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce adicionou "..param[2].." gps na conta de "..name.." que tinha "..saldo_balance.." gps de saldo.")

doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_BLUE, "Foi adicionado "..param[2].." gps na sua conta do cofre.")

doPlayerSave(player)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "use o comando dessa forma: /add player,quantidade")

end

elseif(words == "/saldo")then

if(isPlayer(player))then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O saldo e de: "..saldo_balance.." gps.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player nao encontrado ou offline.")

end

elseif(words == "/balanceAll")then

local str,total = db.getResult("SELECT `value` FROM `player_storage` WHERE `key` == '"..store_bank_two.."';"),0

if(str:getID() ~= -1) then

repeat

total = total + str:getDataInt("value")

until not(str:next())

str:free()

else

str = "No deaths recorded."

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "total: "..total)

elseif(words == "/transfer")then

if not(saldo_balance > 0 and saldo_balance >= tonumber(param[2]))then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, name.." nao tem saldo suficiente; o saldo e de: "..saldo_balance.." gps.")

elseif(isPlayer(player))then

doPlayerDepositMoney(player,tonumber(param[2]))

setPlayerStorageValue(player,store_bank_two,saldo_balance - tonumber(param[2]))

doPlayerSave(player)

doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_BLUE, "Foi adicionado em sua conta do banco o valor de: "..param[2].." gps.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Use o comando dessa forma: /transfer player,quantidade")

end

elseif(words == "/balance")then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu saldo e de: "..saldo_balance.." gps.")

end

return true

end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...