Rapaz, você tem que dar Use With no caixa eletrônico com o cartão, só ficar na frente dele não adianta.
- Fórum
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- Caixa Eletrônico
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

info
Grupo: Campones
Registrado: 29/10/10
Posts: 60
Reputação: 0
Char no Tibia: Milk Doido

UUUUUUUUUUUUUP demorei mais conseguir coloca ! VLLW REP +
RECOMENDO !
info
Grupo: Conde
Registrado: 13/12/11
Posts: 619
Reputação: +44

Cara, por favor...
Estou querendo adicionar no server mas da este erro:
[18/11/2012 19:01:37] > Loading caixa eletronico.xml...[Error - ScriptingManager::loadFromXml] Cannot load mod mods/caixa eletronico.xml [18/11/2012 19:01:37] Line: 17, Info: Extra content at the end of the document
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

@Prezyoso
Você modificou algo no script? Se sim, verifique o que mudou, por ter dado problema.
Se não, pode ser algum problema com a versão do server, pois testei em 8.6 e tá funcionando 100%.
info
Grupo: Conde
Registrado: 13/12/11
Posts: 619
Reputação: +44

No caso, estou tentando colocar no meu PokeServer 8.54, algum problema com esta versao?
Se sim, como resolver?
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Bom, a versão 8.54 é quase igual a 8.6, então não pode ser incompatibilidade.
Você não modificou nada no script? Faça o seguinte, pegue o arquivo original, tire todos os traços longos tipo esse:
---------------------------------------------------------------------------------------------------
E mude disso:
<?xml version="1.0" encoding="UTF-8"?>
Pra isso:
<?xml version="1.0" encoding="ISO-8859-1"?>
info
Grupo: Conde
Registrado: 13/12/11
Posts: 619
Reputação: +44

Outro erro:
oading caixa eletronico.xml...[Error - ScriptingManager::loadFromXml] Cannot load mod mods/caixa eletronico.xml [18/11/2012 19:31:55] Line: 6, Info: Input is not proper UTF-8, indicate encoding ! [18/11/2012 19:31:55] Bytes: 0xF4 0x6E 0x69 0x63 [18/11/2012 19:31:55] failed!
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

info
Grupo: Conde
Registrado: 13/12/11
Posts: 619
Reputação: +44

Continua o problema...
Loading caixa_system.xml...[Error - ScriptingManager::loadFromXml] Cannot load mod mods/caixa_system.xml
[18/11/2012 19:40:41] Line: 12, Info: Input is not proper UTF-8, indicate encoding !
[18/11/2012 19:40:41] Bytes: 0xFA 0x6D 0x65 0x72
[18/11/2012 19:40:41] failed!
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

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
Editado Novembro 18 por LuckOake
info
Grupo: Conde
Registrado: 13/12/11
Posts: 619
Reputação: +44

Agora deu certo, vlw ae rep!
^}^ Parabéns Luck, gostei muito da ideia da implementação de um "Banco do Brasil" em ots.
RESP + pra tu
info
Grupo: Conde
Registrado: 03/11/11
Posts: 714
Reputação: +67
Gênero: Masculino
Char no Tibia: esqueci 20+

info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

@Exchange
Rapaz, isso não posso te afirmar, pois precisaria usar algumas funções que eu ainda não domino. Até o fim desse ano eu dou um jeito, não preocupe.



info
Grupo: Campones
Registrado: 29/10/10
Posts: 60
Reputação: 0
Char no Tibia: Milk Doido
No meu não ta pegando mais acho que é por que coloquei varias coordenadas vou da uma olhada qualquer coisa se pegar aviso, fiz tudo que você disse copie e coloquei tudo na pastamods, mais meu tibia é 8.60 algum problema ?
o comando caixa só funciona com o cartão na mão ?
EDITED -----
é não conseguir, copie tudo coloquei na pasta MOD a posição de entrada do banco coloquei um quadro antes do caixa, mais quando chego na frente do caixa com o card na mão ele não executa o comando !caixa sai como se não estivesse essa talkaction, ajuda por favor será que não é o card que coloquei um "CERTIFICADO" ??
Por favor explica ai =/ só a espera desse script !