Jump to content
Rpg²S Forum

Yoshi91

Utenti
  • Posts

    473
  • Joined

  • Last visited

Posts posted by Yoshi91

  1. Partecipo!!! Si possono in ogni caso utilizzare su VXace le RTP dell' XP senza incappare in alcuna squalificazione?

     

    D: Posso usare con il VX i tileset del VX Ace e viceversa?

    R: No, come detto prima dovete arrangiarvi con le RTP che avete. Stessa cosa per RPG Maker 2000 e 2003.

    Significa che con il VX Ace devi usare le RTP del VX Ace. ^_^

  2. Interessante anche per la spiegazione dei game "che smettono di funzionare"! ^ ^

     

    Peccato che non li risolva tutti e bisogna pure vedere se gli altri sono conosciuti o no, ma sicuramente ottimo script ^ ^

    Concordo, forse è lo script più importante della Terra. Mannaggia alla Enterbrain con sti bug che gli utenti stanno a correggere XD

     

    PS. Guardian, hai letto il mio EDIT?

     

    EDIT: Mod e Admin: perchè l'ultima parte del topic viene visualizzata così? O_O

     

  3. Game.exe Crash fix

     

    Descrizione

    Anche se a te non è mai capitato un crash dell'RGSS2 Player, ti consiglio vivamente di inserire questo importantissimo script!!!

     

    Quante volte vi sarà capitato che Game.exe si blocca in modo imprevisto, senza errori di script, eccetera?

     

    A me capitava con il mio progetto di tanto tempo fa che avrò abbandonato a settembre, si bloccava continuamente, con il messaggio di Windows 7: "Game.exe ha smesso di funzionare". Per risolvere questo problema stavo a sbattere la testa sul monitor (a quei tempi ero nabbo). Ma questi crash rararararrararararararrarararamente mi saranno capitatipersino con Overdrive, finchè su Internet non trovai una spiegazione:

     

    Gli script 'nascosti' del VX sono 'buggati'. Questo Crash, nella maggior parte dei casi, avviene quando:

     

    1. Un "GO" (oggetto grafico) (Sprite, Window, Plane, o un Tilemap) viene creato

    2. L'oggetto grafico è assegnato a un Viewport

    3. Il Wiewport è disposto, ma lo sprite non lo è

    4. L'oggetto grafico è sostenuto dallo GC (garbage disposal)*

     

    In questi casi il Game.exe va in crash come un bambino che si perde nel bosco.

    Ma poi arriva l'eroe, questo script, che salva il bambino (corregge questi bug in modo che non accadano più), e vissero tutti felici e contenti. Comunque vi avviso che questo script non corregge TUTTI i Crash del Game.exe, solo i 4 indicati sopra.

    Se riuscite a trovare un metodo per forzare un Crash al Game.exe, scrivetelo direttamente sul topic originale dello script, qui.

     

     

    Autore

    Mithran

    Allegati

    N/A

    Istruzioni per l'uso

    Installate lo script sotto Materials e sopra Main.Su utilizzi script che creano una grafica all'avvio del gioco (Per esempio Woratana Simple Mouse System) installate questo script sotto questi.

    Script:

     

     

     

    # Graphical Object Global Reference

    # v 1.1

    # A debugger script.

    # Created by Mithran

    # hosted at rpgmakervx.net; forums.rpgmakerweb.com

     

    # Created to address the issue of specific Game.exe crashes during play

     

    %q(

    The cause of a given Game.exe crash could be any number of things - anything that

    doesn't create throw an error in Ruby, but causes an unhandled exception in one

    of the 'hidden' classes.

     

    After extensive testing, I was finally able to recreate the circumstances leading

    up to one such exception that, if left unhandled, could lead to Game.exe crash.

     

    1. A "GO" - Graphical Object (Sprite, Window, Plane, or Tilemap) is created

    2. The Graphical Object is assigned a Viewport

    3. The Viewport is disposed, but the sprite is not

    4. The Graphical Object is claimed by GC (garbage disposal)*

     

    * - Newly Discovered: attempting to dispose a sprite that has a disposed viewport

    will occasionally also crash. (v 1.1)

    Note that this particuar crash only seems to occur if screen draws have taken

    place (any of the Graphics methods) between the time the viewport is disposed

    and the sprite disposal is attempted.

     

    Due to the way GC is implemented, you are unlikely to see an immediate effect

    when the situation comes up. It could be several scene changes down the line

    before the crash finally happens. To make matters worse, following the exact

    same course of action will yield completely different results, making it seem

    as though the crashes are random. In addition, there is yet another circumstance

    which I have still been unable to pinpoint, but I suspect has something to do

    with the order in which assets associated with the Graphical Object are claimed

    by the GC, or the amount of screen rewdraws that have taken place,

    that allows the GO to be cliamed without causing an exception and

    thus making it even harder to find.

     

    In essence: you could be suffering from an unstable game and not even know it.

     

    So that is where this little script comes in. This does the following:

     

    1. Creates a global variable backreference to every Graphical Object created.

    This prevents them from being marked by the GC so long as the reference exists,

    circumventing the final condition to cause this version of the crash.

     

    2. Removes reference to the Graphical Object once it has been disposed.

    This reallows the object to be marked by GC for disposal (once all other

    references are removed). Since the GO is disposed, condition 3 is no longer met

    and the object is deemed 'safe'.

     

    3. Report on potential issues to the user.

    This allows the user (given limited scripting knowledge) to identify potential

    errors and fix them outright.

     

    4. Prevents further Game.exe crashes caused by this specific issue.

    Includes a 'lazy' fix that cleans up offending Graphical Objects when the scene

    changes.*

     

    * v 1.1 'Lazy' fix has been superceeded to prevent crashes caused by disposal of

    these errant sprites. Lazy fix only works if debug criticial disposal has

    been disabled.

     

    Version History:

     

    v 1.1

    Discovered a new condition for a Game.exe crash. Updated script to trap and log

    this error also.

     

    v 1.01-1.05

    Minor bugfixes, improved logging, added consideration for Plane objects viewport method error

     

    v 1.0

    Initial Release

     

    )

    # Creates a global refrence list to all graphical objects, preventing them from

    # ever being garbage collected. Objects from this list are removed when the object

    # runs its dispose method, thereby allowing them to be GC'd.

     

    # Has a built in layer to notify the player if the scene changes with live

    # graphical objects in play. As a rule, this should almost never happen. Certain

    # scripts have sprites that are used across every scene and never disposed,

    # thus intentionally having an additional global reference (such as mouse script)

    # As such, they should never generate a critical error. However, they can be manually

    # exempted from being detected by this script by using the instance method

    # 'gobj_exempt' on the sprite. In the case of Woratana's Simple Mouse/Jets Mouse

    # simply place my script as low as possible on the scripts list, but above Main,

    # to avoid conflicts.

     

    GOBJ_NOTIFY_LEAK = false # when true, displays a list of undisposed graphical objects

    # every time the scene changes. This includes all graphical objects

     

    GOBJ_NOTIFY_CRITICAL = false # when true, displays information regarding critical

    # graphical object disposal oversights on scene switch. These are the errors

    # that could otherwise turn into a Game.exe crash.

     

    # The above two options print a message directly to the screen.

     

    GOBJ_DEBUG_FILE = true # makes a file (gobj.txt) in the game directory containing

    # information about new critcal objects whenever a scene switches

    # the list includes:

    # the time the error was recorded

    # the object's class and ID

    # the scene it was created during (NilClass = in a script before any scene was created)

    # and the 'caller', or the list of methods run prior to this object's creation

    # the first line on caller will generally be the location of where the

    # offending object was initially CREATED

    # HOWEVER, the error this script addresses is that this object is never DISPOSED

    # of properly. Knowing where the object will only allow a scripter to go back

    # and properly dispose of the object at the correct time.

     

    GOBJ_LOG_NON_CRITICAL = true

    # if set to true creates log entries for non-critical objects that are not disposed

    # between scenes. Only works if GOBJ_DEBUG_FILE is also set to true.

    # if you have a game.exe crash that seems to pop up randomly after a while

    # try using this and see if there are any unfreed objects at all

     

    GOBJ_LAZY = false

    # turn this to true and graphical objects with disposed viewports will be disposed

    # when the scene changes. It is recommended this setting not be used and instead

    # the code be cleaned up directly.

    # v 1.1 This function has been superceeded by below.

    # Sprites must be kept in memory to prevent a crash if their viewport has already

    # been disposed.

    # Note this only seems to occur if screen redraws have occured between the time

    # of viewport disposal and sprite disposal

     

    GOBJ_DEBUG_CRITICAL_DISPOSAL = false

    # disables disposal of GO that have had their viewports already disposed

    # this is only considered unsafe if screen redraws have taken place between the

    # time that the viewport and sprite are disposed.

    # Some of the base scripts dispose viewport immediately before the sprites, which

    # has never been known to cause errors, therefore, this option has been added to

    # circumvent dealing with these type of objects. Turn this on if you continue

    # to get Game.exe crashes that are not logged.

     

     

    # --- End Setup

    $gobj = []

     

     

    [sprite, Plane, Window, Tilemap].each { |cl|

    class << cl

    alias new_gobj new unless $@

    def new(*args)

    obj = new_gobj(*args)

    ary = [obj, $scene.class]

    ary.push(caller) if GOBJ_DEBUG_FILE # add caller list if debug file is enabled

    # if object is disposed already during initialization, dont add it

    $gobj.push(ary) unless obj.disposed?

    obj

    end

     

    end

     

    cl.class_eval {

     

    alias dispose_gobj dispose unless $@

    def dispose

    if GOBJ_DEBUG_CRITICAL_DISPOSAL && viewport && viewport.disposed?

    o = $gobj.find { |a| a[0] == self }

    print "#{o[0]} created in #{o[1]} is attempting to dispose with a disposed viewport!" if GOBJ_NOTIFY_CRITICAL

    if GOBJ_DEBUG_FILE && !o[3]

    gobj_log_to_file(o, true)

    o[3] = true

    end

    return

    end

    gobj_exempt # remove from global reference

    dispose_gobj # original dispose

    end

     

    def gobj_exempt

    $gobj.delete_if { |a| a[0] == self }

    end

     

    } # class eval

     

    } # each class

     

    class Scene_Base

    alias main_gobj main unless $@

    def main

    if !@gobj && $TEST && $gobj.size > 0

    p 'Live Graphical Object List:', $gobj.collect { |o| o[0..1] } if GOBJ_NOTIFY_LEAK

    $gobj.clone.each { |o|

    next o[0].gobj_exempt if o[0].disposed?

    critical = o[0].viewport && o[0].viewport.disposed?

    print "#{o[0]} created in #{o[1]} is a potential for Game.exe crash!" if GOBJ_NOTIFY_CRITICAL && critical

    if GOBJ_DEBUG_FILE && !o[3] && (critical or GOBJ_LOG_NON_CRITICAL)

    gobj_log_to_file(o, critical)

    o[3] = true # do not log again this instance

    end

    if GOBJ_LAZY && critical

    o[0].dispose

    end

    } # close $gobj.each

    @gobj = true # once per run of this specfic scene object

    end # debug branch

    main_gobj #original method

    end

     

     

    end

     

    module Kernel

     

    def gobj_log_to_file(o, critical)

    File.open("gobj.txt", "a") { |f|

    f.print "\n-----\n"

    f.print("Time: #{Time.now}\n")

    f.print("#{critical ? '' : 'Non-'}Critical Object #{o[0]}\n")

    f.print("In Scene #{o[1]}\n")

    f.print("Caller:: \n")

    o[2].each { |e| e.gsub!(/Section(\d+)\:(\d+)/i) { |m|

    "Script #{$1} -- #{ScriptNames[$1.to_i]}, Line: #{$2}" }

    } # close o[2].each

    outp = o[2].join("\n")

    f.print(outp)

    } # close file

    end

     

    end

     

    class Viewport

    alias dispose_gobj dispose unless $@

    def dispose

    @disposed = true

    dispose_gobj

    end

     

    def disposed?

    @disposed

    end

     

    end

     

    class Plane

    # Plane#viewport methods do not work correctly

    # Plane#viewport takes an argument and SETS the viewport

    # while Plane#viewport= is not defined at all

    # fixed to work like sprite, window and Tilemap

     

    alias viewport= viewport unless $@

    alias viewport_set viewport unless $@

    def viewport=(vp)

    @viewport = vp

    viewport_set(vp)

    end

     

    def viewport

    @viewport

    end

     

    alias initialize_vpfix initialize

    def initialize(vp = nil)

    @viewport = vp

    initialize_vpfix(vp)

    end

     

    end

     

    ScriptNames = {}

     

    load_data("Data/Scripts.rvdata").each_with_index {|s, i| ScriptNames = s[1] }

     

     

     

     

    Bugs e Conflitti Noti

    Se riscontrate bugs postateli qui (io non potrei proprio aiutarvi perchè non me ne intendo, qualcun'altro sì) oppure sul suo topic linkato sopra.

     

    Altri dettagli

    Creditate obbligatoriamente Mithran, a me non creditatemi solo per aver postato lo script.

  4. Beh, che il deserto fosse "deserto" credo che sia voluto XD

    Il deserto l'ho disegnato apposta così privo di dettagli e vasto, in modo che il giocatore, senza un senso dell'orientamento adeguato, si possa facilmente perdere. Alla fine non è neanche così grande eh! Solo che la sensazione che dà è proprio questa.

     

    Se questa programmazione ti sembra eccellente, riparliamone con il capitolo 3 :)

    Già mi immagino la Nintendo che prova il Cap.3 di Overdrive e ti chiamano per rilasciare Overdrive su Console Nintendo (Wii U, 3DS e company).

    :sisi:

  5. *respirando a fatica*

    Il deserto Yascha è 'leggeremente' disabitato.

    Mama mia com'è faticoso! E caldo.

    Pur usando l'indicazione delle statue, mi sono perso, poichè non sono molto bravo in geografia. XD

    No, vabè, quando continuo Overdrive, credo di finirlo.

    Allora, Holy, la programmazione è eccellente, i dialoghi pure, il gioco è PERFETTO.

    Và a lavorare con la Nintendo, che ci fai ancora qua?

  6. Cioè tu quell' omino bambolotto lo reputi spaventoso solo perchè ha la faccia bianca? Togliti dalla testa una cosa, se mi presenti un horror o affiliato al genere e io vedo quel coso in game muoio... dalle risate. E non sto parlando con Yoshi (che ha prestato il suo favore) ma a "G" che dice essere un chara perfetto. Usa uno stile più tall se vuoi fare un po' di paura. E smettila di uppare, mi sembrava che questa discussione non potesse essere sempre tra i gli ultimi non letti... Buttati sullo stile di Destroya, è il migliore presentato a mio avviso, anche se ciò implica (cosa che non è mai gradita a chi vuol la pappa pronta) cambiare lo stile grafico di chara e adattare la grandezza di oggetti, porte e finestre all' altezza degli sprites. Per fare un gioco serve tempo, non fretta. Cioè, un horror con vx non potrà mai esistere con i chara rtp... Pensaci, tu giocheresti mai un gioco horror con un bambolotto kawaii dalla faccia bianca? Spero con questa provocazione di riuscire quantomeno a farti porre delle domande per capire se ti trovi sulla strada giusta oppure no. Affidati a un grafico al limite, ci sono tanti cazzeggiatori (me incluso!!!) che però ogni tanto si dilettano in grafica con ottimi disegni senza avere progetti in cantiere da tempo, o che comunque gliene dedicano poco, che magari per rompere il tempo qualche chara te lo disegnerebbero volentieri, non pretendere tutto ciò che è già confezionato a scatola chiusa. Accontentarsi non va mai bene ma nemmeno essere troppo puntigliosi e pretenziosi perchè poi si tende a ricominciare e ricominciare più volte all' infinito un progetto solo perchè c' è un pixel fuori posto o si vuole fare un restyle dopo l' altro (che ci può stare). Ma come per tutte le cose serve equilibrio. E coerenza. Se cerchi anche solo su tsr vedi che qualche buon chara che fa per te lo trovi di sicuro. Coraggio!

    Just, io ci ho provato a cercare un chara e i risultati erano indecenti ;____________;

  7. Sicuro di non fare nulla di strano in questo gioco? Lo fa pure su un nuovo progetto sempre? ;____ ;

    Al riavvio del PC? ^ ^

    Hmmm... Guardian, credo che il problema sia più grave.

    Kirbfile, dal pannello di controllo imposta la tastiera su Giapponese e prova ad usare RPG Maker.

    Toglimi una curiosità Kirbfile:

    Questo problema esiste anche con altri giochi fatti con RPG Maker?

  8. Cioè un collage di tutta la mappa, screen per screen?

    Un inquadramento di mappa, nessun collage.

    Devi fare uno screen dell'interno della finestra del gioco quando ti trovi nella mappa con cui vuoi partecipare (con eroe preferibilmente invisibile), non rpg maker.

    Spero di essere stato chiaro :)

  9. Usa questo:

     

     

    http://i204.photobucket.com/albums/bb310/lukeydoodly/weegee.png

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    XD... No vabbè scherzavo.

    Tieni il charset più spaventoso che abbia trovato:

     

     

    http://fc07.deviantart.net/fs70/f/2012/280/e/4/slender_man_sprites____rpg_maker_vx__by_fayeyo-d5h4xvm.png

     

     

  10. mi sembra giusto utilizzare le rtp e basta, se no la sfida non diventerebbe più il fare un mapping buono, ma anche una sfida a chi trova le risorse migliori.

    Comunque, la mappa come dobbiamo "immortalarla"?

    Dici "Come dobbiamo postarla?".

    Apri il tuo progetto, fai uno screen con l'interno della finestra, uppi su Imageshack e posti qua.

     

     

    Ok, perfetto!

    Comunque non hai ancora aggiunto i partecipanti?

    Se non si fosse capito

    ma non credo xD

    partecipo :P

    Ti metterò fra i partecipanti quando posterai uno screen di questa benedetta mappa :P

  11. Va bene, ragazzi, va bene! Usate le RTP del tool che userete!

    Gli sfondi di parallasse non usateli, in questo contest tutto ciò che conta è il mapping e tutti gli errori che vengono commessi.

    Poi sto aggiungendo una marea di F.A.Q.

    Guardian, il topic delle votazioni lo farò io?

    Vi prego di rileggere il post iniziale!

  12. http://img607.imageshack.us/img607/9940/senzanomefw.png

    Benvenuti al Mapping Contest!

    Cos'è Mapping Contest?

    E' un contest dove gli utenti si scontreranno amichevolmente nel chi fa una mappa più bella, senza quote di iscrizione.

    • Regole: Questo contest permette agli utenti di scontrarsi a "chi fa la mappa più bella". Dovete postare uno screen con la vostra mappa. Per partecipare postate un post con scritto "Partecipo alla sfida", il proprio screen realizzato nel post, preferibilmente sotto spoiler per evitare lunghi caricamenti della pagina, e il nome del tool utilizzato. Potete usare i vari RPG Maker (RPG Maker 2000, RPG Maker 2003, RPG Maker XP, RPG Maker VX e RPG Maker VX Ace. Inoltre, sotto richiesta di parecchi utenti, è obbligatorio utilizzare le RTP del proprio tool. Sono vietati fotoritocchi tramite programmi, e vietati Script e Patch in modo da rendere lo screen più piacevole. E' vietato anche l'utilizzo di HUD, ecc... Tutto ciò che conta sono il mapping, gli errori, e cose del genere. Se avete domande, scrivete qui. La violazione delle regole costerà l'eliminazione al contest.

     

    • Scadenza: 15/03/2013

     

    • Numero minimo di partecipanti: 4 Partecipanti

     

    • Numero massimo di partecipanti: Nessuno

     

    • Rens per i vincitori: Per il primo 5 Rens, per il secondo 3 e per il terzo 2.

     

     

     

    Partecipanti attuali:

    SaulHudson95

    quaever

    LordOfTheTitans

    BombettA

    Sidney

     

    E' pregato di leggere attentamente le F.A.Q:

    F.A.Q:

     

     

    D: Ho applicato una patch su RPG Maker 2000 che modifica la risoluzione della finestra, portandola a 640x480. E' valido?

    R: Sì, in questi casi la patch è permessa. Ciò è vaildo anche su RPG Maker 2003.

     

    D: Ad eventi ho strutturato un HUD; posso usarlo nello screen?

    R: Escludilo dallo screen, perchè qualsiasi HUD, anche se ad eventi, non è valido.

     

    D: Ho usato uno script su RPG Maker VX che permette di allargare la risoluzione a 640x480. E' valido?

    R: Sì, validissimo. E' valido anche su RPG Maker VX Ace.

     

    D: Sto usando uno script per aggiungere degli effetti solari alla mappa. E' accettabile?

    R: Assolutamente no. Questi effetti speciali non sono ammessi al contest, perchè tutto ciò che conta è il mapping.

     

    D: E se lo volessi fare ad eventi?

    R: Neanche. Come detto sopra, ripeto che in questo contest conta solo il mapping.

     

    D: Lo screen che ho fatto contiene anche dei personaggi che dialogano. Va bene?

    R No, inoltre il box messaggi potrebbe togliere visuale ai votanti.

     

    D: La mia mappa contiene molti eventi. Rispetta le regole?

    R: Nello screen ci devono essere uno o due eventi e basta, a meno che questi eventi riguardino la mappa: schizzi d'acqua, fumo che esce da un camino... Eventi del genere ne potrete inserire quanti ne vorrete.

     

    D: Lo screen che vorrei esporre l'ho fatto per il contest, e non fa parte del mio progetto. Va bene?

    R: Sì, va bene. Ricordo a voi partecipanti che è anche possibile postare screen di mappe dei vostri progetti, basta che rispettino le regole.

     

    D: Ho ritoccato un pò il mio screen con la mappa. Ok?

    R: Assolutamente no.

     

    D: Posso usare anche uno sfondo di parallasse nel mio screen della mappa?

    R: No, ripetuto per la terza volta: tutto ciò che conta è il mapping.

     

    D: Ho trovato in Internet dei Tileset simili a quelli a quelli RTP, posso usarli?

    R: No. Dovete arrangiarvi con le RTP che avete.

     

    D: Posso usare con il VX i tileset del VX Ace e viceversa?

    R: No, come detto prima dovete arrangiarvi con le RTP che avete. Stessa cosa per RPG Maker 2000 e 2003.

     

    D: Posso usare uno script che rimuove le ombre automatiche del VX?

    R: Certo, anzi, è consigliato di farle manualmente le ombre. Valido anche per il VX Ace.

     

    D: Ho aggiunto ad eventi un tile per evitare che un pezzo della mappa fosse spezzettato. Va bene?

    R: Certo ;)

     

     

    Forza ragazzi, partecipate in tanti!

    *wahuu!*

  13. Ho capito, in pratica per ogni mostro sconfitto devo settare una variabile che tiene conto di tutta l'esperienza.

    Infine devo dare l'esperienza direttamente agli eroi che dovrò reclutare!

     

    Ti ringrazio tanto, proverò ad usare questo sistema! :)

    Tuttavia mi chiedo... Non c'è un modo per prendere i punti esperienza direttamente da un eroe e convertirli in variabile?

     

    EDIT

     

    Ok chiedo scusa, ho letto ora il messaggio di holy87! xD

    Allora, sì, il suo metodo è molto più semplice, ma se il primo eroe viene sconfitto e non ottiene punti ESP?

    Il mio sistema non ha questo problema, però quello di Holy è più semplice, forse dà più bilanciamenti... A te la scelta!

×
×
  • Create New...