Jump to content
Rpg²S Forum

Sleeping Leonhart

Utenti
  • Posts

    569
  • Joined

  • Last visited

Everything posted by Sleeping Leonhart

  1. Sotto la sezione materials come tutti gli script, a meno che non è specificato diversamente
  2. Lo script che estende le picture te l'ho fatto.... se magari metti qualche altro dettaglio te lo aggiusto su misura. Cioè?
  3. Prova questo: Cambia la configurazione dello script a meno che tu non abbia delle windowskin chiamate Gino, Pippo e Mario :rox: Se non capisci qualcosa chiedi pure
  4. Per la creazione di finestre VX e XP sono quasi identici, le differenze sono: Si può omettere self.contents = Bitmap.new( width - 32, height - 32) si prelevare i colori dalla windowskin grazie a text_color(n) dove n è il numero del colore sulla windowskin (i quadratini colorati che stanno in basso a destra per intenderci), si parte a contare da 0 Si possono disegnare i face attraverso il metodo draw_face(NOMEFACE, INDICEFACE, X, Y, DIMENSIONE) NOMEFACE indica il file che contiene i vari face, INDICEFACE indica la face da usare(si parte a contare i face da 0). DIMENSIONE è opzionale, di default è 96. $game_party.actors diventa $game_party.members Esiste il metodo draw_currency_value(VALORE, X, Y, LARGHEZZA) che serve a stampare un valore seguito dal nome della valuta del gioco(del tutto inutile secondo me xP). Queste al momento sono le differenze che mi vengono in mente.
  5. Bella Appena ho aperto il forum mi è preso un colpo (sia agli occhi si in senso di stupore) Devo dire che questi colori più accesi mi piacciono però. http://img172.imageshack.us/img172/9582/rpg2sultimateskinif3.png :ph34r: Mi sa che il topic in cui postai la skin era il primo che aprivo, a quei tempi ero ancora giovane e bello.
  6. Hai ragione scusa... ho preso il brutto vizio di voler leggere gli mp dopo... per poi scordarmene. Comunque siccome Oblivion non l'ho sentito appena posso inizio il tuo ;)
  7. Sono contento vi possa tornare utile. Avevo intenzione di farne uno sulle finestre selezionabili e un altro sulle scene. Prima però volevo qualche responso su questo, altrimenti gli altri sono inutili. Fatemi sapere
  8. AAAAllora... prova questo script: Poi all'interno dello script ti imposti il numero di picture che vuoi e il numero della variabile a cui farai riferimento per il numero della picture. Settando la variabile ad un numero a tua scelta(che rientri però nel numero di picture impostate) la picture su cui effettuerai le operazione sara quella definita nella variabile. Esempio, voglio mostrare la picture 78. Per prima cosa imposto la variabile 2 a 78(imposto la seconda variabile perchè e qulla che ho definito nello script) poi uso un mostra picture e mostro cio che voglio. Il numero di picture settato nel comando mostra picture non conta a meno che la variabile 2 non è settata a 0. Spero di essermi spiegato bene :P
  9. Grazie Shuu per la segnalazione, era quello che mi serviva sapere, ora vedo di snellire un po l'algoritmo. L'effetto sonoro c'è, e se non c'è in questa demo in quella che ho io cio sono xP Per la criptazione
  10. Creazione di una Finestra 1.0 1. Introduzione Per: RPG Maker XP; Autore: The Sleeping Leonhart; Descrizione: Questo tutorial descrive come creare una semplice finestra in RGSS e come inserirci immagini e testo. Consiglio di leggere prima le lezioni del campus e quelle di mikb se non si hanno le basi dell'RGSS. Potete postare qui i vostri esperimenti con le finestre per farvele controllare o anche solo per farle vedere. Ultima modifica: 6/1/2009; 2. Tutorial ATTENZIONE: Tutto quello scritto in minuscolo fa lasciato com'è, quello scritto in maiuscolo indica un valore arbitrario che dovete assegnare voi. Creazione di una finestra base Per prima cosa dobbiamo definire il nome della classe della finestra class NOMEFINESTRA < Window_Base end Generalmente si usa una nomeclatura del tipo Window_Qualcosa < Window_Base < Window_Base serve per far ereditare i metodi base per la creazione di finestre. Dopo aver definito la classe dobbiamo inizializzare la finestra attraverso def initialize super( X, Y, LARGHEZZA, ALTEZZA) self.contents = Bitmap.new( width - 32, height - 32) refresh end super( X, Y, LARGHEZZA, ALTEZZA) serve per indicare posizione e dimensione della finestra, super indica che il metodo initialize viene ereditato dalla classe madre, in questo caso Window_Base. self.contents = Bitmap.new( width - 32, height - 32) crea una bitmap all'interno della quale disegneremo glie elementi della finestra quali scritte e immagini, solitamente questa bitmap è grande come la larghezza e l'altezza della finestra - 32, questo perchè la dimensione del bordo di una windowskin puo essere al massimo 16 pixel per ciascun lato. self si usa per far si che la classe si riferisca a se stessa refresh chiama il metodo refresh il quale verrà spiegato di seguito. Prima o dopo refresh possiamo impostare anche l'opacità della finestra attraverso: self.opacity = OPACITA che imposta l'opacità dell'intera finestra self.back_opacity = OPACITA che imposta l'opacità del retro della finestra self.contents_opacity = OPACITA che imposta l'opacità del contenuto della finestra Si puo inoltre impostare la windowskin utilizzata da quella finestra attraverso self.windowskin = RPG::Cache.windowskin(NOMEWINDOWSKIN) ATTENZIONE refresh è il nome che si usa solitamente ma potete anche chiamarlo pippo, paperino o minnie, initialize invece DEVE rimanere tale in quanto è il primo metodo chiamato dalla classe. Immagine Esplicativa Di una Finestra vuota Ok ora che abbiamo creato la base della nostra finestra possiamo iniziare a scriverci qualcosa dentro, attraverso refresh def refresh self.contents.clear METODI_PER_SCRIVERE_E_DISEGNARE end self.contents.clear serve per pulire il contenuto della finestra, questo perchè se vogliamo aggiornare il contenuto della finestra senza prima pulirla le scritte nuove verranno sovrapposte a quelle vecchie. i METODI_PER_SCRIVERE_E_DISEGNARE verrano illustrati di seguito Scrivere del testo self.contents.draw_text( X, Y, LARGHEZZA, ALTEZZA, TESTO, ALLINEAMENTO) serve per scrivere del testo, l'allineamento è opzionale e può essere: 0 - Allineamento a sinistra 1 - Centrato 2 - Allineamento a destra Se la larghezza del testo eccede quella definita in LARGHEZZA il testo verrà rimpicciolito del 60% Impostare il Font Per cambiare il font del testo si possono usare i seguenti metodi: self.contents.font.name = NOMEFONT Serve per cambiare il tipo di font utilizzato per scrivere nella finestra ATTENZIONE: NOMEFONT non deve essere il nome del file ttf ma quello che viene visualizzato aprendo il font alla dicitura Nome Carattere Tipografico. GUARDA QUI self.contents.font.size = DIMENSIONEFONT Serve a cambiare la dimensione del font, di default è 22. self.contents.font.color = Color.new(ROSSO, VERDE. BLU, OPACITA) Serve a cambiare il colore del font. I valori devono essere compresi tra 0 e 255, OPACITA è opzionale. Ci sono inoltre dei colori predefiniti già da Window_Base e sono: METODO | COLORE normal_color | bianco system_color | azzurro crisis_color | giallo disabled_color | grigio knockout_color| rosso Il METODO va messo al posto di Color.new(ROSSO, VERDE. BLU, OPACITA) self.contents.font.bold = true o false Serve per impostare il font in grassetto, true attiva, false disattiva. self.contents.font.italic = true o false Serve per impostare il font in corsivo, true attiva, false disattiva. Le impostazioni del font devono precedere la scrittura del testo Metodi di stampa predefiniti In Window_Base ci sono dei metodi predefiniti per stampare certi valori, essi sono: draw_actor_name(EROE, X, Y) Serve a scrivere il nome di un eroe, EROE deve essere uno delle seguenti variabili: $game_party.actors[NUMEROMEMBROPARTY] che indica un eroe nel party $game_actors[IDDATABASE] che indica un eroe definito nel database Questo vale per tutti i valori che indicherò con EROE do ora in avanti draw_actor_class(EROE, X, Y) Serve a scrivere la classe di un eroe draw_actor_level(EROE, X, Y) Serve a scrivere il livello di un eroe draw_actor_state(EROE, X, Y, LARGHEZZA) Serve a scrivere gli status inflitti sull'eroe LARGHEZZA è opzionale e di default è 120, più è grande il valore LARGHEZZA più status verrano scritti draw_actor_exp(EROE, X, Y) Serve per scrivere l'esperienza di un eroe. draw_actor_hp(EROE, X, Y, LARGHEZZA) Serve per scrivere gli hp di un eroe. Anche qui LARGHEZZA è opzionale, di default è 144. Se la larghezza è sufficente gli hp verranno scritti nel seguente modo HpAttuali / HpMassimi, altreimenti verranno scritti solo gli hp attuali. draw_actor_sp(EROE, X, Y, LARGHEZZA) Serve per scrivere gli sp di un eroe. Valgono le stesse regole di draw_actor_hp. draw_actor_parameter(EROE, X, Y, TIPO) Scrive le statistiche di un eroe, TIPO indica quale statistica scrivere è può essere: TIPO | Statistica 0 | Attacco 1 | Difesa Fisica 2 | Difesa Magica 3 | Forza 4 | Destrezza 5 | Agilità 6 | Intelligenza draw_item_name(OGGETTO, X, Y) Serve per scrivere il nome dell'oggetto con annessa icona. OGGETTO può essere: $data_items[IDOGGETTO] per gli oggetti $data_weapons[IDOGGETTO] per le armi $data_armors[IDOGGETTO] per le armature Disegnare un immagine Per disegnare un immagine nella nostra finestra possiamo usare 2 metodi: self.contents.blt(X, Y, BITMAPDADISEGNARE, RECT, OPACITA) Utilizzato per disegnare un immagine, è il metodo più comunemente usato. BITMAPDADISEGNARE deve essere definito prima di chiamare self.contents.blt è va definito nel seguente modo BITMAPDADISEGNARE = Bitmap.new(INDIRIZZOIMMAGINE) INDIRIZZOIMMAGINE è una stringa che contiene l'indirizzo dell'immagine, ad esempio l'estensione del file può essere omessa, ma è sempre meglio specificarla. Si possono usare anche percorsi relativi, il cui indirizzo di partenza è la cartella del progetto, ad esempio che è contenuto nella cartella Autotiles, che sta dentro la cartella Graphic che a sua volta si trova all'interno della cartella del progetto. RECT è il rettangolo che indica quale parte dell'immagine disegnare e va definito così RECT = Rect.new( X, Y, LARGHEZZA, ALTEZZA) se si vuole disegnare l'immagine nella sua interezza basta fare RECT = Rect.new( 0, 0, BITMAPDADISEGNARE.width, BITMAPDADISEGNARE.height) OPACITA come sempre è opzionale self.contents.stretch_blt(RECTDESTINAZIONE, BITMAPDADISEGNARE, RECT, OPACITA) Cugino stretto di blt, stretch_blt disegna un bitmap o una sua parte è lo adatta al rettangolo di destinzione. Questo metodo è utile per zoommare/dezoommare le immagini che vogliamo disegnare. RECTDESTINAZIONE si definisce come RECT, OPACITA è opzionale. Per disegnare il character di un eroe c'è gia un metodo definito in Window_Base ed è draw_actor_graphic(EROE, X, Y) Esso disegna il character di un eroe nella sua posa frontale. Variabili da cui attingere valori Esempio di una finestra completa Immagine Codice
  11. Arancione :ph34r: per ovviare al problema visibilità perchè non provi a fare le scritte con ombra e/o contorno, forse risolvi...
  12. Ho cambiato avatar, inizialmente volevo fare Squall vestito da befana, ma mi pareva un po eccessivo così me ne sono uscito con qualcosa che rappresenti un po meglio il mio "nome d'arte"
  13. devi fare così: when (N01::RANGED_SKILL) lo trasformi in when (N01::RANGED_SKILL), SKILL1, SKILL2, ecc dove SKILL1 e SKILL2 sono le skill che vuoi che abbiano quell'effetto
  14. @moltheni: Non so neanche io perchè sto usando Rpg Maker xD Comunque non mi va ormai di cambiare tool, però volendo un alternativa sarebbe Ruby e SDL. Mentre per il come ho gia spiegato questi due minigiochi sono solo di contorno al progetto che porto avanti che è quello di una specie di corso sulla sicurezza, una specie di enciclopedia, con a seguito dei test in stile Chi vuol esser milionario o roba simile. Comunque sul mio PC entrambi i giochi vanno a scatti, e solo se metto a schermo intero mi vanno ad un framerate decente... mah Grazie a tutti per il testing, ho risolto il problema del cursore, ora sto aggiungendo una modalità a tempo per il secondo puzzle, e ho iniziato a programmare il corso sulla sicurezza vero e proprio. Se vinco vi do 200000 rens a tutti :ph34r:
  15. The Sleeping Leonhart presenta Minigame Sperimentali 1. Introduzione Tanto tempo fa, nella mia scuola(ed anche in altre) è stato indetto un concorso sulla realizzazione di un "QUALCOSA" riguardante la sicurezza sul lavoro e nelle scuole, in palio ci sono 1000€ e crediti per l'esame di stato ( che ormai inesorabile mi si avvicina ). Inizialmente la cosa da un orecchio mi è uscito e dall'altro mi è entrato, però la mia prof (che odio tanto) mi ha consigliato di partecipare in quanto "bravo informatico". Allora mi sono detto perchè no?!?! Il problema era cosa fare? Poi un giorno uggioso (molto uggioso e forse ero anche ubriaco) mi è balenata un idea in mente, RPG Maker, ma non per fare un rpg ma bensi un corso interattivo sulla sicurezza. Questi minigiochi che ho postato sono 2 degli "svaghi" dal corso sulle norme di sicurezza, inoltre contavo di aggiungere un "Chi vuol esssere adetto alla sicurezza" per testare i frutti dei propri studi. La grafica è provvisoria, tutto quanta verra sostituita con qualcosa di più consono al tema sicurezza e scuola, ma questo e l'ultimo dei problemi. Ho postato qui il progetto perchè il mio pc è arrivato al limite e a stento riesco ad aprire rpg maker e perchè voglio un giudizio/consigli/critiche, quindi se voi testaste questi miei esperimenti segnalandomi anomalie ne sarei molto felice, inoltre se poi vincessi mi rifarei il pc nuovo ^^. Ah inoltre intendo specificare che questa è la prima volta che tento di fare questo genere di giochi ma che comunque è tutta programmazione improvvisata senza guardare algoritmi altrui 2. Storia Non c'è, risolvete i puzzle e basta 3. Personaggi Il tuo gesso/mouse :ph34r: 5. Caratteristiche Tecniche/Gameplay Al momento 2 tipi di puzzle: il primo, Slider, consiste nello spostare le tessere in modo da ricomporre l'immagine. Premete Shift per attivare/disattivare la griglia, e tenete premuto CTRL per visualizzare l'immagine sottostante, con il click si sposta la tessera. Il secondo puzzle, Jewel, consiste nello scambiare due icone adiacienti(verticalmente o orizzontalmente) cliccandoci sopra, lo scambio tra le due icone verrà effettuato solo se porta ad almeno un eliminazione di 3 icone, eliminazioni a catena portano ad un maggiore punteggio. Per uscire dai puzzle premete Esc (mentre il primo ti riporta alla schrmata di selezione quando finisce, il secondo non finisce finchè non premete Esc) 6. Screenshot 7. Demo/Link alla versione giocabile Demozza Se ho fatto tutto bene non serve ne Rpg Maker VX installato ne le sue rtp 8. Crediti Vari DerVVulfman per lo script del mouse
  16. \v[idvariabile] ??? Sennò non ho capito e ti sei spiegato male XD
  17. Ciao e benvenuto, se non l'hai gia fatto perchè non ti presenti nella sezione ingresso? Comunque cosa intendi per applicare lo script a piu di una skill? Apllicare la stessa animazione? Spiegati meglio
  18. Mi avete bombardato di richieste in questi 3 giorni XD La nota dolente è che come avrete notato non ci sono e probablementè sarò un pochino meno presente, comunque si accetto la richiesta di Oblivion(su msn me ne parli meglio che ho gia dimenticato tutto xD), Eberk94 invece te lo faccio dopo quello di Oblivion, comunque cerca di essere mooolto dettagliato su come lo vuoi, magari su msn o via pm mi illustri in modo specifico le feature e altre cavolate. Una richiesta a tutti: non mi mandate i PM per la modifica o la richiesta di script, scrivete qua invece, non mi sembra giusto nei confronti degli altri "saltare la fila", non vi preoccupate per i rens, ne ho talmente tanti che non so che farci, voi fate la richiesta anche se ne avete -100 ;) Ah e se non rispondo dopo circa 12/16 ore in questo topic non fate altre richieste altrimenti mi si crea una coda enorme :P
  19. Piu che sera ormai è notte fonda, comunque benvenuto ^^
  20. Questa? Comunque a quel prezzo non è che ti puoi aspettare una chitarra con i controc@@@i, diciamo che però da quello che ho letto se i materiali sono buoni come c'è scritto su internet a quel prezzo direi che è molto buona. Comunque se a te piace comprala, non vedo dov'è il problema ;P
  21. Metodo poco ortodosso ma molto efficace, aggiungi @command_window.height = 224 subito dopo @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
  22. Certo che è possibile, se mi dai lo script del tuo menù ti aggiungo il comando ;) @Losco: I PM li leggo fra un pochino prima rispondo a un po di topic :P
  23. Se mi mandi una demo con i tuoi script quando ho tempo te la controllo
  24. Intanto per ovviare si può usare una Condizione Se: Script(che sta all'ultima pagina delle condizioni) e inserirci questo: $game_party.members[IDEROE - 1].name == nome Esempio $game_party.members[0].name == "Ralph" Questa condizione è vera perchè il primo eroe nel database ha nome Ralph.
×
×
  • Create New...