Jump to content
Rpg²S Forum

ProGM

Rpg²S Admin
  • Posts

    3,215
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by ProGM

  1. Già che mi avete chiamato eccolo.

    Non è un grande script e l'avranno già fatto in millemila altri scripter. XD

    Se volete che un evento non carichi grafica mai:

    1) Aprilo e chiamalo "NO GRAPHICS"

    2) Vai in Game_Event:

    Subito dopo class Game_Event aggiungere:

    attr_reader :name

    Poi nel def initialize, poco prima dell'end:

    @name = @event.name
    

    3) andare in Spriteset_Map. Qui cambia da tool a tool.

    Su XP e VX cercare questo blocco di codice:

        for i in $game_map.events.keys.sort
          sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
          @character_sprites.push(sprite)
        end
    

    così:

        for i in $game_map.events.keys.sort
          next if $game_map.events[i].name == "NO GRAPHICS"
          sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
          @character_sprites.push(sprite)
        end
    

    Su VX ace dovrebbe essere invece:

        $game_map.events.values.each do |event|
          @character_sprites.push(Sprite_Character.new(@viewport1, event))
        end
    

    cambiare così:

        $game_map.events.values.each do |event|
          @character_sprites.push(Sprite_Character.new(@viewport1, event)) if event.name != "NO GRAPHICS"
        end
    

    Qualche nota:

    1) un evento marcato come no graphics non potrà mai avere grafica, anche se fate appunto "Cambia grafica"

    2) Ottiene risultati accettabili solo se il numero di eventi trasparenti che avete su mappa è considerevole. Se non cambia una cippa vuol dire che non è quella la causa primaria del lag.

     

    -----

    Tornando in topic. Le principali cause di lag sono, da quello che ho potuto appurare:

    -Tanti eventi nella mappa (se si usa l'antilag script dovrebbe ridursi) o nella stessa schermata. Nel secondo caso non ci si può fare gran che.

    -Tantissimi eventi in processo parallelo che eseguono task indipendenti

    -Secondariamente gli script che aggiornano frequentemente le bitmap. Esempi classici:

    1- HUD che mostrano testi su schermo come HP e MP.

    2- Script che usano intensivamente le funzionalità di ritaglio di immagini (su xp) o su vx e ace le funzioni di sfocatura e gradiente delle bitmap

    Inoltre:

    - Script che eseguono calcoli complessi continuamente.

    - Quando rpgmaker ha troppa grafica caricata in cache inizia a laggare. E anche quando ha troppe immagini (anche dello stesso tipo) su schermo. (esempio: sistemi particellari fatti male o eccessivamente usati)

     

    RPG Maker XP inoltre non ha un sistema di caching delle bitmap, quindi se non erro ricarica le immagini ogni volta dal file. Quindi se si creano/distruggono continuamente immagini potrebbe laggare (es: sistemi particellari)

     

    Cosa non fa laggare RPG Maker:

    Le switch. A meno che non ne avete più di 1000000000000000. (sì, è un numero a caso)

    Le variabili.

    La lunghezza degli eventi NON in processo automatico.

  2. Salve. Così a occhio, vedo due soluzioni possibili:

    Se vuoi le bande nere laterali, più che un'impostazione di rpgmaker è un'impostazione della scheda video. In genere nelle proprietà della scheda si può controllare come si comportano le finestre quando le metti a pieno schermo (se stretchano, se mantengono il rapporto prospettico, ecc...).

    Ovviamente è un'impostazione che cambia da utente a utente, quindi se si vuole pubblicare un gioco garantendo che si adatti da solo ai vari schermi, magari mettendo delle bande decorate come quelle che ha postato Testament, bisognerebbe fare un lavoro usando come base questo script:

    http://www.rpg2s.net/forum/index.php/topic/8128-cambiare-risoluzione-dello-schermo

     

    In realtà purtroppo temo che su rpgmaker xp ci siano alcuni problemi nel gestire questa cosa, in quanto il cambio risoluzione viene fatto con delle API di windows, quindi se metti in full screen ti ripristina quelle predefinite .___.' . Su VX sicuramente funzionerebbe invece.

  3. Secondo me un android a meno di 80 euro è inusabile, a meno che non sia usato...

    Primo tra tutti per la sensibilità schermo terribile e scarsa risoluzione. (alcune cose non si avviano neanche se hai lo schermo troppo piccolo)

     

    D'altra parte non so dirti com'è messo quel nokia. So che sono buoni hardware, e windows phone non è così terribile... ^^ per ora la principale remora che ho è sullo store vuoto E sul browser a tratti agghiacciante.

     

    Sono al secondo cellulare android che prendo, e mi trovo molto bene, ma purtroppo qualcosina bisogna investirci, secondo me. (mai come un iphone eh XD)

     

    In sostanza, se vuoi un cellulare prendi il nokia, se vuoi uno "smartphone" pensa di investire almeno 80-100 euro.

  4. Tentare di capire cosa fa dubito, piuttosto cerca se esistono i nomi espliciti delle funzioni che ti servono. Ad esempio le funzionalità di bitmap.

    Potrebbe trovarsi ad esempio sotto una voce tipo RGSSBitmap.

    A quel punto puoi tentare di chiamare il punto d'accesso trovato dal ruby ed accedervi.

    I parametri... Devi praticamente tirare ad indovinare, o tentare di intuirli dal codice decompilato. Il punto è che non ho la benché minima idea di che formato dovresti usare per passarli :\

    Dovresti leggerti qualcosa sulla comunicazione con le DLL su windows.

    In ogni caso continuo ad essere fortemente dubbioso sul fatto che possano mai essere compatibili :\

     

    Non voglio abbatterti, ma penso sia un lavoro che richiede una non indifferente competenza tecnica o un notevole consumo di tempo per acquisire tale competenza XD

  5. Figata quell'articolo! Ci provai anni fa tra rpgmaker VX e rpgmaker XP con scarsi risultati (non riuscivo a far combaciare la lettura di tileset, visto che il VX ha i tileset quadrettosi :\ ) .

     

    Ibridare la DLL la vedo sinceramente dura, non so neanche se siano compatibili. Magari è anche fattibile richiamare funzioni di una tramite Win32Api, ma chi ti dice che effettivamente le bitmap dell'rgss3 siano compatibili con quelle delle versioni precedenti? Potrebbero aver cambiato formato e struttura interna. Non conoscendone la struttura interna dovresti andare a tentoni, e secondo me non ne vale la pena. Piuttosto quello che mi hai linkato mi sembra la soluzione più percorribile...

  6. Allora, i titoli degli admin avevo scordato di sistemarli XD

    E anche gli mp, faccio al volo ^^'

     

    Vi avviso che alcuni post risalenti a quest'anno potrebbero essere stati corrotti, se risalenti a un periodo specifico (purtroppo non so la data precisa in cui si era creato il casino, quindi sono andato a "spanne", potrei aver sbagliato di qualche giorno)

     

    Quelli andrebbero sistemati a mano ^^

     

     

    EDIT: Ah, giusto, se trovate parti del sito ancora con problemi fatemi sapere!

  7. Nei cookie sono salvate le informazioni temporanee riguardo ai siti che navighi (esempio: se sei loggato o sloggato).

     

    Con chrome:

    Menu a destra -> impostazioni -> in alto cerca "cookie" -> impostazioni contenuti -> Cookie e dati dai siti -> cerca "rpg2s" -> elimina tutti quei file che ti trova.

     

    Con firefox:

    Strumenti -> opzioni -> privacy -> rimuovere i singoli cookie -> cerca "rpg2s" -> elimina ciò che trovi.

     

    ;)

  8. Grazie per l'accoglienza, ragasshi >

     

    Io sto a dir poco delirando per creare un bel motore di gioco funzionante multipiattaforma, e pian piano sta uscendo qualcosa di proto-sensato ^^

     

    Per chi fosse interessato, stiamo usando la libreria cocos2d, che esporta per iphone, windows, linux, mac, android e millemila altre cose.

    Spero di riuscire presto a mostrarvi qualcosa di giocabile. :3

  9. Uhm... Per farla facile puoi fare un lavoretto del genere. Mettiamo di star modificando sta parte, ok?

    alias :draw_actor_hp_hpsp :draw_actor_hp
    def draw_actor_hp(actor, x, y, width = 144)
    # Calculate if there is draw space for MaxHP
    if width - 32 >= 108
    hp_x = x + width - 108
    flag = true
    elsif width - 32 >= 48
    hp_x = x + width - 48
    flag = true
    end
    if $game_temp.in_battle
    bar_width = hp_x - x + 50
    else
    bar_width = hp_x - x + 100
    end
    # Draw HP
    draw_slant_bar(x - 5, y + 23, actor.hp, actor.maxhp, bar_width, 6, bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
    self.contents.font.size = 16
    self.contents.font.color = system_color
    self.contents.font.name = "Friz Quadrata TT"
    self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
    self.contents.font.color = actor.hp == 0 ? knockout_color :
    actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
    self.contents.draw_text(hp_x - 34, y, 48, 32, actor.hp.to_s, 2)
    # Draw MaxHP
    if flag
    self.contents.font.size = 16
    self.contents.font.color = normal_color
    self.contents.font.name = "Friz Quadrata TT"
    self.contents.draw_text(hp_x + 10, y, 12, 32, "/", 1)
    self.contents.draw_text(hp_x + 18, y, 48, 32, actor.maxhp.to_s)
    end
    draw_actor_hp_hpsp(actor, x, y, width)
    end
    

    Modifica ad esempio da così:

    self.contents.draw_text(hp_x - 34, y, 48, 32, actor.hp.to_s, 2)
    

    A così:

    if ($scene.is_a?(Scene_Battle))
    #qua modifica mettendoci le coordinate di quando sei in battaglia e così via.
    self.contents.draw_text(hp_x - 34, y, 48, 32, actor.hp.to_s, 2)
    else 
    #qui di quando sei nel menu ^^
    self.contents.draw_text(hp_x - 34, y, 48, 32, actor.hp.to_s, 2)
    end
    

    E allo stesso modo con gli altri campi.

     

    Se non ti è chiaro contattami per mp con le coordinate in cui vuoi mettere il testo e te li sistemo io ;)

  10. uhmm... non conosco lo script, ma leggendo i commenti a caso, se vuoi aggiungere una nuova categoria, credo che tu debba aggiungerla in questo modo, oltre che fare quello che hai fatto tu ^_^:

      VE_MENU_LIST = [:potions, :food, :battle, :weapon, :armor, :key_item, :bottle]
    

    Prova e dimmi ^^

×
×
  • Create New...