Jump to content
Rpg²S Forum

*Conditional Encounter


Kingartur2
 Share

Recommended Posts

Conditional Encounter

Descrizione

Nulla di speciale, un normale script che permette di far avvenire i normali incontri casuali solo in condizioni specifiche(tenendo però sempre presente della probabilità che si imposta nel tool), nel farlo mi sono leggermente ispirato ai mostri rari di FF XII XD. Ad esempio si può inserire che determinati mostri compaiano solo mentre si corre o mentre si piove o se si ha uno stato o un eroe e qualsiasi cosa si voglia XD.

Autore

kingartur2(3)

Allegati

N/A

Istruzioni per l'uso

Nello script

 

 

=begin
#===============================================================================
# Personalizable Encounter
# Autore : kingartur2(3)
# Versione : 1.00
#===============================================================================
# Funzionamento :
# Con questo script è possibile fare in modo che alcuni incontri accadano solo
# in determinate condizioni, ovviamente la probabilità che andate ad inserire
# nell'apposito box viene sempre considerata, però se non ci saranno alcune
# condizioni quell'incontro non avverrà mai.
# Istruzioni:
# Come prima cosa aprire il box della mappa in cui personalizzare gli incontri
# e inserire un incontro casuale, dopochichè andare nel box note e inserire
# <enc_cond_area[--id--]>
# al posto di id dovete contare dall'alto verso il basso quante truppe avete
# messo prima della truppa scelta partendo da 0
# Esempio :
# |Truppa| |Frequenza| |Portata| |ID|
# Slime x 2 10 Tutto 0
# Ratto x 2 16 Tutto 1
# Drago x 2 56 Tutto 2
# Viera x 2 12 Tutto 3
# Dopo quel codice si possono inserire tutte le condizioni affinche quella
# truppa compaia, quando le condizioni sono finite è sufficiente inserire :
# <enc_cond_area_end>
# E in questo modo si possono inserire le condizioni per altre truppe o finirla
# lì.
# ATTENZIONE #1:
# le condizioni vanno inserire una in ogni riga
# ATTENZIONE #2:
# tutte le parole racchiuse tra due -- sono le variabili da inserire
# senza i trattini. Esempio:
# var[--id--]_--operatore-- : --valore--
# si può tradurre come:
# var[4]_< : 3
# Dove :
# 4 - id della variabile
# < - operatore di confronto
# 3 - valore da confrontare
# ATTENZIONE #3:
# quando nella condizioni chiede un operatore usare i seguenti simboli:
# > : maggiore
# < : minore
# = : uguale
# >= : maggiore o uguale
# <= : minore o uguale
# != : diverso da
#===============================================================================
<enc_cond_area[--id--]>
- Comincia la lettura per l'id scelto
#-------------------------------------------------------------------------------
<enc_cond_area_end>
- Finisce la lettura
#-------------------------------------------------------------------------------
swich_on : --id--
- Se la switch con id è ON
#-------------------------------------------------------------------------------
switch_off : --id--
- Se la switch con id è OFF
#-------------------------------------------------------------------------------
var[--id--]_--operatore-- : --valore--
- se la condizione Variabile con ID Operatore Valore è vera
#-------------------------------------------------------------------------------
hero_dash
- Se l'eroe corre
#-------------------------------------------------------------------------------
hero_no_dash
- Se l'eroe non corre
#-------------------------------------------------------------------------------
hero_in : --id--
- Se c'è un eroe con ID
#-------------------------------------------------------------------------------
hero_out : --id--
- Se non c'è un eroe con ID
#-------------------------------------------------------------------------------
casuality : --percentuale--
- Da un ulteriore probabilità di incontro per il mostro, con percentuale mettere
un valore da 1 a 100 per indicare la seconda percentuale
#-------------------------------------------------------------------------------
gold_--operatore-- : --valore--
- se la condizione Soldi Operatore Valore è vera
#-------------------------------------------------------------------------------
playtime_--operatore-- : --valore--
- se la condizione Tempo di gioco(in secondi) Operatore Valore è vera
#-------------------------------------------------------------------------------
pltise_--operatore-- : --valore--
- se la condizione Secondi nel tempo di gioco(hh:mm:SS) Operatore Valore è vera
#-------------------------------------------------------------------------------
pltimi_--operatore-- : --valore--
- se la condizione Minuti nel tempo di gioco(hh:MM:ss) Operatore Valore è vera
#-------------------------------------------------------------------------------
pltiho_--operatore-- : --valore--
- se la condizione Ore nel tempo di gioco(HH:mm:ss) Operatore Valore è vera
#-------------------------------------------------------------------------------
step_--operatore-- : --valore--
- se la condizione Passi Operatore Valore è vera
#-------------------------------------------------------------------------------
level_--operatore-- : --valore--
- se la condizione Livello del player con livello più alto Operatore Valore è vera
#-------------------------------------------------------------------------------
item[--id--]_--operatore-- : --valore--
- se la condizione Numero di item con ID Operatore Valore è vera
#-------------------------------------------------------------------------------
weapon[--id--]_--operatore-- : --valore--
- se la condizione Numero di armi con ID Operatore Valore è vera
#-------------------------------------------------------------------------------
armor[--id--]_--operatore-- : --valore--
- se la condizione Numero di armature con ID Operatore Valore è vera
#-------------------------------------------------------------------------------
partysize_--operatore-- : --valore--
- se la condizione Numero di eroi nel party Operatore Valore è vera
#-------------------------------------------------------------------------------
state : --id--
- Se almeno un eroe del party ha quello stato
#-------------------------------------------------------------------------------
state[--actor_id--] : --id--
- Se quel determinato eroe ha quello stato
#-------------------------------------------------------------------------------
no_state : --id--
- Se nessuno nel party ha quello stato
#-------------------------------------------------------------------------------
no_state[--actor_id--] : --id--
- Se un determinato eroe non ha quello stato
#-------------------------------------------------------------------------------
timer_working
- Se il timer è in moto
#-------------------------------------------------------------------------------
timer_--operatore-- : --valore--
#-------------------------------------------------------------------------------
only_debug
- Solo in prova
#-------------------------------------------------------------------------------
not_in_debug
- Solo se non si è prova
#-------------------------------------------------------------------------------
weather_normal
- Se non c'è nessuna condizione atmosferica
#-------------------------------------------------------------------------------
weather_rain
- Se piove
#-------------------------------------------------------------------------------
weather_storm
- Se c'è tempesta
#-------------------------------------------------------------------------------
weather_snow
- Se nevica
#-------------------------------------------------------------------------------
=end

class Game_Map
	attr_reader :map
end

class Game_Party
	def actors_affect_state?(state_id)
		for i in members
			if i.state?($1.to_i)
				return true
			end
		end
		return false
	end
end

class Game_Player < Game_Character
	alias fdtert4ufjsdi make_encounter_troop_id
	def make_encounter_troop_id
		@selected_index_of_troop_id = 0
		fdtert4ufjsdi
	end
	
	alias fhufjdsifsdjh encounter_ok?
	def encounter_ok?(encounter)
		result = fhufjdsifsdjh(encounter)
		return false if !result
		result = true
		id = @selected_index_of_troop_id
		line = $game_map.map.note.scan(/(.+)$/)
		read = false
		for note in line
			break unless result
			note = note[0]
			if read and note.include?("<enc_cond_area_end>")
				break
			end
			if !read and !note.include?("<enc_cond_area[#{id}]>")
				next
			end
			if !read and note.include?("<enc_cond_area[#{id}]>")
				read = true
				next
			end
			if note[/switch_on : (\d+)/]
				result = $game_switches[$1.to_i]
			end
			if note[/switch_off : (\d+)/]
				result = !$game_switches[$1.to_i]
			end
			if note[/var\[(\d+)\]_(<|>|=|>=|<=) : (\d+)/]
				result = eval("$game_variables[#{$1}] #{$2} #{$3}")
			end
			if note.include?("hero_dash")
				result = $game_player.dash?
			end
			if note.include?("hero_no_dash")
				result = $game_player.dash?
			end
			if note[/hero_in : (\d+)/]
				result = $game_party.members.include?($game_actors[$1.to_i])
			end
			if note[/hero_out : (\d+)/]
				result = !$game_party.members.include?($game_actors[$1.to_i])
			end
			if note[/casuality : (\d+)/]
				result = (rand(100) <= $1.to_i)
			end
			if note[/gold_(<|>|=|>=|<=) : (\d+)/]
				result = eval("$game_party.gold #{$1} #{$2}")
			end
			if note[/playtime_(<|>|=|>=|<=) : (\d+)/]
				result = eval("$game_system.playtime #{$1} #{$2}")
			end
			if note[/pltise_(<|>|=|>=|<=) : (\d+)/]
				result = eval("($game_system.playtime % 60) #{$1} #{$2}")
			end
			if note[/pltimi_(<|>|=|>=|<=) : (\d+)/]
				result = eval("($game_system.playtime / 60 % 60) #{$1} #{$2}")
			end
			if note[/pltiho_(<|>|=|>=|<=) : (\d+)/]
				result = eval("($game_system.playtime / 60 / 60) #{$1} #{$2}")
			end
			if note[/step_(<|>|=|>=|<=) : (\d+)/]
				result = eval("$game_party.steps #{$1} #{$2}")
			end
			if note[/level_(<|>|=|>=|<=) : (\d+)/]
				result = eval("$game_party.highest_level #{$1} #{$2}")
			end
			if note[/item\[(\d+)\]_(<|>|=|>=|<=) : (\d+)/]
				item = $data_items[$1.to_i]
				result = eval("$game_party.item_number(item) #{$2} #{$3}")
			end
			if note[/weapon\[(\d+)\]_(<|>|=|>=|<=) : (\d+)/]
				item = $data_weapons[$1.to_i]
				result = eval("$game_party.item_number(item) #{$2} #{$3}")
			end
			if note[/armor\[(\d+)\]_(<|>|=|>=|<=) : (\d+)/]
				item = $data_armors[$1.to_i]
				result = eval("$game_party.item_number(item) #{$2} #{$3}")
			end
			if note[/partysize_(<|>|=|>=|<=) : (\d+)/]
				result = eval("$game_party.members.size #{$1} #{$2}")
			end
			if note[/state : (\d+)/]
				result = actors_affect_state?($1.to_i)
			end
			if note[/state[(\d+)] : (\d+)/]
				result = $game_party.actors[$1.to_i].state?($2.to_i)
			end
			if note[/no_state : (\d+)/]
				result = !actors_affect_state?($1.to_i)
			end
			if note[/no_state[(\d+)] : (\d+)/]
				result = !$game_party.actors[$1.to_i].state?($2.to_i)
			end
			if note.include?("timer_working")
				result = $game_timer.working?
			end
			if note[/timer_(<|>|=|>=|<=) : (\d+)/]
				result = eval("$game_timer.sec #{$1} #{$2}")
			end
			if note.include?("only_debug")
				result = $TEST
			end
			if note.include?("not_in_debug")
				result = !$TEST
			end
			if note.include?("weather_normal")
				result = ($game_map.screen.weather_type == :none)
			end
			if note.include?("weather_rain")
				result = ($game_map.screen.weather_type == :rain)
			end
			if note.include?("weather_storm")
				result = ($game_map.screen.weather_type == :storm)
			end
			if note.include?("weather_snow")
				result = ($game_map.screen.weather_type == :snow)
			end
			
		end
		
		return result
		@selected_index_of_troop_id += 1
	end
	
end

 



Bugs e Conflitti Noti

N/A

Altri Dettagli

N/A

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

Script molto interessante.

 

Però io direi che "Customizable Encounters" ci stia meglio come nome...

Link to comment
Share on other sites

Buona idea quella di customizzare gli incontri casuali in base a diverse condizioni! Dato che poi di base son così aridi che non si possono toccare o modificare via eventi! D:

Pure ben descritto! ^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

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