Salvare variabili testo in file .ini

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
enoenoeno
Newbie
Messaggi: 33
Iscritto il: 13/12/2016, 11:09
Uso: GameMaker 8
Contatta:

Salvare variabili testo in file .ini

Messaggio da enoenoeno »

Ciao a tutti.
Sto cercando di salvare in un file .ini lo scambio di battute fra il personaggio del gioco e il giocatore.
Ad esempio, il gioco visualizza "Ciao, come ti chiami?". Il giocatore scrive il proprio nome. Il gioco allora chiede "Sei sicuro di voler continuare?" a cui segue la risposta del giocatore.
Ho letto la mini guida sui file .ini postata sul forum. Il tutto funziona ad esempio salvando il record del gioco, mentre per il testo non riesco proprio a salvare nulla.
Questo è quanto ho inserito nel object control (in Create):

Codice: Seleziona tutto

ini_open("chiacchierata.ini");
global.parla_pc = ini_read_string("chiacchierata", "parla_pc", "nessuna conversazione");
global.parla_giocatore = ini_read_string("chiacchierata", "parla_giocatore", "nessuna conversazione");
ini_close();
Nell'object Chiacchierata, premendo spazio, viene randomizzata la variabile "saluti_dal_pc" che può contenere diverse frasi di benvenuto.
Sotto il codice ho inserito

Codice: Seleziona tutto

saluti_dal_pc = parla_pc
per fare in modo che il programma capisca che deve usare il valore random di quella variabile quando salverà.
La risposta del giocatore sta dentro il codice:

Codice: Seleziona tutto

saluti_dal_giocatore=get_string("Forza, fai un bel saluto al signor Pesce!", "")
Anche in questo caso ho poi inserito

Codice: Seleziona tutto

saluti_dal_giocatore = parla_giocatore
Infine, nell'object dell'end game, ho inserito in Alarm 0 questo codice

Codice: Seleziona tutto

ini_open(chiacchierata.ini")
ini_write_string("chiacchierata, "parla_pc", global.parla_pc);
ini_write_string("chiacchierata, "parla_giocatore", global.parla_giocatore);
ini_close();
Sicuramente ho fatto qualche errore madornale ma non riesco a capire dove :fapensare:

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: Salvare variabili testo in file .ini

Messaggio da Jak »

Codice: Seleziona tutto

ini_open(chiacchierata.ini")
ini_write_string("chiacchierata, "parla_pc", global.parla_pc);
ini_write_string("chiacchierata, "parla_giocatore", global.parla_giocatore);
ini_close();
Occhio che mancano un po di virgolette """"" in giro nel codice, se l'hai ricopiato questo spiega molte cose.
enoenoeno ha scritto: La risposta del giocatore sta dentro il codice:

Codice: Seleziona tutto

saluti_dal_giocatore=get_string("Forza, fai un bel saluto al signor Pesce!", "")
Se hai problemi con quella funzione questa restituisce una stringa vuota visto che come default hai messo "". Questo rende difficile ogni debug e porterebbe appunto a non scrivere niente sul file ini. Mettici una stringa di qualche tipo per testare.

Se ancora non va bene come consiglio generale procedi per gradi e non provare molte funzioni in contemporanea.
Ad esempio parti scrivendo una stringa "direttamente" sul file ini

Codice: Seleziona tutto

ini_write_string("chiacchierata, "parla_giocatore", "stringa di test");
così vedi se ci sono dei problemi riguardo ai caratteri di ciò che vuoi scrivere. Dopodichè passa a leggere le variabili prese in causa, un classico draw_text() è manna dal cielo per capire che valore hanno attualmente le variabili senza passare per il debugger, controlla sempre di avere il valore corretto prima di dare la colpa a ciò che utilizza quel valore.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

enoenoeno
Newbie
Messaggi: 33
Iscritto il: 13/12/2016, 11:09
Uso: GameMaker 8
Contatta:

Re: Salvare variabili testo in file .ini

Messaggio da enoenoeno »

Grazie della risposta.
Sono ancora scarso nel maneggiare il codice e a volte mi ci perdo.
Ho provato a salvare con i file Txt e tutto fila liscio ora.
Giusto una curiosità: se voglio andare a capo nel file Txt salvato, il simbolo "#" che va bene per il codice in GM mi da ora errore.
Devo usare un altro comando?

Avatar utente
Xxshark888xX
Membro d'elite
Messaggi: 1497
Iscritto il: 30/05/2012, 19:17
Specialità: Un poco di tutto
Uso: GM:Studio 1.4 Pro
Località: Earth
Contatta:

Re: Salvare variabili testo in file .ini

Messaggio da Xxshark888xX »

enoenoeno ha scritto:Grazie della risposta.
Sono ancora scarso nel maneggiare il codice e a volte mi ci perdo.
Ho provato a salvare con i file Txt e tutto fila liscio ora.
Giusto una curiosità: se voglio andare a capo nel file Txt salvato, il simbolo "#" che va bene per il codice in GM mi da ora errore.
Devo usare un altro comando?
Per andare a capo ti basta utilizzare

Codice: Seleziona tutto

file_ID = file_text_open_write(file);
file_text_writeln(file_ID);
Contatti
Steam
Facebook

Gif
Spoiler
Immagine
Immagine
Immagine
Immagine

enoenoeno
Newbie
Messaggi: 33
Iscritto il: 13/12/2016, 11:09
Uso: GameMaker 8
Contatta:

Re: Salvare variabili testo in file .ini

Messaggio da enoenoeno »

Grazie shark!
Siete grandiosi!

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 152 ospiti