Jump to content
Rpg²S Forum

*Cambio Party


GTOnizuka
 Share

Recommended Posts

Nome: Cambio Personaggi del Party
Autore: GTOnizuka

Codice:


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.jpg

Spero vi piaccia :)

Edited by Apo
applicato il tag code
Link to comment
Share on other sites

  • Replies 102
  • Created
  • Last Reply

Top Posters In This Topic

  • 3 weeks later...
  • 3 weeks later...
  • 1 year later...

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: Lyriel
PN: 12/20
PV: 2/2
PA: 4 (5 col mantello d'acero)
Equipaggiamento:

Spada comune
Pugnale comune
Arco 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 frecce
Cappuccio
Armatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)
2 anelli di valore
Borsa comune (10 slot)

  • Corda
  • Penna e calamaio
  • Libro vuoto
  • Forma di formaggio
  • Mappa
  • Cannocchiale
  • Tagliola di ferro
  • Campanellino di Maia
  • Mantello 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'oro
Cintura porta coltelli (6 slot)

  • Coltello da lancio intarsiato
  • Coltello da lancio in metallo
  • Coltello da lancio in metallo

Campanellino di Maia




Se 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 2
PA 2
Atletica Gr.4
Furtività Gr.1
Attacco (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: Wren
PN: 20/20
PV:2/2
PA:0


Borsa Comune

  • 3 filoni di pane
  • 4 mele
  • prosciutto
  • formaggio
  • coltello da cucina

 

Link to comment
Share on other sites

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 by lotgd

IL MIO NICK è FRISKON Quando mi son registrato, credevo di fare lo spettatore!

 

 

Link to comment
Share on other sites

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

Sylaer, certo che serve ^^

se mi fai scegliere fra 100 pg son contento ;P

"Giochiamo a: schiettezza o grande impresa eroica!"

Personaggio PBF: Lyriel
PN: 12/20
PV: 2/2
PA: 4 (5 col mantello d'acero)
Equipaggiamento:

Spada comune
Pugnale comune
Arco 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 frecce
Cappuccio
Armatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)
2 anelli di valore
Borsa comune (10 slot)

  • Corda
  • Penna e calamaio
  • Libro vuoto
  • Forma di formaggio
  • Mappa
  • Cannocchiale
  • Tagliola di ferro
  • Campanellino di Maia
  • Mantello 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'oro
Cintura porta coltelli (6 slot)

  • Coltello da lancio intarsiato
  • Coltello da lancio in metallo
  • Coltello da lancio in metallo

Campanellino di Maia




Se 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 2
PA 2
Atletica Gr.4
Furtività Gr.1
Attacco (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: Wren
PN: 20/20
PV:2/2
PA:0


Borsa Comune

  • 3 filoni di pane
  • 4 mele
  • prosciutto
  • formaggio
  • coltello da cucina

 

Link to comment
Share on other sites

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!

 

 

Link to comment
Share on other sites

Ehm...ragazzi?

Vorrei fare che solo dopo che li hai incontrati (quindi dopo che ho attivato una swich) si possano

scegliere 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

Questo ragazzo è un grnio ^__^

"Giochiamo a: schiettezza o grande impresa eroica!"

Personaggio PBF: Lyriel
PN: 12/20
PV: 2/2
PA: 4 (5 col mantello d'acero)
Equipaggiamento:

Spada comune
Pugnale comune
Arco 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 frecce
Cappuccio
Armatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)
2 anelli di valore
Borsa comune (10 slot)

  • Corda
  • Penna e calamaio
  • Libro vuoto
  • Forma di formaggio
  • Mappa
  • Cannocchiale
  • Tagliola di ferro
  • Campanellino di Maia
  • Mantello 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'oro
Cintura porta coltelli (6 slot)

  • Coltello da lancio intarsiato
  • Coltello da lancio in metallo
  • Coltello da lancio in metallo

Campanellino di Maia




Se 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 2
PA 2
Atletica Gr.4
Furtività Gr.1
Attacco (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: Wren
PN: 20/20
PV:2/2
PA:0


Borsa Comune

  • 3 filoni di pane
  • 4 mele
  • prosciutto
  • formaggio
  • coltello da cucina

 

Link to comment
Share on other sites

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 by Sylaer

http://www.rpg2s.net/awards/bestscripter1.jpg

Se 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

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: Lyriel
PN: 12/20
PV: 2/2
PA: 4 (5 col mantello d'acero)
Equipaggiamento:

Spada comune
Pugnale comune
Arco 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 frecce
Cappuccio
Armatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)
2 anelli di valore
Borsa comune (10 slot)

  • Corda
  • Penna e calamaio
  • Libro vuoto
  • Forma di formaggio
  • Mappa
  • Cannocchiale
  • Tagliola di ferro
  • Campanellino di Maia
  • Mantello 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'oro
Cintura porta coltelli (6 slot)

  • Coltello da lancio intarsiato
  • Coltello da lancio in metallo
  • Coltello da lancio in metallo

Campanellino di Maia




Se 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 2
PA 2
Atletica Gr.4
Furtività Gr.1
Attacco (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: Wren
PN: 20/20
PV:2/2
PA:0


Borsa Comune

  • 3 filoni di pane
  • 4 mele
  • prosciutto
  • formaggio
  • coltello da cucina

 

Link to comment
Share on other sites

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

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: Lyriel
PN: 12/20
PV: 2/2
PA: 4 (5 col mantello d'acero)
Equipaggiamento:

Spada comune
Pugnale comune
Arco 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 frecce
Cappuccio
Armatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)
2 anelli di valore
Borsa comune (10 slot)

  • Corda
  • Penna e calamaio
  • Libro vuoto
  • Forma di formaggio
  • Mappa
  • Cannocchiale
  • Tagliola di ferro
  • Campanellino di Maia
  • Mantello 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'oro
Cintura porta coltelli (6 slot)

  • Coltello da lancio intarsiato
  • Coltello da lancio in metallo
  • Coltello da lancio in metallo

Campanellino di Maia




Se 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 2
PA 2
Atletica Gr.4
Furtività Gr.1
Attacco (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: Wren
PN: 20/20
PV:2/2
PA:0


Borsa Comune

  • 3 filoni di pane
  • 4 mele
  • prosciutto
  • formaggio
  • coltello da cucina

 

Link to comment
Share on other sites

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.jpg

Se 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

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 by Sylaer

http://www.rpg2s.net/awards/bestscripter1.jpg

Se 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

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 by Kenshin

"Giochiamo a: schiettezza o grande impresa eroica!"

Personaggio PBF: Lyriel
PN: 12/20
PV: 2/2
PA: 4 (5 col mantello d'acero)
Equipaggiamento:

Spada comune
Pugnale comune
Arco 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 frecce
Cappuccio
Armatura delle ombre borchiata (punti armatura 4, ignifuga, di notte +1 a furtività)
2 anelli di valore
Borsa comune (10 slot)

  • Corda
  • Penna e calamaio
  • Libro vuoto
  • Forma di formaggio
  • Mappa
  • Cannocchiale
  • Tagliola di ferro
  • Campanellino di Maia
  • Mantello 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'oro
Cintura porta coltelli (6 slot)

  • Coltello da lancio intarsiato
  • Coltello da lancio in metallo
  • Coltello da lancio in metallo

Campanellino di Maia




Se 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 2
PA 2
Atletica Gr.4
Furtività Gr.1
Attacco (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: Wren
PN: 20/20
PV:2/2
PA:0


Borsa Comune

  • 3 filoni di pane
  • 4 mele
  • prosciutto
  • formaggio
  • coltello da cucina

 

Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...