SALVANDO
Para salvar um arquivo, basta usar a lista de comandos abaixo:
file = File.open(“nome do arquivo”, "wb")
Marshal.dump(var1, file)
Marshal.dump(var2, file)
Marshal.dump(varn, file)
file.close
CARREGANDO
Para carregar dados, use:
file = File.open(“nome do arquivo”,, "rb")
var1 = Marshal.load(file)
var2 = Marshal.load(file)
varn = Marshal.load(file)
file.close
Lembre-se que tem que colocar os mesmos nomes da variáveis que você salvou, se tentar carregar alguma variável que não foi salva, vai aparecer uma mensagem de erro e seu jogo vai fechar.
Inserindo dados no Save do RMXP
Para facilitar as coisas na hora de salvar e carregar dados, existe um modelo de script que se utiliza do alias para injetar dados no bloco de save e load padrão do rmxp, se você analisar, muitos scripts utilizam esse recurso. Os blocos de save e load estão na Scene_Save(linha 64) e Scene_Load(linha 75).
Modelos de Script padrão para inserir dados nos saves dos personagens
classScene_Save alias nome_do_alias write_save_data def write_save_data(file) nome_do_alias (file) Marshal.dump(var1, file) Marshal.dump(var2, file) end end
classScene_Load alias nome_do_alias_save_data def read_save_data(file) nome_do_alias (file) var1 =Marshal.load(file) var2 =Marshal.load(file) endend
Comandos Extras
Existem ainda alguns commandos extras que você pode utilizar, são eles:
FileTest.exist(“nome do arquivo”) > retorna true se o arquivo existir, use em condições, if FileTest.exist?(filename) then ....
File.delete(“arquivo”) > deleta um arquivo em especial, usei esse comando para deletar contas hackeadas no meu projeto! ^^
Add-on:
Save e loads são baseados na classe File e FileTest, eles tem vários métodos interessantes, é fácil encontrar uma lista completa pesquisando a documentação do ruby, mas eu quero focar em uma coisa em especial que é o uso de arquivos externos, ou seja, como usar arquivos de dados sem ser os do save (incluindo os de data e arquivos comuns).
1º precisamos aprender por quê colocamos o "wb", "rb" e etc ao abrir o arquivo, simples, isso serve para definirmos o tipo de operação e o tipo de arquivo que estamos abrindo, vejam como funciona:
"wb" : w = write, b = binary : significa que você vai salvar um arquivo binário
"w" : só o w significa que vai salvar um arquivo comum, por exemplo, um .txt
"rb" : r é de read, ou seja, ler, aqui no caso o arquivo também é binário
"r" : serve para ler um arquivo comum
Sabendo disso, é possível por exemplo, abrir um arquivo do bloco de notas, testem isso:
file = File.open("Test.txt","w")
file.write("Hello World!")
file.close
file = File.open("Test.txt","r")
p file.read
file.close
Notem que para ler e salvar arquivos que não são binários, usamos os comandos write e read, ao ler um arquivo, vocês também podem usar o readlines que retorna um array com cada linha do arquivo.
Além de mexer com os arquivos comuns, é possível editar diretamente os arquivos .rxdata do jogo, pra fazer isso chega a ser até ridículo de tão fácil, olhem só:
carregar: load_data()
salvar: save_data(,)
Vejam esse exemplo:
#==============================================================================# APS# Alteração dos status dos inimigos#==============================================================================module APS defself.n1 at =0.3#1.74 atd =0.1#1.74 hp =0.4#1.74 for i in1..139 # Aumenta o índice de crescimento a cada reino if i ==21 # Urnik at +=0.2 # 0.5 hp +=0.3 # 0.7 atd +=0.2 # 0.3 elsif i ==41# Atlantis at +=0.3 # 0.8 hp +=0.3 # 1.0 atd +=0.2 # 0.5 elsif i ==61# Magbo at +=0.1 # 1.0 hp +=0.2 # 1.2 atd +=0.2 # 0.7 elsif i ==81# Wyndia at +=0.2 # 1.2 hp +=0.1 # 1.3 atd +=0.1 # 0.8 elsif i ==101 at =1.74 hp =1.6 atd =1.2 elsif i ==116 hp =1.6 atd =1.35 end e = $data_enemies[i] e.maxhp = e.maxsp =(hp*i*i+10).to_i *5 e.str = e.agi = e.dex = e.int=(at*i*i+10).to_i e.atk = e.pdef = e.mdef =(atd*i*i/1.5+10).to_i e.exp =(1.2*i*i+10).to_i *3 e.gold =(1.5*i*i+10).to_i *2 end save_data($data_enemies,"Data/Enemies.rxdata") endend
Esse é o script que eu usei no LdM3 pra fazer com que os monstros ultrapassem os limites de parâmetros, dentro do editor do banco de dados do jogo, existem vários limites, mas mexendo diretamente nos arquivos, da pra fazer o que quiser.
Quebrando barreiras dos itens:
por exemplo, pra fazer com que possa haver infinitos itens no jogo (e não só 999)
Faça:
for k in 2..2000
$data_weapons[k] = $data_weapons[1]
end
save_data($data_weapons,"Data/Weapons.rxdata")
Pronto, agora o seu limite de armas é de 2000 XD (isso apaga todas as armas programadas, cuidado!)
Lembrem-se de sempre fazer backup dos seus arquivos antes de editá-los e cuidado, se salvar as coisas no lugar errado, vai perder o arquivo e os dados XD
Vale lembrar que para essas modificações terem efeito, tem que fechar e abrir o projeto do jogo, se salvar andes de fazer isso, ele apaga tudo XD
Finalizando
Entonces, o Curso de RGSS acaba por aqui ^^. Aos que chegaram até aqui, parabéns se entenderam todas as aulas vocês ja podem se considerar scripters, se quiserem ser super scripters, comecem o curso avançado!
Tags de Busca
Als webdesigner of -ontwikkelaar weet je hoe belangrijk het is dat je websites en apps online worden gevonden. Zoekmachineoptimalisatie, of SEO, is de sleutel tot het genereren van organisch verkeer en het vergroten van de zichtbaarheid in Google, Bing en andere zoekmachines. Als SEO goed wordt uitgevoerd, kan het toevallige websitebezoekers veranderen in loyale klanten en kan je bedrijf na verloop van tijd exponentieel groeien. SEO is de afgelopen jaren echter steeds complexer geworden door de opkomst van contentmarketing, technische factoren zoals paginasnelheid en constante algoritme-updates van Google. In deze SEO basisgids voor webprofessionals ga ik de fundamentele on-page en off-page technieken uiteenzetten die uw sites zullen helpen hoger te scoren in zoekresultaten. Of u nu net begint met SEO of uw huidige strategieën wilt doorlichten, dit uitgebreide overzicht van SEO grondbeginselen geeft u een solide startpunt om uw online aanwezigheid te optimaliseren en meer gekwalificeerd verkeer van zoekmachines te krijgen. De basisprincipes van Zoekmachine optimalisatie
I don’t even know how I ended up here, but I thought this post was great. ประวัติจ๋ายไททศ
Good day, your writing style is great and i love it, ประวัติเสกโลโซ
I bookmarked it to my bookmark internet site list and will also be checking back soon. Pls check out my website also and inform me what you believe. คีโตเจนิคไดเอท
You know a lot its almost challenging to argue along with you (not too I just would want…HaHa). You actually put a new spin on the topic thats been written about for years. Great stuff, just excellent! สูตรผัดพริกแกง
One of the moreimpressive blogs I’ve read. Thanks so much for keeping the internet classy for a change. You’ve got style. I mean it. Please keep it up because without thenet is definitely lacking in intelligence. mutelu คือ
Great written content and great layout. Your blog deserves all the positive feedback it has been getting. รูปปี่เซียะเรียกทรัพย์ วอลเปเปอร์
I extremely enjoyed the standard information an individual provide for your visitors? Is gonna be back frequently in order to inspect new posts เลี้ยงกระต่ายในคอนโด
I will be coming back aimed at your website for additional soon. เลี้ยงอะไรดีในคอนโด
Woh I enjoy your articles , saved to favorites ! . ปลาตัวเล็ก เลี้ยงง่าย
I am not sure whether this post is written by him as nobody else know such detailed about my problem. You’re incredible! Thanks! ประเพณีของไทย
Thanks for this post. I definitely agree with what you are saying. I have been talking about this subject a lot lately with my father so hopefully this will get him to see my point of view. Fingers crossed! ชนิดของผัก
A good clear cut answer and a great concept. But how do I post any work on this website is another question. The Foureyed Poet. ลักษณะทั่วไปของสุนัข
Vi ringrazio, considero che quello che ho letto sia ottimo ดอกไม้
This will be a great web site, will you be involved in doing an interview regarding how you developed it? If so e-mail me! แมว
Safest the world toasts are made to captivate and also faithfulness to your wedding couple. Beginner sound system watching high decibel locations would be wise to always remember some sort of vital secret created by presentation, which is your auto. best man speeches funny สาวสวยเซ็กซี่
If you are interested feel free to shoot me an e-mail. I look forward to hearing from you! Superb blog by the way! หนังสือสารคดี มีอะไรบ้าง
When visiting blogs, i always look for a very nice content like yours . ทำพะแนง
With the exception of Willis, the cast is made up of actors who have no business waving guns around. ต้นไม้ราคาแพง 2565
I really enjoyed the standard information a person provide for your visitors? Is gonna be back often to check up on new posts ต้นไม้ล้อม นิยมปลูก
You made some clear points there. I did a search on the topic and found most people will go along with with your blog. หมา พันธุ์ หู ยาว
Hi Im itching to know if I may use this article in one of my blogs if I link back to you? Thanks ข่าวเชลซีวันนี้
i would be busy again doing some home decors this coming christmas, i’d be buying some new decors for the season’ เหล้าใน 7-11
I am certain you have never got to know any of us. สุราข้าวหอม40ดีกรี
something you could fix if you ever werent too busy searching for attention. นิทานอีสปสั้นๆ 100 เรื่อง
Appreciate your sharing this best doc. นิทาน อีสป ภาษา อังกฤษ พร้อม แปล
Christian Dior is really a genious when it comes to making those fancy dresses, คอลลี่
Music began playing any time I opened this webpage, so frustrating! ผัก กินดอก
Your blog has the same post as another author but i like your better.*’”,: เที่ยวเวนิส
my file cabinets are made of recycled fiber, they are great for holding large file folders~ รถด่วนอันตราย hd
i am very picky about baby toys, so i always choose the best ones’ นิยาย ยอด นิยม
online computers stores that offers good technical support are the best.. black desert ข้อมูล
Hi. i think that you should add captcha to your blog” ซู ป เปอร์ แมน
thumbs up for that excellent information you’ve got here about this post. I’ll be coming back to your website to get more soon. สกินแคร์พื้นฐาน
Possibly there is any person acquiring identical rss problem? Anyone who knows kindly respond. Thnkx ศิลปิน ที่ มี ชื่อเสียง
I look forward to fresh updates and will talk about this site with my Facebook group. Chat soon! หนังเกาหลี พากย์ไทย สนุกๆ
Absolutely pent content material , Really enjoyed examining . เกร็ดความรู้รอบตัว
I like this site so much, saved to my bookmarks . ทรงผม textured crop
I wish I could blog like you.. well, take it easy. happy new year แมวป่าราคาเท่าไหร่