Hola, soy nuevo en esta comunidad y nose si esta ira aquí o no XD.

Bueno la cosa es la siguiente.

Yo hace mucho tiempo de esta misma pagina me bajé los scipt de video flash swf (los 3 engines), al principio me dio problemas pero termine haciendolos funcionar.

Sin embargo, todo este mes e estado intentando hacer 2 script RMFLASH distintos, uno ke sea par llamar a los videos de forma normal dentro del juego (como en los engines, en los cuales al ablar con un personaje aparece el video a pantalla completa), y otro en el cual el video este detras del personaje

y el personaje se mueva como si estuviera en un mapa cualkiera (osea como tileset o mejor dicho como PANORAMA), y que esto tenga un LOOP infinito hasta que el personaje cambie de mapa . Y si es que pudiera tener mas de un video de fondo para cada mapa seria fantastico. :)

El otro problema que tengo (que al parecer es bastante mas facil de solucionar que el otro XDDD), en mi juego estoy usando enemigos mas grande de lo normal, enormes y otros gigantescos XD, y sucede ke solo tienen un cuadrado de coalision y todo lo demas es transparente, lo cual es molesto a la hora de jugar pues no se sabe donde atacar al enemigo. Bueno el caso es ke despues de muxo buscar el la web encontre un script de algo llamado COALISION POR PIXELES. Si bien al parecer es lo ke busco pero tiene un problema, ke si bien aumenta la coalision de los eventos pero a la vez tambien disminuye la coalision minima de un cuadrado y eso me a dado errores terribles en mi juego. Se puede solucionar eso en el script? o alguien tiene otra forma de aumentar (no disminuir) la coalision de los eventos con charas mas grandes?

Este es el script (se llama Cogwheel's Pixel Movement):

# 8)

result &= left2(x, y - 1, distance)

if result == false

if left

move_lower_left_p

if @revise_y > DOWN

@revise_y = DOWN

end

end

return result

end

elsif @revise_y > DOWN

result = left2(x - 1, y, distance, 2)

result &= left2(x, y + 1, distance)

if result == false

if left

move_upper_left_p

if @revise_y < -UP

@revise_y = -UP

end

end

return result

end

end

@revise_x -= distance

return result

end

#--------------------------------------------------------------------------

def left2(x, y, distance, d = 4)

if @revise_x - distance < -SIDE

unless passable?(x, y, d)

if @revise_x > -SIDE

@revise_x = -SIDE

end

return false

end

end

return true

end

#--------------------------------------------------------------------------

def move_right_p

turn_right

distance = 2 ** @move_speed

right1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance, true)

end

#--------------------------------------------------------------------------

def right1(x, y, distance, right = false)

result = right2(x, y, distance)

if result == false

@event_run = check_event_trigger_touch(x+1, y)

return result

end

if @revise_y < -UP

result = right2(x + 1, y, distance, 8)

result &= right2(x, y - 1, distance)

if result == false

if right

move_lower_right_p

if @revise_y > DOWN

@revise_y = DOWN

end

end

return result

end

elsif @revise_y > DOWN

result = right2(x + 1, y, distance, 2)

result &= right2(x, y + 1, distance)

if result == false

if right

move_upper_right_p

if @revise_y < -UP

@revise_y = -UP

end

end

return result

end

end

@revise_x += distance

return result

end

#--------------------------------------------------------------------------

def right2(x, y, distance, d = 6)

if @revise_x + distance > SIDE

unless passable?(x, y, d)

if @revise_x < SIDE

@revise_x = SIDE

end

return false

end

end

return true

end

#--------------------------------------------------------------------------

def move_up_p

turn_up

distance = 2 ** @move_speed

up1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance, true)

end

#--------------------------------------------------------------------------

def up1(x, y, distance, up = false)

result = up2(x, y, distance)

if result == false

@event_run = check_event_trigger_touch(x, y-1)

return result

end

if @revise_x < -SIDE

result = up2(x, y - 1, distance, 4)

result &= up2(x - 1, y, distance)

if result == false

if up

move_upper_right_p

if @revise_x > SIDE

@revise_x = SIDE

end

end

return result

end

elsif @revise_x > SIDE

result = up2(x, y - 1, distance, 6)

result &= up2(x + 1, y, distance)

if result == false

if up

move_upper_left_p

if @revise_x < -SIDE

@revise_x = -SIDE

end

end

return result

end

end

@revise_y -= distance

return result

end

#--------------------------------------------------------------------------

def up2(x, y, distance, d = 8)

if @revise_y - distance < -UP

unless passable?(x, y, d)

if @revise_y > -UP

@revise_y = -UP

end

return false

end

end

return true

end

#--------------------------------------------------------------------------

def move_lower_left_p

unless @direction_fix

@direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)

end

distance = (2 ** @move_speed) / Math.sqrt(2)

turn_left unless down1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance)

turn_down if @event_run

unless @event_run

if last_move?(@real_x, @real_y, 2, distance)

result = check_event_trigger_here(, false)

if result == true

return

end

end

move_on

if @revise_y > DOWN and -UP > @revise_y - distance

@revise_y = DOWN

end

turn_down unless left1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance)

turn_left if @event_run

end

end

#--------------------------------------------------------------------------

def move_lower_right_p

unless @direction_fix

@direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)

end

distance = (2 ** @move_speed) / Math.sqrt(2)

turn_right unless down1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance)

turn_down if @event_run

unless @event_run

if last_move?(@real_x, @real_y, 2, distance)

result = check_event_trigger_here(, false)

if result == true

return

end

end

move_on

if @revise_y > DOWN and -UP > @revise_y - distance

@revise_y = DOWN

end

turn_down unless right1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance)

turn_right if @event_run

end

end

#--------------------------------------------------------------------------

def move_upper_left_p

unless @direction_fix

@direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)

end

distance = (2 ** @move_speed) / Math.sqrt(2)

turn_left unless up1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance)

turn_up if @event_run

unless @event_run

if last_move?(@real_x, @real_y, 8, distance)

result = check_event_trigger_here(, false)

if result == true

return

end

end

move_on

if @revise_y + distance > DOWN and -UP > @revise_y

@revise_y = -UP

end

turn_up unless left1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance)

turn_left if @event_run

end

end

#--------------------------------------------------------------------------

def move_upper_right_p

unless @direction_fix

@direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)

end

distance = (2 ** @move_speed) / Math.sqrt(2)

turn_right unless up1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance)

turn_up if @event_run

unless @event_run

if last_move?(@real_x, @real_y, 8, distance)

result = check_event_trigger_here(, false)

if result == true

return

end

end

move_on

if @revise_y + distance > DOWN and -UP > @revise_y

@revise_y = -UP

end

turn_up unless right1(((@x * 128 + @revise_x) / 128.0).round,

((@y * 128 + @revise_y) / 128.0).round, distance)

turn_right if @event_run

end

end

#--------------------------------------------------------------------------

def check_event_trigger_here(triggers, run = true)

result = false

if $game_system.map_interpreter.running?

return result

end

for event in $game_map.events.values

if event.x == ((@x * 128 + @revise_x) / 128.0).round and

event.y == ((@y * 128 + @revise_y) / 128.0).round and

triggers.include?(event.trigger)

if not event.jumping? and event.over_trigger?

if event.list.size > 1

if run == true

event.start

end

result = true

end

end

end

end

return result

end

#--------------------------------------------------------------------------

def move_on

if @y < (@y + @revise_y / 128.0).round

@y += 1

@revise_y -= 128

end

if @x > (@x + @revise_x / 128.0).round

@x -= 1

@revise_x += 128

end

if @x < (@x + @revise_x / 128.0).round

@x += 1

@revise_x -= 128

end

if @y > (@y + @revise_y / 128.0).round

@y -= 1

@revise_y += 128

end

end

#--------------------------------------------------------------------------

def anime_update

if @walk_anime

@anime_count += 1.5

elsif @step_anime

@anime_count += 1

end

if @anime_count > 18 - @move_speed * 2

if not @step_anime and @stop_count > 0

@pattern = @original_pattern

else

@pattern = (@pattern + 1) % 4

end

@anime_count = 0

end

end

#--------------------------------------------------------------------------

alias

def moveto(x, y)

@revise_x = 0

@revise_y = 0

moveto_original(x, y)

end

#--------------------------------------------------------------------------

def last_move?(x, y, direction, distance)

if direction == 2 or direction == 6

distance *= -1

end

if (direction == 2 or direction == 8) and

(y / 128.0).round != ((y - distance) / 128.0).round

return true

end

if (direction == 4 or direction == 6) and

(x / 128.0).round != ((x - distance) / 128.0).round

return true

end

return false

end

end

#==============================================================================

# Game_Character

#==============================================================================

class Game_Character

def update_move

distance = 2 ** @move_speed

if @x * 128 != @real_x and @y * 128 != @real_y and Game_Player:

distance /= Math.sqrt(2)

end

if @y * 128 > @real_y

@real_y = .min

end

if @x * 128 < @real_x

@real_x = .max

end

if @x * 128 > @real_x

@real_x = .min

end

if @y * 128 < @real_y

@real_y = .max

end

if @walk_anime

@anime_count += 1.5

elsif @step_anime

@anime_count += 1

end

end

end

#==============================================================================

# Game_Event

#==============================================================================

class Game_Event < Game_Character

def start

if @list.size > 1

if $game_player.event != 0

$game_player.move_speed = $game_player.event

end

@starting = true

end

end

end

PD: Estoy usando RPG MAKER XP con el sistema de batallas XAS HERO 3.91

Saludos.