Jump to content

AD-Blocker detected, please disable your ad-blocker when surfing in makerando.com - There is no invasive Ad.

 

  • Chatbox

    You don't have permission to chat.
    Load More

Recommended Posts

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:

 

shot0001.jpg

shot0002.jpg

shot0003.jpg

shot0004.jpg

shot0005.jpg

 

 

Istruzioni:

Istruzioni all'interno della demo e dello script.

 

Demo:

http://arcthunder.site40.net/

 

Note dell'Autore:

http://arcthunder.site40.net/terms/

Share this post


Link to post
Share on other sites

spero di non fare il necropost di turno, ma volevo giusto segnalare per consigliarlo, stamane stavo infatti provando un paio di plugin per il "grid-free" (rognosissimo in un action rpg dover sottostare per i movimenti ai rigidi tiles da 32x32...)

avenvo provato un plugin di un certo Victor (mi laggava un sacco e tenete conto che l'ho testato su progetto praticamente VUOTO...), quindi ho provato un altro di  un certo XCJ o qualcosa del genere, andava già molto meglio quanto a lagging ma ancora un pochino ne risentiva, poi ho cercato qua sul forum e ho provato questo e mi gira alla perfezione senza nessun lagging, tra l'altro è settato di default a 0.25 per "passo", valore che fa proprio a caso mio ^^

Share this post


Link to post
Share on other sites

Aspetto il video ^^

lo script sembra fare bene il suo dovere, ora devo "solo" piegare gli eventi, ho molto lavoro di concept da fare, soprattutto per gli eventi che avevo basato su variabili con dati di gioco "passi" perchè prima ne faceva 1 ogni tile da 32px, ora ne fa molti di più a parità di pixel... per non parlare poi del mio pp per le collisioni che faceva il conto dei più o meno 1 per x e y, mentre ora avendo un range di 0,25 devo estendere la collisione per tutti i valori da -1 a +1 (avrei fatto volentieri da -0,25 a +0,25 se il tool mi avesse permesso di usare le virgole nelle variabili..) non so mi sa che vien fuori una mezza porcata :/

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Ally
      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
    • By Ally
      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 [email protected]_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 [email protected]_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 [email protected]_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 [email protected]_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
    • By Ally
      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
    • By Ally
      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
×