antiblock
Elveron
  • Chatbox

    You don't have permission to chat.
    Load More
  • 0
Sign in to follow this  
(Adm)Santos

Systema De Banco Avançado By Paci

Question

Vi esta quest do Paci na metin2dev traduzi mas ao instalar diz me (core dumped) ao no jogo aparece o bug é o seguinte ao tentar entrar nas funçoes do banco diz que a password esta incorreta e ao tentar usar a frase de segurança para restabelecer uma nova password diz que a resposta secreta esta incorreta...

 

Venho pedir ajuda ao Paci criador da quest ou a alguem que saiba o que se passa...

 

 

Virtual box ao instalar:

 

quest: advanced_bank

state: start

when: 20090.chat ('Banco Lustano')

function set_pc_bank_infos (pw, question, answer, money)

function give_money (value)

function save_money (value)

calls undeclared function! :

readline

write_in_file

Abort (core dumped)

 

 

questlib.lua

 

bank_path = 'usr/home/game/bank'

function readline(path, x)
local linetable = {}
for line in io.lines(path..'/'..pc.name) do
table.insert(linetable, line)
end
return linetable[x]
end

function write_in_file(path, text)
if string.find(text, "%[ENTER%]") then
text = string.gsub(text, "%[ENTER%]", "n")
end
local file = io.open(path..'/'..pc.name, 'w')
file:write(text)
file:close()
end

 

 

quest

 

quest advanced_bank begin
state start begin
when 20090.chat.'Banco Lusitano' begin
local question = {'Nome da mãe', 'Nome do pai', 'Nome do animal de estimação', 'Outra'}
say_title'Banco Lusitano'
if pc.getqf('has_bank_acc') == 0 then
say'Olá! Bem-vindo ao Banco Lusitano.'
say'Acho que ainda não tens uma conta aqui.'
say'Vou te explicar como funciona:'
say_reward'Terás que escrever uma password, uma'
say_reward'pergunta de segurança e uma resposta.'
say_reward'Isso irá aumentar a sua segurança.'
say_reward'Ninguem poderá aceder a tua conta,'
say'a menos que tenham a password.[ENTER]'
wait()
say'Necessitas pagar 200.000 yang,'
say'para obteres uma conta no Banco Lusitano.'
say'Mas lembra-te:'
say_reward'Não uses a password do jogo.'
say_reward'Tornaria mais facil saberem tua password.'
say_reward'O mesmo para a pergunta e resposta de segurança.[ENTER]'
say'Então.. queres continuar e[ENTER]e criar uma conta?'
if select('Sim, claro.', 'Não, mais tarde.') == 1 then
if pc.get_gold() < 200000 then
say'Sinto muito, não tens yang suficiente.[ENTER]Volta quando tiveres 200.000 yang.'
return
end
say'Ok, por favor escreve uma password.'
local pw = input()
if pw == '' then 
say'Mudaste de ideias?'
return
end
say'Proximo passo é escolher a pergunta de segurança.[ENTER]Tambem podes criar uma, se quiseres.'
local sqt = select_table(question)
if sqt == 4 then
say'Ok, por favor escreve a pergunta:'
local myquestion = input()
if myquestion == '' then 
say'Mudaste de ideias?'
return 
end
question = myquestion
else
question = question[sqt]
end
say'Ok, certo, estamos quase a terminar.[ENTER]Agora escreve a resposta a pergunta.'
say_reward(question)
local answ = input()
if answ == nil then 
say'Mudaste de ideias?'
return 
end
advanced_bank.set_pc_bank_infos(pw, question, answ, 0)
say'Ótimo![ENTER]Agora estás registrado no banco.[ENTER]Bem-vindo!'
pc.change_gold(-200000)
end
else
local mainmenu = select('Acessar a conta','Esqueci a senha','Cancelar')
if mainmenu == 2 then
if pc.getqf('tries') == 5 then
say'Desculpa, já tentaste muitas vezes.[ENTER]Por favor, tenta mais tarde.'
pc.setqf('tries', get_time()+60*60*2)
pc.setqf('is_delayed', 1)
return
elseif get_time() <= pc.getqf('tries') then
say'Erraste 5 vezes a password, terás que esperar[ENTER]2 horas até poderes tentar novamente.[ENTER]Muito mau!'
return
end
if pc.getqf('is_delayed') == 1 then pc.delqf('is_delayed') pc.delqf('tries') end
say'Wow que mau![ENTER]Se pelo menos souberes a tua resposta[ENTER]de segurança, podemos gerar uma nova password.'
say'Por favor, escreve a resposta certa.'
if input() ~= readline(bank_path, 3) then
say'Sinto muito, resposta errada.'
pc.setqf('tries', pc.getqf('tries')+1)
else
say'Ok, espera um minuto.[ENTER]Uma nova password esta a ser gerada.'
wait()
local random = number(1000, 9999)
say('A tua nova password é '..tostring(random)..'.')
advanced_bank.set_pc_bank_infos(random, readline(bank_path, 2), readline(bank_path, 3), readline(bank_path, 4))
end
return
end
if pc.getqf('tries_to_login') == 5 then
say'Desculpa, já tentaste muitas vezes.[ENTER]Por favor, tenta mais tarde.'
pc.setqf('tries_to_login', get_time()+60*60*2)
pc.setqf('is_login_delayed', 1)
return
elseif get_time() <= pc.getqf('tries_to_login') then
say'Erraste 5 vezes a password, terás que esperar[ENTER]2 horas até poderes tentar novamente.[ENTER]Muito mau!'
return
end
if pc.getqf('is_login_delayed') == 1 then pc.delqf('is_login_delayed') pc.delqf('tries_to_login') end
say'Bem-vindo de volta.[ENTER]Escreve a tua senha para entrar.'
local login = input()
say_title('Banco Lusitano')
if login ~= readline(bank_path,1) then
say('Desculpa, a tua senha está errada.')
pc.setqf('tries_to_login', pc.getqf('tries_to_login')+1) 
return 
end
say'Bem-vindo ao Painel de Clientes.[ENTER]O que queres fazer?'
say_reward('Atualmente tens '..readline(bank_path, 4)..' yang depositado.')
local sel = select('Levantar Yang', 'Depositar Yang', 'Mudar Dados', 'Nada')
if sel ~= 4 then
say_title('Banco Lusitano')
if sel ~= 3 then
say_reward('Atualmente tens '..readline(bank_path,4)..' yang depositado.')
end
end
if sel == 1 then
say'Tens de escrever quanto yang desejas[ENTER]levantar.[ENTER]Se quiseres desistir da operação[ENTER]escreve 0 ou não faças nada.'
local qt = tonumber(input())
if qt == nil or qt == 0 then
say'Mudaste de ideias?'
return
end
say('Queres levantar '..qt..' yang. certo?')
if select('Sim.', 'Não') == 1 then advanced_bank.give_money(qt) end
elseif sel == 2 then
say'Quanto yang desejas guardar?'
local whatiwant = tonumber(input())
if whatiwant ~= nil then
say('Realmente queres depositar '..whatiwant..' yang?')
if select('Sim', 'Não.') == 1 then
if pc.get_gold() < whatiwant then
say('Não tens esse yang para guardar..')
return
end
advanced_bank.save_money(whatiwant)
pc.change_gold(-whatiwant)
say('Feito.[ENTER]Agora tens mais '..whatiwant..' yang na tua conta.')
end
end
elseif sel == 3 then
local new
say'O que desejas alterar?'
local change = select('Password', 'Dados de Segurança', 'Nada')
if change ~= 3 then
say'Por favor, escreve a tua senha.'
if input() ~= readline(bank_path,1) then say'A senha digitada está errada.' return end
say'Escreve a tua resposta a pergunta de segurança:'
say_reward(readline(bank_path, 2))
if input() ~= readline(bank_path,3) then say'A resposta que inseriste é errado.' return end
if change == 1 then
say'Escreve tua nova password:'
local newpw = input()
if newpw == '' then say'Mudaste de ideias?' return end
advanced_bank.set_pc_bank_infos(newpw, readline(bank_path, 2), readline(bank_path, 3), readline(bank_path,4))
say'A tua senha foi mudada.'
else
say'Ok, escolhe a tua pergunta de segurança:'
local newquestion = select_table(question)
if newquestion == table.getn(question) then
say'Escreve a pergunta de segurança que desejas:'
local newq = input()
if newq == '' then say'Mudaste de ideias?' return end
newquestion = newq
else
newquestion = question[newquestion]
end
say'Hum certo, esta quase.[ENTER]Escreve a resposta a tua pergunta:'
local newanswer = input()
if newanser == '' then say'Mudaste de ideias?' return end
advanced_bank.set_pc_bank_infos(readline(bank_path,1), newquestion, newanswer, readline(bank_path,4))
say'Teus dados de segurança foram alterados.'
end
end
end
end
end
 
function set_pc_bank_infos(pw, question, answer, money)
write_in_file(bank_path, pw..'[ENTER]'..question..'[ENTER]'..answer..'[ENTER]'..money..'[ENTER]')
pc.setqf('has_bank_acc', 1)
end
 
function give_money(value)
if pc.get_gold() + value >= 2000000000 then
say'Não podes levantar essa quantia. Iria bugar.'
return
elseif tonumber(readline(bank_path ,4)) < value then
say'Não tens tanto yang na tua conta.'
return
end
pc.change_gold(value)
advanced_bank.save_money(tonumber(readline(bank_path,4))-value)
end
 
function save_money(value)
write_in_file(bank_path, readline(bank_path, 1)..'[ENTER]'..readline(bank_path, 2)..'[ENTER]'..readline(bank_path, 3)..'[ENTER]'..value)
end
 
end
end
 
paci como criador se poderes dar suport agradecia
 
 

 

Share this post


Link to post
Share on other sites

2 answers to this question

antiblock
Elveron
  • 0

Falta isto em quest_functions:

 

readline

write_in_file

 

continua a dar me o mesmo bug ao entrar na conta meter a pass do banco diz que a pass esta errada ao mudar a pass word com frase de segurança diz que esta mal xD

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this