GTOnizuka Posted November 1, 2006 Share Posted November 1, 2006 (edited) Nome: Cambio Personaggi del PartyAutore: GTOnizukaCodice:Spoiler ############################################################################### # Script di Cambio Party # # # # Versione: 1.0.1 # # Creato ed Ideato da: GTOnizuka © 2006 # ############################################################################### # # # Numero Massimo Personaggi: 9 # # # ############################################################################### # # # Features: # # - Possibilità di cambiare i mebri del party con tutti i personaggi # # del database # # - Non si può uscire dalla schermata se non c'è almeno un personaggio # # - Il numero dei personaggi da aggiungere nel party si può decidere # # # # Bug Fix: # # - Corretto un piccolo bug che permetteva di selezionare più volte # # lo stesso personaggio # # # ############################################################################### #################### # Modulo variabili #################### module Valori_Vari HP = "HP:" #HP MP = "MP:" #MP NOME = "Nome:" #Nome LIVELLO = "Livello:" #Livello EXP_LVL_UP = "Exp Lvl Up:" #Esperienza al prossimo livello STR = "STR:" #Forza DEX = "DEX:" #Destrezza AGI = "AGI:" #Agilità INT = "INT:" #Intelligenza ATK = "ATK:" #Attacco PDEF = "PDEF:" #Difesa Fisica MDEF = "MDEF:" #Difesa Magica EVA = "EVA:" #Evasione TITOLO = "Cambio Party" #Titolo schermata FONT_TYPE = "Arial" #Font della schermata NUMERO_PG = 8 #Numero dei personaggi totali NUM_PG_MIN = 1 #Numero dei personaggi del party minimo... #...per uscire dalla schermata NUM_PG_MAX = 4 #Numero dei personaggi che si possono... #...inserire nella schermata end ################################# # Ottengo lo sprite del battler ################################# class Fig_PG < RPG::Sprite def initialize super() end def mostra_fig(id_pg,x,y) #Ottengo l'immagine @nome = $data_actors[id_pg].battler_name @tonalita = $data_actors[id_pg].battler_hue self.bitmap = RPG::Cache.battler(@nome, @tonalita) @width = bitmap.width @height = bitmap.height self.ox = @width / 2 self.oy = @height #Setto l'opacità self.opacity = 255 #Coordinate # Set sprite coordinates self.x = x self.y = y self.z = 100 end def del_fig self.bitmap.dispose end end ############################################### # Creo il riquadro con scritto "Cambio Party" ############################################### class Nome_Finestra < Window_Base def initialize #Creo il riquadro super(0,0,636,70) #Settaggi di bitmap, nome font e dimensione font self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = Valori_Vari::FONT_TYPE self.contents.font.size = 22 self.contents.font.bold = true #Setto l'opacità della finestra self.back_opacity = 255 #Pulisco il riquadro self.contents.clear #Imposto come colore del font quello di sistema self.contents.font.color = normal_color #Disegno la scritta self.contents.draw_text(240, 0, 150, 30, Valori_Vari::TITOLO) end end ################################################ # Creo la schermata con i personaggi del party ################################################ class Party_Attuale < Window_Base def initialize #Creo il riquadro super(0,71,160,180) #Settaggi di bitmap, nome font e dimensione font self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = Valori_Vari::FONT_TYPE self.contents.font.size = 18 end def add_pg(id_pg,x,y) draw_actor_graphic($game_actors[id_pg],x,y) end end ############################################## # Creo la schermata con tutti i pg rimanenti ############################################## class PG_Rimanenti < Window_Selectable def initialize #Creo il riquadro super(161,71,476,180) #Settaggi di bitmap, nome font e dimensione font self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = Valori_Vari::FONT_TYPE self.contents.font.size = 18 #Disposizione Griglia @item_max = Valori_Vari::NUMERO_PG @row_max = 1 @column_max = Valori_Vari::NUMERO_PG end def refresh self.contents.clear @x=20 @y=55 for i in 1..Valori_Vari::NUMERO_PG if (i==1) draw_actor_graphic($game_actors[i],@x,@y) elsif(i>=2 and i<=9) @x += 50 draw_actor_graphic($game_actors[i],@x,@y) end end end def update_cursor_rect if @index < 0 self.cursor_rect.empty else self.cursor_rect.set(@index * 50, 0, 40, 56) end end end ######################################################### # Crea la schermata con tutti i dati del pg selezionato ######################################################### class Status_PG < Window_Base def initialize #Creo il riquadro super(0,251,636,226) #Settaggi di bitmap, nome font e dimensione font self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = Valori_Vari::FONT_TYPE self.contents.font.size = 18 @pg_sprite=Fig_PG.new end def refresh(id_pg) self.contents.clear @altezza=0 @sinistra_col1=200 @sinistra_col2=400 #Mostro la figura del pg @pg_sprite.mostra_fig($data_actors[id_pg].id,80,460) #Imposto il colore del font self.contents.font.color = normal_color #Scrivo le statistiche del pg ######################### COLONNA 1 ################################ #Nome self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza,80,50,Valori_Vari::NOME) #Nome - Valore self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+105,@altezza,100,50,$data_actors[$data_actors[id_pg].id].name) #HP self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza+20,50,50,Valori_Vari::HP) #HP - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+80,@altezza+20,70,50,$game_actors[$data_actors[id_pg].id].hp.to_s,2) #MP self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza+40,50,50,Valori_Vari::MP) #MP - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+80,@altezza+40,70,50,$game_actors[$data_actors[id_pg].id].sp.to_s,2) #Livello self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza+60,100,50,Valori_Vari::LIVELLO) #Livello - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+100,@altezza+60,50,50,$game_actors[$data_actors[id_pg].id].level.to_s,2) #EXP Rimanente self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza+80,150,50,Valori_Vari::EXP_LVL_UP) #EXP Rimanente - Valore self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+50,@altezza+80,100,50,$data_actors[$data_actors[id_pg].id].exp_basis.to_s,2) ######################### COLONNA 2 ################################ #Forza self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza,50,50,Valori_Vari::STR) #Forza - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza,100,50,$game_actors[$data_actors[id_pg].id].str.to_s,2) #Destrezza self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+20,50,50,Valori_Vari::DEX) #Destrezza - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+20,100,50,$game_actors[$data_actors[id_pg].id].dex.to_s,2) #Agilità self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+40,50,50,Valori_Vari::AGI) #Agilità - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+40,100,50,$game_actors[$data_actors[id_pg].id].agi.to_s,2) #Intelligenza self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+60,50,50,Valori_Vari::INT) #Intelligenza - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+60,100,50,$game_actors[$data_actors[id_pg].id].int.to_s,2) #Attacco self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+80,50,50,Valori_Vari::ATK) #Attacco - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+80,100,50,$game_actors[$data_actors[id_pg].id].atk.to_s,2) #Difesa Fisica self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+100,70,50,Valori_Vari::PDEF) #Difesa Fisica - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+100,100,50,$game_actors[$data_actors[id_pg].id].pdef.to_s,2) #Difesa Magica self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+120,70,50,Valori_Vari::MDEF) #Difesa Magica - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+120,100,50,$game_actors[$data_actors[id_pg].id].mdef.to_s,2) #Evasione self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+140,50,50,Valori_Vari::EVA) #Evasione - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+140,100,50,$game_actors[$data_actors[id_pg].id].eva.to_s,2) end def del_fig @pg_sprite.del_fig end end ######################### # Inizializzazione Menù ######################### class Cambia_Party def initialize #Inizializzo la variabile dei membri del party @in_party=0 #Inizializzo il vettore contentente l'id del personaggio che è già nel party @party=[nil,nil,nil,nil] #Inizializzo la variabile di ok per l'aggiunta @ok=0 end def main #Tolgo tutti i personaggi dal party for i in 0...$game_party.actors.size $game_party.remove_actor($game_party.actors[i].id) end for i in 0...$game_party.actors.size $game_party.remove_actor($game_party.actors[i].id) end for i in 0...$game_party.actors.size $game_party.remove_actor($game_party.actors[i].id) end for i in 0...$game_party.actors.size $game_party.remove_actor($game_party.actors[i].id) end #Creo le varie finestre e inizializzo la variabile di index @win_nome=Nome_Finestra.new @win_membri=Party_Attuale.new @win_altri_pg=PG_Rimanenti.new @win_altri_pg.index = 0 @win_altri_pg.refresh @win_status=Status_PG.new #Effetto di transizione dalla schermata di scena alla schermata del menù Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end #Cancellazione finestre @win_nome.dispose @win_membri.dispose @win_altri_pg.dispose @win_status.dispose end def update #Aggiorno le finestre @win_membri.update @win_altri_pg.update #Aggiorno la finestra di status del personaggio selezionato @win_status.refresh(@win_altri_pg.index+1) #Se il tasto è il Cancel e il numero dei personaggi minimi è stato raggiunto if Input.trigger?(Input::B) and @in_party>=Valori_Vari::NUM_PG_MIN #Cancella bitmap e... @win_status.del_fig #..torna alla scena che ha chiamato questo menu $scene = Scene_Map.new #Altrimenti se è il tasto Ok e il numero dei personaggi aggunti è minore #del massimo permesso elsif Input.trigger?(Input::C) and @in_party<Valori_Vari::NUM_PG_MAX #Controllo se è già presente nel party(per evitare i doppioni) for i in 0..4 if(@win_altri_pg.index == @party[i]) @ok=0 break else @ok=1 end end #Quindi se è tutto ok aggiungo il personaggio alla schermata #sistemando le coordinate per lo sprite if @ok == 1 case @in_party when 0 @x = 20 @y = 55 when 1 @x = 100 @y = 55 when 2 @x = 20 @y = 130 when 3 @x = 100 @y = 130 end #Disegno il personaggio @win_membri.add_pg(@win_altri_pg.index+1,@x,@y) #Lo aggiungo nel party $game_party.add_actor(@win_altri_pg.index+1) #Lo aggiungo al vettore del party @party[@in_party] = @win_altri_pg.index #Aggiorno la variabile del numero dei personaggi nel party @in_party += 1 end end end end Screenshot:http://img522.imageshack.us/img522/2662/capturevn2.th.jpgSpero vi piaccia :) Edited March 14, 2013 by Apo applicato il tag code Link to comment Share on other sites More sharing options...
Alastor Mix@ Posted November 1, 2006 Share Posted November 1, 2006 MI RICORDO DI QUESTO SCRIPT E TI RIPETO BEN FATTO ^^ http://img87.imageshack.us/img87/317/schedaalastorva0.pngIL Fumetto fatto in casa che tutti stavano aspettando!http://img182.imageshack.us/img182/6231/natalaeindianopolihz6.jpg Link to comment Share on other sites More sharing options...
Zacker Posted November 21, 2006 Share Posted November 21, 2006 Come faccio a chiamare lo script? Link to comment Share on other sites More sharing options...
Aqua Posted December 10, 2006 Share Posted December 10, 2006 Già, scusate l'ignoranza, ma come si fa ad attivarlo? http://mbaqua.zroot.org/images/asgame.png Scarica gratuitamente il videogioco Matheltvania! http://mbaqua.zroot.org/gigimon/image/logog.png "Gigimon - Gigi's Monsters" and all relative stuffs are © by MBAqu@. http://mbaqua.zroot.org/gigimon/image/gflogo.pngScarica gratuitamente il videogioco Gigimon Frontier! Link to comment Share on other sites More sharing options...
Kenshin Posted February 23, 2008 Share Posted February 23, 2008 Allora, questo script mi servirebbe proprio, ma non impostato in questa maniera, ovvero da quello che ho capito, appena apri questo menu ti da la possibilità di scegliere fra tutti i pg, io vorrei che ti facesse scegliere fra tutti i pg che hai incontrato e si sono uniti alla tua causa (e che non ti anno abbandonato, perchè per come ho impostato il gioco ti possono anche abbandonare).Che il protagonista non possa mai essere escluso dal gioco (dato che all'inizio del gioco faccio scegliere il protagonista, non è per forza 001 (anzi nel mio gioco 001 non è un pg proprio, mi serve solo per far scattare l'evento iniziale in cui ti fa scegliere fra 002 e 003 ), che questo menu sia una specie di phs di ff7, ovvero che sia una voce del menu di base, ma che tu non possa avere fino a che non trovi l'oggetto per farvici accedere.Qualcuno può aiutarmi?Grazie. "Giochiamo a: schiettezza o grande impresa eroica!" Personaggio PBF: LyrielPN: 12/20PV: 2/2PA: 4 (5 col mantello d'acero)Equipaggiamento:Spada comunePugnale comuneArco elfico (magico, ignifugo. Permette di colpire da lunghe distanze. Se distrutto si auto-restaura a fine battaglia. Le frecce scoccate con questo arco ottengono l'effetto dell'incantesimo Folata di vento permettendo di spazzare via piccoli oggetti e creature.)Faretra con 20 frecceCappuccioArmatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)2 anelli di valoreBorsa comune (10 slot)CordaPenna e calamaioLibro vuotoForma di formaggioMappaCannocchialeTagliola di ferroCampanellino di MaiaMantello d'Acero (+1PA): un mantello pesante di colore rossiccio che presenta dei motivi fiochi, dello stesso colore, a forma di foglie d'acero. E' dotato di un ampio cappuccio e può coprire completamente chi lo indossa. Se si resta fermi in un'area boschiva o tra un gruppo di alberi il mantello è in grado di celare completamente la presenza del possessore dando un grado di furtività pari a gr.5. Nel caso di bestie ed animali dalla visuale meno acuta, se il giocatore è già stato notato od ha notificato in qualche modo la sua presenza può gettarsi a terra tra un gruppo di foglie o tra i cespugli per scomparire completamente dalla visuale di tali nemici.181 monete d'oroCintura porta coltelli (6 slot)Coltello da lancio intarsiatoColtello da lancio in metalloColtello da lancio in metallo Campanellino di MaiaSe Lyriel, e solo lui, suona tre volte il campanellino può richiamare una creatura magica che combatterà al suo fianco al prezzo di 3 PN.L'animale ha l'aspetto di un leopardo delle nevi, i suoi occhi sono viola e così gli artigli, i denti e la punta della coda. Questa è lunga e larga, molto folta e corposa. Il manto a differenza dei leopardi è tutto bianco, inoltre ha una folta criniera circolare intorno al collo a mo' di sciarpa e che si unisce con la sommità della fronte creando un cresta non molto alta pettinata all'indietro.La creatura combatte indipendentemente dal possessore (il giocatore potrà descriverne il comportamento in battaglia e fuori, ma il master potrà riservarsi il diritto di far compiere alla creatura delle azioni per conto proprio).La creatura non deve per forza stare vicino all'utilizzatore, ma può essere mandata lontano e tornare da lui su comando.Lyriel e l'animale hanno un contatto mentale e possono comunicare anche a distanza.Non vi è limite alla permanenza della creatura una volta evocata, però se i suoi PV raggiungono lo zero dovrà essere risvegliata magicamente da un mago od un curatore esperto. Lyriel può richiamare all'interno del campanellino la creatura quando essa non è impegnata in combattimento od in altre prove senza sforzi, ma dovrà spendere di nuovo 3 PN per richiamarla. Può continuare a combattere se Lyriel viene sconfitto.L'animale vede bene anche di notte e se c'è nebbia.Caratteristiche della creatura:PV 2PA 2Atletica Gr.4Furtività Gr.1Attacco (tipo descritto dal giocatore nei limiti fisici di artigli e morso) di massimo Gr.5 può dichiarare DIRETTO su armature di cuoio o cuoio borchiato e MAGICO con tutti gli attacchi. Può dichiarare SONNO se artigli e denti viola entrano in contatto diretto con il sangue l'avversario. DIRETTO e SONNO sono due effetti, quindi come da regolamento solo uno può essere scelto. MAGICO può esser combinato con entrambi.Malus: il campanellino deve tintinnare, quindi Lyriel suonandolo tradirà la sua presenza.Il campanellino tutte le volte che viene suonato fa venire in mente Maia a Lyriel, quindi il giocatore dovrà scrivere una frase di almeno 3 parole per ricordare la bambina, ogni volta diversa, altrimenti l'evocazione non avrà esito. Personaggio PBF: WrenPN: 20/20PV:2/2PA:0Borsa Comune3 filoni di pane4 meleprosciuttoformaggiocoltello da cucina Link to comment Share on other sites More sharing options...
lotgd Posted February 24, 2008 Share Posted February 24, 2008 (edited) per richiamare lo script penso sia $scene = Cambia_Party.new poi ho aperto Scene_Menu e alla riga 26 ho aggiunto s7 = "Cambia Party" poi alla riga successiva @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) ho aggiunto l's7 così @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7]) e verso la riga 167 ho aggiunto when 6 # party $game_system.se_play($data_system.decision_se) $scene = Cambia_Party.new così verrà messo sotto Esci, ma si può spostare ed avete capito come... bisogno cambiare la grandezza del font sennò straborda sul menù standard, io ho fatto così, poi se esistono metodi più semplici fatemi sapere.... e se lo si vuole far funzionare solo per certi eventi, basta andare nell' evento -> script : ed aggiungere $scene = Cambia_Party.new (penso sia così, sono un novellino!) MESSAGGIO PER GTOnizuka : se metto oltre i 9 personaggi, funziona, solo che escono fuori dallo schermo gli altri pg, non puoi fare in modo che gli altri pg vadano a capo, visto che c'è spazio ? nel mio gioco devo fare la selezione di 15 PG e mi servirebbe! Edited February 24, 2008 by lotgd IL MIO NICK è FRISKON Quando mi son registrato, credevo di fare lo spettatore! http://www.making-videogames.net/pubblicita.gifVideogiochi Usati Link to comment Share on other sites More sharing options...
Sylaer Posted February 24, 2008 Share Posted February 24, 2008 Serve una mano dal mitico Sylaer? http://www.rpg2s.net/awards/bestscripter1.jpgSe avete bisogno di modifiche, correzioni o creazioni da zero di script RGSS, allora visitate la mia bottega.La bottega di Sylaer Link to comment Share on other sites More sharing options...
the-joker Posted February 24, 2008 Share Posted February 24, 2008 Ragazzi c'è un problema.io ho 12 eroi, ma vorrei che con questo script mi facesse scegliere solo tra 8.Come fare? "Quarantadue!" urlò Loonquawl. "Questo è tutto ciò che sai dire dopo un lavoro di sette milioni e mezzo di anni?""Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda." Gioco disponibile: Prophecy of Last Era - OPEN SOURCE http://www.mediafire.com/?u6aut42ks12ixgf Puoi utilizzare qualsiasi evento, mappa, chara, grafica, e programmazione contenuta nel gioco-demo.Nessun diritto di copia.Hope you enjoy.http://www.rpg2s.net/awards/bestmusician3.jpg Link to comment Share on other sites More sharing options...
Kenshin Posted February 24, 2008 Share Posted February 24, 2008 Sylaer, certo che serve ^^se mi fai scegliere fra 100 pg son contento ;P "Giochiamo a: schiettezza o grande impresa eroica!" Personaggio PBF: LyrielPN: 12/20PV: 2/2PA: 4 (5 col mantello d'acero)Equipaggiamento:Spada comunePugnale comuneArco elfico (magico, ignifugo. Permette di colpire da lunghe distanze. Se distrutto si auto-restaura a fine battaglia. Le frecce scoccate con questo arco ottengono l'effetto dell'incantesimo Folata di vento permettendo di spazzare via piccoli oggetti e creature.)Faretra con 20 frecceCappuccioArmatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)2 anelli di valoreBorsa comune (10 slot)CordaPenna e calamaioLibro vuotoForma di formaggioMappaCannocchialeTagliola di ferroCampanellino di MaiaMantello d'Acero (+1PA): un mantello pesante di colore rossiccio che presenta dei motivi fiochi, dello stesso colore, a forma di foglie d'acero. E' dotato di un ampio cappuccio e può coprire completamente chi lo indossa. Se si resta fermi in un'area boschiva o tra un gruppo di alberi il mantello è in grado di celare completamente la presenza del possessore dando un grado di furtività pari a gr.5. Nel caso di bestie ed animali dalla visuale meno acuta, se il giocatore è già stato notato od ha notificato in qualche modo la sua presenza può gettarsi a terra tra un gruppo di foglie o tra i cespugli per scomparire completamente dalla visuale di tali nemici.181 monete d'oroCintura porta coltelli (6 slot)Coltello da lancio intarsiatoColtello da lancio in metalloColtello da lancio in metallo Campanellino di MaiaSe Lyriel, e solo lui, suona tre volte il campanellino può richiamare una creatura magica che combatterà al suo fianco al prezzo di 3 PN.L'animale ha l'aspetto di un leopardo delle nevi, i suoi occhi sono viola e così gli artigli, i denti e la punta della coda. Questa è lunga e larga, molto folta e corposa. Il manto a differenza dei leopardi è tutto bianco, inoltre ha una folta criniera circolare intorno al collo a mo' di sciarpa e che si unisce con la sommità della fronte creando un cresta non molto alta pettinata all'indietro.La creatura combatte indipendentemente dal possessore (il giocatore potrà descriverne il comportamento in battaglia e fuori, ma il master potrà riservarsi il diritto di far compiere alla creatura delle azioni per conto proprio).La creatura non deve per forza stare vicino all'utilizzatore, ma può essere mandata lontano e tornare da lui su comando.Lyriel e l'animale hanno un contatto mentale e possono comunicare anche a distanza.Non vi è limite alla permanenza della creatura una volta evocata, però se i suoi PV raggiungono lo zero dovrà essere risvegliata magicamente da un mago od un curatore esperto. Lyriel può richiamare all'interno del campanellino la creatura quando essa non è impegnata in combattimento od in altre prove senza sforzi, ma dovrà spendere di nuovo 3 PN per richiamarla. Può continuare a combattere se Lyriel viene sconfitto.L'animale vede bene anche di notte e se c'è nebbia.Caratteristiche della creatura:PV 2PA 2Atletica Gr.4Furtività Gr.1Attacco (tipo descritto dal giocatore nei limiti fisici di artigli e morso) di massimo Gr.5 può dichiarare DIRETTO su armature di cuoio o cuoio borchiato e MAGICO con tutti gli attacchi. Può dichiarare SONNO se artigli e denti viola entrano in contatto diretto con il sangue l'avversario. DIRETTO e SONNO sono due effetti, quindi come da regolamento solo uno può essere scelto. MAGICO può esser combinato con entrambi.Malus: il campanellino deve tintinnare, quindi Lyriel suonandolo tradirà la sua presenza.Il campanellino tutte le volte che viene suonato fa venire in mente Maia a Lyriel, quindi il giocatore dovrà scrivere una frase di almeno 3 parole per ricordare la bambina, ogni volta diversa, altrimenti l'evocazione non avrà esito. Personaggio PBF: WrenPN: 20/20PV:2/2PA:0Borsa Comune3 filoni di pane4 meleprosciuttoformaggiocoltello da cucina Link to comment Share on other sites More sharing options...
lotgd Posted February 24, 2008 Share Posted February 24, 2008 se aumentate il numero li mette... NUMERO_PG = 20 li fa scegliere se si va avanti ma non li visualizza xkè escono fuori schermo, o si deve cambiare il tipo di visualizzazione... cioè con le freccette vai avanti, oppure almento per 18 pg basta metterli a capo il restante... mo bisogna capire come.... IL MIO NICK è FRISKON Quando mi son registrato, credevo di fare lo spettatore! http://www.making-videogames.net/pubblicita.gifVideogiochi Usati Link to comment Share on other sites More sharing options...
the-joker Posted February 24, 2008 Share Posted February 24, 2008 Ehm...ragazzi?Vorrei fare che solo dopo che li hai incontrati (quindi dopo che ho attivato una swich) si possanoscegliere certi eroi... "Quarantadue!" urlò Loonquawl. "Questo è tutto ciò che sai dire dopo un lavoro di sette milioni e mezzo di anni?""Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda." Gioco disponibile: Prophecy of Last Era - OPEN SOURCE http://www.mediafire.com/?u6aut42ks12ixgf Puoi utilizzare qualsiasi evento, mappa, chara, grafica, e programmazione contenuta nel gioco-demo.Nessun diritto di copia.Hope you enjoy.http://www.rpg2s.net/awards/bestmusician3.jpg Link to comment Share on other sites More sharing options...
lotgd Posted February 24, 2008 Share Posted February 24, 2008 Sylaer non ce la fai vero ? fammi sapere! IL MIO NICK è FRISKON Quando mi son registrato, credevo di fare lo spettatore! http://www.making-videogames.net/pubblicita.gifVideogiochi Usati Link to comment Share on other sites More sharing options...
Sylaer Posted February 24, 2008 Share Posted February 24, 2008 Sylaer non ce la fai vero ? fammi sapere!No è che ero impegnato, adesso mi ci metto.Aspetta e vedrai. http://www.rpg2s.net/awards/bestscripter1.jpgSe avete bisogno di modifiche, correzioni o creazioni da zero di script RGSS, allora visitate la mia bottega.La bottega di Sylaer Link to comment Share on other sites More sharing options...
Kenshin Posted February 24, 2008 Share Posted February 24, 2008 Questo ragazzo è un grnio ^__^ "Giochiamo a: schiettezza o grande impresa eroica!" Personaggio PBF: LyrielPN: 12/20PV: 2/2PA: 4 (5 col mantello d'acero)Equipaggiamento:Spada comunePugnale comuneArco elfico (magico, ignifugo. Permette di colpire da lunghe distanze. Se distrutto si auto-restaura a fine battaglia. Le frecce scoccate con questo arco ottengono l'effetto dell'incantesimo Folata di vento permettendo di spazzare via piccoli oggetti e creature.)Faretra con 20 frecceCappuccioArmatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)2 anelli di valoreBorsa comune (10 slot)CordaPenna e calamaioLibro vuotoForma di formaggioMappaCannocchialeTagliola di ferroCampanellino di MaiaMantello d'Acero (+1PA): un mantello pesante di colore rossiccio che presenta dei motivi fiochi, dello stesso colore, a forma di foglie d'acero. E' dotato di un ampio cappuccio e può coprire completamente chi lo indossa. Se si resta fermi in un'area boschiva o tra un gruppo di alberi il mantello è in grado di celare completamente la presenza del possessore dando un grado di furtività pari a gr.5. Nel caso di bestie ed animali dalla visuale meno acuta, se il giocatore è già stato notato od ha notificato in qualche modo la sua presenza può gettarsi a terra tra un gruppo di foglie o tra i cespugli per scomparire completamente dalla visuale di tali nemici.181 monete d'oroCintura porta coltelli (6 slot)Coltello da lancio intarsiatoColtello da lancio in metalloColtello da lancio in metallo Campanellino di MaiaSe Lyriel, e solo lui, suona tre volte il campanellino può richiamare una creatura magica che combatterà al suo fianco al prezzo di 3 PN.L'animale ha l'aspetto di un leopardo delle nevi, i suoi occhi sono viola e così gli artigli, i denti e la punta della coda. Questa è lunga e larga, molto folta e corposa. Il manto a differenza dei leopardi è tutto bianco, inoltre ha una folta criniera circolare intorno al collo a mo' di sciarpa e che si unisce con la sommità della fronte creando un cresta non molto alta pettinata all'indietro.La creatura combatte indipendentemente dal possessore (il giocatore potrà descriverne il comportamento in battaglia e fuori, ma il master potrà riservarsi il diritto di far compiere alla creatura delle azioni per conto proprio).La creatura non deve per forza stare vicino all'utilizzatore, ma può essere mandata lontano e tornare da lui su comando.Lyriel e l'animale hanno un contatto mentale e possono comunicare anche a distanza.Non vi è limite alla permanenza della creatura una volta evocata, però se i suoi PV raggiungono lo zero dovrà essere risvegliata magicamente da un mago od un curatore esperto. Lyriel può richiamare all'interno del campanellino la creatura quando essa non è impegnata in combattimento od in altre prove senza sforzi, ma dovrà spendere di nuovo 3 PN per richiamarla. Può continuare a combattere se Lyriel viene sconfitto.L'animale vede bene anche di notte e se c'è nebbia.Caratteristiche della creatura:PV 2PA 2Atletica Gr.4Furtività Gr.1Attacco (tipo descritto dal giocatore nei limiti fisici di artigli e morso) di massimo Gr.5 può dichiarare DIRETTO su armature di cuoio o cuoio borchiato e MAGICO con tutti gli attacchi. Può dichiarare SONNO se artigli e denti viola entrano in contatto diretto con il sangue l'avversario. DIRETTO e SONNO sono due effetti, quindi come da regolamento solo uno può essere scelto. MAGICO può esser combinato con entrambi.Malus: il campanellino deve tintinnare, quindi Lyriel suonandolo tradirà la sua presenza.Il campanellino tutte le volte che viene suonato fa venire in mente Maia a Lyriel, quindi il giocatore dovrà scrivere una frase di almeno 3 parole per ricordare la bambina, ogni volta diversa, altrimenti l'evocazione non avrà esito. Personaggio PBF: WrenPN: 20/20PV:2/2PA:0Borsa Comune3 filoni di pane4 meleprosciuttoformaggiocoltello da cucina Link to comment Share on other sites More sharing options...
lotgd Posted February 24, 2008 Share Posted February 24, 2008 ed è anche fra i pochi che si mettono a disposizione sempre! IL MIO NICK è FRISKON Quando mi son registrato, credevo di fare lo spettatore! http://www.making-videogames.net/pubblicita.gifVideogiochi Usati Link to comment Share on other sites More sharing options...
Sylaer Posted February 24, 2008 Share Posted February 24, 2008 (edited) Ce l'ho fatta!!Qui c'è lo script: Ok, ora spiego come funziona.Diversamente da quello di GTOGTOnizuka, questo script si richiama così$scene = Party_Switcher.new([Array])Si può mettere in un evento sulla mappa e o su evento comune.Quel Array va sostituito con un array di id dei personaggi coinvolti.es.$scene = Party_Switcher.new([1,2,3,4])Con questo codice si permetterà al giocatore di scegliere i personaggi con id 1,2,3,4 e di poterli intercambiare nel party se sono tutti nel party o non esistono non verrà visualizzato nessuno nella finestra di destra. EDIT: Ho tolto lo script in questa pagina perché ha diversi problemi utilizzate la versione che si trova nel prossimo mio post. Edited August 27, 2008 by Sylaer http://www.rpg2s.net/awards/bestscripter1.jpgSe avete bisogno di modifiche, correzioni o creazioni da zero di script RGSS, allora visitate la mia bottega.La bottega di Sylaer Link to comment Share on other sites More sharing options...
Kenshin Posted February 24, 2008 Share Posted February 24, 2008 Non ho dcapito bene, in pratica cosa fa?ti permette di cambiare solo quei 4 lì? "Giochiamo a: schiettezza o grande impresa eroica!" Personaggio PBF: LyrielPN: 12/20PV: 2/2PA: 4 (5 col mantello d'acero)Equipaggiamento:Spada comunePugnale comuneArco elfico (magico, ignifugo. Permette di colpire da lunghe distanze. Se distrutto si auto-restaura a fine battaglia. Le frecce scoccate con questo arco ottengono l'effetto dell'incantesimo Folata di vento permettendo di spazzare via piccoli oggetti e creature.)Faretra con 20 frecceCappuccioArmatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)2 anelli di valoreBorsa comune (10 slot)CordaPenna e calamaioLibro vuotoForma di formaggioMappaCannocchialeTagliola di ferroCampanellino di MaiaMantello d'Acero (+1PA): un mantello pesante di colore rossiccio che presenta dei motivi fiochi, dello stesso colore, a forma di foglie d'acero. E' dotato di un ampio cappuccio e può coprire completamente chi lo indossa. Se si resta fermi in un'area boschiva o tra un gruppo di alberi il mantello è in grado di celare completamente la presenza del possessore dando un grado di furtività pari a gr.5. Nel caso di bestie ed animali dalla visuale meno acuta, se il giocatore è già stato notato od ha notificato in qualche modo la sua presenza può gettarsi a terra tra un gruppo di foglie o tra i cespugli per scomparire completamente dalla visuale di tali nemici.181 monete d'oroCintura porta coltelli (6 slot)Coltello da lancio intarsiatoColtello da lancio in metalloColtello da lancio in metallo Campanellino di MaiaSe Lyriel, e solo lui, suona tre volte il campanellino può richiamare una creatura magica che combatterà al suo fianco al prezzo di 3 PN.L'animale ha l'aspetto di un leopardo delle nevi, i suoi occhi sono viola e così gli artigli, i denti e la punta della coda. Questa è lunga e larga, molto folta e corposa. Il manto a differenza dei leopardi è tutto bianco, inoltre ha una folta criniera circolare intorno al collo a mo' di sciarpa e che si unisce con la sommità della fronte creando un cresta non molto alta pettinata all'indietro.La creatura combatte indipendentemente dal possessore (il giocatore potrà descriverne il comportamento in battaglia e fuori, ma il master potrà riservarsi il diritto di far compiere alla creatura delle azioni per conto proprio).La creatura non deve per forza stare vicino all'utilizzatore, ma può essere mandata lontano e tornare da lui su comando.Lyriel e l'animale hanno un contatto mentale e possono comunicare anche a distanza.Non vi è limite alla permanenza della creatura una volta evocata, però se i suoi PV raggiungono lo zero dovrà essere risvegliata magicamente da un mago od un curatore esperto. Lyriel può richiamare all'interno del campanellino la creatura quando essa non è impegnata in combattimento od in altre prove senza sforzi, ma dovrà spendere di nuovo 3 PN per richiamarla. Può continuare a combattere se Lyriel viene sconfitto.L'animale vede bene anche di notte e se c'è nebbia.Caratteristiche della creatura:PV 2PA 2Atletica Gr.4Furtività Gr.1Attacco (tipo descritto dal giocatore nei limiti fisici di artigli e morso) di massimo Gr.5 può dichiarare DIRETTO su armature di cuoio o cuoio borchiato e MAGICO con tutti gli attacchi. Può dichiarare SONNO se artigli e denti viola entrano in contatto diretto con il sangue l'avversario. DIRETTO e SONNO sono due effetti, quindi come da regolamento solo uno può essere scelto. MAGICO può esser combinato con entrambi.Malus: il campanellino deve tintinnare, quindi Lyriel suonandolo tradirà la sua presenza.Il campanellino tutte le volte che viene suonato fa venire in mente Maia a Lyriel, quindi il giocatore dovrà scrivere una frase di almeno 3 parole per ricordare la bambina, ogni volta diversa, altrimenti l'evocazione non avrà esito. Personaggio PBF: WrenPN: 20/20PV:2/2PA:0Borsa Comune3 filoni di pane4 meleprosciuttoformaggiocoltello da cucina Link to comment Share on other sites More sharing options...
Tio Posted February 24, 2008 Share Posted February 24, 2008 no, da ciò che ho capito puoi inserire quanti numeri vuoi lì dentro.. ad esempio se vuoi che sia possibile fare scambi solamente fra i personaggi 1,2,3,4,5,8,9 devi scrivere fra parentesi tutti quei numeri ^^ "Dopo gli ultimi Final Fantasy, ho capito solamente una cosa: che il gioco è bello quando Nomura poco."Making is not dead. You are dead.RELEASE: La Bussola d'Oro | Download | Video di anteprima - La Partenza di Hanna http://i.imgur.com/cFgc2lW.png Prova Standrama! Link to comment Share on other sites More sharing options...
Kenshin Posted February 24, 2008 Share Posted February 24, 2008 Ah! capito...mmm e se io volessi che un pg tipo che so il nume 002 non possa mai essere eliminato dal parti? (il mio protagonista insomma) "Giochiamo a: schiettezza o grande impresa eroica!" Personaggio PBF: LyrielPN: 12/20PV: 2/2PA: 4 (5 col mantello d'acero)Equipaggiamento:Spada comunePugnale comuneArco elfico (magico, ignifugo. Permette di colpire da lunghe distanze. Se distrutto si auto-restaura a fine battaglia. Le frecce scoccate con questo arco ottengono l'effetto dell'incantesimo Folata di vento permettendo di spazzare via piccoli oggetti e creature.)Faretra con 20 frecceCappuccioArmatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)2 anelli di valoreBorsa comune (10 slot)CordaPenna e calamaioLibro vuotoForma di formaggioMappaCannocchialeTagliola di ferroCampanellino di MaiaMantello d'Acero (+1PA): un mantello pesante di colore rossiccio che presenta dei motivi fiochi, dello stesso colore, a forma di foglie d'acero. E' dotato di un ampio cappuccio e può coprire completamente chi lo indossa. Se si resta fermi in un'area boschiva o tra un gruppo di alberi il mantello è in grado di celare completamente la presenza del possessore dando un grado di furtività pari a gr.5. Nel caso di bestie ed animali dalla visuale meno acuta, se il giocatore è già stato notato od ha notificato in qualche modo la sua presenza può gettarsi a terra tra un gruppo di foglie o tra i cespugli per scomparire completamente dalla visuale di tali nemici.181 monete d'oroCintura porta coltelli (6 slot)Coltello da lancio intarsiatoColtello da lancio in metalloColtello da lancio in metallo Campanellino di MaiaSe Lyriel, e solo lui, suona tre volte il campanellino può richiamare una creatura magica che combatterà al suo fianco al prezzo di 3 PN.L'animale ha l'aspetto di un leopardo delle nevi, i suoi occhi sono viola e così gli artigli, i denti e la punta della coda. Questa è lunga e larga, molto folta e corposa. Il manto a differenza dei leopardi è tutto bianco, inoltre ha una folta criniera circolare intorno al collo a mo' di sciarpa e che si unisce con la sommità della fronte creando un cresta non molto alta pettinata all'indietro.La creatura combatte indipendentemente dal possessore (il giocatore potrà descriverne il comportamento in battaglia e fuori, ma il master potrà riservarsi il diritto di far compiere alla creatura delle azioni per conto proprio).La creatura non deve per forza stare vicino all'utilizzatore, ma può essere mandata lontano e tornare da lui su comando.Lyriel e l'animale hanno un contatto mentale e possono comunicare anche a distanza.Non vi è limite alla permanenza della creatura una volta evocata, però se i suoi PV raggiungono lo zero dovrà essere risvegliata magicamente da un mago od un curatore esperto. Lyriel può richiamare all'interno del campanellino la creatura quando essa non è impegnata in combattimento od in altre prove senza sforzi, ma dovrà spendere di nuovo 3 PN per richiamarla. Può continuare a combattere se Lyriel viene sconfitto.L'animale vede bene anche di notte e se c'è nebbia.Caratteristiche della creatura:PV 2PA 2Atletica Gr.4Furtività Gr.1Attacco (tipo descritto dal giocatore nei limiti fisici di artigli e morso) di massimo Gr.5 può dichiarare DIRETTO su armature di cuoio o cuoio borchiato e MAGICO con tutti gli attacchi. Può dichiarare SONNO se artigli e denti viola entrano in contatto diretto con il sangue l'avversario. DIRETTO e SONNO sono due effetti, quindi come da regolamento solo uno può essere scelto. MAGICO può esser combinato con entrambi.Malus: il campanellino deve tintinnare, quindi Lyriel suonandolo tradirà la sua presenza.Il campanellino tutte le volte che viene suonato fa venire in mente Maia a Lyriel, quindi il giocatore dovrà scrivere una frase di almeno 3 parole per ricordare la bambina, ogni volta diversa, altrimenti l'evocazione non avrà esito. Personaggio PBF: WrenPN: 20/20PV:2/2PA:0Borsa Comune3 filoni di pane4 meleprosciuttoformaggiocoltello da cucina Link to comment Share on other sites More sharing options...
Sylaer Posted February 24, 2008 Share Posted February 24, 2008 Non ho dcapito bene, in pratica cosa fa?ti permette di cambiare solo quei 4 lì?Esatto se nel call script ci metti quella roba lì ti permette di fa lo scambio tra quei quattro lì se invece ci metti [1,2,3,4,7], ti permette di fare lo scambio anche col personaggio con id 7.Esempio:Io scrivo nel call script:$scene = Party_Switcher.new([1,2,4,6,8,5]e io nel party ho solo il personaggio con id posso aggiungere e poi se richiamato successivamente modificare i personaggi con id 2,4,6,8 e 5. Ah, per togliere un personaggio basta premere D. http://www.rpg2s.net/awards/bestscripter1.jpgSe avete bisogno di modifiche, correzioni o creazioni da zero di script RGSS, allora visitate la mia bottega.La bottega di Sylaer Link to comment Share on other sites More sharing options...
Sylaer Posted February 24, 2008 Share Posted February 24, 2008 (edited) Ah! capito...mmm e se io volessi che un pg tipo che so il nume 002 non possa mai essere eliminato dal parti? (il mio protagonista insomma)Beh non c'è come funzione, ma se vuoi te la aggiungo. EDIT:Fatto.Ecco qua. module Valori_Vari HP = "HP:" #HP MP = "MP:" #MP NOME = "Nome:" #Nome LIVELLO = "Livello:" #Livello EXP_LVL_UP = "Exp Lvl Up:" #Esperienza al prossimo livello STR = "STR:" #Forza DEX = "DEX:" #Destrezza AGI = "AGI:" #Agilità INT = "INT:" #Intelligenza ATK = "ATK:" #Attacco PDEF = "PDEF:" #Difesa Fisica MDEF = "MDEF:" #Difesa Magica EVA = "EVA:" #Evasione TITOLO = "Cambio Party" #Titolo schermata FONT_TYPE = "Arial" #Font della schermata NUMERO_PG = 8 #Numero dei personaggi totali NUM_PG_MIN = 1 #Numero dei personaggi del party minimo... #...per uscire dalla schermata NUM_PG_MAX = 4 #Numero dei personaggi che si possono... #...inserire nella schermata end class Little_Arrow < Sprite def initialize(viewport,mirror = false) super(viewport) self.bitmap = RPG::Cache.picture('arrow') # Per Kenshin decommenta le righe sotto #self.bitmap = RPG::Cache.windowskin($game_system.c_windowskin_name) #@skin_name = $game_system.c_windowskin_name #self.src_rect.set(128, 96, 32, 32) self.ox = 20 self.oy = 17 self.z = 350 self.mirror = mirror @blink_count = 0 @blink_in = false end def update if @blink_count > 0 @blink_count-=1 return end self.x -= 5 if @blink_in self.x += 5 if @blink_in == false @blink_count = 10 @blink_in==true ? @blink_in=false : @blink_in=true end end class Fig_PG < RPG::Sprite def initialize super() end def mostra_fig(id_pg,x,y) #Ottengo l'immagine @nome = $data_actors[id_pg].battler_name @tonalita = $data_actors[id_pg].battler_hue self.bitmap = RPG::Cache.battler(@nome, @tonalita) @width = bitmap.width @height = bitmap.height self.ox = @width / 2 self.oy = @height #Setto l'opacità self.opacity = 255 #Coordinate # Set sprite coordinates self.x = x self.y = y self.z = 100 end def del_fig self.bitmap.dispose end end class Status_PG < Window_Base def initialize #Creo il riquadro super(0,251,636,226) #Settaggi di bitmap, nome font e dimensione font self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = Valori_Vari::FONT_TYPE self.contents.font.size = 18 @actor_id = 0 @pg_sprite = Fig_PG.new end def refresh if @actor_id == nil del_fig self.contents.clear return end id_pg = @actor_id self.contents.clear @altezza=0 @sinistra_col1=200 @sinistra_col2=400 #Mostro la figura del pg @pg_sprite.mostra_fig($data_actors[id_pg].id,80,460) #Imposto il colore del font self.contents.font.color = normal_color #Scrivo le statistiche del pg ######################### COLONNA 1 ################################ #Nome self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza,80,50,Valori_Vari::NOME) #Nome - Valore self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+105,@altezza,100,50,$data_actors[$data_actors[id_pg].id].name) #HP self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza+20,50,50,Valori_Vari::HP) #HP - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+80,@altezza+20,70,50,$game_actors[$data_actors[id_pg].id].hp.to_s,2) #MP self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza+40,50,50,Valori_Vari::MP) #MP - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+80,@altezza+40,70,50,$game_actors[$data_actors[id_pg].id].sp.to_s,2) #Livello self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza+60,100,50,Valori_Vari::LIVELLO) #Livello - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+100,@altezza+60,50,50,$game_actors[$data_actors[id_pg].id].level.to_s,2) #EXP Rimanente self.contents.font.bold = true self.contents.draw_text(@sinistra_col1,@altezza+80,150,50,Valori_Vari::EXP_LVL_UP) #EXP Rimanente - Valore self.contents.font.bold = false self.contents.draw_text(@sinistra_col1+50,@altezza+80,100,50,$data_actors[$data_actors[id_pg].id].exp_basis.to_s,2) ######################### COLONNA 2 ################################ #Forza self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza,50,50,Valori_Vari::STR) #Forza - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza,100,50,$game_actors[$data_actors[id_pg].id].str.to_s,2) #Destrezza self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+20,50,50,Valori_Vari::DEX) #Destrezza - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+20,100,50,$game_actors[$data_actors[id_pg].id].dex.to_s,2) #Agilità self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+40,50,50,Valori_Vari::AGI) #Agilità - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+40,100,50,$game_actors[$data_actors[id_pg].id].agi.to_s,2) #Intelligenza self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+60,50,50,Valori_Vari::INT) #Intelligenza - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+60,100,50,$game_actors[$data_actors[id_pg].id].int.to_s,2) #Attacco self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+80,50,50,Valori_Vari::ATK) #Attacco - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+80,100,50,$game_actors[$data_actors[id_pg].id].atk.to_s,2) #Difesa Fisica self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+100,70,50,Valori_Vari::PDEF) #Difesa Fisica - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+100,100,50,$game_actors[$data_actors[id_pg].id].pdef.to_s,2) #Difesa Magica self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+120,70,50,Valori_Vari::MDEF) #Difesa Magica - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+120,100,50,$game_actors[$data_actors[id_pg].id].mdef.to_s,2) #Evasione self.contents.font.bold = true self.contents.draw_text(@sinistra_col2,@altezza+140,50,50,Valori_Vari::EVA) #Evasione - Numero self.contents.font.bold = false self.contents.draw_text(@sinistra_col2+15,@altezza+140,100,50,$game_actors[$data_actors[id_pg].id].eva.to_s,2) end def del_fig @pg_sprite.del_fig end def dispose @pg_sprite.dispose super end def update(actor_id=nil) super() if actor_id != @actor_id @actor_id = actor_id refresh end end end class Window_Current_Party < Window_Base attr_accessor :index def initialize super(0,0,160,240) self.contents = Bitmap.new(self.width-32,self.height-32) viewport = Viewport.new(0,0,640,480) viewport.z = 350 @index = 0 @arrow = Little_Arrow.new(viewport) @arrow.x = 24 @arrow.y = 120 @party = $game_party.actors @old_index = 0 refresh end def actor return @party[@index] end def refresh self.contents.clear self.contents.font.size = 22 self.contents.draw_text(4,4,128,32,'Party Attuale:') x = 24 y = 64 + 64 self.contents.font.size = 20 for i in 0..@party.size-1 draw_actor_name(@party[i],x-24,y-75) draw_actor_graphic(@party[i],x,y) x += 64 if i == 1 y += 64 x = 24 end end end def update(need_refresh=false) super() if need_refresh @party = $game_party.actors refresh end @arrow.update if self.active if @index != @old_index @index = @party.size if @index < 0 @index %= 4 @old_index = @index @arrow.x = 64 * (@index % 2) + 24 @arrow.y = 64 * (@index / 2) + 120 end end def dispose @arrow.dispose super end end class Window_Available_Party < Window_Base attr_accessor :index def initialize(party_available) super(160,0,640-160,240) @party_array = [] @party_available = party_available self.contents = Bitmap.new(self.width-32,self.height-32) @index = 0 @old_index = 0 viewport = Viewport.new(0,0,640,480) viewport.z = 350 @arrow = Little_Arrow.new(viewport) @arrow.visible = false @arrow.x = 24 + 160 @arrow.y = 120 refresh(@party_available) end def actor return @party_array[@index] end def refresh(party_array=nil) self.contents.clear party = $game_party.actors @party_array.clear for actor in party_array already = false for i in 0..party.size-1 if party[i].id == actor.id already = true end end if already == false @party_array.push(actor) end end self.contents.font.size = 22 self.contents.draw_text(4,4,256,32,'Party disponibile:') self.contents.draw_text(256,4,200,32,'Premere D per rimuovere') return if @party_array == nil x = 24 y = 64 + 64 self.contents.font.size = 20 for i in 0..@party_array.size-1 draw_actor_name(@party_array[i],x-24,y-75) draw_actor_graphic(@party_array[i],x,y) x += 64 if i == 6 y += 64 x = 24 end end end def update(need_refresh=false) super() if need_refresh refresh(@party_available) end if self.active @arrow.update @arrow.visible = true else @arrow.visible = false end if @index != @old_index @index = @party_array.size-1 if @index < 0 @index %= @party_array.size @old_index = @index @arrow.x = 64 * (@index % 7) + 24 + 160 @arrow.y = 64 * (@index / 7) + 120 end end def dispose @arrow.dispose super end end class Party_Switcher def initialize(party_array,frozen_member=nil) @party_array = [] @frozen_member = frozen_member for actor_id in party_array if $game_actors[actor_id] != nil @party_array.push($game_actors[actor_id]) end end end def main @current_party_window = Window_Current_Party.new @current_party_window.active = true @available_party_window = Window_Available_Party.new(@party_array) @available_party_window.active = false @status_window = Status_PG.new Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @status_window.dispose @available_party_window.dispose @current_party_window.dispose end def update @available_party_window.update @current_party_window.update if @current_party_window.active update_cparty @current_party_window.update actor = @current_party_window.actor if actor == nil @status_window.update(nil) else @status_window.update(actor.id) end return end if @available_party_window.active update_pavailable @available_party_window.update actor = @available_party_window.actor @status_window.update(actor.id) end end def update_cparty if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Map.new end if Input.trigger?(Input::Z) $game_system.se_play($data_system.buzzer_se) actor = @current_party_window.actor if actor == nil return end if @frozen_member.index(actor.id) != nil return else $game_party.remove_actor(actor.id) @current_party_window.update(true) @available_party_window.update(true) end end if Input.trigger?(Input::LEFT) $game_system.se_play($data_system.cursor_se) @current_party_window.index -=1 end if Input.trigger?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) @current_party_window.index +=1 end if Input.trigger?(Input::UP) $game_system.se_play($data_system.cursor_se) @current_party_window.index -=2 end if Input.trigger?(Input::DOWN) $game_system.se_play($data_system.cursor_se) @current_party_window.index +=2 end if Input.trigger?(Input::C) actor = @current_party_window.actor if actor == nil $game_system.se_play($data_system.decision_se) @available_party_window.active = true @current_party_window.active = false return end if @frozen_member.index(actor.id) != nil $game_system.se_play($data_system.buzzer_se) return else $game_system.se_play($data_system.decision_se) @available_party_window.active = true @current_party_window.active = false end end end def update_pavailable if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @available_party_window.active = false @current_party_window.active = true end if Input.trigger?(Input::LEFT) $game_system.se_play($data_system.cursor_se) @available_party_window.index -=1 end if Input.trigger?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) @available_party_window.index +=1 end if Input.trigger?(Input::UP) $game_system.se_play($data_system.cursor_se) @available_party_window.index -=7 end if Input.trigger?(Input::DOWN) $game_system.se_play($data_system.cursor_se) @available_party_window.index +=7 end if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) switch_char end end def switch_char actor_switch1 = @current_party_window.actor actor_switch2 = @available_party_window.actor if actor_switch1 == nil $game_party.add_actor(actor_switch2.id) else actors_id = [] for actor in $game_party.actors if actor.id == actor_switch1.id actors_id.push(actor_switch2.id) else actors_id.push(actor.id) end end ids = [] for actor in $game_party.actors ids.push(actor.id) end for id in ids $game_party.remove_actor(id) end for id in actors_id $game_party.add_actor(id) end end @current_party_window.index = 0 @available_party_window.index = 0 @current_party_window.active = true @available_party_window.active = false @current_party_window.update(true) @available_party_window.update(true) end end Allora, per far si che un personaggio sia irrimovibile bisogna mettere nel call script qualcosa del genere:$scene = Party_Switcher.new([1,2,3,4,5,7],[1])la lista dopo il secondo 1 può continuare come nella prima lista, e ogni numero aggiunto bloccherà il personaggio relativo.Spero di essere stato più chiaro stavolta. Edited February 24, 2008 by Sylaer http://www.rpg2s.net/awards/bestscripter1.jpgSe avete bisogno di modifiche, correzioni o creazioni da zero di script RGSS, allora visitate la mia bottega.La bottega di Sylaer Link to comment Share on other sites More sharing options...
Kenshin Posted February 24, 2008 Share Posted February 24, 2008 (edited) Allora, quello che voglio fare io è un po' più complicato, ci andrebbero delle variabili per ogni pg, perchè non è sicuro che tu lo abbia preso (ogni pg a parte il protagonista nel mio gioco è un pg ozionale), quindi ci dovrebbero essere o delle variabili, o degli switch tipo "pg tizio è disponibile" On o Off.E dato che sto cercando di farlo che a seconda di come il protagonista tratta gli altri pg, quelli possono anche lasciare il gruppo perchè odiano il protagonista... è un gran casino ^^;;;Poi all'inizio del gioco ho messo la scelta del protagonista fra 002 e 003 e quindi a seconda della scelta o 002 o 003 non dovrebbe essere mai possibili eliminarli dal gruppo...Al massimo dovrebbe essere possibile spostarli via dalla testa del gruppo per far vedere un'altro sprite (si lo so sono complicato ^^;;; ) anche se forse se creo un castello tipo suikoden dove vanno tutti i pg ottenuti, basterebbe mettere un opzione scelta quando parli con il pg nel castello "scegli chi vuoi sostituire" e la scelta fra gli altri 3 pg... solo che non saprei fare nemmeno quello ^^;;; anche se mi sembra più facile almeno concettualmente parlando ^^;;; [edit]Abbiamo scritto assieme ^^;;Cmq sì mi sembra molto più utile, così se uno per una quest ha bisogno esattamente di QUEL pg lì oltre al pg principale, il pg non potrà essere escluso dal gruppo, mi piace ^^ Edited February 24, 2008 by Kenshin "Giochiamo a: schiettezza o grande impresa eroica!" Personaggio PBF: LyrielPN: 12/20PV: 2/2PA: 4 (5 col mantello d'acero)Equipaggiamento:Spada comunePugnale comuneArco elfico (magico, ignifugo. Permette di colpire da lunghe distanze. Se distrutto si auto-restaura a fine battaglia. Le frecce scoccate con questo arco ottengono l'effetto dell'incantesimo Folata di vento permettendo di spazzare via piccoli oggetti e creature.)Faretra con 20 frecceCappuccioArmatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)2 anelli di valoreBorsa comune (10 slot)CordaPenna e calamaioLibro vuotoForma di formaggioMappaCannocchialeTagliola di ferroCampanellino di MaiaMantello d'Acero (+1PA): un mantello pesante di colore rossiccio che presenta dei motivi fiochi, dello stesso colore, a forma di foglie d'acero. E' dotato di un ampio cappuccio e può coprire completamente chi lo indossa. Se si resta fermi in un'area boschiva o tra un gruppo di alberi il mantello è in grado di celare completamente la presenza del possessore dando un grado di furtività pari a gr.5. Nel caso di bestie ed animali dalla visuale meno acuta, se il giocatore è già stato notato od ha notificato in qualche modo la sua presenza può gettarsi a terra tra un gruppo di foglie o tra i cespugli per scomparire completamente dalla visuale di tali nemici.181 monete d'oroCintura porta coltelli (6 slot)Coltello da lancio intarsiatoColtello da lancio in metalloColtello da lancio in metallo Campanellino di MaiaSe Lyriel, e solo lui, suona tre volte il campanellino può richiamare una creatura magica che combatterà al suo fianco al prezzo di 3 PN.L'animale ha l'aspetto di un leopardo delle nevi, i suoi occhi sono viola e così gli artigli, i denti e la punta della coda. Questa è lunga e larga, molto folta e corposa. Il manto a differenza dei leopardi è tutto bianco, inoltre ha una folta criniera circolare intorno al collo a mo' di sciarpa e che si unisce con la sommità della fronte creando un cresta non molto alta pettinata all'indietro.La creatura combatte indipendentemente dal possessore (il giocatore potrà descriverne il comportamento in battaglia e fuori, ma il master potrà riservarsi il diritto di far compiere alla creatura delle azioni per conto proprio).La creatura non deve per forza stare vicino all'utilizzatore, ma può essere mandata lontano e tornare da lui su comando.Lyriel e l'animale hanno un contatto mentale e possono comunicare anche a distanza.Non vi è limite alla permanenza della creatura una volta evocata, però se i suoi PV raggiungono lo zero dovrà essere risvegliata magicamente da un mago od un curatore esperto. Lyriel può richiamare all'interno del campanellino la creatura quando essa non è impegnata in combattimento od in altre prove senza sforzi, ma dovrà spendere di nuovo 3 PN per richiamarla. Può continuare a combattere se Lyriel viene sconfitto.L'animale vede bene anche di notte e se c'è nebbia.Caratteristiche della creatura:PV 2PA 2Atletica Gr.4Furtività Gr.1Attacco (tipo descritto dal giocatore nei limiti fisici di artigli e morso) di massimo Gr.5 può dichiarare DIRETTO su armature di cuoio o cuoio borchiato e MAGICO con tutti gli attacchi. Può dichiarare SONNO se artigli e denti viola entrano in contatto diretto con il sangue l'avversario. DIRETTO e SONNO sono due effetti, quindi come da regolamento solo uno può essere scelto. MAGICO può esser combinato con entrambi.Malus: il campanellino deve tintinnare, quindi Lyriel suonandolo tradirà la sua presenza.Il campanellino tutte le volte che viene suonato fa venire in mente Maia a Lyriel, quindi il giocatore dovrà scrivere una frase di almeno 3 parole per ricordare la bambina, ogni volta diversa, altrimenti l'evocazione non avrà esito. Personaggio PBF: WrenPN: 20/20PV:2/2PA:0Borsa Comune3 filoni di pane4 meleprosciuttoformaggiocoltello da cucina Link to comment Share on other sites More sharing options...
lotgd Posted February 24, 2008 Share Posted February 24, 2008 a qualcuno funziona ? io l'ho messo in un evento -> script ed ho messo così $scene = Party_Switcher.new([001,002]) (sbagliato qualcosa ?) gli id sono quelli ? IL MIO NICK è FRISKON Quando mi son registrato, credevo di fare lo spettatore! http://www.making-videogames.net/pubblicita.gifVideogiochi Usati Link to comment Share on other sites More sharing options...
Tio Posted February 24, 2008 Share Posted February 24, 2008 quando scrivi gli id di qualsiasi cosa in rgss devi scrivere il numero senza i vari "0" prima.. ;) "Dopo gli ultimi Final Fantasy, ho capito solamente una cosa: che il gioco è bello quando Nomura poco."Making is not dead. You are dead.RELEASE: La Bussola d'Oro | Download | Video di anteprima - La Partenza di Hanna http://i.imgur.com/cFgc2lW.png Prova Standrama! Link to comment Share on other sites More sharing options...
lotgd Posted February 24, 2008 Share Posted February 24, 2008 anche così mi da errore, avevo provato, unable files /graphics/pictures/arrow.tipo come se non trova n'immagine IL MIO NICK è FRISKON Quando mi son registrato, credevo di fare lo spettatore! http://www.making-videogames.net/pubblicita.gifVideogiochi Usati Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now