Jump to content
Rpg²S Forum

*Condition Drop


Kingartur2
 Share

Recommended Posts

Conditional Drop


Descrizione
Inserisce parecchie possibilità di personalizzare i drop, anche se sinceramente alcuni mi
sembrano un pò improbabili da usare però non si sa mai, ho messo tutto quel che mi passava per la mente XDXD

Autore
kingartur2(3)

Allegati
N/A
Istruzioni per l'uso
Quelle nello script bastano e avanzano

Script



#===============================================================================
# Autore : kingartur2(3)
# Versione : 1.0
#===============================================================================
=begin

================================================================================
<max_drop : numero>

numero massimo di drop che un mostro può generare, avranno la priorità
quelli scritti per prima

<max_drop : 3>
================================================================================

<drop : TipoId,percenutale>

Tipo : i(oggetto) w(arma) a(armatura)
percentuale : un numero da 0 a 100 che indicherà la percentuale

<drop : i6,80>
================================================================================
<drop_switch : TipoId,pecentuale,switch>

switch : id della switch che sarà on per sbloccare il drop

<drop_switch : i6,80,5>
================================================================================
<drop_variable : TipoId,percentuale,id_variabile valore operatore>

id_variabile : id della variabile che sarà presa in considerazione
valore : valore da prendere in considerazione
operatore :
== se la variabile è uguale al valore
>= se la variabile è maggiore o uguale al valore
<= se la variabile è minore o uguale al valore
> se la variabile è maggiore del valore
< se la variabile è minore del valore

<drop_variable : i6,80,5 10 ==>
================================================================================
<drop_hp : TipoId,percentuale,id_eroe valore operatore>

id_eroe : id dell'eroe nel database i cui Hp saranno considerati

<drop_hp : i6,80,1 500 >=>
================================================================================
<drop_hp_party : TipoId,percentuale,id_eroe_party valore operatore>
id_eroe_party : eroe posizionato nella posizione x del party dove:
0-primo eroe 1-secondo eroe 2-terzo eroe 3-quarto eroe

<drop_hp_party : i6,80,0 500 <>
================================================================================
<drop_map : TipoId,percentuale,id_mappa>

id_mappa : id della mappa in cui il drop sarà sbloccato

<drop_map :w6,80,12>
================================================================================
<drop_position : TipoId,percentuale,x y>

il drop sarà sbloccato solo se l'eroe si troverà nella casella x y di
qualsiasi mappa

<drop_position : a5,80,12 22>
================================================================================
<drop_position_zone : TipoId,percentuale,x y l h>

x e y indicano lo spigolo in alto a sinistra di un rettangolo con lato l e
altezza h, se l'eroe si trova in quel rettangolo il drop sarà sbloccato

<drop_position_zone : w5,80,2 2 10 10>
================================================================================
<drop_map_position_zone : TipoId,percentuale,id_mappa,x y l h>

<drop_map_position_zone : a5,80,4,3 2 10 10>
================================================================================
<drop_map_and_position : TipoId,percentuale,id_mappa,x y>

<drop_map_and_position : w5,80,2,3 6>
================================================================================
<drop_gold : TipoId,percentuale,val operatore>

il drop si sblocca se la condizione operatore val è vera

<drop_gold : a4,80,500 ==>
================================================================================
<drop_by_item : TipoId,percentuale,Tipo2Id2 val operatore>

il drop si sblocca solo se il numero di oggetti con Tipo2Id2 rispetto
alla condizione val operatore è vera

<drop_by_item : i5,100,i1 10 ==>
================================================================================
<drop_region : TipoId,percentuale,regione>

id regione in cui il drop sarà sbloccato

<drop_region : a52,86,8>
================================================================================

=end

class Game_Enemy < Game_Battler
	
	def make_drop_items
		max_item = enemy.note[/<max_drop : (d+)/]
		max_item = 9999 if max_item.nil?
		drop = []
		for i in enemy.drop_items
			next if i.kind == 0
			if (rand * i.denominator < drop_item_rate) and (drop.size <= max_item)
				drop.push(generate_item(i.kind, i.data_id))
			end
		end
		line = enemy.note.scan(/(.+)$/)
		for note in line
			break if drop.size >= max_item
			note = note[0]
			if note =~ /<drop : (\w)(\d+),(\d+)>/
				if rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_switch : (\w)(\d+),(\d+),(\d+)>/
				if $game_switches[$4.to_i] and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_variable : (\w)(\d+),(\d+),(\d+) (\d+) (\W+)>/
				p $6
				cond = eval("$game_variables[#{$4.to_i}]" + $6 + "#{$5.to_i}")
				if cond and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_hp : (\w)(\d+),(\d+),(\d+) (\d+) (\W+)>/
				eval("cond = $game_actors[#{$4.to_i}]" + $6 + "#{$5.to_i}")
				if cond and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_hp_party : (\w)(\d+),(\d+),(\d+) (\d+) (\W+)>/
				eval("cond = $game_party.members[#{$4.to_i}]" + $6 + "#{$5.to_i}")
				if cond and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_map : (\w)(\d+),(\d+),(\d+)>/
				if $game_map.map_id == $4.to_i and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_position : (\w)(\d+),(\d+),(\d+) (\d+)>/
				cond = false
				cond = true if $game_player.x == $4.to_i and $game_player.y == $5.to_i
				if cond and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_position_zone : (\w)(\d+),(\d+),(\d+) (\d+) (\d+) (\d+)>/
				cond = false
				for x in $4.to_i...$6.to_i
					for y in $5.to_i...$7.to_i
						if $game_player.x == x and $game_player.y == y
							cond = true
							break
						end
					end
				end
				if cond and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_map_position_zone : (\w)(\d+),(\d+),(\d+),(\d+) (\d+) (\d+) (\d+)>/
				cond = false
				for x in $5.to_i...$7.to_i
					for y in $8.to_i...$9.to_i
						if $game_player.x == x and $game_player.y == y
							cond = true
							break
						end
					end
				end
				if cond and $game_map.map_id == $4.to_i and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_map_and_position : (\w)(\d+),(\d+),(\d+),(\d+) (\d+)>/
				cond = false
				cond = true if $game_player.x == $5.to_i and $game_player.y == $6.to_i
				if cond and $game_map.map_id == $4.to_i and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_gold : (\w)(\d+),(\d+),(\d+) (\W+)>/
				cond = eval("$game_party.gold" + $5 + "#{$4.to_i}")
				if cond and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_by_item : (\w)(\d+),(\d+),(\w)(\d+) (\d+) (\W+)>/
				item = generate_item($4, $5.to_i)
				cond = eval("$game_party.item_number(item)" + $7 + "#{$6.to_i}")
				if cond and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
			if note =~ /<drop_region : (\w)(\d+),(\d+),(\d+)>/
				if $game_player.region_id == $4.to_i and rand(100) <= $3.to_i
					drop.push(generate_item($1, $2.to_i))
				end
			end
		end
		return drop
	end
	
	def generate_item(type = "", id = 0)
		case type
		when "i", 1
			return $data_items[id]
		when "w", 2
			return $data_weapons[id]
		when "a", 3
			return $data_armors[id]
		else
			return nil
		end
	end
end



Bugs e Conflitti Noti
Proprio nessuno

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

Più improbabilità! Yay! Tutto quello che passa butta! Sìììì!

 

Ottimo ora abbiamo pure i drop personalizzati, mi pare giusto farlo al massimo, così uno può inventarsi i sistemi che vuole! :sisi:

Bel lavoro! ^ ^

(\_/)
(^ ^) <----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

Guest clyde
In effetti il sistema non offriva molto, anche in termine di probabilità di ottenere un dato oggetto. Anche se improbabili, clyde pensa che sia meglio avere dei metodi in più, che avere dei metodi in meno!
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...