Jump to content
Rpg²S Forum

*Cambiare valuta


Kingartur2
 Share

Recommended Posts

Sistema di valute flessibili

Descrizione

Con questo script si potranno avere più sistemi di moneta nel gioco con un percentuale di cambio definita dall'utente

Autore
kingartur2

Allegati
N/A
 

Istruzioni per l'uso
Per cambiare la valuta all'interno del gioco basta inserire in un call script:

$game_party.cambia_valuta(id)

al posto di id va il nome di indetificazione della valuta.

Quando avviene il cambiamento di valuta i soldi ne risentono di conseguenza

module Moneta
	#=============================================================================
	# Autore : kingartur2
	# Data : 14 / 12 / 2009
	# Versione : 1.2
	#-----------------------------------------------------------------------------
	# Grazie a questo script si possono avere diversi sistemi di moneta nel gioco.
	# Per cambiare il sistema di moneta durante il gioco bisogna mettere in call
	# script:
	# $game_party.cambia_valuta(id valuta)
	# per id valuta si intende il nome del sistema.
	#=============================================================================
	# I sistemi di moneta che ci saranno nel gioco
	# Il cambio viene effetuato secondo questa formula:
	# soldi del party * percentuale di cambio
	# quindi valori positivi la fanno aumentare e valori negativi diminuire
	#-----------------------------------------------------------------------------
	# Sistemi = {nome sistema => {altro sistema => percetule di cambio, ...},...}
	#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	# -nome sistema = NON deve essere una stringa, serve per riconoscere 
	# tra loro i vari sistemi di monete
	# -altro sistema = nome di un altro sistema per confrotare i sistemi
	# -percentuale di cambio = percentuale di cambio rispetto al sistema
	# messo in altro sistema
	#-----------------------------------------------------------------------------
	Sistemi = {
	"Default" => {"Esempio" => 0.5},#In questo caso se si cambia dal
	#sistema di default a Esempio
	#la moneta si svaluta della metà
	"Esempio" => {"Default" => 2}#In questo caso se si cambia dal
	#sistema di Esempio a quello di default
	#la moneta la moneta viene raddopiata
	}
	#=============================================================================
	# Percentuale di cambio quando non è defiita
	#-----------------------------------------------------------------------------
	# Change_Default = value
	#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	# value = percentuale usata quando non è definita
	#-----------------------------------------------------------------------------
	Change_Default = 1
	#=============================================================================
	# Cambi valuta a tutti
	#-----------------------------------------------------------------------------
	# Cambi_valuta = [shop_change, enemy_change
	#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	# shop_change = se è uguale a true il negozio risentira dei cambi di moneta
	# altrimenti mettere su false per non far risentire il negozio
	# enemy_change = come prima solo per i soldi fatti cadere dai mostri
	#-----------------------------------------------------------------------------
	Cambi_valuta = [true, true]
	#=============================================================================
	# Il sistema di moneta di default
	#-----------------------------------------------------------------------------
	# Default = nome sistema
	#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	# nome sistema = il nome che risconosce il sustema di moneta di default
	#-----------------------------------------------------------------------------
	Default = "Default"
	#=============================================================================
	# Cambio nome se si cambia sistema di moneta
	#-----------------------------------------------------------------------------
	# Cambio_nome = bool
	#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	# bool = mettere su true se si vuol far si che il nome della moneta 
	# corrente cambi come il nome del sistema usato,
	# altrimenti mettere false
	#-----------------------------------------------------------------------------
	Cambio_nome = true
end

class Game_Party < Game_Unit
	attr_reader :valuta
	alias king_change_init initialize
	def initialize
		king_change_init
		@valuta = Moneta::Default
	end
	
	def cambia_valuta(id)
		return if not Moneta::Sistemi.has_key?(id)
		return if id == @valuta
		if Moneta::Sistemi[@valuta].has_key?(id)
			change = @gold * Moneta::Sistemi[id][@valuta]
			@gold = change
		else
			change = @gold * Moneta::Change_Default
		end
		@valuta = id
		$data_system.terms.gold = @valuta.to_s if Moneta::Cambio_nome
	end
end

module RPG
	class Armor
		def price
			return @price if $game_party.valuta == Moneta::Default
			if Moneta::Cambi_valuta[0]
				if Moneta::Sistemi[$game_party.valuta].has_key?(Moneta::Default)
					change = Moneta::Sistemi[$game_party.valuta][Moneta::Default]
					return @price * change
				else
					return @price * Moneta::Change_Default
				end
			else
				return @price
			end
		end
	end
	
	class Item
		def price
			return @price if $game_party.valuta == Moneta::Default
			if Moneta::Cambi_valuta[0]
				if Moneta::Sistemi[$game_party.valuta].has_key?(Moneta::Default)
					change = Moneta::Sistemi[$game_party.valuta][Moneta::Default]
					return @price * change
				else
					return @price * Moneta::Change_Default
				end
			else
				return @price
			end
		end
	end
	
	class Weapon
		def price
			return @price if $game_party.valuta == Moneta::Default
			if Moneta::Cambi_valuta[0]
				if Moneta::Sistemi[$game_party.valuta].has_key?(Moneta::Default)
					change = Moneta::Sistemi[$game_party.valuta][Moneta::Default]
					return @price * change
				else
					return @price * Moneta::Change_Default
				end
			else
				return @price
			end
		end
	end
end

class Game_Enemy < Game_Battler
	def gold
		return enemy.gold if $game_party.valuta == Moneta::Default
		if Moneta::Cambi_valuta[1]
			if Moneta::Sistemi[$game_party.valuta].has_key?(Moneta::Default)
				change = Moneta::Sistemi[$game_party.valuta][Moneta::Default]
				return enemy.gold * change
			else
				return enemy.gold * Moneta::Change_Default
			end
		else
			return enemy.gold
		end
	end
end

class Scene_File < Scene_Base
	alias king_save_data write_save_data
	alias king_read_data read_save_data
	
	def write_save_data(file)
		king_save_data(file)
		Marshal.dump($data_system, file)
	end
	
	def read_save_data(file)
		king_read_data(file)
		$data_system = Marshal.load(file)
	end
end

Bugs e Conflitti Noti
Quando si mette per percentuale di cambio un valore avente il punto il risultato avrà una cifra dopo la virgola.
Bug che non so ancora risolvere

Altri Dettagli
N/A

Edited by Flame

Per qualsiasi motivo non aprite questo spoiler.

 

 

Ho detto di non aprirlo !

 

 

Se lo apri ancora esplode il mondo.

 

 

Aaaaaa è un vizio.

 

 

Contento? Il mondo è esploso, sono tutti morti

per colpa della tua curiosità .

 

 

Vuoi che ti venga anche il morbillo, la varicella e l'AIDS???

 

 

O bravo ora sei un malato terminale e nessuno

ti puo curare, sono tutti morti !

 

 

Se clicchi ancora una volta il PC esplode.

 

 

E dai smettila !!

 

Uff!! Hai cliccato tante volte che ho dovuto sostituirlo con un codebox.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://s8.postimg.org/yntv9nxld/Banner.png

http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif

Link to comment
Share on other sites

Veramente carinissimo :wink: :Ok: :Ok: :smile: :rovatfl: :sisi: questo è uno di quegli script che mi servivano :biggrin: :biggrin: nel mio gioco :smile: grazie tantissimissime.

Grazie ancora....

Xemnas

:tongue:

Cliccate sullo spoiler per vedere la mia firma...^_^:

 

 

 

 

http://i84.servimg.com/u/f84/14/44/79/04/graffi11.gif

Venite a trovarmi nel mio nuovo Sito:

The Word of the New Game

 

Ecco la Mia firma fatta da me!!!:

http://img11.imageshack.us/img11/1676/firmaol.png

 

Ecco il Banner del mio sito!

http://searchfile.altervista.org/Immagini/Bannepng.png

 

http://img692.imageshack.us/img692/1655/pywrightsyte.gif

Basnners by Me^_^

 

 

Link to comment
Share on other sites

Sistema di valute flessibili

Descrizione

 

 

Bugs e Conflitti Noti

Quando si mette per percentuale di cambio un valore avente il punto il risultato avrà una cifra dopo la virgola.

Bug che non so ancora risolvere

 

Altri Dettagli

N/A

Guarda quel bug non è nulla in confronto a questo lavoro...magnifico :Ok: senza bug sarebbe meglio ancora...Ma forse chiedo troppo :Ok:

Sono stanco e devo rinnovare la firma

-cut-

Link to comment
Share on other sites

Editato il primo post alla versione 1.02,

risolto un bug che non faceva salvare il nome del sistema di moneta quando veniva modificato.

Per qualsiasi motivo non aprite questo spoiler.

 

 

Ho detto di non aprirlo !

 

 

Se lo apri ancora esplode il mondo.

 

 

Aaaaaa è un vizio.

 

 

Contento? Il mondo è esploso, sono tutti morti

per colpa della tua curiosità .

 

 

Vuoi che ti venga anche il morbillo, la varicella e l'AIDS???

 

 

O bravo ora sei un malato terminale e nessuno

ti puo curare, sono tutti morti !

 

 

Se clicchi ancora una volta il PC esplode.

 

 

E dai smettila !!

 

Uff!! Hai cliccato tante volte che ho dovuto sostituirlo con un codebox.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://s8.postimg.org/yntv9nxld/Banner.png

http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif

Link to comment
Share on other sites

Editato il primo post alla versione 1.02,

risolto un bug che non faceva salvare il nome del sistema di moneta quando veniva modificato.

Ora è perfetto^^Complimenti davvero^^ :Ok:

P.S.=Ti do' un consiglio però, cerca di mettere il codice dentro uno spoiler e poi dentro un codebox OK? è pure più carino da guardarsi

Comunque ottimo lavoro^^

Xemnas :Ok:

Edited by Xemnas

Cliccate sullo spoiler per vedere la mia firma...^_^:

 

 

 

 

http://i84.servimg.com/u/f84/14/44/79/04/graffi11.gif

Venite a trovarmi nel mio nuovo Sito:

The Word of the New Game

 

Ecco la Mia firma fatta da me!!!:

http://img11.imageshack.us/img11/1676/firmaol.png

 

Ecco il Banner del mio sito!

http://searchfile.altervista.org/Immagini/Bannepng.png

 

http://img692.imageshack.us/img692/1655/pywrightsyte.gif

Basnners by Me^_^

 

 

Link to comment
Share on other sites

Correzzione effetuata allo script....

per prova avevo messo che il pg iniziava con 1000 monete, l'ho tolto XD

Per qualsiasi motivo non aprite questo spoiler.

 

 

Ho detto di non aprirlo !

 

 

Se lo apri ancora esplode il mondo.

 

 

Aaaaaa è un vizio.

 

 

Contento? Il mondo è esploso, sono tutti morti

per colpa della tua curiosità .

 

 

Vuoi che ti venga anche il morbillo, la varicella e l'AIDS???

 

 

O bravo ora sei un malato terminale e nessuno

ti puo curare, sono tutti morti !

 

 

Se clicchi ancora una volta il PC esplode.

 

 

E dai smettila !!

 

Uff!! Hai cliccato tante volte che ho dovuto sostituirlo con un codebox.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://s8.postimg.org/yntv9nxld/Banner.png

http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif

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