Sleeping Leonhart
Utenti-
Posts
569 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by Sleeping Leonhart
-
Velocità di esecuzione e gestione del tempo nel BS
Sleeping Leonhart replied to Fire-Dragon-DoL's question in Supporto RGSS (XP)
Sono un po di fretta ma provo a risponderti comunque. Allora per capire quanto dura un secondo come credo avrai capito devi vedere il frame rate, quindi l'immagine per attraversare lo schermo ci mette, (640 / frame_rate) secondi, nel caso di 40 FPS ci mette 16 secondi con lo spostamento di un pixel ad ogni update. Non occorre nessun wait, ti basti sapere che la funzione update è chiamata una volta a frame e quindi ti puoi regolare di conseguenza, non so fai un contatore che ti conta n frame e poi si riazzera quando ha raggiunto n e gli fai fare quello che vuoi (pratica molto usata, mi sembra anche gli eventi fanno così), ti prendi il resto della divisione del frame_count per vedere se sono passati tot frame o secondi (questa non so quanto sia affidabile xD), puoi sbizzarrirti come più ti piace, non è poi tanto difficile dopo che ci prendi la mano. Per quanto riguarda il frame_rate, quello dovrebbe rimanere invariato a meno che non lo cambi, solo che come hai detto tu il tuo pc ne riproduce di meno a schermo (credo, dovrei approfondire con qualche esperimento). Altra cosa, perchè usi tutte variabili globali? è solo un esempio vero? Altra cosa, in questo caso (come in molti casi in rpg maker) la creazione di altri thread è prettamente inutile, ti conviene mettere tutto in un metodo update che poi richiamerai ad ogni aggiornamento.(scusa la spiegazione da cani ma meglio di così non riesco a spiegarmi :P) Ora vado che mi stanno trascinando via dal PC, buona pasqua e buona programmazione -
problema script "abilità passive" di Sleeping Leonhart
Sleeping Leonhart replied to never_land's question in Supporto RGSS (XP)
Devi seguire il consiglio di Barèch, non ho tempo per spiegarti meglio, ora scappo. -
Suggerimenti sulla struttura di un bs laterale
Sleeping Leonhart replied to Fire-Dragon-DoL's question in Supporto RGSS (XP)
Ah ok ho capito, ti esce un inseime di lettere e numeri poichè un ogetto è sostanzialmente una struct in C, se la assegni a una variabile e poi la rileggi dovrebbe ridarti l'ogetto come lo hai trascritto. -
1) Serve quando vuoi modificare un metodo senza sovrascriverlo, in poche parole l'alias contiene il vecchio metodo, esempio def ciccio print "A"end alias old_ciccio cicciodef ciccio old_ciccio print "B"end Quando chiami ciccio questo ti stamperà A e poi B 2) Come fai a non capire un ciclo semplice come il for? Comunque il for è costituito così for indice in espressione fai qualcosaend nell'indice andrà a finire ciascun valore dell'espressione, esempio for i in 0...3 print iend Stampa 0 1 2 3)Si esatto, in questo caso ti sono utili gli alias che ti ho spiegato sopra se magari vuoi modificare un metodo ma non sovrascriverlo Se non capisci qualcosa sono a tua disposizione
-
Suggerimenti sulla struttura di un bs laterale
Sleeping Leonhart replied to Fire-Dragon-DoL's question in Supporto RGSS (XP)
Sei fortunato in quanto ho appena finito un bs laterale e quindi ti posso dare qualche suggerimento, ti anticipo però che l'ho fatto modificando il bs standard e non ricreando le classi da 0 così da mantenere una buona compatibilità con gli script standard e con quelli creati da terzi. Allora io ho fatto così: In Game_Battler ho messo la gestione dei parametri quali coordinate del battler, calcolo del frame da mostrare, nome della grafica e altro, in Sprite_Battler invece ho messo la gestione del movimento del battler, la visualizzazione del frame, il movimento del battler verso il nemico e altra robaccia. Il Game_Battler viene passato allo Sprite_Battler come parametro @battler (in poche parole come fa rpg maker) e dal battler si prende tutte le informazioni che gli servono. Per quanto riguarda le domande ti rispondo in ordine: 1) Puoi mostrare quante immagini vuoi, almeno finchè Rpg Maker riesce a tenerle, poi dipende anche dal PC su cui gire Rpg Maker credo. 2) Si, puoi usare la funzione blt e stretch_blt della classe bitmap, ti consiglio di guardartele sulla guida di Rpg Maker perchè io spiego da cane. 3) Io non conosco la funzione wait, conosco la funzione sleep che ti stoppa l'esecuzione per n secondi, il wait degli eventi invece è un aggiornamento "a vuoto" dell'evento, nel senso che aggiorna l'evento senza fargli eseguire le operazioni listate al suo interno. 4) Cosa intendi per salvare la variabile? Cioè se vuoi salvare un oggetto su file usa il metodo Marhsal.dump(oggetto, file) e poi per caricarlo usa il metodo ogetto = Marshal.load(file) La pressione di F9 mostra semplicemente i valori delle switch e delle variabili facendo riferimento a $game_switches e $game_variables, non serializza nulla. -
Più di 99 oggetti!!!
Sleeping Leonhart replied to SuperRoby's question in Richieste scripts RGSS2 (VX)
vai in Game_Party, dovresti trovare questo: def gain_item(item, n, include_equip = false) number = item_number(item) case item when RPG::Item @items[item.id] = [[number + n, 0].max, 99].min when RPG::Weapon @weapons[item.id] = [[number + n, 0].max, 99].min when RPG::Armor @armors[item.id] = [[number + n, 0].max, 99].min end n += number if include_equip and n < 0 for actor in members while n < 0 and actor.equips.include?(item) actor.discard_equip(item) n += 1 end end end end Cambia i 99 con ciò che vuoi. I negozi però ti venderanno sempre 99 ogetti al massimo, per cambiare vai per prima cosa in Window_ShopBuy e cambia il 99 all'interno di questo codice con il numero da te deciso. enabled = (item.price <= $game_party.gold and number < 99) Successivamente vai in Scene_Shop e cambia i 99 che trovi qui nel numero scelto def update_buy_selection @status_window.item = @buy_window.item if Input.trigger?(Input::B) Sound.play_cancel @command_window.active = true @dummy_window.visible = true @buy_window.active = false @buy_window.visible = false @status_window.visible = false @status_window.item = nil @help_window.set_text("") return end if Input.trigger?(Input::C) @item = @buy_window.item number = $game_party.item_number(@item) if @item == nil or @item.price > $game_party.gold or number == 99 Sound.play_buzzer else Sound.play_decision max = @item.price == 0 ? 99 : $game_party.gold / @item.price max = [max, 99 - number].min @buy_window.active = false @buy_window.visible = false @number_window.set(@item, max, @item.price) @number_window.active = true @number_window.visible = true end end end -
Implementazione del nuovo [code]
Sleeping Leonhart replied to marigno's topic in News & Aggiornamenti
Bello Bello, appena si fixa il problema con lo spoiler diventa perfetto :rovatfl: -
Risistemato il link ;)
-
In Game_Battler 3 sostituisci atk = [attacker.atk - self.pdef / 2, 0].max self.damage = atk * (20 + attacker.str) / 20 con self.damage = ((attacker.str / 100) - (self.pdef / 100) + 6) / 2 * 100 L'arrotondamento è per difetto in quanto considera solo la parte intera del numero.
-
Non ti ho mica capito? Roba tipo ((attacker.str / 100) - (self.pdef / 100) + 6) / 2 - (attacker.str / 100) - 1 Sono giusti?(attacker è l'attaccante, self è il difensore, pdef è la difesa fisica e str è la forza) Altrimenti spiega un po meglio i calcoli da fare.
-
Modifiche al bestiario?
Sleeping Leonhart replied to Silver Element's question in Richieste scripts RGSS2 (VX)
A fare si può fare, ma devi essere più esplicito con la richiesta, che vuoi mostrare? Oggetti? Armi? Banane? -
Richiamare evento comune da script
Sleeping Leonhart replied to Narutofan95's question in Supporto RGSS (XP)
$game_temp.common_event_id = IDEVENTOCOMUNE -
Perchè non implementate un evidenziatore di sintassi?(Tipo questo) Secondo me sarebbe molto comodo, oltre a rendere la vita un po più facile agli scripter potrebbe essere utile per un bug fixing rapido, del tipo: "Aiuto mi da errore alla linea 666" lo scripter guarda il codice tutto bello colorato e trova la linea da sistemare, e se è una cosa rapida la sistema in un nanosecondo. Inoltre fa molto cool & profescional
-
Prima pagina degli eventi penultimo comando ;)
-
cambiare riquadro delle scelte..help!
Sleeping Leonhart replied to Andre4e's question in Supporto XP
Fatto in 5 minuti Se non vuoi il rettangolo di selezione standard cancellalo dalla windowskin. Ogni frame del cursore deve stare in un quadrato la cui larghezza deve essere pari all'altezza totale dell'immagine, il resto è quasi tutto configurabile. -
Con calma xD non sto mica sempre davanti al pc. Ho preso la demo del Takentai XP e ci ho fatto sopra questa versione, vedi se funziona: Va messo sotto lo script dell'ATB, non l'ho testato con gli overdrive e tutti quegli altri ammenicoli, non mi andava, troppa roba.
-
Preso direttamente dall'help, cambia il valore di @_damage_sprite.y e ti sistemi la y come vuoi. Incollalo sopra tutti gli script, credo che dovrebbe andare
-
MMM vediamo, per prima cosa cambia attr_reader :licenseboard in attr_accessor :licenseboard poi usa grid = GridPanel.new grid.type = "Skill" grid.value = IDSKILLDAAPPRENDERE grid.ap = COSTOINLP $game_party.actors[POSIZIONEMEMBROPARTY].licenseboard[1][NUMEROLICENZA] = grid Le scritte in maiuscolo sono i valori che devi mettere tu. POSIZIONEMEMBROPARTY parte da 0 e non da 1
-
Ti crei una condizione con Limitazione Non Può agire e in Condizioni di Recupero metti 3 Turni dopo si recupera al 100% Poi fai che la skill Time Stop infligge quella condizione. Per capirci: http://img293.imageshack.us/img293/7836/hrsfdgs.png Niente script xD
-
Aaaaallora in Scene_LBoard aggiungi a def initialize(actor) questo @index = @actor.index devi metterlo sotto @actor = actor Poi in def update_command_selection aggiungi if Input.trigger?(Input::L) $game_system.se_play($data_system.cursor_se) @index = (@index + $game_party.actors.size - 1) % $game_party.actors.size $scene = Scene_LBoard.new($game_party.actors[@index]) return end if Input.trigger?(Input::R) $game_system.se_play($data_system.cursor_se) @index = (@index + 1) % $game_party.actors.size $scene = Scene_LBoard.new($game_party.actors[@index]) return end Dovrebbe funzionare ;)
-
License Board System Descrizione Mero copia/incolla del topic della versione VX. Questo script simula il sistema di licenze di Final Fantasy XII. Autore The Sleeping Leonhart Allegati Demo Script Istruzioni per l'uso Inserire il file BoardSystem in Pictures(gia incluso nella demo) Per far apparire la scacchiera delle licenze usare: $scene = Scene_LBoard.new(eroe) Bugs e Conflitti Noti N/A Altri Dettagli Non ho messo la possibilità di dover comprare le licenze prima di poterle usare, mi stavo un po antipatica come cosa se volete però l'aggiungo come possibilità. Scusate la pesantezza del file me un exe in ruby compilato occupa uno sproposito.
-
Ho aggiornato lo script poichè avevo trovato uno stupido bug, comunque di quelli segnalati io ho provato in tutti i modi ma non li ho trovati, se mi dite le condizioni precise in cui vi sono usciti magari riesco a trovarli. @Narutofan: Per capire cosa sono le licenze guarda QUI (uno dei primi risultati di google che spiegano cosa sono le licenze). Inoltre ho provato a spiegarlo un po anche nella guida che sta nella demo.
-
Da l'errore che hei segnalato sembra che tu non abbia assegnato nessun valore a $gold_dapag. Prima di eseguire lo script assegna a $gold_dapag un valore numerico.
-
Ho gia fatto il porting per XP appena riesco a prendere possesso del PC lo posto. Per quanto riguarda i bug io non ne ho riscontrato nessuno, devo indagare meglio.
-
License Board System Descrizione Questo script simula il sistema di licenze di Final Fantasy XII. Autore The Sleeping Leonhart Allegati Demo Script Istruzioni per l'uso Inserire il file BoardSystem in System(gia incluso nella demo) Per far apparire la scacchiera delle licenze usare: $scene = Scene_LBoard.new(eroe) Bugs e Conflitti Noti N/A Altri Dettagli Non ho messo la possibilità di dover comprare le licenze prima di poterle usare, mi stavo un po antipatica come cosa se volete però l'aggiungo come possibilità. Scusate la pesantezza del file me un exe in ruby compilato occupa uno sproposito.
