zecomeia
RPG Maker
Postagens : 51 Data de inscrição : 20/08/2009
| Assunto: BUG do pulo Ter Nov 17, 2009 8:53 pm | |
| BUG do Pulo por zecomeia IntroduçãoConserta um BUG do comando de pulo. Na verdade é apenas uma trava de segurança, porque no RMVX não existe essa trava que impeça o jogador pular em cima de um tile não passável e ficar preso, ou pular perto dos limites do mapa ultrapassando esses limites também fazendo com que o jogador fique preso. No RMXP a trava impede que o evento de pular aconteça nas situações descritas anteriormente, já com esse script para qualquer um dos doi (RMVX ou RMXP), caso as coordenadas de destino do pulo causem problemas, as mesmas são recauculadas de forma a diminuir a distância do pulo em 1 quadro até ser possível o evento de pulo ser concretizado sem possíveis problemas. Alguns costumam aproveitar deste "BUG" para fazer cut scenes "passando por cima" de tiles não passáveis, pensando nisso o script te dá a opção de ativar ou desativar o script de conserto a qualquer momento. Características * Conserta o BUG do pulo do RMVX * Causa o mesmo efeito para o RMXP, mesmo não havendo BUG ScreenshotsNenhumaComo usarColoque o script acima de main. Para deixar o BUG use o código, no comando "chamar script": - Código:
-
$BUGpulo = true Para retirar o BUG use o código, no comando "chamar script": - Código:
-
$BUGpulo = nil Sinta-se à vontade para colocar ou tirar o BUG quando quiser. DemoDemo RMXPDemo RMVXscript - Código:
-
#======================== #BUG do pulo #======================== #Autor: zecomeia #Data: 12/11/2009 #------------------------ #Descrição: #Este script impede que o #personagem fique preso #em tiles quando usado #o comando de pulo. #Pensando em quem costuma #usar o comando de pulo #mesmo em lugares não #passáveis existe uma #forma de ligar/desligar #o efeito do script. #Para manter o bug: #$BUGpulo = true #Para retirar o bug: #$BUGpulo = false if $TEST == true or (File.stat("Game.rgss2a").file? rescue false) or (File.stat("Game.rvproj").file? rescue false) $PLATFORM = 'VX' elsif $DEBUG == true or (File.stat("Game.rgssad").file? rescue false) or (File.stat("Game.rxproj").file? rescue false) $PLATFORM = 'XP' end
$BUGpulo = true class Game_Character def jump(x_plus, y_plus) unless $BUGpulo == true if x_plus.abs > y_plus.abs x_plus < 0 ? turn_left : turn_right elsif x_plus.abs > y_plus.abs y_plus < 0 ? turn_up : turn_down end until ($PLATFORM.eql?('VX') ? map_passable?(@x + x_plus, @y + y_plus) : passable?(@x + x_plus, @y + y_plus,0)) break if x_plus==0 and y_plus==0 if x_plus > 0 x_plus -= 1 elsif x_plus < 0 x_plus += 1 end if y_plus > 0 y_plus -= 1 elsif y_plus < 0 y_plus += 1 end end @x += x_plus @y += y_plus distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten else if x_plus.abs > y_plus.abs x_plus < 0 ? turn_left : turn_right elsif x_plus.abs > y_plus.abs y_plus < 0 ? turn_up : turn_down end @x += x_plus @y += y_plus distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round @jump_peak = 10 + distance - @move_speed @jump_count = @jump_peak * 2 @stop_count = 0 straighten end end end
Perguntas FrequentesNenhumaCréditos e Agradecimentos * Feito por zecomeia
Última edição por zecomeia em Sex Nov 20, 2009 6:23 pm, editado 1 vez(es) |
|
Neto Rpg
Membro Especial
Postagens : 30 Data de inscrição : 15/08/2009
| Assunto: Re: BUG do pulo Qui Nov 19, 2009 8:41 pm | |
| Script interessante. Pode ser útil em alguns casos, como você descreveu acima.
Obrigado por desponibiliza-lo aqui ^^ |
|
zecomeia
RPG Maker
Postagens : 51 Data de inscrição : 20/08/2009
| Assunto: Re: BUG do pulo Sex Nov 20, 2009 6:27 pm | |
| Valeu Neto, espero que seja útil para o pessoal ^^
T+ |
|
Douglanilo
Mestre
Postagens : 959 Data de inscrição : 02/04/2009
| Assunto: Re: BUG do pulo Sex Nov 20, 2009 6:30 pm | |
| Hum... talvez eu possa usar esse seu script no meu sistema de Mario XD.
Valeu pelo Script, vai me ajudar e ajudar o pessoal!
Até o/ |
|