Kingartur2 Posted April 21, 2012 Share Posted April 21, 2012 Conditional DropDescrizioneInserisce parecchie possibilità di personalizzare i drop, anche se sinceramente alcuni misembrano un pò improbabili da usare però non si sa mai, ho messo tutto quel che mi passava per la mente XDXDAutorekingartur2(3)AllegatiN/AIstruzioni per l'usoQuelle 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 NotiProprio 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 More sharing options...
Guardian of Irael Posted April 21, 2012 Share Posted April 21, 2012 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! 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) ^ ^ 🖤http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3http://i.imgur.com/MpaUphY.jpg by Idriu E:3Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44) http://i.imgur.com/PgUqHPm.pngUfficiale"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:3Ricorda...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.pngGrazie Testament XD Fan n°1 ufficiale di PQ! :DVivail Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che nonavevo programmi di grafica per fare un banner su questo pc XD (ora ho dinuovo il mio PC veramente :D) Rosso Guardiano dellahttp://i.imgur.com/Os5rvhx.pngRpg2s RPG BY FORUM:Nome: Darth Reveal PV totali 2PA totali 16Descrizione: 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 interneLevaitanSpada a due mani elsa lungaGuanti 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)CordaBottiglia di idromeleForma di formaggioTorcia (serve ad illuminare, dura tre settori)Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)Ampolla BiancaSemi di Balissa CAVALLO NORMALE + SELLA (30 +2 armi) contentente:66$Benda di pronto soccorso x3Spada a due maniFagotto per Adara (fazzoletto ricamato) Link to comment Share on other sites More sharing options...
Guest clyde Posted April 21, 2012 Share Posted April 21, 2012 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now