Jump to content
Rpg²S Forum

Grawel

Utenti
  • Posts

    447
  • Joined

  • Last visited

Posts posted by Grawel

  1. Holy87 necessito il tuo aiuto sia per sapere quella cosa che ti ho chiesto delle abilita sia per l'errore che riscontro quando vado a leggere i valori dal file.

    if File.exist? ("VOUCH.txt")
     file = File.open("VOUCH.txt","r")
     record = []
     file.each_line do |riga|
      record.push(riga)
     end
     file.close
    end
    

    uso questo come mi hai detto tu...i problemi sono 2, prima di tutto non so cme far prendere il valore a una varibile...

    esempio:

    il file che leggo ha solo una riga che contiene il valore 500

    vorrei che a $game_party.gold si aggiunga 500 (cioè che i soldi nel gioco aumentino di 500)

    il problema penso sia che una è una varibile mentre record è una stringa.

     

     

    il secondo problema invece e che vorrei che questo fosse fatto durante il caricamento

    ti prego aiutami ho bisogno di queste cose il prima possibile

     

     

     

    ok ho risolto tutto tranne la parte sulle abilita( magia e speciali) qualcunio puo aiutarmi?

  2. Scusate se rispondo solo ora ma è un periodo un po pieno...cmq ho provato a mettere quel codice nel caricamento e nn va...provero ancora in seguito...ora scusami se ti rompo ancora le palle Holy ma volevo stampare anche l'elenco delle abilita per ogni personaggio il livello e la classe per le abilita nn ho idea invece per livello e classe se mi dici la varibile provo ad arrangiarmi...e mi servirebbe anche la varibile dove vengono salvati i soldi. grazie ancora dopo gli esami rilascero una demo cosi potree provare il gioco :)

  3. tu mi avevi scritto questo codice

    if File.exist? (nomefile) #così controlla se esiste
     file = File.open(nomefile,"r")
     record = [] #creo un array
     file.each_line do |riga|
      record.push(riga) #aggiungo all'array la riga
     end
     file.close
    end
    

    ma mi da errore non riesco a estrarre dal file i calori delle variabili...ho fatto un tentativo con un file.txt dove c'era scritto soltanto il valore 15.

  4. Il salvataggio viene fatto nel modulo DataManager, trovi il metodo che viene chiamato nel salvataggio e ci ficchi il codice. Anche i metodi che hai messo in Game_Interpreter vanno passati in DataManager perché non più in call script. Ricordati però che nel modulo va cambiata la dichiarazione in def self.nomemetodo, perché non vengono istanziati.

    OK ci sono riuscito grazie mille per l'aiuto :)

    Pero non sono ancora riuscito a fare il processo inverso per le variabili mi da un Nil anche qui

  5. ho provato a copiare quello che mi hai dato in game interpreted quando poi faccio la call mi da errore...

     

    questa è la call

    file=File.open("gioco.txt","w")
    record=stampa_membri_gruppo
    file.write(record)
    record="\n"
    file.write(record)
    file.close
    

    l'errore è

    script 'Game Interpreter' line 1435: NoMethodError occured.

    undefined method 'name' for nil:NilClass

     

    se commento la parte stringa += equipaggiamenti(member) ovviamente dato che l'errore è sul secondo metodo ma non mi scrive gli equip...sai come risolverlo? praticamente se ho capito bene equip.name non è niente per lui e non sa che dato fornirti immagino

  6. Se vuoi usarlo tramite call script, devi mettere il codice che ti ho dato in game_interpreter.

    ho provato a copiare quello che mi hai dato in game interpreted quando poi faccio la call mi da errore...

     

    questa è la call

    file=File.open("gioco.txt","w")
    record=stampa_membri_gruppo
    file.write(record)
    record="\n"
    file.write(record)
    file.close
    

    l'errore è

    script 'Game Interpreter' line 1435: NoMethodError occured.

    undefined method 'name' for nil:NilClass

     

    se commento la parte stringa += equipaggiamenti(member) ovviamente va dato che l'errore è sul secondo metodo ma non mi scrive gli equip...sai come risolverlo? praticamente se ho capito bene equip.name non è niente per lui e non sa che dato fornirti immagino

  7. def stampa_membri_gruppo
     stringa = ""
     for member in $game_party.members
      stringa += member.name + ": "
      stringa += equipaggiamenti(member)
      stringa += "\n"
     end
     return stringa
    end
    
    def equipaggiamenti(eroe)
     equipgg = ""
     for equip in eroe.equips
      equipgg += equip.name + ", "
     end
     return equipgg
    end
    
    Quindi richiamando il metodo "stampa_membri_gruppo" otterrai una stringa del genere:

    "Ralph: Spada Corta, Scudo di legno, Armatura di piastre

    Odin: Bastone magico, Cappello magico, Tunica

    Peppe: Coltello, Giacca di pelle"

     

     

    questo metodo dove dovrei scriverlo scusa l'ignoranza

     

    ho scritto i due metodi alla fine del tuo script...ma ora la script call come devo farla basta scrivere stampa_membri_gruppo??

  8. Non lo so, scusa non avevo provato, era solo curiosità teorica la mia! D:

    ^ ^

     

    Comunque il primo errore che mi dà è che il nome del file deve essere messo tra "" in tutti i casi.

    Il secondo è che nel primo pezzo di codice non può convertire le variabili di gioco in stringhe, ho provato con il .to_s, anche dopo aver salvato la variabile di gioco in una variabile, ma non mi funziona... le variabili di gioco non sono interi? Hanno formati diversi non traducibili in stringhe o caratteri? D:

     

    guardian ho provato a lavorarci un po e grazie al tuo mex ho trovato una soluzione

     

    codice coretto:

    file=File.open("gioco.txt","a+")
    record=$game_variables[15].to_s+"\n"
    file.write(record)
    file.close
    
  9. La modalità a+ crea un file nuovo se non esiste e posiziona il cursore alla fine, quindi non sovrascrive.

     

    Prima di tutto, cos'è "gioco" che da errore? Come hai scritto il codice?

    Secondo, facendo come dici tu nella variabile 10 metti tutti i righi. Ti consiglio di fare in questo modo:

    if File.exist? (nomefile) #così controlla se esiste
     file = File.open(nomefile,"r")
     record = [] #creo un array
     file.each_line do |riga|
      record.push(riga) #aggiungo all'array la riga
     end
     file.close
    end
    
    Così facendo, la variabile diventa un array dove ogni elemento è un rigo del file. Ad esempio, $game_variables[10][0] prende il primo rigo, $game_variables[10][1] il secondo e così via...

     

     

    gioco sarebbe NOMEFILE....comunque ho scritto le righe di codice che mi hai dato in uno script call che si attiva quando parlo con un personaggio.

  10. Se non ci fossi, dovrebbero inventarmi... Se per esempio vuoi memorizzare il valore della variabile 10 in un file di testo, metti in un chiama evento

    file = File.open(NOMEFILE.txt, "a+") #ricordati di mettere il .txt finale
    record = "VARIABILE 10: " + $game_variables[10] + "\n"
    file.write(record)
    file.close
    
    Questo script aggiungerà ogni volta un rigo con un nuovo valore del record nel file di testo NOMEFILE. Se il file non esiste, verrà automaticamente creato.

     

     

    grazie mille Holy87 per la tua risposta sembra similissimo al C...tutta via mi da il seguente errore...scusami se sono un po rompi palle...

    il problema è il seguente

     

    http://www.mediafire.com/view/myfiles/#fta1m7tf751eq1g

     

    questo metodo che mi hai dato tu dovrebbe scrivere su txt in maniera non criptata i valori delle variabili o altro...come faccio poi se avessi un txt fatto alla stessa maniera a far leggere al gioco i dati? cioè il processo inverso?

     

    funziona se uso

    File.open(NOMEFILE.txt, "r")

    $game_variabile[10]=file.read(stringa)

    file.close

     

    ovviamente sul txt su ogni riga c'è scritto solamente un numero

    ????????????

     

    grazie mille e scusami tanto per il disturbo.

  11. C'è questo, di Holy: http://www.rpg2s.net/forum/index.php/topic/17338-modulo-di-supporto-di-holy87/

     

    Tra le altre cose, ti permette di gestire un oggetto $game_settings come vuoi.

    Ogni volta che vuoi salvare un parametro, una variabile o quant'altro, lo usi e lo script ti salva il valore automaticamente in un file esterno.

    Poi puoi utilizzare lo stesso oggetto per leggere i valori salvati.

     

    Nota: essendo un file esterno, è indipendente dai salvataggi. Quindi partite diverse condivideranno lo stesso file.

    Purtroppo non è ancora quello che cercavo anche se ha elle funzioni che mi possono tornare utili...

    Vi riposto qui soto cosa mi serve esattamente e spero che qualcuno possa aiutarmi.

     

    MI serve una funzione che data una o più variabili(di gioco) le scriva su un file .txt il numero della variabile e il relativo valore che mi servono sono ID (membri gruppo, numero dell'arma e dell' equipaggiamento del personaggio principale)

    se è possibile vorrei specificare io tramite la chiamata quali variabili deve scrivere (altrimenti meglio che vengano scritte tutte )

    esempio:

     

    variabili

    001 55

    002 67

    003 2

    .

    .

    .

    gruppo

    011

    012

    014

    020

    equip (solo personaggio principale) (arma elmo armatura)

    005

    014

    060

    questo per quanto riguarda l'output (mi piacerebbe che creasse lui il file txt se possibile e che scriva i dati quando viene salvata la partita)

     

     

     

    per quanto riguarda l'imput vorrei semplicemente

    che o con una chiamata a funzione o al momento del caricamento di una partita o quando si inizia una nuova partita solo se è presente un determinato file .txt voglio che lo apra e carichi le variabili che contiene

    es:

    Il file si chiama pippo.txt

    se non è presente il file non fa niente altrimenti voglio che lo legga e:

     

    file

     

    005 55

    089 33

    189 71

     

    legge questo file e semplicemente la varibile 005 del gioco prende il valore 55 la 089 prende valore 33 e la 189 il valore 71

     

    Spero di non chiedere troppo ne ho davvero bisogno vi ringrazio in anticipo, se c'è qualcosa di non chiaro o volete chiarimenti chiedete pure.

  12. ho provato gli script e purtroppo non vanno bene :'( l'unico che sembrava potesse funzionare era il primo anche se era incompleto...però il primo sembra essere solo per debuggare infatti va rimosso prima di rilasciare il gioco...comunque sei stato gentilissimo...

     

    Chiedo ancora aiuto spero possiate autarmi.

×
×
  • Create New...