Zoro the Gallade Posted March 26, 2015 Report Share Posted March 26, 2015 (edited) Uno script semplice creato sotto effetto di pelo di gatto.http://i.imgur.com/9e4XhVw.png Questo script assegna a ciascun personaggio giocabile dei livelli di "abilità d'arme" con ciascun tipo di arma che è capace di equipaggiare.Questi livelli possono essere impiegati nelle meccaniche di gioco per vari scopi:Rendere certe armi equipaggiabili solo se si possiede un determinato livello di abilità con quel tipo di arma (Scrivendo "-levreq:xx" nelle note)Far apprendere skill agli eroi aumentando il livello di un'abilità d'arme anzichè il livello dell'eroe vero e proprio. Basta andare nel database delle classi e scrivere "-Weaponskill" nelle note, e quell'abilità sarà resa disponibile solo se l'eroe ha raggiunto il livello indicato in una delle armi richieste per usare la skillInfluenzare le formule del danno. Basta aggiungere a.wskill(x) per rendere il livello dell'abilità d'arme un fattore nel calcolo del danno. wskill(0) restituisce il livello dell'arma equipaggiata.Creare ostacoli che possono essere superati solo con certe abilità d'arme ad un livello alto: basta un semplice script call nel ramo condizionale.Creare oggetti che donano esperienza in un'arma a un eroe, o aggiungerla manualmente con script call.Le abilità acquisiranno esperienza lentamente usando attacchi normali, e più velocemente a discrezione usando le skill o aumentandola manualmente con oggetti o script call. Aggiungendo "-exp:xx" alle notetag di una skill, chi la usa guadagnerà altrettanta esperienza nell'arma che sta usando. Lo script include un'opzione per personalizzare la curva dell'esperienza delle abilità d'arme, e una "AutoMode" che setterà tutte le skill automaticamente. Codice (Pastebin)Download Demo+Istruzioni Codice nudo e crudo Non vi piacciono quei link? Uffi. module Gallade module SkillSystem ############################################# # ISTRUZIONI ############################################# #Scrivete "-exp:xx" nelle notetag di una skill per far guadagnare xx esperienza #nell'arma equipaggiata. #Nella tab Classi, scrivete "-Weaponskill" come nota in una skill da apprendere #in modo che venga appresa aumentando il livello dell'abilità con l'arma #anzichè il livello del personaggio. #Nelle formule del danno, usate "a.wskill(x)" per usare il livello di abilità #con un tipo di arma nella formula. #Scrivete "-levreq:xx" nelle note di un'arma per rendere necessario un certo #livello di abilità per equipaggiarla. ########################################### #CONFIGURAZIONE ########################################### #Formula dell'esperienza. Scrivete "Linear" per far aumentare il livello #delle abilità in maniera lineare (10 exp, poi 20,30,40 e così via). #Scrivete "Quad" per farlo aumentare in maniera quadratica #(Prima 10, poi 40,90,160) #Scrivete un'altra formula se la volete personalizzare: il livello #dell'abilità è "sklv". ExpFormula = "Linear" # Attivate o disattivate la modalità Auto, che calibrerà il sistema # automaticamente in questo modo: # Le abilità verranno apprese automaticamente e daranno esperienza in base # alle armi necessarie per utilizzarle # Inoltre, le abilità verranno apprese in base ai livelli di competenza # dell'arma anche se non specificato, se serve un'arma particolare per # utilizzarle. # Inoltre, usare una skill darà esperienza con l'arma pari al suo costo # in MP+TP (gli attacchi normali ne daranno 1) AutoMode = false end end ################################################ #END OF CONFIG ################################################ class Game_Actor < Game_Battler attr_accessor :sklvl attr_accessor :skexp alias GKsetup setup def setup(actor_id) GKsetup(actor_id) @sklvl = [] @skexp = [] sklvl[0] = 0 for i in 1...99 @sklvl[i] = 1 @skexp[i] = 0 end end def wskill(id) return sklvl[weapons[0].wtype_id] if id == 0 return sklvl[id] end def tonextlevel(sklv) case Gallade::SkillSystem::ExpFormula when "Linear" sklv *10 when "Quad" (sklv * 10) ** 2 else Gallade::SkillSystem::ExpFormula end end def added_weapon_types features_set(FEATURE_EQUIP_WTYPE) end def check_level_up(wtype) while skexp[wtype] >= tonextlevel(sklvl[wtype]) skexp[wtype] -= tonextlevel(sklvl[wtype]) sklvl[wtype] += 1 end check_learnable_skills end def learning_is_weaponskill(learning) (Gallade::SkillSystem::AutoMode or learning.note.slice(/-Weaponskill/i) !=nil) and ($data_skills[learning.skill_id].required_wtype_id1 + $data_skills[learning.skill_id].required_wtype_id2) > 0 end def check_learnable_skills self.class.learnings.each do |learning| if learning_is_weaponskill(learning) if [sklvl[$data_skills[learning.skill_id].required_wtype_id1],sklvl[$data_skills[learning.skill_id].required_wtype_id2]].max >= learning.level learn_skill(learning.skill_id) end end end end def add_weapon_exp(wtype, exp) skexp[wtype] += exp check_level_up(wtype) end def level_up @level += 1 self.class.learnings.each do |learning| learn_skill(learning.skill_id) if learning.level == @level and !learning_is_weaponskill(learning) end end def init_equips(equips) @equips = Array.new(equip_slots.size) { Game_BaseItem.new } equips.each_with_index do |item_id, i| etype_id = index_to_etype_id(i) slot_id = empty_slot(etype_id) @equips[slot_id].set_equip(etype_id == 0, item_id) if slot_id end end alias oldeguipgal? equippable? def equippable?(item) if item.is_a?(RPG::Weapon) and item.note.slice(/-LEVREQ:[0-9]+$/i) !=nil levreq = item.note.slice(/-LEVREQ:[0-9]+$/i).slice(/[0-9]+$/).to_i p levreq else levreq = 0 end return false if item.is_a?(RPG::Weapon) and levreq > @sklvl[item.wtype_id] return oldeguipgal?(item) end end class Window_Status < Window_Selectable def draw_block3(y) draw_parameters(32, y) draw_skillevels(228, y) end def tonextlevel(sklv) case Gallade::SkillSystem::ExpFormula when "Linear" sklv *10 when "Quad" (sklv * 10) ** 2 else Gallade::SkillSystem::ExpFormula end end def draw_skillevels(x,y) change_color(system_color) draw_text(x+20, y, width, line_height, "Abilità") draw_text(x+130, y, width, line_height, "Liv.") draw_text(x+180, y, width, line_height, "Esp.") reset_font_settings i = 1 @actor.added_weapon_types.each do |item| name = $data_system.weapon_types[item] draw_text_ex(x, y + 24 * i, name) draw_text_ex(x+130, y + 24 * i, @actor.sklvl[item]) draw_text_ex(x+180, y + 24 * i, @actor.skexp[item].to_i.to_s + "/" + tonextlevel(@actor.sklvl[item]).to_i.to_s) i +=1 end end end class Game_Battler < Game_BattlerBase alias allthatstuff make_damage_value def make_damage_value(user, item) allthatstuff(user,item) return unless $data_skills[item.id] == item if user.actor? then return if user.weapons[0] == nil if item.required_wtype_id1 + item.required_wtype_id2 > 0 then if user.weapons[0].wtype_id == item.required_wtype_id1 or user.weapons[0].wtype_id == item.required_wtype_id2 user.add_weapon_exp(user.weapons[0].wtype_id, weapon_exp(item)) else user.add_weapon_exp(user.weapons[1].wtype_id, weapon_exp(item)) end else user.add_weapon_exp(user.weapons[0].wtype_id, weapon_exp(item)) if user.weapons[1] != nil user.add_weapon_exp(user.weapons[1].wtype_id, weapon_exp(item)) end end end end end class Game_BattlerBase def weapon_exp(skill) return 1 if skill.id == attack_skill_id return exr * (skill.mp_cost + skill.tp_cost) if Gallade::SkillSystem::AutoMode return exr * skill.note.slice(/-EXP:[0-9]+$/i).slice(/[0-9]+$/).to_i if skill.note.slice(/-EXP:[0-9]+$/i) !=nil return 0 end end Edited March 26, 2015 by Zoro the Gallade Quote Mensola dei trofei: http://www.rpg2s.net/forum/uploads/monthly_08_2014/post-6-0-59989200-1408714052.gifhttp://i.imgur.com/7GriqYm.png Creazioni varie: Gallade Radar (script) (demo)Abilità d'arme (script) (demo)Sistema di dadi (script) (demo) Link to comment Share on other sites More sharing options...
Holy87 Posted March 26, 2015 Report Share Posted March 26, 2015 Davvero molto utile, anche perché possono essere legati a nuove skill e armi.Aggiungerei anche la possibilità di un bonus danni con il tipo d'arma a seconda del livello. Quote "Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]http://holyres.altervista.org/UserBoard/BannerOverdrive35.pnghttp://holyres.altervista.org/UserBoard/Cap3.pnghttp://www.indiexpo.net/signature/578.png Miei script per RPG Maker VX Ace:*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza. Modulo di supporto scripters - per utilizzare le API di Windows facilmente!Sistema Popup generaleHOT - per dei popup più divertenti!Sistema di monete - come in WoWDownload e avviso patch di giocoHOT - Sistema d'aggiornamenti!Sistema degli obiettiviHOT - Per dare un valore aggiunto al tuo gioco!Set Equipaggiamenti - perché vestire pan-dan va di moda!Logo inizialeHOT - flessibilissimo, funzionale e personalizzabile!Requisiti Equipaggiamenti - se vuoi dare un tocco di RPG occidentaleLampeggiamento critico - fa vedere al giocatore un alone rosso intorno allo schermo quando sta per morireMenu titolo person. - uno stile originale per il menu iniziale!Movmento fluido - Puoi muovere in modo stickoso sprite, finestre e viewportTransizioni fluide del menu - Animazione di transizione per le finestre dei menuInfo del gioco dal Titolo - fa sempre bene mostrare i crediti del gioco!Barra generica - una barra per fare quello che vuoiScambio truppe di nemici - utile se usi gli incontri casualiParty multipli - se vuoi avere due gruppi paralleliFinestra dettagli oggetti - Per avere le informazioni più dettagliate su oggetti, equip e abilitàConteggio nemici uccisi - per le quest!Titoli di coda - quando finalmente finirai il gioco!Cartella salvataggi - Per raggruppare i salvataggi in una cartella specifica o nella home dell'utente I miei tutorial:Come distribuire il gioco - e anche come creare un'installazione professionale!RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed espertiCome mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mappingLoop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finaliCreare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto! Link to comment Share on other sites More sharing options...
Zoro the Gallade Posted March 26, 2015 Author Report Share Posted March 26, 2015 (edited) Davvero molto utile, anche perché possono essere legati a nuove skill e armi.Aggiungerei anche la possibilità di un bonus danni con il tipo d'arma a seconda del livello. Quello puoi farlo direttamente nella formula dei danni. Mi sono scordato di dire che con a.wskill(0) indichi il livello dell'arma attualmente equipaggiata. Quindi aggiungi quello alla formula dell'attacco normale ed è fatta. Edited March 26, 2015 by Zoro the Gallade Quote Mensola dei trofei: http://www.rpg2s.net/forum/uploads/monthly_08_2014/post-6-0-59989200-1408714052.gifhttp://i.imgur.com/7GriqYm.png Creazioni varie: Gallade Radar (script) (demo)Abilità d'arme (script) (demo)Sistema di dadi (script) (demo) Link to comment Share on other sites More sharing options...
La fine di An Another Life Posted March 26, 2015 Report Share Posted March 26, 2015 Good Job, mi piace, è uno script molto interessante che potrei utilizzare in GHU.Dallo screen vedo che cambia la scena dello Status, eliminando l'equip (cosa che avrei dovuto fare comunque per lo YEA Equip, che con i suoi nuovi equip mi sforava nella descrizione del pg). Quote CYNDA BYTEShttp://i1220.photobucket.com/albums/dd458/Cyndaquil_Bytes/Cyndabytes.pngCreiamo mondi, storie e giochi che possano emozionare.DEV BLOG <-- Ultime notizie e approfondimenti so quello che stiamo facendo.SOCIAL Non dimenticarti di seguirmi! FACEBOOK TWITTER YOUTUBE GOOGLE PLUS DEVIANTART An Another Life Uan-Ciù The WEBCOMICFumetto online demenziale gratuito che parodizza i manga giapponesi e i giochi di ruolo:arti marziali, J-Rpg, magia, shonen, combattimenti, ignoranza, tette e tante botte! Leggilo qui sul forum!Puoi seguirci su Facebook, Twitter o Deviantart. Se il fumetto ti piace, per sostenerci e spronarci ad andare avanti metti un like <3 sui social,oppure votaci su shockdom! Puoi leggere quest webcomic anche sul nostro blog ufficiale. GIOCHI COMPLETIScarica, gioca e commenta i miei giochi per sostenere il making italiano. Bloody Repression (in Inglese, versione ITA disponibile nel topic) -> Topic Ufficiale\ Trailer starring Martis \ Video Gameplay ITA \ Short Gameplay Video ENGhttp://www.freankexpo.net/signature/1026.pngLOVE & WAR NEVER CHANGE -> Topic Ufficiale \ Let's Play By MartisUn gioco breve dalla storia toccante. 2° Posto all Short RTP Game Contest. http://www.freankexpo.net/signature/666.pngSe non vuoi perderti tutto il mondo della Cynda Bytes (trofei, regali, webcomics, contest...), apri lo spoiler. Lo so che lo vuoi. GIOCHI IN SVILUPPOGODS HATE USTopic UfficialeAASTROR WARTopic Ufficiale AN ANOTHER LIFE Da dove tutto è cominciato, un gioco lollo (non nel senso che l'ha fatto Lollo, eh), arcaico e noob dell'anno 2003 (più di una decade!).Richiede RTP Inglesi e forse manca qualche altro file.Piacizzate su Facebook per leggere direttamente lì, oppure sul topic ufficiale. CONTESTRPG2S CHARA BATTLE ROYAL TOURNAMENT 2012SHORT RTP GAME CONTEST 2013http://s8.postimg.org/yntv9nxld/Banner.pngINDIE GAME MAKING CONTEST 2015 con GODS HATE US - BLOODY REPRESSION REGALIhttp://www.rpg2s.net/dax_games/r2s_regali5s.png TROFEIhttp://rpg2s.net/gif/SCContest2Oct.gif http://www.rpg2s.net/forum/uploads/monthly_12_2013/post-6-0-84168400-1388406007.png"I'm a Dream Maker, Bitch!" Link to comment Share on other sites More sharing options...
AndreyDarko Posted March 26, 2015 Report Share Posted March 26, 2015 Bellissimo script ** Ho due domande : 1. Funziona con Falcao Pearl ABS liquid V3 ? 2 Si può usare questo metodo del arma solo su uno dei membri e gli altri salgono normalmente di livello ? Quote http://i1366.photobucket.com/albums/r770/mistintheforest/cooltext1371376180_zpsnym4lhzp.png Segui su facebook per aggiornamenti http://i1366.photobucket.com/albums/r770/mistintheforest/Immagine22_zpskginjwe7.pnghttp://www.speedtest.net/result/4428575686.png Link to comment Share on other sites More sharing options...
Zoro the Gallade Posted March 26, 2015 Author Report Share Posted March 26, 2015 (edited) Bellissimo script ** Ho due domande : 1. Funziona con Falcao Pearl ABS liquid V3 ? 2 Si può usare questo metodo del arma solo su uno dei membri e gli altri salgono normalmente di livello ? 1-Agisce soltanto sugli actors, sull'apprendimento delle skill e sull'equipaggiamento, quindi dovrebbe essere compatibile al 100% con la maggior parte degli ABS. 2-Ecco per te una patch che permette di usare questo sistema solo con determinati actor, incollacela sotto: module Gallade module SkillSystem #Inserire in questo array gli ID degli attori che usano il sistema di skill ACTORS_WITH_SKILLS = [1] end end class Game_Actor < Game_Battler def skillable? return Gallade::SkillSystem::ACTORS_WITH_SKILLS.include?(id) end def wskill(id) return 0 unless skillable? return sklvl[weapons[0].wtype_id] if id == 0 return 0 unless equip_wtype_ok?(id) return sklvl[id] end def add_weapon_exp(wtype, exp) skexp[wtype] += exp if equip_wtype_ok?(wtype) and skillable? check_level_up(wtype) end end class Window_Status < Window_Selectable def draw_block3(y) draw_parameters(32, y) draw_skillevels(228, y) if @actor.skillable? end end Edited March 26, 2015 by Zoro the Gallade Quote Mensola dei trofei: http://www.rpg2s.net/forum/uploads/monthly_08_2014/post-6-0-59989200-1408714052.gifhttp://i.imgur.com/7GriqYm.png Creazioni varie: Gallade Radar (script) (demo)Abilità d'arme (script) (demo)Sistema di dadi (script) (demo) Link to comment Share on other sites More sharing options...
AndreyDarko Posted March 26, 2015 Report Share Posted March 26, 2015 1-Agisce soltanto sugli actors, sull'apprendimento delle skill e sull'equipaggiamento, quindi dovrebbe essere compatibile al 100% con la maggior parte degli ABS. 2-Ecco per te una patch che permette di usare questo sistema solo con determinati actor, incollacela sotto: module Gallade module SkillSystem #Inserire in questo array gli ID degli attori che usano il sistema di skill ACTORS_WITH_SKILLS = [1] end end class Game_Actor < Game_Battler def skillable? return Gallade::SkillSystem::ACTORS_WITH_SKILLS.include?(id) end def wskill(id) return 0 unless skillable? return sklvl[weapons[0].wtype_id] if id == 0 return 0 unless equip_wtype_ok?(id) return sklvl[id] end def add_weapon_exp(wtype, exp) skexp[wtype] += exp if equip_wtype_ok?(wtype) and skillable? check_level_up(wtype) end end class Window_Status < Window_Selectable def draw_block3(y) draw_parameters(32, y) draw_skillevels(228, y) if @actor.skillable? end end (Nel mio progetto c'è un pg che guida un robot e per questo volevo sto metodo :3 ) Quote http://i1366.photobucket.com/albums/r770/mistintheforest/cooltext1371376180_zpsnym4lhzp.png Segui su facebook per aggiornamenti http://i1366.photobucket.com/albums/r770/mistintheforest/Immagine22_zpskginjwe7.pnghttp://www.speedtest.net/result/4428575686.png Link to comment Share on other sites More sharing options...
Retrolexip Posted March 26, 2015 Report Share Posted March 26, 2015 Veramente un bellissimo script. Con questo metodo si potrebbe anche usare con "armi" tipo accette, picconi e canne da pesca in modo da creare una specie di job level.Grazie per la condivisione. :) Quote ~ Lex, l'amichevole omino pixelloso di quartiere! Link to comment Share on other sites More sharing options...
Guardian of Irael Posted March 26, 2015 Report Share Posted March 26, 2015 Ottimo script non tanto per la funzione di livello per le armi, quanto per tutte le configurazioni e diverse possibilità che ci hai ficcato dentro per supportarlo! D: Cioè tipo ci vengono 4 giochi con meccaniche diverse! XD^ ^ Quote (\_/)(^ ^) <----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...
Eikichi Posted March 27, 2015 Report Share Posted March 27, 2015 Mi era sfuggito questo scritp! :)MOOOOOOOOOOOOOOLTO interessante! :D Quote Finrod, GDR PBF2PV e 1PAEquip: - faretra con 20 frecce- arco lungo- pugnale comune- Armatura di cuoio- Torcia- CappuccioMi sa che è ora di vincere qualche premio per rinnovare questa firma! :3Posizioni raggiunte nei contesthttp://rpg2s.net/gif/SCContest3Oct.gifhttp://www.rpg2s.net/awards/bestresourCSist3.jpghttp://www.rpg2s.net/awards/mosthelpful2.jpghttp://www.rpg2s.net/awards/mostpresent2.jpg Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.