unico problema aqui comigo nesse script e que ta dando erro nas linhas com Asentos tipo Eletrônico , número , bancário
- Fórum
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- Caixa Eletrônico
info
Grupo: Cavaleiro
Registrado: 12/10/09
Posts: 160
Reputação: +19
Gênero: Masculino

Oooi povo Ékztibiano
Eu (novamente) trouxe outro sistema pra vocês. Infelizmente quase ninguém posta conteúdo útil atualmente, então tô tentando erguer essa seção novamente, tanto é que vira e mexe eu posto sistemas aqui, e daqui a uns dias eu vou postar outros que tô fazendo.
Bom, comecemos.
O que é: Um sistema em que você insere um Cartão de Crédito em um Caixa Eletrônico para executar ações iguais às de um banco de verdade.
Script:
Configurando:
Configure os seguintes:
caixa_id = 1354 -- Id do Caixa Eletrônico bank_pos = {x = 78, y = 39, z = 7} -- Position da entrada do banco
E aqui você configura o ID do cartão de crédito:
<action itemid="2556" event="script"><
Rapaz, seguinte, tô vendo que MOD tá bugando no seu server.
Vamo instalar por lua mesmo.
actions.xml:
<action itemid="xxxx" script="card.lua"/>
Substitua o xxxx pelo id do cartão.
card.lua:
stor = 41319 caixa_id = 1354 -- Id do Caixa Eletrônico msgs = { [1] = "'balance' ou 'saldo' para ver seu saldo em conta.", [2] = "'deposit' ou 'depositar' para depositar dinheiro em sua conta.", [3] = "'withdraw' ou 'sacar' para sacar dinheiro de sua conta.", [4] = "'transfer' ou 'transferir' para transferir dinheiro para uma outra conta. Comando: transfer,quantia,nome", [5] = "'trocar gold' para trocar suas gold coins por platinum coins. Comando: trocar gold,número de platinum coins", [6] = "'trocar platinum' para trocar suas platinum coins por gold coins ou crystal coins. Comando: trocar platinum,gold ou crystal,número", [7] = "'trocar crystal' para trocar suas crystal coins por platinum coins. Comando: trocar crystal,número de platinum coins", [8] = "'sair' ou 'exit' para sair.", } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, stor) ~= -1 then return true elseif itemEx.itemid ~= caixa_id then doPlayerSendCancel(cid, "Você só pode usar esse item em um caixa eletrônico.") return true end setPlayerStorageValue(cid, stor, 1) doPlayerSetNoMove(cid, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Caixa Eletrônico: Olá! Digite !caixa + um dos parâmetros abaixo:") for a, b in ipairs(msgs) do doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Caixa Eletrônico: "..b.."") end return true end
talkactions.xml:
<talkaction words="!caixa" script="caixa.lua"/>
caixa.lua:
function onSay(cid, words, param) t = string.explode(param, ",") bank_pos = {x = 78, y = 39, z = 7} -- Position da entrada do banco stor = 41319 if getPlayerStorageValue(cid, stor) ~= 1 then return true end if t[1] == "balance" or t[1] == "saldo" then if t[2] then return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você possui "..getPlayerBalance(cid).." gold coins em sua conta bancária.") elseif t[1] == "deposit" or t[1] == "depositar" then if not t[2] or not tonumber(t[2]) or t[3] then doPlayerSendCancel(cid, "Incorrect params.") return true elseif not doPlayerDepositMoney(cid, tonumber(t[2])) then doPlayerSendCancel(cid, "Você não possui essa quantia em dinheiro.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você depositou "..t[2].." gold coins em sua conta. Seu saldo agora é de "..getPlayerBalance(cid).." gold coins.") elseif t[1] == "withdraw" or t[1] == "sacar" then if not t[2] or not tonumber(t[2]) or t[3] then doPlayerSendCancel(cid, "Incorrect params.") return true elseif getPlayerBalance(cid) < tonumber(t[2]) then doPlayerSendCancel(cid, "Você não possui essa quantia de dinheiro em sua conta.") return true end doPlayerWithdrawMoney(cid, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você sacou "..t[2].." gold coins de sua conta. Seu saldo agora é de "..getPlayerBalance(cid).." gold coins.") elseif t[1] == "transfer" or t[1] == "transferir" then if not t[2] or not tonumber(t[2]) or not t[3] or not tostring(t[3]) or t[4] then doPlayerSendCancel(cid, "Incorrect params.") return true elseif getPlayerBalance(cid) < tonumber(t[2]) then doPlayerSendCancel(cid, "Você não possui essa quantia de dinheiro em sua conta.") return true elseif not playerExists(t[3]) then doPlayerSendCancel(cid, "O player "..t[3].." não existe.") return true end doPlayerTransferMoneyTo(cid, t[3], tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você transferiu "..t[2].." gold coins de sua conta para "..t[3]..". Seu saldo agora é de "..getPlayerBalance(cid).." gold coins.") elseif t[1] == "trocar gold" then if not t[2] or not tonumber(t[2]) or t[3] then doPlayerSendCancel(cid, "Incorrect params. Specify the number of platinum coins you want to get.") return true elseif not doPlayerRemoveItem(cid, 2148, (t[2]*100)) then doPlayerSendCancel(cid, "Você não possui "..(t[2]*100).." gold coins.") return true end doPlayerAddItem(cid, 2152, t[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você trocou "..(t[2]*100).." gold coins por "..t[2].." platinum coins.") elseif t[1] == "trocar platinum" then if t[2] == "gold" then if not t[3] or not tonumber(t[3]) or t[4] then doPlayerSendCancel(cid, "Incorrect params. Specify the number of platinum coins you want to change to gold coins.") return true elseif not doPlayerRemoveItem(cid, 2152, tonumber(t[3])) then doPlayerSendCancel(cid, "Você não possui "..t[3].." platinum coins.") return true end doPlayerAddItem(cid, 2148, tonumber(t[3]*100)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você trocou "..t[3].." platinum coins por "..(t[3]*100).." gold coins.") elseif t[2] == "crystal" then if not t[3] or not tonumber(t[3]) or t[4] then doPlayerSendCancel(cid, "Incorrect params. Specify the number of crystal coins you want to get.") return true elseif not doPlayerRemoveItem(cid, 2152, tonumber(t[3]*100)) then doPlayerSendCancel(cid, "Você não possui "..(t[3]*100).." platinum coins.") return true end doPlayerAddItem(cid, 2160, tonumber(t[3])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você trocou "..(t[3]*100).." platinum coins por "..t[3].." crystal coins.") else return doPlayerSendCancel(cid, "Incorrect params. Utilize o comando assim: trocar platinum,gold ou crystal,quantia") end elseif t[1] == "trocar crystal" then if not t[2] or not tonumber(t[2]) or t[3] then doPlayerSendCancel(cid, "Incorrect params. Specify the number of crystal coins you want to change to platinum coins.") return true elseif not doPlayerRemoveItem(cid, 2160, tonumber(t[2])) then doPlayerSendCancel(cid, "Você não possui "..t[2].." crystal coins.") return true end doPlayerAddItem(cid, 2152, tonumber(t[2]*100)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Caixa Eletrônico: Você trocou "..t[2].." crystal coins por "..(t[2]*100).." platinum coins.") elseif t[1] == "sair" or t[1] == "exit" then doTeleportThing(cid, bank_pos) setPlayerStorageValue(cid, stor, -1) doPlayerSetNoMove(cid, false) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Caixa Eletrônico: Obrigado pela visita!") else return doPlayerSendCancel(cid, "Incorrect Params.") end return true end
Você configura a pos do banco na talkaction, nessa linha:
bank_pos = {x = 78, y = 39, z = 7} -- Position da entrada do banco
E o ID do caixa eletrônico na action, nessa linha:
caixa_id = 1354 -- Id do Caixa Eletrônico
Luck neste poste vc colocou o systema em action e talkaction aki funcionou mas quero saber uma coisa como adicionar outro tipo de dinheiro no banco vou explicar.
no meu server dps dos 100 crystal coins tem outra grana entaum kero saber como eu adiciono essa grana no banco para transformar os crystal coins em dollar(id: 2600) isso axo ke requer novo comando.
Valeu otimo sistema.
Editado Dezembro 22 por Nathannael
Luck,
seria legal se na versao v2.0 kk,vc poderia quando usasse o cartao abrisse um chat novo (como o help por exemplo).
pagar npcs no cartao tbm seria legal se estivesse no seu alcance
Att,
Pega2
info
Grupo: Campones
Registrado: 21/09/13
Posts: 36
Reputação: +6
Char no Tibia: Eamega oz

Pena que nao é para poketibia :c








info
Grupo: Conde
Registrado: 03/11/11
Posts: 714
Reputação: +67
Gênero: Masculino
Char no Tibia: esqueci 20+
blz, rep+ agora só falta as sprites do caixa e do cartão mas tudo bem , rep+