Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

  • Chatbox

    You don't have permission to chat.
    Load More
Loppa

RPGMAKER VX ACE Eventi che non vengono trasportati fuori dallo schermo

Recommended Posts

Ho un problema con il teletrasporto degli eventi, a quanto pare non funziona se lo schermo non lo "vede", cosa si può fare per rimediare oppure è un limite del programma, ho pure tolto l'antilag ma non sembra dipendere da quello

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

scusa se ti rispondo solo ora, ma non avevo proprio alcuna idea, solo poco fa ho avuto una sorta di illuminazione, anche se non so se sia la soluzione giusta; hai controllato che l'evento sia "abilitato" ? nel senso, se è un evento che parte con delle condizioni, assicurati che le condizioni siano attive altrimenti è come se l'evento non ci fosse.

 

Altrimenti non so, se fosse per l'antilag ti direi di inserire il tag <global> nel nome dell'evento (potrebbe essere diverso a seconda dell'antilag utilizzato), ma se hai detto che hai disabilitato l'antilag quasi sicuramente non dipenderà da quello...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Figurati Ghost, nessun problema... Comunque, mi sono anche spiegato male io, l'avvio dell'evento è settato a processo parallelo 

Esempio dell'evento:

 

<aspetta 40 frame>

<imposta posizione evento N1>

<aspetta 10 frame>

<imposta posizione evento N2>

Etc....

Il problema è che quando esco dallo schermo è come se gli eventi (esempio: mostri etc) smettessero di muoversi, per poi reiniziare a muoversi quando vengono di nuovo inquadrati.

 

Si aggrava al fatto che se l'evento in processo parallelo che gestisce "lo spawn" dei mostri, ha l'ordine di teletrasportare un mostro distante anche solo 1 tiles dall'inquadratura, ovviamente non essendo inquadrata la zona dello "spawn", il mostro non viene trasportato e rimane li a bordo mappa. Impedendo il corretto svolgimento della partità perchè uno spawn di mostro in meno e le variabili alla fine non combaciano e l'evento che si dovrebbe attivare a fine ondate non si attiva.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

domanda scema, hai provato ad attivare l'opzione "Attraverso" accanto alla grafica dell'evento (oppure durante il movimento) perchè se non sbaglio gli eventi non possono transitare su altri eventi anche se questi sono impostati come "sotto l'eroe", a meno che non abbiano questa opzione attivata.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Sisi, l'attraversa è necessario praticamente in tutti gli eventi che stanno al di sotto per fare in modo che gli eventi su mappa possano transitare al di sopra dell'evento settato "attraversa" (Ad esempio quando splatti uno zombie e rimane il corpo sotto calpestabile)

 

 

 

mi par di ricordare che sull'ace, ciò che non è inquadrato risulta fermo/ibernato.

 

Ecco mi sa che il problema è questo.

 

Ma come si fa a fare un minigame dove i mostri vengono spawnati se non inquadrati... Perchè questa assurda limitazione? XD

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

qualcuno sul forum internazionale ha posto la tua stessa domanda e ho trovato questo:

#==============================================================================
# Autonomous Movement Extension
# Version 1.01
# By Napoleon
#
# About:
# Allows you to set the range for the autonomous movement events. Supports both
# a default range (so it can be configured per map) as well as an event-specific
# range.
#
# Instructions:
# - Place below "▼ Materials" but above "▼ Main Process".
# - You may adjust the range for specific events by adding a comment to it.
# - Comment sample: assign 25 to x and 35 to y (without the quotes):
#   "<auto_mov = 25 35>"
# - You may change "auto_mov" to something else by modifiying the value
#   of COMMENT_TAG
#
# Requires:
# - RPG Maker VX Ace
#
# Terms of Use:
# - Attribution 3.0 Unported (CC BY 3.0)
#   http://creativecommons.org/licenses/by/3.0/
# - Attribution is not required. This overrules what's stated in the above
#   license.
#
# Version History:
# 1.01 (21-05-2013)
#   - Improved the $imported
# 1.00 (4-2-2013)
#   - First Release
#==============================================================================
# Configurable section
#==============================================================================
COMMENT_TAG = "auto_mov" # The first value of the comment tags
GAME_VAR_IDX_X = 3 # The index for the game_variable that sets the default update range for delta x. Assign a 0 value to disable this.
GAME_VAR_IDX_Y = 4 # The index for the game_variable that sets the default update range for delta y. Assign a 0 value to disable this.
#==============================================================================
# Don't edit below this line
#==============================================================================
$imported ||= {}
$imported[:nap_autonomous_mov_ext] = 1.01


class Game_Event < Game_Character
 
  def update_self_movement
    # Set default values
    if GAME_VAR_IDX_X > 0 then range_x = $game_variables[GAME_VAR_IDX_X] else range_x = 12 end
    if GAME_VAR_IDX_Y > 0 then range_y = $game_variables[GAME_VAR_IDX_Y] else range_y = 8 end
   
    # Search for a comment for a specific range for this event.
    if @list != nil
      @list.each {|i|
        if [108, 408].include?(i.code) && i.parameters[0] =~ /<#{Regexp.escape(COMMENT_TAG)} = ([^>]*)>/
            range_x = Integer($1.split[0])
            range_y = Integer($1.split[1])
          break
      end}
    end
   
    if near_the_screen?(range_x, range_y) && @stop_count > stop_count_threshold
      case @move_type
      when 1;  move_type_random
      when 2;  move_type_toward_player
      when 3;  move_type_custom
      end
    end
  end # update_self_movement
 
end # Game_Character
#==============================================================================
# 
# ■ End of File
# 
#==============================================================================

 

 

nota che il genio che ha postato lo script lo ha messo su un unca stringa... ho dovuto metterlo io da capo rigo per rigo, e non escludo che potrei aver sbaglaito qualcosa... ma in pratica risolve il problema che ha detto kaine, ossia che gli eventi fuori schermo non si possono controllare perchè è come se si ibernassero.

 

edit: sistemato a dovere, ora dovrebbe essere giusto.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Grazie ancora, purtroppo non seguo molto la community internazionale se non per la grafica di VexedEnigma che mi occorre per il pop horror e per vedere le novità anche circa i contributi da parte della community, per quella grafica. ^^

 

Sto inserendo lo script, quindi dovrei aggiungere un commento per ogni mostro, l'ho fatto.

 

Ho messo un commento nel mostro con: <auto_mov = 100 100>

 

Per provare e ho inserito nello script X 100 Y 100, l'ho messo in processo parallelo e ho messo "muovi verso eroe" ma non funziona, mi devo sempre avvicinare

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Io, in ace, non avevo problemi a far muovere eventi che si trovavano fuori dallo schermo... non vorrei che sia una limitazione del tuo script anti-lag.

Per esempio, all'inizio di questo mio video, gli eventi degli eroi sono fuori dalla inquadratura (circa 3 tile fuori) ma, riesco tranquillamente ad ordinargli tramite evento COMUNE di muoversi verso il centro della mappa ad inizio battaglia... però, per farlo, ho dovuto disattivare l'anti-lag in quella mappa specifica. io ti consiglierei di provare il tuo evento su un progetto senza script... così, per vedere se funziona e togliersi ogni dubbio...

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ah, ora lo script mi ha bloccato tutti gli eventi del gioco senza il commento dello script, niente lo lascio così perchè non ho voglia di generare anche nuovi bug da risolvere XD

 

(Se gli eventi sono a pochi tiles al di fuori dello schermo vengono letti e quindi teletrasportati alla posizione, io gestisco tramite un evento su mappa in processo parallelo, che semplicemente spawna in game gli zombie, se invece si trovano a 4-5 tiles di distanza dall'inquadratura non c'è verso che vengano letti, se non con lo script di ghost ma quì sono di fronte ad un bivio che è più che altro un problema strutturale, inserisco lo script e di conseguenza edito tutti gli eventi di gioco fin ora creati o continuo con questo "difetto"?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ah, ora lo script mi ha bloccato tutti gli eventi del gioco senza il commento dello script, niente lo lascio così perchè non ho voglia di generare anche nuovi bug da risolvere XD

 

(Se gli eventi sono a pochi tiles al di fuori dello schermo vengono letti e quindi teletrasportati alla posizione, io gestisco tramite un evento su mappa in processo parallelo, che semplicemente spawna in game gli zombie, se invece si trovano a 4-5 tiles di distanza dall'inquadratura non c'è verso che vengano letti, se non con lo script di ghost ma quì sono di fronte ad un bivio che è più che altro un problema strutturale, inserisco lo script e di conseguenza edito tutti gli eventi di gioco fin ora creati o continuo con questo "difetto"?

 

hai provato a "obbligare" gli eventi a fare quei passi tramite un altro evento?

tipo che so metti un evento parallelo che li fa muovere di quanto basta per entrare nella distanza nella quale il tool lo legge; tipo che so, se si trova a 10 caselle dallo schermo, fai un evento parallelo (o ancora meglio un evento comune) e che lo fa muovere di 7/8 passi così che si "attivi".

 

Se no, se non va o se per qualsiasi motivo non è possibile usare i common event per questo scopo, ti direi di tenere lo script, a questo proposito, se ho ben capito come funziona questo script, forse non hai bisogno di aggiornare gli eventi, perchè se editi le stringhe:

 

GAME_VAR_IDX_X = 3 # The index for the game_blablabla

GAME_VAR_IDX_Y = 4 # The index for the game_blablabla

 

dovrebbe applicarsi a tutti gli eventi senza bisogno del tag, dovrebbe diventare di default, quindi se invece di mettere 3 e 4 metti 100 e 100 come hai fatto prima, non dovresti avere problemi

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Esatto praticamente, quello script per lo spawn è simile a quello che sto facendo io ad eventi sull'ace... Se non fosse per quel limite del programma non avrei alcun problema. Comunque, con gli eventi senza il comment purtroppo non funziona, a tutti gli eventi li freeza senza nemmeno farli muovere se inquadrati, dovrei rivedere tutti gli eventi e applicarci il comment personalizzato cioè la vedo come uno sbatti inutile perchè nel 2k3 era normale anche da 500 tiles di distanza il mostro iniziava a rincorrerti XD

 

Per questioni mie di gestione non lo posso inserire questo script anche se devo ammettere che è utile e anche se non funziona da 100 tiles di distanza un po di differenza la fa. (non lo posso inserire perchè come ho detto dovrei ristrutturare il gioco basandomi anche su quello script di movimento) :S un casino

 

Edit: Lo script funziona comunque

Modificato da Loppa (Visualizza storico modifiche)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

@@Loppa

 

yo, hai risolto il problema poi?

 

te lo chiedo perchè ho trovato per caso un altro script che dovrebbe risolvere il problema, e così mentre lo leggevo mi è tornata in mente questa discussione... si tratta, banalmente, dell' Anti-Lag del battle system in tempo reale di Falcao, uno dei più famosi in circolazione, ma ho scoperto che funziona anche come script indipendente. In pratica ti permette di specificare con un tag quali eventi sono "immuni" all'anti-lag e quindi sono in esecuzione anche a 3000 tiles di distanza xDD

 

te lo lascio qui per ogni eventualità:

#===============================================================================
# * Falcao Pearl ABS script shelf # 9
#
# Pearl Antilag v 1.1
# This is just an add on for the Pearl ABS system, it run as standalone mode too
#
# This script reduce the lag coused by tons of events on a map, this script
# ignores parallel process events, and autorun events triggers
#
# Website: http://falcaorgss.wordpress.com/
# Foro: www.makerpalace.com
#===============================================================================

module PearlAntilag
  
  # How many tiles outside the screen the script going to tolerate
  OutRange = 2
  
  # if you want to disable the script for an especific evet, tag <global> in the
  # event name box
  
end

class Game_Map
  attr_reader :max_width, :max_height
  alias falcaopearl_antilag_initialize initialize
  def initialize
    set_max_screen
    falcaopearl_antilag_initialize
  end
  
  def set_max_screen
    @[member=Max]_width  = (Graphics.width / 32).truncate
    @[member=Max]_height = (Graphics.height / 32).truncate
  end
end

class << Graphics
  alias falcaopearl_antilag_g resize_screen
  def resize_screen(w, h)
    falcaopearl_antilag_g(w, h)
    $game_map.set_max_screen unless $game_map.nil?
  end
end

class Game_Event < Game_Character
  attr_accessor :allow_update
  alias falcaopearl_antilag_ini initialize
  def initialize(map_id, event)
    falcaopearl_antilag_ini(map_id, event)
    @ignore_antilag = event.name.include?('<global>')
    @parallel_mode = @trigger == 3 || @trigger == 4 || @ignore_antilag
    @allow_update = true
    update_on_screen_event
  end
  
  alias falcaopearl_antilag_page setup_page_settings
  def setup_page_settings
    falcaopearl_antilag_page
    @parallel_mode = @trigger == 3 || @trigger == 4 || @ignore_antilag
  end
  
  def update_on_screen_event
    @allow_update = false unless @parallel_mode
    max_w = $game_map.max_width ; max_h = $game_map.max_height
    out = PearlAntilag::OutRange
    sx = (screen_x / 32).to_i
    sy = (screen_y / 32).to_i
    if sx.between?(0 - out, max_w + out) and sy.between?(0 - out, max_h + out)
      @allow_update = true
    end
  end
  
  alias falcaopearl_antilag_up update
  def update
    unless @parallel_mode
      update_on_screen_event
      return unless @allow_update
    end
    falcaopearl_antilag_up
  end
end

class Sprite_Character < Sprite_Base
  alias falcaopearl_antilag_update update
  def update
    if @character.is_a?(Game_Event) #and [email protected]_mode
      unless @character.allow_update
        end_animation if @character.animation_id > 0
        end_balloon if @character.balloon_id > 0
        self.x = @character.screen_x
        self.y = @character.screen_y
        self.z = @character.screen_z
        return
      end
    end
    falcaopearl_antilag_update
  end
end

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

In effetti non avevo risolto il problema, ma l'avevo bypassato riprogrammando tutti gli eventi coinvolti, poi faccio qualche test, nel frattempo ti ringrazio Ghost ^^ 

 

Quindi basta mettere <global> nel nome dell'evento per farlo runnare come se lo script non lo toccasse?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

 

 

Quindi basta mettere <global> nel nome dell'evento per farlo runnare come se lo script non lo toccasse?

 

esatto, basta che sostituisci il tuo attuale antilag con questo e po inserisci il tag <global> nel nome evento;

ovviamente può anche andare insieme ad altri tag, esempio <enemy 1> <global>

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Dunque, ho provato ad inserirlo e ho messo come valore 20 per testare, appena apro il player esce questo:

 

zoi2l3.jpg

    if sx.between?(0 - out, max_w + out) and sy.between?(0 - out, max_h + out)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Dunque, ho controllato l'altro script l'avevo probabilmente rimosso l'altra volta perchè alla fine mi aveva bloccato tutti gli eventi e riprogrammarli tutti è davvero troppo

 

 

 

Per questioni mie di gestione non lo posso inserire questo script anche se devo ammettere che è utile e anche se non funziona da 100 tiles di distanza un po di differenza la fa. (non lo posso inserire perchè come ho detto dovrei ristrutturare il gioco basandomi anche su quello script di movimento) :S un casino

 

Ora, magari non è che entra in conflitto con il bs o qualche altro script?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

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

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

  • Contenuti simili

    • Da kaine
      Questa patch modifica il modo in cui le tavolozze delle immagini vengono caricate e calcolate e scambia la modalità di visualizzazione all'interno della finestra di gioco e a schermo intero da 16 a 32 bit. Tutti i file grafici devono ancora avere colori indicizzati a 8bit! Ma con questa patch verranno visualizzati come previsto senza ulteriori perdite di qualità.


      Se si utilizza RPG2000 1.07, è sufficiente attivare la funzione schermo 32bit dello strumento DestinyPatcherV2 e successivamente applicare la patch 32bit-Fix di DestinyV2.
       
      Tool e versioni supportate:
      Rpgmaker 2000: v1.61-v1.62
      Rpgmaker 2003: v1.08
       
      Autore: Bugmenot,KotatsuAkira
       
      Link Download:
      (2003 v1.08)
      https://www.mediafire.com/file/x5lm6ukulc0v6q9/32bit%28fix%29.rar/file
      (2000 v1.61-v1.62)
      https://www.mediafire.com/file/r3u2uark1gub7e3/RPGMakerPatch_Screen32.7z/file
       
       
      Se avete l'ultima versione di dynrpg mettete la patch direttamente nella cartella dynpatches. Altrimenti dovete applicarla tramite lunar ips che trovate qui:
      http://www.mediafire.com/?5jf9r44itbm7674
      
    • Da kaine
      Questa patch cambia la larghezza di tutto il testo renderizzato sullo schermo di gioco da 6 a 8 (i caratteri larghi e EXFONT passano da 12 a 16, il mezzo spazio da 3 a 4) pixel, mentre l'altezza rimane 12. Per utilizzarlo correttamente, potrebbe essere necessario sostituire i font utilizzati dal motore e inserire nell'EXE una nuova immagine EXFONT con una larghezza di 208 anziché 156 pixel.

      Per il momento, non utilizzare questa funzione in combinazione con EXtraFONT. In particolare, applicatela solo se sapete perfettamente cosa state facendo, poiché dovrete regolare manualmente la definizione della larghezza ridimensionata automaticamente di EXFONT al momento del caricamento da 288 a 384 pixel.
       
      Tool e versioni supportate:
      Rpgmaker 2000: v1.07-v1.10-v1.50-v1.51-v1.52-v1.60-v1.61-v1.62
      Rpgmaker 2003: v1.00-v1.03-v1.05-v1.08-v1.09-v1.12
       
      Autore: KotatsuAkira
       
      Link Download:
      https://www.mediafire.com/file/tl9kkcf78b7twqw/RPGMakerPatch_TextWidthEight.7z/file
       
      Se avete l'ultima versione di dynrpg mettete la patch direttamente nella cartella dynpatches. Altrimenti dovete applicarla tramite lunar ips che trovate qui:
      http://www.mediafire.com/?5jf9r44itbm7674
    • Da kaine
      Visualizza il menu invertito come in FF6.
      Personaggi a sinistra ed opzioni a destra.
       
      Tool e versioni supportate:
      Rpgmaker 2000: v1.07-v1.10-v1.50-v1.51-v1.52-v1.60-v1.61-v1.62
      Rpgmaker 2003: v1.00-v1.03-v1.05-v1.08-v1.09-v1.12
       
      Autore: Cherry,KotatsuAkira(porting)
       
      Link Download:
      (2003 v1.08)
      http://www.mediafire.com/file/o6o847gr08adqcb/RPG_RT_menureversed.rar
      (2000 v1.62)
      https://www.mediafire.com/file/osqjc0i4mi72ll4/RPGMakerPatch_MenuReversed.7z/file
      (2000 v1.07-v1.10-v1.50-v1.51/v1.52-v1.60-v1.61-v1.62 - 2003 v1.00-v1.03-v1.05-v1.08-v1.09->v1.12 (Maniac Patch up to mp210414 only) )
      https://www.mediafire.com/file/bfk056czh2xvczj/RPGMakerPatch_MenuReversed.7z/file
       
       
      Se avete l'ultima versione di dynrpg mettete la patch direttamente nella cartella dynpatches. Altrimenti dovete applicarla tramite lunar ips che trovate qui:
      http://www.mediafire.com/?5jf9r44itbm7674
×