Maxy Posted October 1, 2011 Share Posted October 1, 2011 (edited) Mappa QuadrilateraleDescrizioneAnzichè mostrare gli eroi su una griglia rettangolare, vi permette di decidere la forma della griglia. Può essere utile per mostrare gli eventi su di una mappa disegnata, facendo il modo che seguano la geometria del disegnoAutoreby MaxyScreenLa griglia della mappa verrà deformata, per esempio cosìhttp://img15.imageshack.us/img15/438/035ruins01.jpgE gli eventi si disporranno cosàhttp://img651.imageshack.us/img651/7757/provaw.png Istruzioni per l'usoPer disporre gli eventi su una griglia, all'inizio dello script inserite il codice $list[iD_MAP] = [x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4] Dove ID_MAP è l'id della mappa in questione, e x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4 sono le coordinate dei vertici del vostro quadrilatero, prese in senso orario a partire dal vertice in alto a sinistra. Le coordinate sono proprio le coordinate del pixel nel disegno. #------------------------------------------------------------------------------- # Quadrilateral Script #------------------------------------------------------------------------------- # by Maxy #------------------------------------------------------------------------------- # It places events on a quadrilateral grid #------------------------------------------------------------------------------- # To create a new quadrilateral grid, use the list below # Points must be in this order # # 1 2 # # # 4 3 # $list = {} # how to use : $list[iD_MAP] = [x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4] # example: $list[1] = [233,252,640,317,640,480,0,480] # Optional: to move the panorama with the player class Spriteset_Map alias updt_quadr update def update updt_quadr if $list.has_key?($game_map.map_id) @panorama.ox = $game_map.display_x / 4 @panorama.oy = $game_map.display_y / 4 end end end # class Quadrilateral attr_accessor :poly_x #a 2 variables polynomial attr_accessor :poly_y #a 2 variables polynomial def initialize(x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4) @poly_x = [x_1, x_2 - x_1, x_4 - x_1, x_3 - x_4 - x_2 + x_1 ] @poly_y = [y_1, y_2 - y_1, y_4 - y_1, y_3 - y_4 - y_2 + y_1 ] end def projection_x(x,y) #take the point in the old system, and return the projection max_y = 32*$game_map.height max_x = 32*$game_map.width x = x % max_x y = y % max_y final_x = ( poly_x[0]*max_x*max_y + poly_x[1]*x*max_y + poly_x[2]*y*max_x + poly_x[3]*x*y ) / (max_x*max_y) return final_x end def projection_y(x,y) #take the point in the old system, and return the projection max_x = 32*$game_map.width max_y = 32*$game_map.height x = x % max_x y = y % max_y final_y = ( poly_y[0]*max_x*max_y + poly_y[1]*x*max_y + poly_y[2]*y*max_x + poly_y[3]*x*y ) / (max_x*max_y) return final_y end def projection_x_y(x,y) #take the point in the old system, and return the projection max_x = 32*$game_map.width max_y = 32*$game_map.height x = x % max_x y = y % max_y final_x = ( poly_x[0]*max_x*max_y + poly_x[1]*x*max_y + poly_x[2]*y*max_x + poly_x[3]*x*y ) / (max_x*max_y) final_y = ( poly_y[0]*max_x*max_y + poly_y[1]*x*max_y + poly_y[2]*y*max_x + poly_y[3]*x*y ) / (max_x*max_y) return final_x, final_y end end class Game_Map attr_reader :quadrilateral alias quadr_setup setup def setup(id) quadr_setup(id) if $list.has_key?(id) @quadrilateral = Quadrilateral.new($list[id][0],$list[id][1],$list[id][2],$list[id][3],$list[id][4],$list[id][5],$list[id][6],$list[id][7]) end end end class Game_Character alias quadr_screen_x screen_x alias quadr_screen_y screen_y def screen_x if $list.has_key?($game_map.map_id) w = $game_map.quadrilateral.projection_x(@real_x/4,@real_y/4) return w-($game_map.display_x + 3) / 4 + 16 else quadr_screen_x end end def screen_y if $list.has_key?($game_map.map_id) w = $game_map.quadrilateral.projection_y(@real_x/4,@real_y/4) y = w-($game_map.display_y + 3) / 4 + 16 if @jump_count >= @jump_peak n = @jump_count - @jump_peak else n = @jump_peak - @jump_count end return y - (@jump_peak * @jump_peak - n * n) / 2 else quadr_screen_y end end end class Game_Player alias center_quadr center def center(x, y) if $list.has_key?($game_map.map_id) max_x = ($game_map.width - 20) * 128 max_y = ($game_map.height - 15) * 128 w_x, w_y = $game_map.quadrilateral.projection_x_y(x*32,y*32) $game_map.display_x = [0, [w_x*4 - CENTER_X, max_x].min].max $game_map.display_y = [0, [w_y*4 - CENTER_Y, max_y].min].max else center_quadr(x,y) end end end Demohttp://www.mediafire.com/?h45zhveqbuwjumwBugs e Conflitti NotiN/AAltri DettagliLo script modifica solo la posizione dei chara degli eventi, non sposta i tile: pertanto se la vostra mappa contiene ad esempio un albero, la sua immagine non verrà spostata, questo scombussola le collisioni:per la collisione tra EVENTI, non c'è il minimo problema: dove tu vedi l'evento, tu non puoi passare (ho sempre sognato di intercalarlo in un discorso!).Ci sono problemi quando i TILE non sono passabili, questo perchè i tiles non vengono spostati dallo script. Insomma accade che se un sasso (non passabile) occupa le coordinate (2,3), l'eroe non può passare per le coordinate (2,3), il problema è che il chara dell'eroe è spostato dallo script in accordo a come viene deformata la griglia della mappa, il sasso invece no.Come risolvere il problema?Creare un evento con la grafica del sassoDisegnare il sasso sulla mappa di sfondo e creare un evento non passabile vuoto nella giusta posizioneCreditatemi se lo utilizzate Edited March 22, 2013 by Apo applicato tag code Link to comment Share on other sites More sharing options...
Guardian of Irael Posted October 1, 2011 Share Posted October 1, 2011 Uh altro script particolare ° °, utile per giocare con gli eventi :3I pg continueranno a muoversi normalmente, giusto? E se l'evento non è passabile la collisione come viene gestita, il pg si ferma a seconda dei tile invasi anche solo da un pixel dell'evento?^ ^ (\_/)(^ ^) <----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...
Apo Posted October 1, 2011 Share Posted October 1, 2011 Molto interessante : D Bravo : ) -Avatar imperioso-Teca delle glorie(lol): Terzo posto Poetry&Letterature Contest(inglesizzato perchè fa serio)http://img806.imageshack.us/img806/3015/terzoposto.pngIl 3 grasso di Thokk XDScarica La Guerra di Piero "Il segreto per un buon soufflè di patate...sono le patate! - Maestro Yoda (Lo Svarione degli Anelli 3, Il ritorno del Padrino x°°°D)Primo Ren, conserverò gelosamente xD - Il primo ba-*hem* Ren non si scorda mai.Chazzate Apo esegue un incantesimo sciamanico molto potente e molto duro per cui si concentra in silenzio per molti minuti, finchè, ritenendosi pronto, riesce infine ad evocare il Grande Spirito che col suo immenso potere disintegra tuttihttp://www.iaza.com/work/110609C/iaza11020742952300.gifUn dono di Hash (<3) http://i1141.photobucket.com/albums/n597/RazakGik/Psy-Kita-Kita.gif Apo resta per me un mistero. Link to comment Share on other sites More sharing options...
Maxy Posted October 1, 2011 Author Share Posted October 1, 2011 (edited) Innanzitutto vi ringrazio, Apo e Guardian. I pg continueranno a muoversi normalmente, giusto? E se l'evento non è passabile la collisione come viene gestita, il pg si ferma a seconda dei tile invasi anche solo da un pixel dell'evento? Allora: per la collisione tra EVENTI, non c'è il minimo problema: dove tu vedi l'evento, tu non puoi passare (ho sempre sognato di intercalarlo in un discorso!). Ci sono problemi quando i TILE non sono passabili, questo perchè i tiles non vengono spostati dallo script. Insomma accade che se un sasso (non passabile) occupa le coordinate (2,3), l'eroe non può passare per le coordinate (2,3), il problema è che il chara dell'eroe è spostato dallo script in accordo a come viene deformata la griglia della mappa, il sasso invece no. Come risolvere il problema? Creare un evento con la grafica del sasso Disegnare il sasso sulla mappa di sfondo e creare un evento non passabile vuoto nella giusta posizione Non mi sono preoccupato di questa parte, perchè di solito chi usa gli sfondi non usa i tiles. Certo, nulla vieta combinazioni delle due tecniche, ma è possibile usare gli eventi con la grafica dei tiles. Scriverò questa cosa anche nel primo messaggio del topic Edited October 1, 2011 by Maxy Link to comment Share on other sites More sharing options...
LazyFox Posted October 2, 2011 Share Posted October 2, 2011 bellissimo script.. complimenti :D .:|Finalmente anch'io gioco klonoa(psx) sulla mia psp \o/|:. <- sei il più bello per questo (edit by ^ ^ ) Il Parlamento è un simbolo, come lo è l'atto di distruggerlo...sono gli uomini che conferiscono potere ai simboli...da solo un simbolo è privo di significatoma con un bel numero di persone alle spalle far saltare un palazzo può cambiare il mondo. Link to comment Share on other sites More sharing options...
Holy87 Posted October 2, 2011 Share Posted October 2, 2011 Mitico davvero! Appena ho tempo ti dispiace se mi metto a convertirlo anche per VX? "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...
Guardian of Irael Posted October 2, 2011 Share Posted October 2, 2011 Sì, sì era proprio quella la mia perplessità, ottimo aggiungi in primo post!^ ^ (\_/)(^ ^) <----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...
Maxy Posted October 2, 2011 Author Share Posted October 2, 2011 (edited) @Holy87Appena ho tempo ti dispiace se mi metto a convertirlo anche per VX? No che non mi dispiace! Anzi, mi fa piacere! Se hai idee su come migliorarlo, spara pure! edit: Ho visto adesso che mi sono dimenticato di eliminare dallo script le righe di codice che ho utilizzato per le mappe nella demo. Ho corretto adesso. Edited October 2, 2011 by Maxy Link to comment Share on other sites More sharing options...
Blackbird Posted October 2, 2011 Share Posted October 2, 2011 Complimenti, script molto interessante! Partecipante al Rpg2s.net Game Contest #3http://www.rpg2s.net/images/gc3/gc3_firma.pngGioco in Sviluppo: Frank'n'Stein: Il delitto è servito http://rpg2s.net/gif/SCContest1Oct.gifhttp://www.rpg2s.net/gif/SloganContest1.gif 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