Jump to content
Rpg²S Forum

*Infamy System V1.0 (Reputazione, Crimini, Carcere)


lotgd
 Share

Recommended Posts

Infamy System V1.0

Descrizione

Ottimo sistema di Reputazione, Crimini, Infamia con i quali potete finire sbattuti in cella ed essere condannati a morte, o pagare una cauzione, o chiedere appello se si ha una buona reputazione!

Autore

Rubymatt

Tradotto alla Caxxo da me (lotgd)

Allegati

post-1357-1204401878.png

Questa immagine è stata modificata ed adattata da me, non è quella standard, quella standard la trovi nella demo.

Screenshot

post-1357-1204402285_thumb.jpg

nello screen c'è un errore di battitura che non c'è nello script!

Demo dello script Originale (in inglese non modificata)
Demo Originale


Istruzioni per l'uso

inserire sopra main i 2 script sottoelencati, inserire l'immagine nella cartella Pictures con nome Guilty.png ,creare 4 Variabili in questo ordine :
Crime
Rep
Infamy
Arrest No.

Crea una nuova classe sopra mai e chiamala Infamy System ed inserisci il codice :
 

 

 

#=====================
#Infamy and Reputation System v1.0
#by Rubymatt
#=====================

class Scene_Infamy
	def main
		$game_variables[$data_system.variables.index("Arrest No.")] += 1
		s1 = "Paga Cauzione"
		s2 = "Chiama Appello"
		s3 = "Sei Colpevole"
		@command_window = Window_Command.new(192, [s1, s2, s3])
		@command_window.x = 32
		@command_window.y = 320
		@offence_window = Window_Offence.new
		@info_window = Window_Info.new
		@arrest_window = Window_Arrest.new
		if $game_party.gold < 2000
			@command_window.disable_item(0)
		end
		if $game_variables[$data_system.variables.index("Infamy")] >= 5
			@command_window.disable_item(1)
		end
		Graphics.transition
		loop do
			Graphics.update
			Input.update
			update
			if $scene != self
				break
			end
		end
		Graphics.freeze
		@command_window.dispose
		@info_window.dispose
		@arrest_window.dispose
		@offence_window.dispose
		if $scene.is_a?(Scene_Title)
			Graphics.transition
			Graphics.freeze
		end
	end
	def update
		@command_window.update
		@offence_window.update
		@info_window.update
		@arrest_window.update
		if Input.trigger?(Input::C)
			case @command_window.index
			when 0
				if $game_party.gold < 2000
					$game_system.se_play($data_system.buzzer_se)
					return
				end
				$game_system.se_play($data_system.decision_se)
				$scene = Scene_PayBail.new
			when 1
				if $game_variables[$data_system.variables.index("Infamy")] >= 5
					$game_system.se_play($data_system.buzzer_se)
					return
				end
				$game_system.se_play($data_system.decision_se)
				$scene = Scene_Appeal.new
			when 2
				$game_system.se_play($data_system.decision_se)
				$scene = Scene_Guilty.new
			end
			return
		end
	end
end

#Scene_PayBail
class Scene_PayBail
	def main
		@pay_window = Window_Pay.new
		Graphics.transition
		loop do
			Graphics.update
			Input.update
			update
			if $scene != self
				break
			end
		end
		Graphics.freeze
		@pay_window.dispose
		if $scene.is_a?(Scene_Title)
			Graphics.transition
			Graphics.freeze
		end
	end
	def update
		@pay_window.update
		if Input.trigger?(Input::C)
			$game_system.se_play($data_system.decision_se)
			$game_variables[$data_system.variables.index("Infamy")] += 1
			$game_party.lose_gold(2000)
			$scene = Scene_Map.new
		end
	end
end


#Scene_Guilty
class Scene_Guilty
	def main
		@guilty_window = Window_Guilty.new
		Graphics.transition
		loop do
			Graphics.update
			Input.update
			update
			if $scene != self
				break
			end
		end
		Graphics.freeze
		@guilty_window.dispose
		if $scene.is_a?(Scene_Title)
			Graphics.transition
			Graphics.freeze
		end
	end
	def update
		@guilty_window.update
		if Input.trigger?(Input::C)
			$game_system.se_play($data_system.decision_se)
			$scene = Scene_Gameover.new
		end
	end
end

#Scene_Appeal
class Scene_Appeal
	def main
		@appeal_window = Window_Appeal.new
		Graphics.transition
		loop do
			Graphics.update
			Input.update
			update
			if $scene != self
				break
			end
		end
		Graphics.freeze
		@appeal_window.dispose
		if $scene.is_a?(Scene_Title)
			Graphics.transition
			Graphics.freeze
		end
	end
	def update
		@appeal_window.update
		if Input.trigger?(Input::C)
			if $game_variables[$data_system.variables.index("Rep")] < 5
				$game_system.se_play($data_system.decision_se)
				$scene = Scene_Gameover.new
			else
				$game_system.se_play($data_system.decision_se)
				$scene = Scene_Map.new
				$game_variables[$data_system.variables.index("Rep")] -= 3
				$game_variables[$data_system.variables.index("Infamy")] == 0
			end
		end
	end
end


#Window_Offence
class Window_Offence < Window_Base
	def initialize
		super(32, 32, 576, 96)
		self.contents = Bitmap.new(width - 32, height - 32)
		self.contents.font.size = 22
		self.contents.font.name = "Arial"
		refresh
	end
	def refresh
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 0, 560, 32, "Hai commesso la seguente offesa:", 1)
		self.contents.font.color = Color.new(255, 255, 255)
		if $game_variables[$data_system.variables.index("Crime")] == 0
			self.contents.draw_text(0, 32, 544, 32, "Assalto ad un ufficiale di polizia") #Edit your reasons here.
		elsif $game_variables[$data_system.variables.index("Crime")] == 1
			self.contents.draw_text(0, 32, 544, 32, "Assalto ad una persona innocente") #Edit your reasons here.
		elsif $game_variables[$data_system.variables.index("Crime")] == 2
			self.contents.draw_text(0, 32, 544, 32, "Hai ucciso una persona innocente") #Edit your reasons here.
		else
			self.contents.draw_text(0, 32, 544, 32, "")
		end
		self.contents.draw_text(0, 64, 544, 32, "")
	end
end

#Window_Info
class Window_Info < Window_Base
	def initialize
		super(32, 128, 192, 192)
		self.contents = Bitmap.new(width - 32, height - 32)
		self.contents.font.size = 22
		self.contents.font.name = "Arial"
		refresh
	end
	def refresh
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 0, 176, 32, "Stato", 1)
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 32, 176, 32, "Arresto No.")
		self.contents.font.color = Color.new(255, 255, 255)
		self.contents.draw_text(80, 32, 80, 32, $game_variables[$data_system.variables.index("Arrest No.")].to_s, 2)
		cx = contents.text_size($data_system.words.gold).width
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 64, 176, 32, "Gold:")
		if $game_party.gold > 2000
			self.contents.font.color = Color.new(110, 255, 110)
		else
			self.contents.font.color = Color.new(255, 255, 255)
		end
		self.contents.draw_text(60, 64, 100-cx-2, 32, $game_party.gold.to_s, 2)
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(160-cx, 64, cx, 32, $data_system.words.gold, 2)
		self.contents.draw_text(0, 96, 176, 32, "Reputazione:")
		if $game_variables[$data_system.variables.index("Rep")] >= 10
			self.contents.font.color = Color.new(110, 255, 110)
		elsif $game_variables[$data_system.variables.index("Rep")] < 0
			self.contents.font.color = Color.new(255, 0, 0)
		else
			self.contents.font.color = Color.new(255, 255, 255)
		end
		self.contents.draw_text(80, 96, 80, 32, $game_variables[$data_system.variables.index("Rep")].to_s, 2)
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 128, 176, 32, "Infamia: ")
		if $game_variables[$data_system.variables.index("Infamy")] == 0
			self.contents.font.color = Color.new(110, 255, 110)
		elsif $game_variables[$data_system.variables.index("Infamy")] >= 5
			self.contents.font.color = Color.new(255, 0, 0)
		else
			self.contents.font.color = Color.new(255, 255, 255)
		end
		self.contents.draw_text(80, 128, 80, 32, $game_variables[$data_system.variables.index("Infamy")].to_s, 2)
	end
end

#Window_Arrest
class Window_Arrest < Window_Base
	def initialize
		super(224, 128, 384, 320)
		self.contents = Bitmap.new(width - 32, height - 32)
		self.contents.font.size = 22
		self.contents.font.name = "Arial"
		self.opacity = 0
		refresh
	end
	def refresh
		@logo = RPG::Cache.picture("Guilty.png")
		self.contents.blt(96, 64, @logo, Rect.new(0, 0, 160, 160))
	end
end

#Window_PleadGuilty
class Window_Guilty < Window_Base
	def initialize
		super(32, 144, 576, 128)
		self.contents = Bitmap.new(width - 32, height - 32)
		self.contents.font.size = 24
		self.contents.font.name = "Arial"
		refresh
	end
	def refresh
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 0, 544, 32, "Paghi le tue colpe.", 1)
		self.contents.font.color = Color.new(255, 255, 255)
		self.contents.draw_text(0, 32, 544, 32, "Dopo una lunga decisione, ecco l'esito :")
		self.contents.draw_text(0, 64, 544, 32, "Essendo stato Giudicato e condannato a morte, la tua vita è conclusa.")
	end
end

#Window_Pay
class Window_Pay < Window_Base
	def initialize
		super(160, 192, 288, 64)
		self.contents = Bitmap.new(width - 32, height - 32)
		self.contents.font.size = 24
		self.contents.font.name = "Arial"
		refresh
	end
	def refresh
		self.contents.font.color = Color.new(255, 255, 255)
		self.contents.draw_text(0, 0, 544, 32, "Paghi 2000" + $data_system.words.gold + " per liberarti.")
	end
end

#Window_Appeal
class Window_Appeal < Window_Base
	def initialize
		super(32, 128, 576, 160)
		self.contents = Bitmap.new(width - 32, height - 32)
		self.contents.font.size = 24
		self.contents.font.name = "Arial"
		refresh
	end
	def refresh
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 0, 544, 32, "Hai chiesto Appello.", 1)
		self.contents.font.color = Color.new(255, 255, 255)
		if $game_variables[$data_system.variables.index("Rep")] < 5
			self.contents.draw_text(0, 32, 544, 32, "Reputazione bassa. Appello Fallito.", 1)
			self.contents.draw_text(0, 64, 544, 32, "Sei stato chiuso in una cella per una settimana prima di.")
			self.contents.draw_text(0, 96, 544, 32, "Essendo stato condannato, la tua vita finisce qui.")
		else
			self.contents.draw_text(0, 32, 544, 32, "Reputazione alta. Appello Consentito!", 1)
			self.contents.draw_text(0, 64, 544, 32, "Sei stato liberato senza spese. per buona reputazione")
			self.contents.draw_text(0, 96, 544, 32, "ridotto da 3 e la tua infamia inoltre è stata ridotta a 0.")
		end
	end
end

 


 

Crea una nuova classe sopra mai e chiamala Scene_JailInfo ed inserisci il codice :

 

class Scene_JailInfo
	def main
		@jail_window = Window_JailInfo.new
		Graphics.transition
		loop do
			Graphics.update
			Input.update
			update
			if $scene != self
				break
			end
		end
		Graphics.freeze
		@jail_window.dispose
		if $scene.is_a?(Scene_Title)
			Graphics.transition
			Graphics.freeze
		end
	end
	def update
		@jail_window.update
		if Input.trigger?(Input::B)
			$game_system.se_play($data_system.decision_se)
			$scene = Scene_Map.new #CHANGE THIS LINE IF NEEDED
		end
	end
end

class Window_JailInfo < Window_Base
	def initialize
		super(224, 144, 192, 160)
		self.contents = Bitmap.new(width - 32, height - 32)
		self.contents.font.size = 24
		self.contents.font.name = "Arial"
		refresh
	end
	def refresh
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 0, 144, 32, "Stato", 1)
		self.contents.draw_text(0, 32, 144, 32, "Arresti:")
		self.contents.font.color = Color.new(255, 255, 255)
		self.contents.draw_text(80, 32, 80, 32, $game_variables[$data_system.variables.index("Arrest No.")].to_s, 2)
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 64, 144, 32, "Reputazione:")
		self.contents.font.color = Color.new(255, 255, 255)
		self.contents.draw_text(80, 64, 80, 32, $game_variables[$data_system.variables.index("Rep")].to_s, 2)
		self.contents.font.color = Color.new(192, 224, 255)
		self.contents.draw_text(0, 96, 144, 32, "Infamia")
		self.contents.font.color = Color.new(255, 255, 255)
		self.contents.draw_text(80, 96, 80, 32, $game_variables[$data_system.variables.index("Infamy")].to_s, 2)
	end
end

 



Note : Nella demo trovate i richiami per capire come aumentare/diminuire reputazione infamia, e come richiamare il tuo status e la cella.

Edited by Flame

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

 

 

Link to comment
Share on other sites

certo che sei cieco " nello screen c'è un errore di battitura che non c'è nello script! " l'ho scritto sotto lo screen... è che mi scocciavo di rifare lo screenshot... (questa non è critica costruttiva :biggrin: )

 

poi l'ho scritto che l'ho tradotto a caxxo tanto per... nella demo c'è lo scipt in inglese ... ognuno se lo traduce in base a come lo vuole usare nel suo gioco.

 

che tipo...

 

fate passar la voglia di postare le cose

Edited by lotgd

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

 

 

Link to comment
Share on other sites

Piccolo Add On per Infamy System assemblato da me.

Visualizza la reputazione, o l'infamia o gli arresti nello status del PG.

Istruzioni nello script

 

 

##############################################################
################
#Add On per Infamy System v1.0
#Aggiunge la reputazione nel menu dello stato del pg.
#Crea una nuova classe sopra main ed inserisci lo script
##############################################################################
class Window_Status < Window_Base
 alias syn_gve_refresh refresh
 def refresh
   syn_gve_refresh
   self.contents.font.color = system_color
   self.contents.draw_text(330, 400, 120, 32, "Reputazione:")
   self.contents.font.color = normal_color
   self.contents.draw_text(450, 400, 120, 32, $game_variables[$data_system.variables.index("Rep")].to_s, 2)
 end
end
##############################################################################
#Se vuoi visualizzare l'infamia, cambia Rep in Infamy
#Se vuoi visualizzare il numero di Arresti, cambia Rep in Arrest No.
##############################################################################

 

 

 

Screenshot

 

post-1357-1204562568_thumb.png

Edited by lotgd

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

 

 

Link to comment
Share on other sites

e non c'è bisogno dello script solo x quello... basta che crei una variabile e la chiami reputazione o come ti pare, e poi richiami quella variabile tramite evento e la fai aumentare diminuire... senza che metti tutto sto casino...

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

 

 

Link to comment
Share on other sites

  • 1 month later...
io ti consiglio di cominciare modificando gli script...siti purtroppo nun ne conosco...

(\__/)

(='.'=)

(")_(")

Questo è Bunny. Ho deciso di aiutarlo nella sua missione di conquista del mondo.

Compagni di Bunny unitevi a me!

 

http://img170.imageshack.us/img170/1858/pizzelartzzennm9.png

I chara da me postati: CLICCA QUI! PER XP - CLICCA QUI! PER XP(2) - CLICCA QUI! PER VX - CLICCA QUI! PER 2K/2K3!

I tileset da me postati:CLICCA QUI! PER XP

I Personaggi Completi da me postati: CLICCA QUI! PER XP

I Face da me postati: CLICCA QUI! PER XP

I Battlers da me postati: CLICCA QUI! PER XP!

Le Windowskin da me postate: CLICCA QUI! PER XP!

Risorse sonore da me postate: CLICCA QUI! PER SCARICARLE!

Guida al Ruby: CLICCA QUI! PER SCARICARLA!

Vi prego di inserirmi nei crediti...Grazie!

Link to comment
Share on other sites

  • 1 year later...

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