Jump to content
Rpg²S Forum

Exim Gealbhonn

Utenti
  • Posts

    353
  • Joined

  • Last visited

Posts posted by Exim Gealbhonn

  1. Bello script! è stata una sorpresa trovarmi nei ringraziamenti xD

    Solo un accorgimento: se utilizzi una variabile globale per attivare e disattivare l'endline automatico, ricordati che al salvataggio non verrà salvato il suo valore.

     

    Grazie al tuo aiuto sono riuscito a trovare quel dannato errore, metterti nei ringraziamenti è il minimo xD

     

    Per la variabile globale, intendi al salvataggio del gioco o quando si salva il progetto?

  2. Nome Script:

    Endline Automatico dei Messaggi

    Descrizione:
    Per molti risulta tedioso ogni volta calibrare i messaggi al fine di non trovarli tranciati in game, di conseguenza ho creato questo piccolo script per far mandare a capo automaticamente il testo del messaggio una volta arrivato al limite massimo di caratteri, risparmiando così un bel po' di tempo.

    Autore: Sora Keyblade

    Istruzioni per l'uso: Nel commento all'inizio del codice è spiegato tutto dettagliatamente

    Bug e Conflitti: N/A

    Script:

     

    #==============================================================================
    # SK | Endline Automatico dei Messaggi
    # Autore: Sora Keyblade
    # Versione: 1.2
    # Programma: RPG Maker VX Ace
    # Data: 31/12/2014
    # Ultima Modifica: 06/08/2016
    #-------------------------------------------------------------------------------
    # Descrizione:
    #    Script ideato per Elysian Quest.
    #    Per molti risulta tedioso ogni volta calibrare i messaggi al fine di non
    #    trovarli tranciati in game, di conseguenza ho creato questo piccolo script
    #    per far mandare a capo automaticamente il testo del messaggio una volta
    #    arrivato al limite massimo di caratteri, risparmiando così un po' di tempo.
    #-------------------------------------------------------------------------------
    # Limiti dello script:
    #    -Il tasto anteprima, presente quando si crea/modifica un messaggio, non
    #     presenterà il messaggio modificato da questo script, ma quello base di
    #     rpgmkr, probabilmente in futuro verrà risolto questo problema
    #-------------------------------------------------------------------------------
    # Istruzioni:
    #    Mettete il seguente codice sotto -Materials-, con il nome che più desideri
    #    e seguire le istruzioni della parte modificabile
    #-------------------------------------------------------------------------------
    # Termini di Uso:
    #     -Free sia per giochi commerciali che non.
    #     -Obbligatorio creditare "Sora Keyblade".
    #     -Vietata l'appropriazione indebita
    #-------------------------------------------------------------------------------
    # Special Thanks:
    #     -Holy87
    #     -Haru
    #===============================================================================
    # -Inizio parte modificabile
    #===============================================================================
    module SK
      # Avete presente quando volete che il testo di un messaggio sia "centrato",
      # così da renderlo più incisivo? Di solito questo effetto è creato con un
      # lavoro sulla barra spaziiatrice, ma, ahimé, questo script elimina completamente
      # la spaziatura "in eccesso", rendendo impossibile spostare il testo più a
      # destra. Per sopperire a questa mancanza ho creato un metodo
      # per annullare momentaneamente l'effetto dello script, così da poter "centrare"
      # come più vi pare il testo.
      # ATTENZIONE: Se userete questo metodo dovrete andare a capo manualmente per
      #               quel messaggio!
      # Il processo per fare ciò è semplicissimo, dovrete modificare il valore dopo
      # il simbolo di uguale con un numero a vostro piacimento che andrà ad indicare
      # il numero di spazi minimi ad inizio messaggio necessari ad annullare l'effetto
      # dello script.
      # Esempio (valore dopo l'uguale: 2):
      # "  Il coniglio rosso vi ucciderà nel sonno"
      # l'effetto dello script è annullato grazie ai due spazi ad inizio messaggio
      Numero_spazi_annullamento_Script=2
    end
    #===============================================================================
    # -Fine Parte Modificabile
    #===============================================================================
    
    
    class Game_Message      
      alias clear_sora clear  
      def clear            
        clear_sora
        
      end
     
      def endline(text)
        if face_name==""
          @max_lettere=53
        else
          @max_lettere=41
        end
        @testo=text
        @contatore=0
        @array=@testo.split(" ")
        @testo=""
        for i in 0..@array.size-1
          if @array[i]=~/\\V\[(.+)\]/
            variabile=$game_variables[$1.to_i]
            numero_variabile=$1
            @contatore+=(@array[i].size-4-numero_variabile.to_s.size)+variabile.to_s.size+1
          else
            @contatore+=@array[i].size+1
          end
          
          if @contatore>=@max_lettere
            @texts.push(@testo)
            @testo=""
            if @array[i]=~/\\V\[(.+)\]/
              variabile=$game_variables[$1.to_i]
              numero_variabile=$1
              @contatore=(@array[i].size-4-numero_variabile.to_s.size)+variabile.to_s.size+1
            else
              @contatore=@array[i].size
            end
          end
          @testo+=@array[i]+" "
        end
        @texts.push(@testo)
      end
     
      alias add_sora add
     
      def add (text)
        unless text=~/[ ]{#{SK::Numero_spazi_annullamento_Script},}\w+/
          endline(text)
        else
          add_sora(text)
        end
      end
    end  
    
    

  3.  

    L'errore sta in @array[array.size] che è uguale a nil.

     

    Ricorda che l'indicizzazione nei vettori va da 0 a lunghezza - 1

    def edit_text(text)
    @testo=text
    @contatore=0
    @array=@testo.split(" ")
    @testo=""
    for i in 0..(@array.size - 1)
    if @contatore>=42
    @testo+="\n"
    end
    @testo+=@array[i]
    @contatore+=@array[i].size
    end
    end
    

    Che errore grossolono xD

     

    Grazie mille per l'aiuto, senza di te non ne sarei venuto a capo ^^

  4. In uno script base di rpgmkrvxace, ho aggiunto questo metodo

     

    def edit_text(text)

    @testo=text

    @contatore=0

    @array=@testo.split(" ")

    @testo=""

    for i in 0..@array.size

    if @contatore>=42

    @testo+="\n"

    end

    @testo+=@array

    @contatore+=@array.size

    end

    end

     

    Però, quando avvio il tutto, mi dà un TypeError sulla riga di

    @testo+=@array

     

    Dicendo che non è possibile convertire un nil in una stringa... Però @testo è una stringa, quindi non riesco a capire dove stia l'errore ^^"

     

    Grazie mille per l'aiuto ^^

  5. Che tipo di problema?

    Non riesco a far "comprendere" al programma a quale nemico o pg deve prendere le stat.

    Per esempio, io creo una funzione con argomenti l'id dell'attaccante e del bersaglio, uso questi id per inizializzare due oggetti, dai cui estraggo le varie stat da manipolare e/o modificare (e credo che fin qui sia tutto giusto)

     

    Però appena devo creare la formula non so che valori mettere,xD

  6.  

    Puoi richiamarla direttamente dalla formula dell'abilità così:

    CREA LO SCRIPT CON QUESTA STRUTTURA

     class Game_Battler < Game_BattlerBase
        def Example_Skill(a, b)
       #roba che fa lo script#
        end
        end
    

    quindi, nella formula del danno dell'abilità usi

    a.Example_Skill(a,b)
    

    Forse mi sto solo facendo un film mentale, ma gli argomenti "a" e "b" rappresentano l'attaccante e il bersaglio, right?

  7. D: E' possibile creare un'abilità tramite script in questo modo?

    -Creare un'abilità nel database

    -Mettere come effetto un evento comune che richiama uno script

    Ho provato a farlo ma quando viene eseguita sembra che si sia creata una ricorsione/ciclo infinita/o, quindi rimane bloccato ^^"

     

    Grazie mille per l'aiuto

  8. D: E' possibile creare un'abilità tramite script in questo modo?

    -Creare un'abilità nel database

    -Mettere come effetto un evento comune che richiama uno script

    Ho provato a farlo ma quando viene eseguita sembra che si sia creata una ricorsione/ciclo infinita/o, quindi rimane bloccato ^^"

     

    Grazie mille per l'aiuto

  9. Intendi $game_party.gain_item per caso?

     

    Grazie mille, adesso provo ^^

     

    EDIT: Funziona, sei stato di grande aiuto ^^

     

    D: C'è un modo che fa si che quando viene aperto l'exe di un gioco fatto con rpg maker vx-ace non ci sia il solito menù: Inizia,continua e esci,ma bensì si venga subito catapultati in-game?

    class Scene_Title < Scene_Base
      def start
        super
        SceneManager.clear
        Graphics.freeze
        command_new_game
      end
      
      def command_new_game
        DataManager.setup_new_game
        $game_map.autoplay
        SceneManager.goto(Scene_Map)
      end
        
      def terminate
        super
      end
    end
    

    Se inserisci questo script dovrebbe funzionare ;)

     

    Ti avviso però che con questo script non c'è possibilità di caricare nessun salvataggio (in caso ti serva questa feature te lo modifico)

     

    P.s. Scusami se non è commentato ma l'ho scritto di fretta XD

  10. D: Vorrei fare un piccolo script, dove, tra le cose, ti incrementa di uno un determinato oggetto, così ho cercato tra gli script di default, ma non sono riuscito a trovare la parte "incriminata", qualcuno sarebbe così gentile da dirmi come fare e magari indicarmi dove viene regolata questa funzione?

     

    Grazie mille per l'aiuto ^^

  11. Il comando draw_text purtroppo non supporta le lettere a capo. Dovrai gestire tutto tu. Un metodo utile è split che divide una stringa in un array di più stringhe quando trova un carattere specifico. Ad esempio:

    stringa = "nome: Eroe|classe: Guerriero|livello: 30"
    array = stringa.split("|")
    #avrai: ["nome: Eroe","classe: Guerriero","livello: 30"]
    
    Ti basterà prendere questo array dove in un ciclo for, per ogni elemento fa un draw_text (usa l'indice del for per disegnare sempre più giù, ad esempio dove devi mettere la coord_y metti i*line_height+y_iniziale)

     

    Grazie mille, questo trucchetto è molto utile e veloce :P

  12. Sto cercando di spezzare una frase per farla centrare all'interno di una immagine, allora ho utilizzato il classico "\n"

    @testo="ATT:??? DIF:???"+"\n"+"VEL:???"
    @descrizione_B.draw_text(30,60,544,416,@testo,0)
    

    Ma quando avvio il gioco, al posto di andare a capo, mi compare un quadratino per "\n" e continua il testo sulla stessa linea, qualcuno sa come posso risolvere il problema?

  13. Ok, controllando nel manuale di RPG Maker VXAce ho visto che ci sono 2 modi di dichiarare Bitmap

    Quello presentata nella guida e questo

    Bitmap.new(width, height)
    

    ma ora sorge spontaneo un dubbio...

     

    a che servono gli argomenti width e height di

    fill_rect(x, y, width, height, color) 
    
    

    ?

  14. @Guardian io in questo momento sono al lv.65 di media ^^

     

    poi ho trovato geniale l'aggiunta (credo con la patch di natale, non ricordo bene) di quella specie di portale oscuro al centro di Nevandra, che ti portava in una specie di altra dimensione in cui c'era intrappolato un uomo incappucciato che dopo un dialogo fighissimo (ti sei superato *.*) e la battaglia ti dava delle armi op (forse troppo potenti, erano 2 masamune lv3, scettro magico lv.2 e arco scarlatto lv4 + velocità e armature tutte sopra il lv.3), comunque è stato un boss molto duro da battere.

     

    P.S Holy per caso ci sono trofei nascosti sul battere nemici specifici o sul fuggire?

     

    E mi scuso con tutti per l'inattività in quest'ultimo anno.

  15. Altro fatto importante è che con un linguaggio interpretato devi farlo tradurre all'interprete ogni volta (quindi l'utente che userà il programma da te scritto deve avere l'interprete nel suo PC)

     

    mentre per un linguaggio compilato hai l'exe (per windows) ed è fatta

     

    P.s. Però mi è parso di aver visto da qualche parte un compilatore di ruby (forse mi sto sbagliando)

    P.p.s wow flame, informatica vs ingegneria informatica u.u

  16. ok, comunque avrei una domanda, se io per esempio prendessi un pezzettino della pancia di un orco verde (o.O")  e un pezzettino degli occhi del dio della morte (tutti e due RTP di vx ace) e li ripetessi in successione, potrei fare due barre, una verde e una rossa?

     

    secondo me si potrebbe fare, perché potrebbe essere ritenuta una fusione, visto che prendo pezzi da dei mostri e li mette insieme, aspetto vostra risposta (e spero vostra conferma)

×
×
  • Create New...