Cerca nel Forum
Showing results for tags 'Gameplay'.
Trovato 49 risultati
-
Nome Script: Khas Pixel Movement Versione: 1.0 Autore/i: Khas Informazioni: E finalmente, approda anche per il VX Ace, il Pixel Movement =P L'Autore è lo stesso dell'Engine Arcthunder Pixel Movement, creato per il VX dove si disponeva pure di un editor per impostare la passabilità sulla mappa. Screenshots: Istruzioni: Istruzioni all'interno della demo e dello script. Demo: http://arcthunder.site40.net/ Note dell'Autore: http://arcthunder.site40.net/terms/
-
Nome Script: Khas Awesome Light Effects Versione: 17.01.2012 Autore/i: Khas Informazioni: Effetti di luce statici e dinamici, davvero sbalorditivi! La luce si piega attorno agli angoli in maniera naturale...guardate il video! http://www.youtube.com/watch?feature=player_embedded&v=aQzyae14FEc Screenshots: Istruzioni: Contenute nella demo. NB: per volontà dell'Autore (Khas), non è possibile postare direttamente la demo o lo script. Cliccando su "demo" sarete rimandati al sito di Khas dove potrete scaricare la demo (in inglese, verso fine pagina). Assicuratevi di leggere bene i termini di utilizzo. NB: as Author's will (Khas), we're not allowed to post directly the demo/script here. So clicking on "demo" button you'll be redirected to Khas' pages, where you can get the english demo (near the bottom of the page). Please read carefully the Terms of use. Script: v. demo F.A.Q: D: In un nuovo progetto non riesco a far proiettare le ombre! R: Anche io la prima volta^^ Ma basta leggere bene il manuale: bisogna impostare correttamente il "Terrain Tag" dei muri/tetti. Demo: http://arcthunder.site40.net/en-awesome-light-effects/ Note dell'Autore: All credits to Khas http://arcthunder.site40.net/terms/
-
Nome Script: Napoleon's Minimap V1.06a Versione: 1.06a Autore/i: Napoleon Informazioni: Mini-Map script molto bello e personalizzabile con varie opzioni =) Screenshots: Istruzioni: Istruzioni e script all'interno della demo. Demo: https://www.dropbox.com/s/jm92rbqb5eadryr/Napoleons%20Master%20Demo.zip
-
Nome Script: Camminata 8 Direzioni Versione: N/D Autore/i: Raizen884 Informazioni: Script che simula le 8 direzioni di camminata. Istruzioni: Inserite lo script sotto Material. Script: #=======================================================# Engine 8 direções.# Autor: Raizen884# Mude completamente o seu jogo de 4 direções, para# 8 direções. O script vai adicionar movimentos em 8# direções para o personagem e para todos os eventos# no jogo.#=======================================================class Game_Player < Game_Character def move_by_input return if !movable? || $game_map.interpreter.running? move_diagonal(4, 2) if Input.dir8 == 1 move_straight(2) if Input.dir8 == 2 move_diagonal(6, 2) if Input.dir8 == 3 move_straight(4) if Input.dir8 == 4 move_diagonal(6, 8) if Input.dir8 == 9 move_straight(6) if Input.dir8 == 6 move_diagonal(4, 8) if Input.dir8 == 7 move_straight(8) if Input.dir8 == 8 end def move_diagonal(horz, vert) @followers.move if diagonal_passable?(@x, @y, horz, vert) check_event_trigger_touch(@x+1, @y+1) if horz == 6 and vert == 2 check_event_trigger_touch(@x+1, @y-1) if horz == 6 and vert == 8 check_event_trigger_touch(@x-1, @y-1) if horz == 4 and vert == 8 check_event_trigger_touch(@x-1, @y+1) if horz == 4 and vert == 2 super endendclass Game_Character < Game_CharacterBase def move_toward_character(character) sx = distance_x_from(character.x) sy = distance_y_from(character.y) if sx.abs > sy.abs and sy == 0 move_straight(sx > 0 ? 4 : 6) move_straight(sy > 0 ? 8 : 2) if !@move_succeed && sy != 0 elsif sx.abs > sy.abs and sy > 0 if sx > 0 move_diagonal(4, 8) else move_diagonal(6, 8) end elsif sx.abs > sy.abs and sy < 0 if sx > 0 move_diagonal(4, 2) else move_diagonal(6, 2) end end if sx.abs <= sy.abs and sx == 0 move_straight(sy > 0 ? 8 : 2) move_straight(sx > 0 ? 4 : 6) if !@move_succeed && sx != 0 elsif sx.abs <= sy.abs and sx > 0 if sy > 0 move_diagonal(4, 8) else move_diagonal(4, 2) end elsif sx.abs <= sy.abs and sx < 0 if sy > 0 move_diagonal(6, 8) else move_diagonal(6, 2) end endend def move_random case rand(2) when 0 move_straight(2 + rand(4) * 2, false) when 1 move_diagonal(2 + rand(4) * 2, 2 + rand(4) * 2) end end def move_away_from_character(character) sx = distance_x_from(character.x) sy = distance_y_from(character.y) if sx.abs > sy.abs and sy == 0 move_straight(sx > 0 ? 6 : 4) move_straight(sy > 0 ? 2 : 8) if !@move_succeed && sy != 0 elsif sx.abs > sy.abs and sy < 0 if sx < 0 move_diagonal(4, 8) else move_diagonal(6, 8) end elsif sx.abs > sy.abs and sy > 0 if sx > 0 move_diagonal(6, 2) else move_diagonal(4, 2) end end if sx.abs <= sy.abs and sx == 0 move_straight(sy > 0 ? 2 : 8) move_straight(sx > 0 ? 6 : 4) if !@move_succeed && sx != 0 elsif sx.abs <= sy.abs and sx < 0 if sy > 0 move_diagonal(4, 2) else move_diagonal(4, 8) end elsif sx.abs <= sy.abs and sx > 0 if sy < 0 move_diagonal(6, 8) else move_diagonal(6, 2) end endendend
-
Nome Script: Overlay Mapping Versione: del 16.04.2012 Autore/i: Yami Informazioni: Questo script permette di poter utilizzare i vari livelli di parallasse per mappare all'interno del vostro progetto di RPG Maker VX Ace. Screenshots: Istruzioni: Create una cartella dentro "Graphics" chiamata Overlay (nome progetto/Graphic/Overlay). Potete creare fino a 4 tipi di immagini: • Ground (parte base della mappa - va SOTTO a tutto) • Par (parte alta della mappa - va SOPRA a tutto e copre gli eventi e il personaggio - vedi albero) • Light (crea effetti di luce statici) • Shadow (crea effetti di ombra statici) Le immagini della vostra mappa dovranno essere nominate in base alla loro funzione: • Il prato è un ground • Gli alberi e tutto quello che è sopra al livello dell'eroe è un par • Le luci e le ombre sono rispettivamente light e shadow Esempio: Io ho creato un prato con degli alberi come nell'immagine sopra. Tutto questo andrà inserito all'interno delle prima mappa del gioco (quindi ID:0001); di conseguenza chiamerò la mia immagine del prato cosi: Ground1_1 (il primo 1 è l'ID della mappa nel quale il prato verrà visualizzato; il secondo 1 è usato se, per esempio, nella stessa mappa volete creare più versioni: ground1_1 versione normale ground1_2 versione distruzione, per esempio); L'immagine deve essere in PNG. Gli alberi andranno salvati cosi: Par1_1 (i numeri seguono lo stesso principio spiegato sopra); L'immagine deve essere in PNG. Le luci e le ombre (se presenti) andranno salvate con lo stesso principio spiegato sopra (light1_1 e Shadow1_1); L'immagine deve essere in JPG. (se questo prato dovrà essere messo nell mappa con ID 23 le immagini saranno chiamate ground23_1, par23_1, light23_1 e shadow23_1) Spero di essere stato chiaro D: Script: F.A.Q: N/D Demo: N/D Incompatibilità: N/D Note dell'autore: N/D
-
Nome Script: Lune Ultimate Anti-Lag Versione: N/D Autore/i: Raizen Informazioni: Lo script Anti-Lag ormai è un must have da inserire nei propri progetti. Infatti consente di migliorare le prestazioni nonostante i troppi eventi, script, etc... Istruzioni: Inserite lo script sotto Material e configuratelo se necessario... Script: #=======================================================# Lune Ultimate Anti-Lag# Author: Raizen# Compatible with: RMVXAce# Comunity: centrorpg.com# This script allows a very well balanced anti-lag, in which# considers the own PC of the player, using a smart frame-skipper# to slow lags,#========================================================#To update constantly the event, put a commentary on the first# command of the script written :update:module Anti_conf#==============================================================================# ** Configurations#------------------------------------------------------------------------------# Configure what is necessary for a better performance.#==============================================================================# Choose how the script will act.# <=====Quality============================Performance=====># 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20# Default = 10Fr = 10# Configure the FPS rate (default = 60)Fps = 60# Configure the minimum FPS rate (default = 25)Mini = 25# Quantity of frames the anti-lag will study,# the higher the time, the more precise the script,# but will take longer to load the anti-lagTime = 60end=beginFunctions on this Anti-Lag* Common event positioning bug fixed* Smart Frame Skipper* updates what is only necessary* helps to lower lags from visual system/scripts* Changes its behavior according to the players PC* Increases the RPG Maker priority over other programs=end#=================================================================##=================================================================##==================== Alias methods =============================## command_203 => Game_Interpreter# start => Scene_Map# update => Scene_Map# perform_transfer => Scene_Map#=================================================================##==================== Rewrite methods ===========================## update_events => Game_Map# update_one_event => Spriteset_Map#=================================================================##======================== New methods ===========================## need_to_update? => Game_Event# near_the_screen? => Sprite_Character# call_position_event => Scene_Map# skip_calculate => Scene_Map# update_one_event => Spriteset_Map#=================================================================##=================================================================##==============================================================================#============================ Início do Script! =============================#==============================================================================#==============================================================================# ** Scene_Map#------------------------------------------------------------------------------# Esta classe executa o processamento da tela de mapa.#==============================================================================class Scene_Map < Scene_Basealias lune_skip_start startalias lune_skip_update updatealias lune_perform perform_transfer #-------------------------------------------------------------------------- # * Inicialização do processo #-------------------------------------------------------------------------- def start Graphics.frame_rate = Anti_conf::Fps @update_skip = false @count_up = 0 lune_skip_start end #-------------------------------------------------------------------------- # * Execução da transferência #-------------------------------------------------------------------------- def perform_transfer $get_new_ids = Array.new Graphics.frame_rate = Anti_conf::Fps lune_perform @count_up = 0 @update_skip = false end #-------------------------------------------------------------------------- # * Atualização da tela #-------------------------------------------------------------------------- def update @update_skip ? lune_skip_update : skip_calculate end #-------------------------------------------------------------------------- # * Atualização de um personagem especifico #-------------------------------------------------------------------------- def call_position_event(id) @spriteset.update_one_event(id) end #-------------------------------------------------------------------------- # * Calcula o tempo necessário para rodar o update do Scene_Map #-------------------------------------------------------------------------- def skip_calculate @count_up += 1 return unless @count_up >= Anti_conf::Time auto_skip = Time.now lune_skip_update old_skip = Time.now get_skip = old_skip - auto_skip Graphics.frame_rate -= (get_skip * Graphics.frame_rate * 2 * Anti_conf::Fr - 1).to_i Graphics.frame_rate = [Graphics.frame_rate, Anti_conf::Mini].max @update_skip = true endend#==============================================================================# ** Scene_Base#------------------------------------------------------------------------------# Esta é a superclasse de todas as cenas do jogo.#==============================================================================class Scene_Basealias skipper_main main #-------------------------------------------------------------------------- # * Processamento principal #-------------------------------------------------------------------------- def main @fr_cont = 0 skipper_main end #-------------------------------------------------------------------------- # * Execução da transição #-------------------------------------------------------------------------- def perform_transition Graphics.transition(transition_speed * Graphics.frame_rate / 60) end #-------------------------------------------------------------------------- # * Atualização da tela (básico) #-------------------------------------------------------------------------- def update_basic if @fr_cont >= 60 Graphics.update @fr_cont -= 60 end @fr_cont += Graphics.frame_rate update_all_windows Input.update endend#==============================================================================# ** Aumento da prioridade do rpg maker#------------------------------------------------------------------------------Lune_high = Win32API.new("kernel32", "SetPriorityClass", "pi", "i")Lune_high.call(-1, 0x90)#==============================================================================#==============================================================================# ** Game_Event#------------------------------------------------------------------------------# Esta classe gerencia os eventos. Ela controla funções incluindo a mudança# de páginas de event por condições determinadas, e processos paralelos.# Esta classe é usada internamente pela classe Game_Map.#==============================================================================class Game_Event < Game_Character #-------------------------------------------------------------------------- # * necessário atualizar? #-------------------------------------------------------------------------- def need_to_update? ax = $game_map.adjust_x(@real_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> - 8 ay = $game_map.adjust_y(@real_y) - 6 ax.between?(-9, 9) && ay.between?(-7, 7) || @list[0].parameters.include?(':update:') endend#==============================================================================# ** Sprite_Character#------------------------------------------------------------------------------# Este sprite é usado para mostrar personagens. Ele observa uma instância# da classe Game_Character e automaticamente muda as condições do sprite.#==============================================================================class Sprite_Character < Sprite_Base #-------------------------------------------------------------------------- # * Evento próximo a tela? #-------------------------------------------------------------------------- def near_the_screen? ax = $game_map.adjust_x(@character.<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> - 8 ay = $game_map.adjust_y(@character.y) - 6 ax.between?(-11, 11) && ay.between?(-8, 8) endend#==============================================================================# ** Game_Event#------------------------------------------------------------------------------# Esta classe gerencia os eventos. Ela controla funções incluindo a mudança# de páginas de event por condições determinadas, e processos paralelos.# Esta classe é usada internamente pela classe Game_Map.#==============================================================================class Game_Event < Game_Characteralias lune_ant_initialize initialize #-------------------------------------------------------------------------- # * Inicialização do objeto # event : RPG::Event #-------------------------------------------------------------------------- def initialize(*args, &block) lune_ant_initialize(*args, &block) $get_new_ids.push(@event.id) endend#==============================================================================# ** Game_Interpreter#------------------------------------------------------------------------------# Um interpretador para executar os comandos de evento. Esta classe é usada# internamente pelas classes Game_Map, Game_Troop e Game_Event.#==============================================================================class Game_Interpreteralias lune_lag_command_203 command_203 #-------------------------------------------------------------------------- # Definir posição do evento #-------------------------------------------------------------------------- def command_203 lune_lag_command_203 SceneManager.scene.call_position_event($get_new_ids.index(@event_id)) endend#==============================================================================# ** Game_Map#------------------------------------------------------------------------------# Esta classe gerencia o mapa. Inclui funções de rolagem e definição de# passagens. A instância desta classe é referenciada por $game_map.#==============================================================================class Game_Map #-------------------------------------------------------------------------- # * Atualização dos comandos dos eventos #-------------------------------------------------------------------------- def update_events @events.each_value {|event| event.update if event.need_to_update?} @common_events.each {|event| event.update} endend$get_new_ids = Array.new#==============================================================================# ** Spriteset_Map#------------------------------------------------------------------------------# Esta classe reune os sprites da tela de mapa e tilesets. Esta classe é# usada internamente pela classe Scene_Map.#==============================================================================class Spriteset_Map #-------------------------------------------------------------------------- # * Atualização dos personagens #-------------------------------------------------------------------------- def update_characters refresh_characters if @map_id != $game_map.map_id @character_sprites.each {|sprite| sprite.update if sprite.near_the_screen? } end #-------------------------------------------------------------------------- # * Atualização de algum personagem remoto #-------------------------------------------------------------------------- def update_one_event(id) @character_sprites[id].update endend
-
Nome Script: Custom Sell Price Versione: 1.0 Autore/i: mikb89 Informazioni: Con questo script potrete decidere un prezzo di vendita (quindi il guadagno del giocatore) personalizzato per ogni oggetto, arma e armatura del database. Features: Può essere abilitato e disabilitato con uno switch. I prezzi vanno impostati nei notebox scrivendo <prezzo vendita: n> Dove n è il prezzo voluto, e i : possono essere omessi. Istruzioni: Creare una nuova voce sopra Main ed inserire lo script. Nel caso di incompatibilità, provare a spostarla più in alto. Script Incompatibilità: N/A
-
Nome Script: Advanced Direction Fix Versione: 1.1 Autore/i: mikb89 Informazioni: Con questo script potrete utilizzare la direzione fissa con le sole direzioni stabilite. Cioè potrete ad esempio dire al pg che non deve mai far vedere la grafica destra, e quando si girerà in quella direzione manterrà l'ultima visualizzata. La stessa cosa varrà per i pg del caterpillar. Features: Via chiama script è possibile fissare on e off ogni singola direzione. I comandi possono essere inseriti anche in italiano. La funzione Direzione Fissa dagli eventi, varrà come un reset, se impostata off, e come un fix totale se impostata on. Istruzioni: Creare una nuova voce sopra Main ed inserire lo script. Nel caso di incompatibilità, provare a spostarla più in alto. Script Incompatibilità: N/A Note dell'autore: Ringrazio @LusianL per la richiesta.
-
Nome Script: Limite Party Versione: 1.2 Autore/i: Ally, mikb89 Informazioni: Lo script dà la possibilità di impostare il limite del party, cosa non fattibile direttamente dal Tool. In più, è possibile inserire nel chiama script della Condizione SE la voce: [c]party_pieno?[/c] Per controllare se il gruppo ha raggiunto o no il limite stabilito. Istruzioni: Creare una nuova voce sopra Main ed inserire lo script. Nel caso di incompatibilità, provare a spostarla più in alto. Script Incompatibilità: N/A Note dell'autore: Ringraziamo per la richiesta.
-
Nome Script: Limited Moves Versione: 1.1 Autore/i: mikb89 Informazioni: Con questo script potrete bloccare determinati movimenti del giocatore, per farlo muovere ad esempio soltanto su e giù o destra e sinistra. Oppure bloccarlo totalmente nel caso ad esempio di intermezzi. Features: Via chiama script è possibile abilitare o impedire ogni singola direzione. I comandi possono essere inseriti anche in italiano. Istruzioni: Creare una nuova voce sopra Main ed inserire lo script. Nel caso di incompatibilità, provare a spostarla più in alto. Script Incompatibilità: N/A
-
Nome Script: Ambient Sound 1.0 Versione: 1.0 Autore/i: mikb89 Informazioni: Con questo script puoi impostare gli eventi per riprodurre suoni se accanto al giocatore, variando volume, pitch, ecc. Puoi anche personalizzare gli effetti cambiando le caratteristiche audio, via codice. Per usare questo script bisogna configurare nello script gli effetti, quindi scriverne solo il nome in un commento nella pagina dell'evento voluto. Istruzioni: Copiare lo script normalmente sotto Modules e sopra Main, quindi configurare gli effetti voluti. Script: Visibile su Pastebin[/indent] Demo: Demo multilingua v. 1.0 (1,33MB) http://www.mediafire.com/?alkn9m7g22gb023
-
Nome Script: Some Popup Versione: 2.8 Autore/i: mikb89 Informazioni: Con questo script potrete specificare del testo in un evento che verrà mostrato quando il giocatore si avvicina. Features: Sono disponibili diversi effetti di comparsa ed è possibile utilizzare picture anziché testo. Il testo può essere mostrato, oltre che sul giocatore, anche agganciato all'evento, per scomparire quando questo si allontana. È possibile riprodurre un suono SE, ME, BGM e BGS, sia generico che personalizzato per evento. Screenshots: Istruzioni: Inserite lo script sotto Materials. Le istruzioni sono fra i commenti. Script Demo: Demo multilingua v. 2.8 (1,35 MB)\nhttp://www.mediafire.com/?1q8pjd848mvd6n4 Incompatibilità: Sovrascrive lo script per la camminata in 8 direzioni. O viene sovrascritto, a seconda. Per ovviare, questo script è stato incorporato ed è attivabile/disattivabile tramite opzione. Note dell'autore: Ringrazio Unamuno per avere chiesto la versione per VX altrimenti non l'avrei postato né convertito e Guardian of Irael per avermi suggerito molti miglioramenti.
-
Nome Script: Pop Up Oggetti e Monete Versione: N/D Autore/i: Raizen884 Informazioni: Il titolo credo sia chiaro e faccia intuire subito di cosa tratta lo script =) Quando si riceve un Oggetto o delle Monete, sopra il personaggio apparirà un Pop Up con l'icona e la quantità ricevuta ^^ Screenshots: Istruzioni: Inserite lo script sotto Material. Istruzioni all'interno dello script. Script: #===============================================================# Item Popup # Compativel com RMVXAce# Autor: Raizen884# É permitido postar em outros lugares contanto que não seja mudado# as linhas dos créditos.#===============================================================# Item Popup# Descrição: O Item Popup, é um efeito que ao receber itens# no decorrer do jogo, ele será mostrado sobre o personagemmodule Raizenpop#Switch que ativa o script, sempre que não quiser que esteja#ativado o efeito de popup, basta desligar o switch.SWITCH = 1# Ajuste em x, aqui da para posicionar a coordenada inicial que# o item pop-up fará. Valores menores aproximam o Item popup para a direita.PX = 40# Ajuste em y, aqui da para posicionar a coordenada inicial que# o item pop-up fará. Valores menores aproximam o Item popup para baixo.PY = 90# tempo que levará para sumir o item popup, o valor está em frames# em que 60frames = 1 segundoTIME = 40# distancia que subirá o item popup, medido em pixels, sendo que o valor# 0 desliga o movimento do item popup.DIST = 50# mostrar a quantidade de itens recebidos? Mostrar = true# Som que tocará quando for ativado o popup, caso não queira som algum coloque# duas aspas desse modo "" . Caso queira adicionar algum som, colocar na pasta# SE dentro da pasta Audio do projeto e colocar o nome do arquivo aqui.SOUND = "Chime2"# Som do popup de goldSOUND2 = "Coin"# Número do icone de gold.ICON = 361end# Aqui começa o script, modifique apenas se sabe o que esta fazendo.module SceneManager def self.raizen_initialize(item, n) @scene.raizen_initialize(item, n, Raizenpop::DIST) end def self.raizen_gold(n) @scene.raizen_gold(n, Raizenpop::DIST) endendclass Window_Popup < Window_Base def initialize(x, y, item, n, jy) super(x, y, x + 544, y + 416) self.opacity = 0 refresh(item, n, $game_player.screen_x - Raizenpop::PX, $game_player.screen_y - Raizenpop::PY + jy) end def refresh(item, n, x, y) self.contents.clear if n != 0 self.contents.font.size = 16 if item != 0 and item != nil draw_icon(item.icon_index, x, y) self.contents.draw_text(x + 0, y - 10, 100, 50, item.name, 1) self.contents.draw_text(x - 66, y + 10, 100, 50, "x", 2) if Raizenpop::Mostrar self.contents.draw_text(x - 46, y + 10, 100, 50, n, 2) if Raizenpop::Mostrar else draw_icon(Raizenpop::ICON, x, y) self.contents.draw_text(x + 26, y - 10, 100, 50, "x", 0) if Raizenpop::Mostrar self.contents.draw_text(x + 40, y - 10, 100, 50, n, 0) if Raizenpop::Mostrar end end endendclass Scene_Shop < Scene_MenuBase def raizen_initialize(item, n, jy) end def raizen_gold(g, jy) endendclass Game_Party < Game_Unit alias popup_item gain_item def gain_item(item, n, include_equip = false) popup_item(item, n, include_equip = false) if $game_switches[Raizenpop] == true SceneManager.raizen_initialize(item, n) RPG::SE.new(Raizenpop::SOUND).play end end def gain_gold(n) @gold = [[@gold + n, 0].max, 9999999].min SceneManager.raizen_gold(n) RPG::SE.new(Raizenpop::SOUND2).play end endclass Scene_Map < Scene_Base alias initializeraizen start alias raizen_call call_menu def start @popup = Window_Popup.new(0, 0, 0, 0, 0) initializeraizenend def raizen_initialize(item, n, jy) @popup.refresh(item, n, $game_player.screen_x - Raizenpop::PX, $game_player.screen_y - Raizenpop::PY + jy) @item = item ; @n = n ; @jy = jy end def raizen_gold(g, jy) @popup.refresh(0, g, $game_player.screen_x - Raizenpop::PX, $game_player.screen_y - Raizenpop::PY + jy) @n = g ; @jy = jy ; @item = 0 endalias raizen_update update def update raizen_update if @n != nil @jy -= 1 @contador = 0 if @jy == 2 if @jy >= 0 raizen_initialize(@item, @n, @jy) else @contador += 1 if @contador <= Raizenpop::TIME raizen_initialize(@item, @n, 0) else raizen_initialize(@item, 0, 0) @gold = nil @n = nil end end end endend
-
Nome Script: More Choices Versione: 1.0 Autore/i: Fomar0153 Informazioni: Questo script permette di superare i quattro limiti di scelta imposti di default dal tool, impostando una variabile per eguagliare la scelta che fa il player... Screenshots: Istruzioni: Inserite lo script sotto Material. Di seguito lascio anche un'immagine che lo stesso autore ha rilasciato per fare un esempio del suo funzionamento: Altre istruzioni all'interno dello script. Script: =begin More Choices by Fomar0153 Version 1.0 ---------------------- Notes ---------------------- No requirements Allows you to have more than four choices ---------------------- Instructions ---------------------- Edit the method more_choice and then use the call in a choice option. ---------------------- Known bugs ---------------------- None =end class Game_Interpreter #-------------------------------------------------------------------------- # ● Edit Here # when handle # $game_message.choices.push("a choice") #-------------------------------------------------------------------------- def more_choice(p) case p when "Pizza Topping" $game_message.choices.push("Ham & Pineapple") $game_message.choices.push("Meat Feast") $game_message.choices.push("Chocolate") $game_message.choices.push("BBQ") $game_message.choices.push("Diamonds") $game_message.choices.push("Spicy Chicken") $game_message.choices.push("Garlic") else $game_message.choices.push(p) end end #-------------------------------------------------------------------------- # ● Long Choices - Don't edit this bit #-------------------------------------------------------------------------- def setup_choices(params) for s in params[0] more_choice(s) end $game_message.choice_cancel_type = params[1] $game_message.choice_proc = Proc.new {|n| @branch[@indent] = n } end end class Window_ChoiceList < Window_Command #-------------------------------------------------------------------------- # ● Feel free to change the 1 to another variable that you'd prefer #-------------------------------------------------------------------------- alias mc_call_ok_handler call_ok_handler def call_ok_handler $game_variables[1] = index mc_call_ok_handler end end
-
Nome Script: Second Parallax Layer Versione: N/D Autore/i: Crazyninjaguy Informazioni: Questo semplice script funziona un pò come l'uso delle picture, a differenza che può inserire anche più di 20 immagini. Chi mappa in parallax infatti, potrebbe averne bisogno ^^ Screenshot: Istruzioni: Inserite lo script sotto Material. Istruzioni all'interno dello script. Script: #=============================================================================== # * AEE - Second Parallax Layer # * By Crazyninjaguy # * http://www.planetdev.co.uk # * Part of Cng's Ace Engine Evolution # --------------------------------------------------------------------------- # * Follow the script instructions to setup correctly. #=============================================================================== $imported = {} if $imported == nil $imported["AEE-ParallaxingLayers"] = true module AEE module Parallax # Leave this line alone MAPS = [] # Set this to true if you want MAP[Map ID] to have two parallax layers. MAPS[1] = true # To add a new map to the script, simply add MAPS[Map ID] = true # on a new line. For example. # MAPS[12] = true # Without the '#' at the start of the line. end # Parallax end # AEE class Spriteset_Map include AEE::Parallax #============================================================================= # * Create_parallax - ALIASED #============================================================================= alias aee_spritesetmap_parallaxing_createparallax create_parallax def create_parallax aee_spritesetmap_parallaxing_createparallax @parallax2 = Plane.new(@viewport1) @parallax2.z = 201 # Above Character end # create_parallax #============================================================================= # * Dispose_parallax - ALIASED #============================================================================= alias aee_spritesetmap_parallaxing_disposeparallax dispose_parallax def dispose_parallax @parallax2.bitmap.dispose if @parallax2.bitmap @parallax2.dispose end # dispose_parallax #============================================================================= # * Update_parallax - OVERWRITTEN #============================================================================= def update_parallax if @parallax_name != $game_map.parallax_name @parallax_name = $game_map.parallax_name @parallax.bitmap.dispose if @parallax.bitmap @parallax.bitmap = Cache.parallax(@parallax_name) @parallax2.bitmap.dispose if @parallax2.bitmap if MAPS[$game_map.map_id] == true @parallax2.bitmap = Cache.parallax("#{@parallax_name}_layer2") end Graphics.frame_reset end if MAPS[$game_map.map_id] == true @parallax.ox = $game_map.display_x * 32 @parallax.oy = $game_map.display_y * 32 @parallax2.ox = $game_map.display_x * 32 @parallax2.oy = $game_map.display_y * 32 elsif @parallax.ox = $game_map.parallax_ox(@parallax.bitmap) @parallax.oy = $game_map.parallax_oy(@parallax.bitmap) end end # update_parallax end # Spriteset_Map Note dell'Autore: Per l'uso dello script in giochi commerciali, contattare l'autore.
-
Nome Script: Avviso HP Bassi Versione: N/D Autore/i: JohnBolton Informazioni: Se si hanno HP bassi, si riceveranno dei flash sullo schermo e un effetto sonoro come avviso. Istruzioni: Inserite lo script sotto Material. Istruzioni all'interno dello script. Script: #============================================================================== # ** Life's danger #------------------------------------------------------------------------------ # Autor: JohnBolton # Agradecimentos: Gab! #============================================================================== # Dá uma aviso de hp baixo, este aviso é dado por um flash na tela # e por um efeito sonoro. #============================================================================== module JohnBolton #-------------------------------------------------------------------------- # * Configurações #-------------------------------------------------------------------------- #Efeito Sonoro ativado? (On - true, Off - false) Sound_Effect_enable = true #Flash na tela ativado? (On - true, Off - false) Flash_Effect_enable = true #Porcentagem do hp para que o aviso seja dado HP_Porc = 15 #Som que será ativado. SE_Danger = "Stare" #Tempo entre um aviso e outro Time_Danger = 55 #Opções do flash Flash = Color.new(255,30,1,130) #-------------------------------------------------------------------------- # * Fim das Configurações #-------------------------------------------------------------------------- end class Game_Player < Game_Character alias john_lifesdanger_initialize initialize unless $@ def initialize john_lifesdanger_initialize @warn = 0 end alias bolton_lifesdanger_update update unless $@ def update bolton_lifesdanger_update @warn = (@warn + 1) % JohnBolton::Time_Danger for i in 1..$game_party.actors.size if $game_actors[i].hp <= ($game_actors[i].param(0) * JohnBolton::HP_Porc) / 100 && @warn == 1 $game_map.screen.start_flash(JohnBolton::Flash, 12) if JohnBolton::Flash_Effect_enable Audio.se_play('Audio/SE/' + JohnBolton::SE_Danger) if JohnBolton::Sound_Effect_enable end end end end
-
Nome Script: Rei Advanced Movement System Versione: 1.2 Autore/i: reijubv Informazioni: Questo script permette di avere dei movimenti del personaggio avanzati, come correre, saltare, sedersi, nuotare, etc... Features: Sprite Fermo Sprite Camminata Sprite Corsa Sprite Salto Sprite Seduto Sprite Nuoto altro... Istruzioni: Istruzioni e script sono all'interno della demo. Demo: http://www.mediafire.com/?ajdyno2nxdy
-
Nome Script: Ambient Sound 1.0 Versione: 1.0 Autore/i: mikb89 Informazioni: Con questo script puoi impostare gli eventi per riprodurre suoni se accanto al giocatore, variando volume, pitch, ecc. Puoi anche personalizzare gli effetti cambiando le caratteristiche audio, via codice. Per usare questo script bisogna configurare nello script gli effetti, quindi scriverne solo il nome in un commento nella pagina dell'evento voluto. Istruzioni: Copiare lo script normalmente sotto Modules e sopra Main, quindi configurare gli effetti voluti. Script: Visibile su Pastebin Demo: Demo multilingua v. 1.0 (257KB) http://www.mediafire...m96wim24ke11ijj Note dell'Autore: Consiglio di usarlo in combinazione con quest'altro script.
-
Nome Script: ISS - Sistema Giorno/Notte Versione: 1.1 Autore/i: IceDragon Informazioni: Questo script permette di introdurre nel proprio gioco un sistema giorno/notte. Come specificato nelle features, si hanno a disposizione 3 impostazioni, in base a ciò che si vuole ottenere. Features: - Game Time (Hai il pieno controllo su questo) - Real Time (Usa l'ora del computer) - Step Time (Cambiamenti sulla base dei passi) Istruzioni: Istruzioni e script all'interno della demo. Demo: http://www.mediafire.com/?4k4q10463wqu02p
-
Nome Script: Caterpillar by Atoa Versione: N/D Autore/i: Atoa Informazioni: Questo sistema permette di avere il gruppo che segue l'eroe ^^ Screenshots: Istruzioni: Inserite il solito script sotto Material Script #============================================================================= # Atoa Atoa Caterpillar # Por Atoa #============================================================================== # Este script permite vizualizar os membros no mapa, eles irão seguir o herói # Um pouco diferente dos outros caterpillar, neste os personagens # Só se movimentam caso necessário (portanto eles não ficam igual "barata tonta" # se você ficar indo e voltando. # # Para juntar os personagens use o comando: $game_player.caterpillar_gather # # Um aviso importante: O script não funciona muito bem com movimeno em diagonal # ele fica visualmente bonito apenas com 3 ou 2 pesonagens no grupo. # Após usa-lo, use o comando de reunir grupo. #============================================================================== module Atoa # Numero máximos de personagens seguindo o herói na tela Max_Caterpillar_Actor = 3 # ID do switch que esconde a vizualização dos personagens quando ativado Caterpillar_Hide_Switch = 1 # Permitir alterar ordem do grupo apertando-se as teclas Q ou W? Allow_Reorder = true # Distancia máxima entre os personagens do grupo # Deixe 0 para desativar Max_Distance = 0 end #============================================================================== # ■ Game_Character #============================================================================== class Game_Character #-------------------------------------------------------------------------- include Atoa #-------------------------------------------------------------------------- attr_accessor(:direction) end #============================================================================== # ■ Game_Player #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- attr_accessor(:catterpillar, :old_x, :old_y, :move_speed) #-------------------------------------------------------------------------- alias atoa_caterpillar_refresh refresh if !method_defined?(:atoa_caterpillar_refresh) def refresh catterpillar_update atoa_caterpillar_refresh end #-------------------------------------------------------------------------- def catterpillar_update if @catterpillar == nil @catterpillar = [] for i in 1...(Max_Caterpillar_Actor + 1) @catterpillar[i - 1] = Atoa_Catterpillar.new(i) end end for cat in @catterpillar cat.refresh end end #-------------------------------------------------------------------------- alias atoa_caterpillar_update update if !method_defined?(:atoa_caterpillar_update) def update for cat in @catterpillar cat.update end atoa_caterpillar_update end #-------------------------------------------------------------------------- alias atoa_caterpillar_moveto moveto if !method_defined?(:atoa_caterpillar_moveto) def moveto(x, y) atoa_caterpillar_moveto(x, y) catterpillar_update if @catterpillar.nil? or @move_update.nil? for i in [email protected] @catterpillar[i].moveto(x, y) end end #-------------------------------------------------------------------------- def set_old_direction @[member=OldPat]_x = @x @[member='oldmythology'] = @y for i in [email protected] @catterpillar[i].old_x = @catterpillar[i].x @catterpillar[i].old_y = @catterpillar[i].y end end #-------------------------------------------------------------------------- def cat_moved?(i, d) cat = i == 0 ? self : @catterpillar[i - 1] cat2 = @catterpillar[i] if d == 1 or d == 3 or d == 7 or d == 9 return true elsif (cat.direction == 2 or cat.direction == 8) and cat.y == cat2.y return false elsif (cat.direction == 4 or cat.direction == 6) and cat.x == cat2.x return false elsif cat.old_x != cat.x or cat.old_y != cat.y return true end return false end #-------------------------------------------------------------------------- def move_cat(i, d) if cat_moved?(i, d) @catterpillar[i].move_player if i == 0 or (i != 0 and (d == 1 or d == 3 or d == 7 or d == 9)) @catterpillar[i].move_update.push(d) else @catterpillar[i].move_update.push(@catterpillar[i - 1].direction) end else if i == 0 or check_same_tile(i) @catterpillar[i].move_update.clear else cat = @catterpillar[i].move_update[0] @catterpillar[i].move_update.clear @catterpillar[i].move_update.push(cat) end end end #-------------------------------------------------------------------------- def check_same_tile(i) return false if i == 0 cat = @catterpillar[i - 1] cat2 = @catterpillar[i] return true if cat.x == cat2.x and cat.y == cat2.y return false end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_down move_down if !method_defined?(:atoa_caterpillar_move_down) def move_down(turn_ok = true) set_old_direction passable = passable?(@x, @y+1) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_down if passable for i in [email protected] move_cat(i, 2) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_left move_left if !method_defined?(:atoa_caterpillar_move_left) def move_left(turn_ok = true) set_old_direction passable = passable?(@x-1, @y) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_left if passable for i in [email protected] move_cat(i, 4) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_right move_right if !method_defined?(:atoa_caterpillar_move_right) def move_right(turn_ok = true) set_old_direction passable = passable?(@x+1, @y) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_right if passable for i in [email protected] move_cat(i, 6) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_up move_up if !method_defined?(:atoa_caterpillar_move_up) def move_up(turn_ok = true) set_old_direction passable = passable?(@x, @y-1) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_up if passable for i in [email protected] move_cat(i, 8) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_lower_left move_lower_left if !method_defined?(:atoa_caterpillar_move_lower_left) def move_lower_left set_old_direction passable = (passable?(@x, @y+1) and passable?(@x-1, @y+1)) or (passable?(@x-1, @y) and passable?(@x-1, @y+1)) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_lower_left if passable for i in [email protected] move_cat(i, 1) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_lower_right move_lower_right if !method_defined?(:atoa_caterpillar_move_lower_right) def move_lower_right(turn_ok = true) set_old_direction passable = (passable?(@x, @y+1) and passable?(@x+1, @y+1)) or (passable?(@x+1, @y) and passable?(@x+1, @y+1)) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_lower_right if passable for i in [email protected] move_cat(i, 3) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_upper_left move_upper_left if !method_defined?(:atoa_caterpillar_move_upper_left) def move_upper_left(turn_ok = true) set_old_direction passable = (passable?(@x, @y-1) and passable?(@x-1, @y-1)) or (passable?(@x-1, @y) and passable?(@x-1, @y-1)) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_upper_left if passable for i in [email protected] move_cat(i, 7) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_move_upper_right move_upper_right if !method_defined?(:atoa_caterpillar_move_upper_right) def move_upper_right(turn_ok = true) set_old_direction passable = (passable?(@x, @y-1) and passable?(@x+1, @y-1)) or (passable?(@x+1, @y) and passable?(@x+1, @y-1)) catterpillar_update if @catterpillar.nil? or @move_update.nil? atoa_caterpillar_move_upper_right if passable for i in [email protected] move_cat(i, 9) end end end #-------------------------------------------------------------------------- alias atoa_caterpillar_get_on_vehicle get_on_vehicle if !method_defined?(:atoa_caterpillar_get_on_vehicle) def get_on_vehicle enter = atoa_caterpillar_get_on_vehicle caterpillar_gather if enter return enter end #-------------------------------------------------------------------------- alias atoa_caterpillar_get_off_vehicle get_off_vehicle if !method_defined?(:atoa_caterpillar_get_off_vehicle) def get_off_vehicle for i in [email protected] @catterpillar[i].moveto(@x, @y) end atoa_caterpillar_get_off_vehicle caterpillar_gather end #-------------------------------------------------------------------------- def caterpillar_gather for i in [email protected] @catterpillar[i].gather_party end end end #============================================================================== # ■ Atoa_Catterpillar #============================================================================== class Atoa_Catterpillar < Game_Character #-------------------------------------------------------------------------- attr_accessor(:move_update, :member, :old_x, :old_y, :x, :y, :move_speed) #-------------------------------------------------------------------------- def initialize(member) super() @move_update = [] @member = member moveto($game_player.x, $game_player.y) @through = true refresh end #-------------------------------------------------------------------------- def moveto(x, y) super(x, y) @move_update.clear end #-------------------------------------------------------------------------- def refresh party = $game_party.members if party.size < @member @character_name = "" @character_hue = 0 return end actor = party[@member] if actor == nil @character_name = "" @character_hue = 0 return end @character_name = actor.character_name @character_index = actor.character_index @opacity = 255 @blend_type = 0 end #-------------------------------------------------------------------------- def screen_z if $game_player.x == @x and $game_player.y == @y return $game_player.screen_z - 1 end super end #-------------------------------------------------------------------------- def check_event_trigger_here(triggers) return false end #-------------------------------------------------------------------------- def check_event_trigger_there(triggers) return false end #-------------------------------------------------------------------------- def check_event_trigger_touch(x, y) return false end #-------------------------------------------------------------------------- def update member = @member == 1 ? $game_player : $game_player.catterpillar[@member - 2] diff = ((player_distance(member) >= Max_Distance) or !$game_player.moving?) ? 0 : 1 @move_speed = [member.move_speed - diff, 1].max super @transparent = $game_player.transparent @transparent = @transparent ? @transparent : $game_switches[Caterpillar_Hide_Switch] end #-------------------------------------------------------------------------- def player_distance(member) if far_from_member(member) dist_x = ((member.screen_x - self.screen_x)/32).to_i.abs dist_y = ((member.screen_y - self.screen_y)/32).to_i.abs return dist_x - 1 if dist_x >= dist_y return dist_y - 1 if dist_y >= dist_x end return 0 end #-------------------------------------------------------------------------- def far_from_member(member) return true if (member.screen_x > self.screen_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> and ((member.screen_x - self.screen_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> > 32) return true if (member.screen_y > self.screen_y) and ((member.screen_y - self.screen_y) > 32) return true if (member.screen_x < self.screen_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> and ((self.screen_x - member.screen_<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> > 64) return true if (member.screen_y < self.screen_y) and ((self.screen_y - member.screen_y) > 64) return false end #-------------------------------------------------------------------------- def move_player refresh return if @move_update.empty? case @move_update[0] when 1 move_lower_left when 2 move_down when 3 move_lower_right when 4 move_left when 6 move_right when 7 move_upper_left when 8 move_up when 9 move_upper_right end @move_update.delete_at(0) end #-------------------------------------------------------------------------- def gather_party for i in 0...$game_party.members.size move_toward_player end @x = $game_player.x @y = $game_player.y @move_update.clear end end #============================================================================== # ■ Spriteset_Map #============================================================================== class Spriteset_Map #-------------------------------------------------------------------------- include Atoa #-------------------------------------------------------------------------- alias atoa_caterpillar_create_characters create_characters if !method_defined?(:atoa_caterpillar_create_characters) def create_characters atoa_caterpillar_create_characters for caterpillar in $game_player.catterpillar.reverse sprite = Sprite_Character.new(@viewport1, caterpillar) @character_sprites.push(sprite) end @[member=OldPat]_party = $game_party.members.dup end #-------------------------------------------------------------------------- def update_characters for sprite in @character_sprites sprite.update end end end #============================================================================== # ■ Game_Party #============================================================================== class Game_Party < Game_Unit #-------------------------------------------------------------------------- attr_accessor :actors end #============================================================================== # ■ Scene_Map #============================================================================== class Scene_Map #-------------------------------------------------------------------------- include Atoa #-------------------------------------------------------------------------- alias atoa_caterpillar_update update if !method_defined?(:atoa_caterpillar_update) def update atoa_caterpillar_update if Input.trigger?(Input::L) and Allow_Reorder Sound.play_decision reorder_party(true) end if Input.trigger?(Input::R) and Allow_Reorder Sound.play_decision reorder_party(false) end end #-------------------------------------------------------------------------- def reorder_party(order) if order party = $game_party.actors.shift $game_party.actors << party else party = $game_party.actors.pop $game_party.actors.unshift(party) end $game_player.refresh end end
-
Nome Script: Easy Crystarium System Versione: N/D Autore/i: Kentaro-su Informazioni: Olà. Una popolare richiesta negli ultimi tempi è un sistema di crescita dei pg tipo quello crystarium (crystallium, fate voi) di ff13. Siccome la cosa mi sfiziava, ho tirato fuori questo sistema misto script+eventi. Questo script è adatto a chi cerca qualcosa di relativamente semplice e controllabile, senza action sequence building di altri script sicuramente fatti meglio, ma molto meno "noob friendly". Screenshots: Istruzioni: Semplicemente mettete lo script tra Materials e Main, configurate il setup, abbinate 1 variabile a ciascun personaggio, impostate 1 switch e poi sbizzarritevi a creare mappe piene di belle skills da sbloccare o potenziamenti di parametri Lo script in pratica gestisce il collegamento tra menu e mappe; il grosso del lavoro va fatto su ciascuna mappa, ad eventi, ed è tutto a carico del game designer (vostro). F.A.Q: D: Figata!! Posso usarlo nel mio gioco? R: Si. Cortesemente, aggiungimi nei crediti (Kentaro). D: Posso modificarlo/estenderlo/trasformarlo... R: Si. Sempre cortesemente, mi piacerebbe esserne informato. Ma non è di importanza vitale. D: Potresti... R: No. Demo: Trovate tutto nella demo, che vi consiglio di studiare a fondo: http://www.sendspace.com/file/1qrici
-
Nome Script: Some Popup Versione: 2.8 Autore/i: mikb89 Informazioni: Con questo script potrete specificare del testo in un evento che verrà mostrato quando il giocatore si avvicina. Features: Sono disponibili diversi effetti di comparsa ed è possibile utilizzare picture anziché testo. Il testo può essere mostrato, oltre che sul giocatore, anche agganciato all'evento, per scomparire quando questo si allontana. È possibile riprodurre un suono SE, ME, BGM e BGS, sia generico che personalizzato per evento. Screenshots: Istruzioni: Inserite lo script sotto Materials. Le istruzioni sono fra i commenti. Script Demo: Demo multilingua v. 2.8 (288 KB) http://www.mediafire.com/?ajjqc1dhn4038eb Incompatibilità: Sovrascrive lo script per la camminata in 8 direzioni. O viene sovrascritto, a seconda. Per ovviare, questo script è stato incorporato ed è attivabile/disattivabile tramite opzione. Note dell'autore: Ringrazio Unamuno per averlo chiesto altrimenti non l'avrei postato e Guardian of Irael per avermi suggerito molti miglioramenti.
-
Nome Script: Script Pausa Versione: 1.00 Autore/i: kaisouryouiki Informazioni: Inserisce una pausa nel vostro gioco =) Istruzioni: Inserite lo script sopra Main. Inserite poi questa immagine nella cartella System del vostro progetto: Potete anche personalizzarla quindi, ma ricordate di rinominarla STOP_BACK.png. Script: =begin ★マップ一時停止★ マップ上で指定したキーを押すことにより、ゲームの更新を一時的に 行わないようにします。 設定によっては、イベントも一時停止させることができます。 メニュー開けば停止するじゃん、とか言わないよーに^^ ● 注意 ●========================================================== 「STOP_BACK」という名前の画像ファイルをSystemフォルダの中にインポート しておいてください。 ==================================================================== ver1.00 Last Update : 2009/09/10 09/10 : 新規 ろかん http://kaisouryouiki.web.fc2.com/ =end #=========================================== # 設定箇所 #=========================================== module Rokan module Game_Stop # 一時停止を許可するスイッチ番号 SWITCH = 35 # 一時停止に利用するキー INPUT_KEY = Input::Z # イベントの一時停止も許可するかどうか EVENT_STOP = true end end #=========================================== # ここまで #=========================================== $rsi = {} if $rsi == nil $rsi["マップ一時停止"] = true class Scene_Map < Scene_Base #-------------------------------------------------------------------------- # ● インクルード Rokan::Game_Stop #-------------------------------------------------------------------------- include Rokan::Game_Stop #-------------------------------------------------------------------------- # ● メイン処理 ※再定義 #-------------------------------------------------------------------------- def main start # 開始処理 perform_transition # トランジション実行 post_start # 開始後処理 Input.update # 入力情報を更新 loop do Graphics.update # ゲーム画面を更新 Input.update unless @stop @stop ? stop_update : update break if $scene != self # 画面が切り替わったらループを中断 end Graphics.update pre_terminate # 終了前処理 Graphics.freeze # トランジション準備 terminate # 終了処理 end #-------------------------------------------------------------------------- # ● 開始処理 #-------------------------------------------------------------------------- alias stop_reset start unless $! def start stop_reset @stop = false end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias stop_in? update unless $! def update if Input.trigger?(INPUT_KEY) && event_stop? && $game_switches[SWITCH] Sound.play_decision snapshot_for_background create_menu_background create_map_background @stop = true return end stop_in? end #-------------------------------------------------------------------------- # ● 一時停止中のフレーム更新 #-------------------------------------------------------------------------- def stop_update Input.update if Input.trigger?(INPUT_KEY) Sound.play_decision dispose_menu_background @stopback_sprite.dispose @stop = false end end #-------------------------------------------------------------------------- # ● 一時停止用の背景作成 #-------------------------------------------------------------------------- def create_map_background @stopback_sprite = Sprite.new @stopback_sprite.z = 300 @stopback_sprite.bitmap = Cache.system("STOP_BACK") end #-------------------------------------------------------------------------- # ● イベント一時停止可能判定 #-------------------------------------------------------------------------- def event_stop? if ! EVENT_STOP && $game_map.interpreter.running? return false else return true end end end
-
Nome Script: Extra Movement Frames Versione: modern algebra Autore/i: 1.0 Informazioni: Con questo script si possono usare chara con più di 3 frame di movimento, ottenendo così maggiore fluidità nella camminata del personaggio/i. Si possono importare direttamente anche chara dell'XP rinominando però il file ^^ Istruzioni: Lo script si deve inserire sopra Main. Per utilizzare un chara con più frame, bisogna rinominare il file in questo modo: !$%[<numero di frame>]<Nomefile> Esempio: $% [4]001-Fighter01 Ciò renderebbe la grafica di 001-Fighter01 a 4 frame. Script: #============================================================================== # Extra Movement Frames v. 1.0 # Author: modern algebra (rmrk.net) # Date: January 20, 2008 #------------------------------------------------------------------------------ # Instructions: # Insert this script above main in the database. To add a character with # extra movement frames, simply rename the character graphic to something # of the form: # !$%[<number of movement frames>]<Regular name> # # Example: !$%[4]001-Fighter01 # That would make the graphic 001-Fighter01 be interpreted as having 4 frames #------------------------------------------------------------------------------ # ** Game_Character #------------------------------------------------------------------------------ # Summary of changes: # aliased methods - update_animation # new class variables - height divisor, width divisor # new methods - calculate_divisors #============================================================================== class Game_Character #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :height_divisor # The height of a single frame attr_reader :width_divisor # number of frames in the x direction attr_reader :char_frames #-------------------------------------------------------------------------- # * Calculate Divisors #-------------------------------------------------------------------------- # Sets up the instance variables required #-------------------------------------------------------------------------- def calculate_divisors return unless @previous_character.nil? || @previous_character != @character_name bitmap = Cache.character (@character_name) sign = @character_name[/^[!$].[%][d*]/] if !sign.nil? && sign.size > 5 @original_pattern = 0 @width_divisor = sign[4, sign.size - 5].to_i @height_divisor = 4 @char_frames = @width_divisor elsif !sign.nil? && sign.include? ('$') @width_divisor = 3 @height_divisor = 4 @char_frames = 3 else @width_divisor = 12 @height_divisor = 8 @char_frames = 3 end @previous_character = @character_name end #-------------------------------------------------------------------------- # * Update Animation #-------------------------------------------------------------------------- # Change the hard coded values to ones dependent on character graphic format #-------------------------------------------------------------------------- alias ma_extra_movement_frames_anim_upd update_animation def update_animation if @char_frames == 3 ma_extra_movement_frames_anim_upd return end saved_anime_count = @anime_count pattern_original = @pattern speed = @move_speed + (dash? ? 1 : 0) ma_extra_movement_frames_anim_upd if (saved_anime_count > (18 - speed * 2)) && (@[member=Stephenol]_anime || (@stop_count <= 0)) @pattern = (pattern_original + 1) % @char_frames end end end #============================================================================== # * Sprite Character #------------------------------------------------------------------------------ # Summary of changes: # aliased methods - update_src_rect, update_bitmap #============================================================================== class Sprite_Character #-------------------------------------------------------------------------- # * Update Src Rect #-------------------------------------------------------------------------- # Interpret multiple movement frames: Changed pattern #-------------------------------------------------------------------------- alias ma_extra_movement_frames_src_rect_upd update_src_rect def update_src_rect if @tile_id == 0 ma_extra_movement_frames_src_rect_upd index = @character.character_index pattern = @character.pattern < @character.char_frames ? @character.pattern : 1 sx = (index % 4 * 3 + pattern) * @cw sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch self.src_rect.set(sx, sy, @cw, @ch) end end #-------------------------------------------------------------------------- # * Update Bitmap #-------------------------------------------------------------------------- # Change hard coded values to ones dependent on character graphic #-------------------------------------------------------------------------- alias ma_extra_movement_frames_bmp_upd update_bitmap def update_bitmap @character.calculate_divisors saved_tile_id = @tile_id saved_character_name = @character_name saved_character_index = @character_index ma_extra_movement_frames_bmp_upd if saved_tile_id != @character.tile_id or saved_character_name != @character.character_name or saved_character_index != @character.character_index unless @tile_id > 0 @cw = bitmap.width / @character.width_divisor @ch = bitmap.height / @character.height_divisor self.ox = @cw / 2 self.oy = @ch end end end end #============================================================================== # ** Window Base #------------------------------------------------------------------------------ # Summary of changes: # overwritten methods - draw_character #============================================================================== class Window_Base #-------------------------------------------------------------------------- # * Draw Charater (overwritten for extra movement frames) # character_name : the name of the character file # character_index : the index of the character in the file # x : the x position to draw # y : the y position to draw #-------------------------------------------------------------------------- def draw_character(character_name, character_index, x, y) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[!$].[%][d*]/] if !sign.nil? && sign.size > 5 cw = bitmap.width / sign[4, sign.size - 5].to_i ch = bitmap.height / 4 elsif sign != nil and sign.include?('$') cw = bitmap.width / 3 ch = bitmap.height / 4 else cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch) self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end end
-
Nome Script: Ccoa's Weather Script Versione: 1.1 Autore/i: Ccoa Informazioni: Come sapete, questo script era stato originariamente creato per XP. Per chi non lo conoscesse, si tratta di uno script che crea degli effetti atmosferici diversi da quelli di default e leggermente più realistici. In questa versione sono stati aggiunti altri effetti, e se non sbaglio, la possibilità di usare anche proprie immagini. La versione per XP, in un eventuale uso commerciale, si doveva pagare Ccoa con una piccola cifra. Per il momento questo si può usare in progetti non commerciali, in quanto Ccoa non si riesce a rintracciare, e non sappiamo nulla a riguardo per chi volesse utilizzarlo su progetti a scopi commerciali. Features: - 15 differenti tipi di effetti - Possibilità di usare proprie picture - Tempo più forte da quello di default - Controllo della tonalità della picture Istruzioni: Per richiamare un effetto, create un call script con all'interno il seguente codice: screen.weather (type, strength, transition)Dove type è l'effetto che volete ottenere (vedere i vari tipi di effetti all'interno dello script), strengh è la forza che deve avere l'effetto e transition è il numero di fotogrammi, appunto, dell'effetto. Se si vuole creare un effetto diverso dalla tonalità standard, utilizzate questo call script: screen.weather (type, strength, transition, Tone.new(R, G, )o screen.weather (type, strength, transition, Tone.new(R, G, B, Gr)Dove RGB sono corrispettivamente i colori Rosso, Verde e Blu, con valori che vanno -255 a 255, e Gr è il grigio (o la desaturazione dello sprite), ed è un valore da 0-255. Per creare un effetto personalizzato, è necessario utilizzare un call script all'interno di un evento. Per configurarlo, bisogna avere le immagini che si vogliono utilizzare nella cartella Pictures del gioco. Esempio: $WEATHER_IMAGES = ["imagename1", "imagename2", imagename3] $WEATHER_X = -1 $WEATHER_Y = 5 $WEATHER_FADE = 5 $WEATHER_ANIMATED = trueIl codice parla chiaramente. Avremmo 3 immagini che si muoveranno di 1px a sinistra e di 5px in giù, con trasparenza 5 etc etc etc xD Fatto ciò, è necessario richiamare anche questo call script: $WEATHER_UPDATE = trueQuesto permette allo script di sapere che hai cambiato qualcosa nelle immagini... Infine, utilizziamo: screen.weather(15, strength, transition)Se qualcosa non è chiaro, potete far riferimento alla demo di esempio, dove potete reperire gli script. Vi ricordo che quest'ultimi devono essere inseriti sotto Material. Demo: http://www.mediafire.com/?abui19kft0yoa2s Incompatibilità: Dovrebbe essere compatibile con qualsiasi script.