Jump to content
Rpg²S Forum

giver

Utenti
  • Posts

    1,288
  • Joined

  • Last visited

Posts posted by giver

  1. Mi sono espresso male

    praticamente devi scegliere se essere ninja mago o guerriero quindi non posso impostare lemagie dal database.

    come faccio attraverso eventi?

    Soul Eater si è espresso male. Le skill dipendono dalla classe associata al personaggio, non al personaggio specifico . . . Quindi puoi impostarle dal DataBase, nel pannello Classes.

     

    C'è comunque il comando evento Change Skill, nel terzo pannello dei comandi, quasi in fondo alla prima colonna: Permette sia di aggiungere che di togliere skill ad un personaggio specifico . . .

    Per sapere a quale livello è arrivato un personaggio c'è l'opzione nel Control Variables, "spuntando" actor, scegliendo il nome del personaggio, e lasciando così com'è il parametro da ottenere visto che il primo della lista è proprio Level . . .

    Quindi basta usare una IF varLivelloEroe == 3, che esegue una Change Skill in caso risulti vera . . .

  2. Allora, il meccanismo è semplice. Un cancello che si deve aprire quando due statue da spostare sono in due punti specifici. Ho fatto l'evento della statua con le variabili X e Y, e l'evento Posizione Statua 1 con le variabili X e Y. Ora, il problema è che spostando la statua sopra l'evento Posizione (per far sì che scatti l'apertura, visto che le 4 variabili devono essere uguali) la Statua non va sopra l'evento...nemmeno in fantasma, niente...ho provato in tutti i modi...con il 2k ci riuscivo benissimo...

    Davvero hai sempre sprecato due eventi per sta cosa ? LOL

     

    Capirei se si spostassero sia la statua che il punto che sblocca il meccanismo, ma se il punto è sempre lo stesso basta guardare quali sono le coordinate mappa del punto e confrontare la posizione della statua con questi valori fissi anzichè con altre variabili . . .

  3. Hai dimenticato di inserire le istruzioni in def update . . .

    In rosso ti ho segnato cosa aggiungere.

    In blu, invece, ho evidenziato delle istruzioni che mi sono inventato io, perchè non so come vanno attivati gli script per la rarità e le carte: dovrai sostituirle con le chiamate corrette . . .

     

     

    # _____ _ _ _ _ _

    # | ____|__| (_) |_ ___ __| | | |__ _ _

    # | _| / _` | | __/ _ \/ _` | | '_ \| | | |

    # | |__| (_| | | || __/ (_| | | |_) | |_| |

    # |_____\__,_|_|\__\___|\__,_| |_.__/ \__, |

    # |___/

    # ____ _

    # | _ \ _ __ ___ __ _ _ __ ___ | | ___ ___ ___

    # | | | | '__/ _ \/ _` | '_ ` _ \| |/ _ \/ __/ __|

    # | |_| | | | __/ (_| | | | | | | | __/\__ \__ \

    # |____/|_| \___|\__,_|_| |_| |_|_|\___||___/___/

     

    #==============================================================================

    # ■ Scene_Menu

    #------------------------------------------------------------------------------

    #  メニュー画面の処理を行うクラスです。

    #==============================================================================

     

    class Scene_Menu

    #--------------------------------------------------------------------------

    # ● オブジェクト初期化

    # menu_index : コマンドのカーソル初期位置

    #--------------------------------------------------------------------------

    def initialize(menu_index = 0)

    @menu_index = menu_index

    end

    #--------------------------------------------------------------------------

    # ● メイン処理

    #--------------------------------------------------------------------------

    def main

     

    #@spriteset = Spriteset_Map.new

    @background = Sprite.new

    @background.bitmap = RPG::Cache.picture("prova_menu")

    @background.x = 0

    @background.y = 0

    @background.z = -100

    # コマンドウィンドウを作成

    @icona1 = Sprite.new

    @icona1.bitmap = RPG::Cache.icon("Money")

    @icona1.x = 75

    @icona1.opacity = 255

    @icona1.y = 437

    @icona1.z = 200

    #Stop icone

    s1 = $data_system.words.item

    s2 = $data_system.words.skill

    s3 = $data_system.words.equip

    s4 = "Status"

    s5 = "Salva"

    s6 = "Esci"

    s7 = "Prova"

    s8 = "Prova2"

    s9 = "Prova3"

    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8, s9])

    @command_window.index = @menu_index

    # パーティ人数が 0 人の場合

    if $game_party.actors.size == 0

    # アイテム、スキル、装備、ステータスを無効化

    @command_window.disable_item(0)

    @command_window.disable_item(1)

    @command_window.disable_item(2)

    @command_window.disable_item(3)

    end

    # セーブ禁止の場合

    if $game_system.save_disabled

    # セーブを無効にする

    @command_window.disable_item(4)

    end

    # プレイ時間ウィンドウを作成

    @playtime_window = Window_PlayTime.new

    @playtime_window.x = 224

    @playtime_window.y = 224

    # 歩数ウィンドウを作成

    @steps_window = Window_Steps.new

    @steps_window.x = 0

    @steps_window.y = 320

    # ゴールドウィンドウを作成

    @gold_window = Window_Gold.new

    @gold_window.x = 0

    @gold_window.y = 416

    # ステータスウィンドウを作成

    @status_window = Window_MenuStatus.new

    @status_window.x = 160

    @status_window.y = 0

    # トランジション実行

    Graphics.transition

    # メインループ

    loop do

    # ゲーム画面を更新

    Graphics.update

    # 入力情報を更新

    Input.update

    # フレーム更新

    update

    # 画面が切り替わったらループを中断

    if $scene != self

    break

    end

    end

    # トランジション準備

    Graphics.freeze

    # ウィンドウを解放

    @background.dispose

    @command_window.dispose

    @playtime_window.dispose

    @steps_window.dispose

    @gold_window.dispose

    @status_window.dispose

    if @prova != nil

    @prova.dispose

    end

    @icona1.bitmap.dispose

    @icona1.dispose

    @background.bitmap.dispose

    @background.dispose

    end

    #--------------------------------------------------------------------------

    # ● フレーム更新

    #--------------------------------------------------------------------------

    def update

    # ウィンドウを更新

    @command_window.update

    @playtime_window.update

    @steps_window.update

    @gold_window.update

    @status_window.update

    if @prova != nil

    @prova.update

    end

    @icona1.update

    # コマンドウィンドウがアクティブの場合: update_command を呼ぶ

    if @command_window.active

    update_command

    return

    end

    #

    if @prova != nil and @prova.active

    update_prova

    return

    end

    # ステータスウィンドウがアクティブの場合: update_status を呼ぶ

    if @status_window.active

    update_status

    return

    end

    end

    #--------------------------------------------------------------------------

    # ● フレーム更新 (コマンドウィンドウがアクティブの場合)

    #--------------------------------------------------------------------------

    def update_prova

    # If B button was pressed

    if Input.trigger?(Input::B)

    # Play cancel SE

    $game_system.se_play($data_system.cancel_se)

    # Make command window active

    @command_window.active = true

    @prova.active = false

    @prova.dispose

    return

    end

    # If C button was pressed

    if Input.trigger?(Input::C)

    # Branch cursor position

    case @prova.index

    when 0 # item

    # Play decision SE

    $game_system.se_play($data_system.decision_se)

    # Switch to item screen

    $scene = Scene_Item.new

    when 1 # rarity

    # Play decision SE

    $game_system.se_play($data_system.decision_se)

    # Switch to rarity screen

    $scene = Scene_Rarity.new

    when 2 # card

    # Play decision SE

    $game_system.se_play($data_system.decision_se)

    # Switch to card screen

    $scene = Scene_Card.new

    end

    return

    end

    end

    #--------------------------------------------------------------------------

    # ● フレーム更新 (コマンドウィンドウがアクティブの場合)

    #--------------------------------------------------------------------------

    def update_command

    # B ボタンが押された場合

    if Input.trigger?(Input::B)

    $game_system.se_play($data_system.cancel_se)

    $scene = Scene_Map.new

    return

    end

    # C ボタンが押された場合

    if Input.trigger?(Input::C)

    # パーティ人数が 0 人で、セーブ、ゲーム終了以外のコマンドの場合

    if $game_party.actors.size == 0 and @command_window.index < 4

    # ブザー SE を演奏

    $game_system.se_play($data_system.buzzer_se)

    return

    end

    # コマンドウィンドウのカーソル位置で分岐

    case @command_window.index

    when 0 # アイテム

    $game_system.se_play($data_system.decision_se)

    # Chiama Item

    @command_window.active = true

    s1 = "Oggetti"

    s2 = "Rarità"

    s3 = "Carte"

    @prova = Window_Command.new(192, [s1, s2, s3])

    @prova.back_opacity = 160

    @prova.x = 320 - @prova.width / 2

    @prova.y = 288

    @prova.active = true

    @prova.index = 0

    when 1 # スキル

    $game_system.se_play($data_system.decision_se)

    $scene = Scene_Skill.new

    when 2 # 装備

    $game_system.se_play($data_system.decision_se)

    $scene = Scene_Equip.new

    when 3 # ステータス

    $game_system.se_play($data_system.decision_se)

    $scene = Scene_Status.new

    when 4 # セーブ

    # セーブ禁止の場合

    if $game_system.save_disabled

    # ブザー SE を演奏

    $game_system.se_play($data_system.buzzer_se)

    return

    end

    # 決定 SE を演奏

    $game_system.se_play($data_system.decision_se)

    # セーブ画面に切り替え

    $scene = Scene_Save.new

    when 5 # ゲーム終了

    # 決定 SE を演奏

    $game_system.se_play($data_system.decision_se)

    # ゲーム終了画面に切り替え

    $scene = Scene_End.new

    when 6 # ゲーム終了

    # 決定 SE を演奏

    $game_system.se_play($data_system.decision_se)

    # ゲーム終了画面に切り替え

    $scene = Scene_End.new

    when 7 # ゲーム終了

    # 決定 SE を演奏

    $game_system.se_play($data_system.decision_se)

    # ゲーム終了画面に切り替え

    $scene = Scene_Save.new

    when 8 # ゲーム終了

    # 決定 SE を演奏

    $game_system.se_play($data_system.decision_se)

    # ゲーム終了画面に切り替え

    $scene = Scene_End.new

    end

    return

    end

    end

    #--------------------------------------------------------------------------

    # ● フレーム更新 (ステータスウィンドウがアクティブの場合)

    #--------------------------------------------------------------------------

    def update_status

    # B ボタンが押された場合

    if Input.trigger?(Input::B)

    # キャンセル SE を演奏

    $game_system.se_play($data_system.cancel_se)

    # コマンドウィンドウをアクティブにする

    @command_window.active = true

    @status_window.active = false

    @status_window.index = -1

    return

    end

    # C ボタンが押された場合

    if Input.trigger?(Input::C)

    # コマンドウィンドウのカーソル位置で分岐

    case @command_window.index

    when 1 # スキル

    # このアクターの行動制限が 2 以上の場合

    if $game_party.actors[@status_window.index].restriction >= 2

    # ブザー SE を演奏

    $game_system.se_play($data_system.buzzer_se)

    return

    end

    # 決定 SE を演奏

    $game_system.se_play($data_system.decision_se)

    # スキル画面に切り替え

    $scene = Scene_Skill.new(@status_window.index)

    when 2 # 装備

    # 決定 SE を演奏

    $game_system.se_play($data_system.decision_se)

    # 装備画面に切り替え

    $scene = Scene_Equip.new(@status_window.index)

    when 3 # ステータス

    # 決定 SE を演奏

    $game_system.se_play($data_system.decision_se)

    # ステータス画面に切り替え

    $scene = Scene_Status.new(@status_window.index)

    end

    return

    end

    end

    end

     

     

     

  4. Il codice che ho inserito prima l'ho messo in def update_command nel campo when 0 ovvero quando premi invio su Items!

    Suppongo che l'errore stia li!

    Hai solo cambiato il nome della variabile da @Prova a @prova, giusto ?

    Io ti ho elencato altre cose da fare, perchè solo il codice che hai scritto non è sufficiente a farla funzionare.

     

    Personalmente la gestirei in altro modo, comunque, per come hai scelto di gestirla tu, eccoti alcune indicazioni:

     

    Alla fine del def main di Scene_Menu, dopo @status_window.dispose, inserisci

    if @prova != nil
    @prova.dispose
    end

    Vai nel metodo def update della Scene e all'inizio vedrai una serie di @nome_finestra.update.

    Dopo l'ultima di queste istruzioni aggiungi

    if @prova != nil
     @prova.update
    end

    poi più sotto

    if @prova != nil and @prova.active
     update_prova
     return
    end

    aggiungi in fondo al codice che hai creato all'inizio, sotto @prova.active = true

    @prova.index = 0

    questa è la parte più difficile, cioè devi creare il codice che dice cosa accade quando si fa una scelta in @prova . . . Quello che ti posto è solo un esempio e dovrai "aggiustarlo" come riterrai opportuno . . .

    Va messo tra le ultime due righe di Scene_Menu, che sono due end

     

     

      def update_prova
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Make command window active
      @command_window.active = true
      @prova.active = false
      @prova.dispose
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Branch cursor position
      case @prova.index
      when 0  # item
    	 # Play decision SE
    	$game_system.se_play($data_system.decision_se)
    	# Switch to item screen
    	$scene = Scene_Item.new
      when 1  # rarity
    	# Play decision SE
    	$game_system.se_play($data_system.decision_se)
    	# Switch to equipment screen
    	$scene = Scene_Rarity.new
      when 2  # card
    	# Play decision SE
    	$game_system.se_play($data_system.decision_se)
    	# Switch to status screen
    	$scene = Scene_Card.new
      end
      return
    end
     end

     

     

     

    Adesso dovresti avere elementi sufficienti per andare avanti da solo . . .

  5. Devi aggiungere delle istruzioni per @prova in (def) update e creare il metodo (def) update_prova.

    Per chiarirti le idee su cosa fare, guarda in update cosa viene fatto per @command_window e @status_window, più i relativi metodi (def) update_command ed (def) update_status . . .

     

    PS: In ruby è buona norma denominare le variabili usando solo lettere minuscole, ed usare l'iniziale maiuscola solo per le costanti, quindi sarebbe meglio usare @prova invece di @Prova . . .

  6. Per avere il valore di una variabile si pone $game_variables[numerovariabile] in una variabile locale o direttamente come parametro del comando in cui va usato il suo valore.

    Es. Voglio settare le coordinate con le variabili 4 e 5.

    Posso impostarla così:

    Script: cx =$game_variables[4]
    cy = $game_variables[5]
    $game_screen.pictures[3].show("immagine1", 1, cx, cy, 100, 100, 255, 1)

    Oppure così:

    Script: $game_screen.pictures[3].show("immagine1", 1, $game_variables[4], $game_variables[5], 100, 100, 255, 1)

     

    Per avere nomi di file "variabili" basta chiamare le pictures "nomeelementoNUMERO", dove numero sarà prelevato da una normalissima variabile. Il nome delle picture non deve contenere zeri di riempimento.

     

    Es. Voglio mostrare delle cifre indicando il numero picture nella variabile 7 e il numero della cifra da mostrare nella variabile 11. Le picture che uso si chiamano "cifra0", "cifra1", ecc.

    Script: cx =$game_variables[4]
    cy = $game_variables[5]
    npic = $game_variables[7]
    pname = "cifra" + $game_variables[11].to_s
    $game_screen.pictures[npic].show(pname, 1, cx, cy, 100, 100, 255, 1)

    Notare che pname non è tra virgolette in quanto è il nome della variabile che contiene quello della picture . . .

     

    Ricordo inoltre che questo sistema lo si può usare anche mantenendo il limite di 50 picture . . .

  7. un lieve OT scusate. ma un chara di dimensioni non consone alle dimensioni degli eventi, crea problemi di interazione con gli eventi a contatto, pressione di invio ecc?

    Di base sì, si può interagire solo con la "casella" base dell'evento-mappa, ma so che esiste uno script per gestire "meglio" le interazioni tra chara grandi, anche se, da quello che ho capito, non lo fa proprio perfettamente . . .

    Questo per l'XP, per il VX non lo so . . .

  8. Il comando evento Control Variables permette di recuperare sia gli HP massimi che quelli attuali di un actor nel party . . .

    Per ottenere una percentuale basta che metti in una variabile gli HP attuali del personaggio e li moltiplichi per 100, poi metti gli HP Massimi in un'altra variabile e dividi la prima variabile, quella con HP*100, per la seconda, quella con HP Max.

    La percentuale viene sempre arrotondata per difetto, ossia un personaggio con 350 HP Max che ne perde solo 1, scendendo a 349 HP, avrà una percentuale del 99%, anche se i decimali la porterebbero più vicina al 100% . . .

    Un modo per arrotondare all'intero più vicino consiste, dopo aver moltiplicato per 100 la prima variabile, nel mettere gli HP massimi nella seconda variabile e dividerli per 2, aggiungendo il valore ottenuto a quello nella prima variabile, quindi mettere gli HP Max nella seconda variabile ed eseguire la divisione, come spiegato prima . . .

     

     

    EDIT - Per l'arrotondamento all'intero più vicino avevo detto di dividere per 2 gli HP attuali invece di quelli massimi . . .

  9. Il percorso completo è:

    C:\Programmi\File comuni\Enterbrain\RGSS\Standard

     

    Quell'errore non l'ho mai visto...l'importante è che se premi ok il gioco parte ^^

    A me la traduzione ufficiale inglese della Enterbrain le ha installate in C:\Program Files\Common Files\Enterbrain\RGSS\Standard\

    Comunque puoi usare la funzione cerca del sistema operativo per cercare RGSS, se nessuno dei percorsi ti permette di trovarle . . .

     

    Per l'errore, credo che sia dovuto al numero di applicazioni aperte contemporaneamente rispetto a quelle che può gestire il tuo computer. Mi pare di vederne attive, sulla traybar, almeno 8-9 . . .

  10. mmm, ho provato e non funziona. Ho incollato lo script principale sopra lo script main poi ho messo

    un evento in processo parallelo col seguente script:

    $game_screen.pictures[3].show(immagine1, Center, 320, 240, 100, 100, 255, Normal)

    l'immagine si chiama "immagine1" ovviamente, quindi dovrebbe funzionare invece mi dice (appena entro nella mappa con l'evento): SyntaxError occurred while runniing script.

     

    Boh... Che c'è di sbagliato?

    Dovrebbe essere scritta così per funzionare

    $game_screen.pictures[3].show("immagine1", 1, 320, 240, 100, 100, 255, 1)

     

    EDIT - E se non ci sta su una riga sola del pannellino script, vai a capo dopo una delle virgole, dopo la parentesi aperta o dopo uno dei punti . . .

  11. Non funziona, puoi spiegare meglio dove va messo il code?

    Tecnicamente dovrebbe andare nello script Main, ossia l'ultimo nella lista degli script, subito dopo begin . . .

    Ma se cerchi tra gli script di questo forum il Main modificato da DaD e lo sostituisci a quello del progetto, include una versione funzionante di questa procedura, anche se parte a schermo intero solo quando fai doppio clic sul Game.exe del progetto . . . All'interno di Rpg Maker viene sempre eseguito in finestra, che è la cosa migliore . . .

  12. bn ora ho corretto(avevo settato 2 img ed invece ne avevo messa sl 1a

    ... ora mi da errore alla riga 34 ç_ç

    undefined method for bitmap':nil class

    Prova ad eliminare il +1 finale della riga 33 . . .

    Ossia, c'è scritto così

    if @index == @number_max+1

    e prova a cambiarla così

    if @index == @number_max # +1

     

    Io purtroppo non la posso testare perchè non ho il VX . ..

  13. @saixelement

    Non dovrebbe. È solo per RPG Maker VX, poiché nell'XP no esiste il metodo opacity.

    Veramente il metodo opacity per gli sprite c'è anche nell'XP . . .

    Anche se non credo sia quello il problema . . .

     

    Forse non ha inserito le immagini nella cartella Picture o non le ha denominate nel modo giusto . . .

    Va fatta la stessa cosa del file musicale, ossia scegliere un nome comune a tutte le immagini della intro, da inserire al posto di "NomeImmagineBase" per la variabile @name_im (ossia la prima dopo def start, dichiarare quante immagini compongono l'intro, e le immagini usate devono avere come nome il valore di @name_im + il numero d'ordine dell'immagine nell'intro, senza zeri che lo precedono anche se le "slide" sono 10 o più . ..

    Es. Setto la variabile @name_im = "slide", per una intro composta da 12 immagini (quindi @number_max = 12), e le immagini nella cartella Picture dovranno perciò chiamarsi "slide1", "slide2", "slide3", "slide4", . . ., "slide10", "slide11", e "slide12" . . .

  14. Con lo script di the joker, le luci non si accendono/spengono insieme al ciclo giorno/notte, io ho provato in diversi modi ma niente, quindi faccio prima con gli eventi, perchè di script non ne so una cippa. XD

    Se è quello il problema, è facilmente risolvibile, visto che per un altro utente ho modificato il light system affinchè le luci si attivassero e spegnessero mettendo ON ed OFF uno switch a scelta di chi realizza il gioco . . .

    Quindi dovrebbe bastare l'inserimento dell'istruzione che gestisce lo switch nei punti del ciclo giorno e notte che cambiano il tint screen . . .

  15. Il nome che viene usato nello script non è quello del personaggio, ma l'immagine del face deve chiamarsi come l'immagine che rappresenta il personaggio sulla mappa . . .

    Es. Se il chara associato all'eroe si chiama "fighter-001", il face nella cartella picture si dovrà chiamare anch'esso "fighter-001" . . .

  16. Giver, vuol dire che con il ciclo giorno/notte, la luce cambia colore con il Tint Screen...

    Se usando gli eventi con lo spunta sull'opzione sopra ogni cosa si aggira questo difetto, allora non dovrebbe essere difficile correggere lo script affinchè le luci generate restino immutate . . .

    O si potrebbe usare per le luci uno "sprite-tint" opposto a quello dello schermo, non saprei . . .

  17. Basta usare un Evento Comune in processo parallelo che parte con lo stesso switch che fa partire il menù ed inserirci un semplice Muovi Evento per il PG, in cui il passo da eseguire sia Aspetta 4 frames (Importante: A Ripeti movimento ed a Ignora se bloccato NON va messo il segno di spunta). Ovviamente anche il menù, in questo caso, deve essere in processo parallelo . . .

    OPPURE

    L'Evento Comune del menù deve essere ad Autoinizio . . .

     

    Il primo sistema sono sicuro che funziona, mentre il secondo non saprei . . .

  18. Guarda il motivo per cui lo script te l'ho realizzato con riferimento via variabile è perchè per muovere, dichiarare o qualsiasi altra operazione via picture servono un boato di argomenti, guarda questo è il solo comando per mostrare la picture:

    $game_screen.pictures[NUMERO].show(NOME, ORIGINE, X, Y, ZOOMX, ZOOMY, OPACITA, BLENDING)

    Con questo sistema, però, anche se l'istruzione è lunga, ottieni due ottimi benefici, anche quando non hai bisogno di più di 50 pictures: puoi risparmiare sulla quantità di comandi-evento per Picture e puoi definire tutti i parametri del comando tramite variabili (cosa che, tra l'altro, permette una maggiore riutilizzabilità del "codice") . . .

    Per l'Orologio-Datario ad eventi che ho realizzato per regan avrei usato questo sistema, se non avessi temuto di rendere difficile eventuali modifiche/personalizzazioni del "codice" a regan e ai principianti interessati a capire come era stato realizato . . .

     

    @MaC: Se non hai paura di incasinarti con questo metodo, ti consiglierei di accettare la proposta di Sleeping . . .

  19. Ma ti serve davvero aggiornarle, come minimo, 20 volte al secondo ?

     

    Hai provato a inserire un comando Aspetta all'inizio dell'evento che disegna le pictures ?

     

    Lo so che è scomodo, ma se non basta inserire l'aspetta per annullare il lag, dovresti semplicemente convertirlo in evento comune di tipo None e chiamarlo come parte dell'evento che causa i danni o ne rigenera il valore, OPPURE Usare una variabile in più per ogni valore che mostri nell'HUD: in queste variabili metti il valore della caratteristica dopo aver aggiornato le picture, all'inizio dell'Evento Comune prelevi il valore di quella caratteristica come fai per aggiornare le pictures, solo in una delle variabili, però (es. Unità HP), confronti questa variabile con quella che contiene l'ultimo valore mostrato e solo se sono diverse fai i calcoli e ridisegni le pictures . . .

     

    Io purtroppo faccio gran fatica a spiegarmi come si deve. Spero si sia capito comunque cosa intendo . . .

  20. Cioè, fammi capire...Se io metto per esempio gli eventi di due palle che rotolano, se li faccio entrambi Autostart partono una dopo l'altra, invece se una è Parallel partono insieme?

    Devono essere entrambe processi paralleli che si attivano alle stesse condizioni affinchè partano assieme: se una è autostart funziona solo quella finchè resta attivo l'evento, e se sono entrambe autostart o ne parte una o, più probabile, ti si impalla il gioco . . .

     

    Quando è attivo un evento Autostart, funziona solo quello e gli eventi/script chiamati da quello . . . Tutto il resto resta bloccato finchè l'autostart non smette di funzionare . . .

    In altri termini, in un qualunque momento ci può essere un solo Autostart attivo, e mentre è attivo è l'unica cosa che funziona nel gioco . . .

×
×
  • Create New...