- Base de datos de Scripts & Recursos a La carta [Pedidos V5] -

Estado
Cerrado para nuevas respuestas
OP

Miwel~

EMD Legend
Mensajes
2.453
Reacciones
70
Puntos
842
~Pedidos de Scripts & Recursos EMD~
1z514wo.jpg
Se ha decidido que para tener más espacio en los temas adheridos fusionar estos dos temas.
Reglas:
  1. Seguir Las Reglas Generales de Emudesc
  2. Seguir Las Reglas de La Seccion de Rpg Maker
  3. Todos Pueden Expresar Sus Dudas y Consultas.
  4. Todos Pueden Pedir Script.
  5. Todos Pueden Responder Consultas, Dudas o Pedidos.
  6. No hacer Multipost (a menos que vayan a postear 2 scripts diferentes) ni Spam.
  7. Solo Se Puede Poner 1 Script Por Post Para Mantener El Orden y Organizar Mejor La Base De Datos.
  8. Dudas generales del Rpg maker Aqui.
  9. Todos pueden pedir y atender pedidos de recursos.
  10. Solo 2 pedidos por personas.
  11. No presionar, si un pedido tarda demasiado, es que nadie sabe cómo hacerlo, sean pacientes.
  12. Al pedir un recurso, ser específicos.

Antes de postear cualquier script, deben tener en cuenta seguir esta plantilla (para mantener el orden):

Plantilla a Seguir para Postear Script:
-Nombre Del Script:
-Version Del Script:
-Rpg Maker:
-Introducion:
-Caracteristicas:
-Demo:
-ScreenShot:
-Script:
-Instrucciones:
-Compatiblidad:
-Creditos:


Un Ejemplo (Solo Es un Ejemplo No es un Script de Verdad): Hecho por Alkimista_Zieg

-Nombre Del Script: Batalla 3D
-Version Del Script: 1.5
-Rpg Maker: Vx (Si Es Rgss Xp y SI es Rgss2 es Vx)

-Introducion:
En Este script Se Podra pelear En 3D Con Unos Simples Pasos

-Caracteristicas:
Con los Botones G y F Se Gira La Camara
Tienes Muchas Caracteristicas Editables

-Demo:
Link (el Link no Funciona)
-ScreenShot:

Mostrarlas En Spoiler

-Script:
Código:
Este Va En CODE Dentro de Un Spoiler

-Instrucciones:
Pegar Sobre El Main Y Las Demas Estan Dentro del Script

-Compatiblidad:
Falla Con Todo

-Creditos:
Zieg

Indice Rgss [XP]


Script de Batalla Completo

Final Fantasy X Battle System by Charlie lee (2.9)
Batalla Golden Sun
Batalla Lateral Sexy
Batalla Lateral
Batalla Lateral V2
Sistema de Batalla Tactica Mirror Otro mirror :p
CBS Starter Pack
RTAB Lateral Minkoff & Cogwheel
RTH-ABS
Sistema de batalla Raise Field
Action Battle System (Near Fantastica)
Sistema de batalla de Minkoff (Ultima Versión)
Sistema de Batalla Tales of Phantasia

Script de Batalla Add-On
Zoom En Batalla
Barras para Los Enemigos
Barras HP/SP Enemigos 2
Atacar Sin Arma

Script de Menu Completo
Star Ocean Menu
Menu Animado
Menu FFVII Personalizado
SilentSteps Menu System
Hound´s Menu / Hound´s Tales of Phantasia Menu
Menu Estilo Pokémon
CMS Chrono Trigger

Script de Menu Add-On
Localizacion
KGC_ItemGrouping
DebugRing


Script de Movimiento
Pixel Based Movement
Te Sigen los Heroes 2
Saltar, correr, y dar un Super salto V2

Script de Mapa Add-on

Dia y Noche Segun Hora del Pc
Mini-Mapa
Minimapa estilo Zelda Ocarina Of Time
Mog Hunter (Nombre del Mapa)
Objetos en el Mapa
ccoa's weather script(climas)
Redondel de vida al estilo Kingdomhearts
Decorar Casas al estilo Sims
Equipamiento Visible en Charas
Fogata (Engine)
Corazones al estilo Zelda
Mode 07 (Perspectiva en el mapa)
Sonido de pasos, al caminar
Dynamic Footprints
Reflejos en el Agua

Script de Mensajes

UMS
Más colores para Textos
Texto letra por letra Parche

Script de Sistema de Juego

KGC_Module
XMS ABS (XMS Action Battle System)
Dificltad Del Juego
Advanced Real Time Battle System
RTH ABS v2.5
Banco
Sistema Resident Evil
Netplay Revolution
Main Mejorado
Tonelada de complementos (Super Script - Mega recomendado)
Pokemon Starter Kit (Español)
Sistema de Quest (Engine)
Proyect Zelda Engine 3.0
Multijugador


Script de Mini Juegos
Juego de Cartas
Cocina
Tetris
Alquimia
Ocarina estilo Zelda Ocarina of time
System Hack (Engine)
Ribbu Sniper (Engine)
Ribbu Hidden (Engine)
Game Chance (Engine)
Tiro con Arco (Engine)

Script de Titles y Game Over
Hound´s Title (personalizable)
Game Over Mejorado
MOG Animated Title Sofia
Mapa antes de titulo
Escena del título es mucho más realista (Engine)
Iniciar a Pantalla Completa

Script Que Afectan A los Personajes Principales
Grafico de Defensa Elemental RPG XP
Usar 5 Personajes
5 Heroes en batalla y menu
PHS Estilo Final Fantasy VII (Cambio de grupo)
Objeto para subir de nivel


Script Variados

Elegir Personaje
+IVA En las Tiendas
GoldenSun Intro
Aprende Habilidades
Zoom En Los Charas Demo
AntiHack
Ir a la Web de Juego desde Menú o Evento
Teclado Completo
Mas de 99 Niveles
Efecto de Tv
Scene_Movie
Felicitacion
Anti-Event lag



Indice Rgss2 [VX]


Script de Batalla Completo
Sistema de Batalla Tactica Mirror
Requiem ABS Hero - Version 3.1
Batalla hellMinor
Sistema de Batalla Rpg Maker XP
PR ABS + addons

Script de Batalla Add-On
Auto-Batalla
Fast-Skill
Bonus de Batalla
Pantalla de victoria bien detallada
Barra de enemigos en batalla preterminada
Level Up Stat and Display Window
Battlers Animados

Script de Menu Completo
Menu Stilo Castelvania
Mog Menu Yui
Hero Menu Master

Script de Menu Add-On
Menu Plus
Items Avanzado
System Menu Options
Bestiario
Extra Equipment Options
Custom List & Pages
Información en los menus

Script de Movimiento
Caminar Diagonal
Saltar

Script de Mapa Add-on
HUD System
Dia y Noche
Sistema de Gold
Mini-Map Plug&Play
Pop Up Cofres
Seguimiento de personajes (Caterpillar)
HUD mejorada
Gran mapa
Mostrar Dinero en Mapa
Smooth Scrolling

Script de Mensajes
Advanced Text System
Enormous Face System
Mensajes cortos

Script de Sistema de Juego
Enemigos Mas Fuertes Segun LvL
MODE 7
Dificultad al Juego
Barra de Carga
Estilo de Juego a Lo Diablo2
Sistema de Puntos de Habilidades
Advancer Save/Load
Sistema de logros
Porcentaje del juego
Engine de Plataforma
DRIACS
Sistema de logros

Script de Mini Juegos
Snake


Script de Titles y Game Over

Mog Animated Title Screen Miria
Titulo Final Fantasy
Imagenes antes de Titulo
Saltarse el Titulo
Titulo "Inteligente"

Script Que Afectan A los Personajes Principales
Partidas estilo Rpg Maker 2003
Jugar Con Otro Personaje
Cambio De Party
Nivel Maximo
Cambio de Job
Personajes En Fila
Crear personaje en el juego
Extra Movement Frames
Corazones 4/4 estilo zelda

Script Variados
Puerto
Tienda de Habilidades
Cellphone
Orfereria
Ir a la Web de Juego desde Menú o Evento
Mensaje de error detallado
BBCodes en los mensajes
Porcentaje del juego
Mapa Isometrico
Igelsia de Dragon Quest
Reflejo en el agua
Cavar con pala
Sombra en personajes y eventos
Dinamic bestiary
Cambiar Window Skin durante el juego
Batallas con Cartas
Anti-Lag


Saludos!!!
 
Última edición:
Mensajes
71
Reacciones
0
Puntos
0

Nombre del Script: Porcentaje del Juego.
Versión del Script: 1.0
Rpg Maker: VX

Caracteristicas: Permite saber el % de juego acabado.
Demo: No es necesaria.
Script:

#----------------------------------------------------------------
# SAVE_FILE
#----------------------------------------------------------------
# Criado por: João Rafael
# Versão: 1.0
#Traduccion al español: hiper_black
# Permite que aparesca en la escena Load/Save el % da la aventura
# ¡Atencion! La edicion del % es por una variable a eleccion!
#----------------------------------------------------------------
class Window_SaveFile < Window_Base
module Jao
Var = 1 # Variable de %
end
alias percent_refresh refresh
def refresh
percent_refresh
self.contents.draw_text(4, 20, 200, WLH, "%" + @game_variables[Jao::Var].to_s) if FileTest.exist?(@filename)
end
end
 
Mensajes
1.415
Reacciones
0
Puntos
0
Ubicación
zaragoza
Nombre:mapa isometrico
vercion:?????
rpg maker: vx

introdccion:

este scipt te permite crear mapas isometrico eso qioere decrir mapas con perpactiva diferente


SCRENSHOTS


15rb3a8.jpg


O Esto

tales-of-eternia-20050110031133863.jpg


dwarffortress.jpg



Depende de como es el trabajo de sus Graficos de mapa.


Les dejo el Demo, no es muy bonito que digamos, pero es práctico.

========Mapas Isometricos=======
 
Mensajes
28
Reacciones
0
Puntos
0
Ubicación
isla relampago
nesesito charas, monster, faces y tiles(lo del mapa) sobre el cielo y el infierno(mas o menos sobre angeles y demonios)para rpg maker vx


muchas gracias al que responda:icon_mrgreen:
 

Lynck.

EMD Superstar
Mensajes
3.506
Reacciones
1.777
Puntos
1.330
ahora lo nesesito para el rpg maker xp:icon_cheesygrin:
Por favór...No hagas Multipost... Usa el Botón "Editar" para cambiar tu mensage...
Antes que nada pasate por aqui... Reglas de EMD
Para que te evites problemas :D

Charas-






Respecto al Tileset, encontré este, espero que te sirva ... Tilseset Infierno
Tambien te dejo un "Autotile" por si te sirve... Autotile

No encontré de "Cielo"... Tampoco sobre Angeles... Solo estos : /...
Si encuentro más, Edito :)

T.L
 
Última edición:
Mensajes
271
Reacciones
0
Puntos
0
Ubicación
Los Mares
Hola necesito ayuda este script estoy seguro que es para que no me mueva si tengo arco y salgala animacion entiendo lo primero pero no todo asi que si alguien me lo podria traducir o explicar como funciona y asi ademas se puede agregar a la lista es para vx
#------------------------------------------------------------------------------
# Script por Mr. Bubble com base no Kylock's Bow Addon
#==============================================================================
# Nova animação de arco e flecha mais bonita e suave do que a feita por Kylock.
#==============================================================================
# ■ Como instalar
#------------------------------------------------------------------------------
# - Requer animação 83 desta demo no projeto.
# - Requer "woodarrow.png" na pasta .Graphics\Characters.
#==============================================================================

module N01
# Elemento que garante a animação de arco e flecha. Default is 5.
BOW_WEAPON_ELEMENT = 7

#------------------------------------------------------------------------------
# Ações da animação de ataque
BOW_ANIME = {
"FACE" => [ 3, 1, 5, 2, 0, -1, 0, true,"" ],
"DRAW_BOW" => ["anime", 83, 0, false, false, false],
"ARROW_ANGLE" => [ 30, 60, 11],
# Type ID Object Pass Time Arc Xp Yp Start Z Weapon
"SHOOT_ARROW" => ["m_a", 0, 0, 0, 15, -10, 0, 0, 0,false,"ARROW_ANGLE"],
}
ANIME.merge!(BOW_ANIME)
# Sequência de ação
BOW_ATTACK_ACTION = {
"NEW_BOW_ATTACK" => ["BEFORE_MOVE","DRAW_BOW", "FACE", "16",
"SHOOT_ARROW", "12","OBJ_ANIM","16",
"Can Collapse","FLEE_RESET"],
}
ACTION.merge!(BOW_ATTACK_ACTION)
end

module RPG
class Weapon
alias bubs_bow_base_action base_action
def base_action
# Se "Arco" estiver marcado no database na aba de armas,
# a nova animação de ataque a distância é usada.
if $data_weapons[@id].element_set.include?(N01::BOW_WEAPON_ELEMENT)
return "NEW_BOW_ATTACK"
end
bubs_bow_base_action
end
alias bubs_bow_flying_graphic flying_graphic
def flying_graphic
if $data_weapons[@id].element_set.include?(N01::BOW_WEAPON_ELEMENT)
return "woodarrow"
end
bubs_bow_flying_graphic
end
end
end
Pude resolver el problema pero salio otro no ataca no se mueve sale el arco lanza la flecha pero cuando hace contacto con el monstruo no le baja hp asi que si alguno si resolver el script o quiere hacerlo que me diga para que le pase las imagenes la animacion y la flecha
 
Última edición:
Mensajes
454
Reacciones
0
Puntos
0
Hola qiusiera saber si alguien tiene
charas de musicos o una rocola
y si tienen un script para brincar
al presionar una tecla
De antemano gracias
 

Lynck.

EMD Superstar
Mensajes
3.506
Reacciones
1.777
Puntos
1.330
Pude resolver el problema pero salio otro no ataca no se mueve sale el arco lanza la flecha pero cuando hace contacto con el monstruo no le baja hp asi que si alguno si resolver el script o quiere hacerlo que me diga para que le pase las imagenes la animacion y la flecha
¿No le causa daño al enemigo?...Hem, una pregunta, ese script viene junto con otro scritp?...
Porque hay varios Scripts que estan hechos de varias partes, y para eso tendrias que poner las partes que faltan para ver como funciona el Script : / ...

Pero te equibocaste de Zona, aqui es para Pedir Recursos , no dudas, las dudas se resuelven allí, postea lo que te dije aquí:
Tema de dudas Rpg Maker

Saludos =D

y si tienen un script para brincar
al presionar una tecla
De antemano gracias
___________________________________________________________________________________________________________________________

¿Pero para VX , o para XP? ...Tengo el Script pero para RPG Maker VX ...

Nombre del Script- Script Para Saltar
Version del Script - V2
Rpg Maker VX.

Introduccion- Esta es la segunda version de este Script para Saltár , se han arreglado muchos errores, como el de Saltar a lugar No-Accesibles. entre otros.
Caracteristicas - Script Que te permite saltar con solo precionar una Tecla.
Demo- No necesaria :p
ScreenShots No se necesitan, puesto que solo es saltár.

Script -

[spoiler2]
#==============================================================================
# Saltar por el mundo
# Hecho por Theraot
#==============================================================================
class Game_Character
#==============================================================================
# Ajuzte de salto
#==============================================================================
def jump(x_plus, y_plus)
if jumping?
return
end
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
new_x = @x + x_plus
new_y = @y + y_plus
if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y)
@x += x_plus
@y += y_plus
distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round
@jump_peak = distance - @move_speed
@jump_peak += 15 #Puedes ajustar la altura del salto editando el valor sumado
@jump_count = @jump_peak * 2
@stop_count = 0
straighten
end
end
#==============================================================================
# Saltar
#==============================================================================
def DoJump
step = 2 #Cambiar para ajustar la distancia del salto
#2 o mas puede volar obstaculos (nunca caera sobre en uno)
#Un valor negativo lo hace saltar hacia atras
if Input.press?(Input::Z) #Cambia la tecla para saltar a tu acomodo.
if Input.press?(Input::UP) && !Input.press?(Input::DOWN)
set_direction(8)
jump(0,-step)
elsif Input.press?(Input::DOWN) && !Input.press?(Input::UP)
set_direction(2)
jump(0,step)
elsif Input.press?(Input::LEFT) && !Input.press?(Input::RIGHT)
set_direction(4)
jump(-step,0)
elsif Input.press?(Input::RIGHT) && !Input.press?(Input::LEFT)
set_direction(6)
jump(step,0)
else
jump(0,0)
end
end
end
end
[/spoiler2]
Instrucciones - agregue un evento comun (CommonEvent) en proceso paralelo, coloquele
un trigger que va a servir para saber si se pude saltar o no, y en el proceso
escribes un script con:
$$game_player.DoJump

Compartibilidad Funciona con cualquier otro Script.
Creditos Theraot

T.L
 
Última edición por un moderador:
Mensajes
1.415
Reacciones
0
Puntos
0
Ubicación
zaragoza
Hola necesito ayuda este script estoy seguro que es para que no me mueva si tengo arco y salgala animacion entiendo lo primero pero no todo asi que si alguien me lo podria traducir o explicar como funciona y asi ademas se puede agregar a la lista es para vx


#------------------------------------------------------------------------------
# Script por Mr. Bubble com base no Kylock's Bow Addon
#==============================================================================
# Nova animação de arco e flecha mais bonita e suave do que a feita por Kylock.
#==============================================================================
# ■ Como instalar
#------------------------------------------------------------------------------
# - Requer animação 83 desta demo no projeto.
# - Requer "woodarrow.png" na pasta .Graphics\Characters.
#==============================================================================

module N01
# Elemento que garante a animação de arco e flecha. Default is 5.
BOW_WEAPON_ELEMENT = 7

#------------------------------------------------------------------------------
# Ações da animação de ataque
BOW_ANIME = {
"FACE" => [ 3, 1, 5, 2, 0, -1, 0, true,"" ],
"DRAW_BOW" => ["anime", 83, 0, false, false, false],
"ARROW_ANGLE" => [ 30, 60, 11],
# Type ID Object Pass Time Arc Xp Yp Start Z Weapon
"SHOOT_ARROW" => ["m_a", 0, 0, 0, 15, -10, 0, 0, 0,false,"ARROW_ANGLE"],
}
ANIME.merge!(BOW_ANIME)
# Sequência de ação
BOW_ATTACK_ACTION = {
"NEW_BOW_ATTACK" => ["BEFORE_MOVE","DRAW_BOW", "FACE", "16",
"SHOOT_ARROW", "12","OBJ_ANIM","16",
"Can Collapse","FLEE_RESET"],
}
ACTION.merge!(BOW_ATTACK_ACTION)
end

module RPG
class Weapon
alias bubs_bow_base_action base_action
def base_action
# Se "Arco" estiver marcado no database na aba de armas,
# a nova animação de ataque a distância é usada.
if $data_weapons[@id].element_set.include?(N01::BOW_WEAPON_ELEMENT)
return "NEW_BOW_ATTACK"
end
bubs_bow_base_action
end
alias bubs_bow_flying_graphic flying_graphic
def flying_graphic
if $data_weapons[@id].element_set.include?(N01::BOW_WEAPON_ELEMENT)
return "woodarrow"
end
bubs_bow_flying_graphic
end
end
end
Pude resolver el problema pero salio otro no ataca no se mueve sale el arco lanza la flecha pero cuando hace contacto con el monstruo no le baja hp asi que si alguno si resolver el script o quiere hacerlo que me diga para que le pase las imagenes la animacion y la flecha

aqui te dejo traducido el scipt amigo


#------------------------------------------------------------------------------
# Script por Mr. Bubble con base de Kylock's Bow Addon
#==============================================================================
#nueva animacion de arco y flecha mas binita que la de Kylock.
#==============================================================================
# ■ Como instalar
#------------------------------------------------------------------------------
# - reqiere la animacion 83 incluida en la demo
# - Requiere "woodarrow.png" guerdada en .Graphics\Characters.
#==============================================================================

module N01
# elemento que llevara la animacion del arco. Default is 5.
BOW_WEAPON_ELEMENT = 7

#------------------------------------------------------------------------------
# existencia de la animacion de ataque
BOW_ANIME = {
"FACE" => [ 3, 1, 5, 2, 0, -1, 0, true,"" ],
"DRAW_BOW" => ["anime", 83, 0, false, false, false],
"ARROW_ANGLE" => [ 30, 60, 11],
# Type ID Object Pass Time Arc Xp Yp Start Z Weapon
"SHOOT_ARROW" => ["m_a", 0, 0, 0, 15, -10, 0, 0, 0,false,"ARROW_ANGLE"],
}
ANIME.merge!(BOW_ANIME)
# Sequência de ação
BOW_ATTACK_ACTION = {
"NEW_BOW_ATTACK" => ["BEFORE_MOVE","DRAW_BOW", "FACE", "16",
"SHOOT_ARROW", "12","OBJ_ANIM","16",
"Can Collapse","FLEE_RESET"],
}
ACTION.merge!(BOW_ATTACK_ACTION)
end

module RPG
class Weapon
alias bubs_bow_base_action base_action
def base_action
# Se "Arco" estiver marcado no database na aba de armas,
# a nova animação de ataque a distância é usada.
if $data_weapons[@id].element_set.include?(N01::BOW_WEAPON_ELEMENT)
return "NEW_BOW_ATTACK"
end
bubs_bow_base_action
end
alias bubs_bow_flying_graphic flying_graphic
def flying_graphic
if $data_weapons[@id].element_set.include?(N01::BOW_WEAPON_ELEMENT)
return "woodarrow"
end
bubs_bow_flying_graphic
end
end
end

el scipt ya llo traduje no fue tan dificl el postugues es un idioma muy sencillo espero que te sirva
pero como decia toon_link esto no va aqui esto va en Dudas sobre RPG MAKER postearla única y exclusivamente [No abrir temas con dudas] V8
 
Última edición:
Mensajes
271
Reacciones
0
Puntos
0
Ubicación
Los Mares
gracias alguno me podria conseguir para el vx es un script que te deja pelear como si fuera el xp lo tenia pero no lo encuentro asi que si me hacen el favor (de conseguirmelo) estare agradecido
 

Lynck.

EMD Superstar
Mensajes
3.506
Reacciones
1.777
Puntos
1.330
gracias alguno me podria conseguir para el vx es un script que te deja pelear como si fuera el xp lo tenia pero no lo encuentro asi que si me hacen el favor (de conseguirmelo) estare agradecido


Nombre del Script: Batallas estilo Rpg Maker XP
Version del Script : ¿?
Rpg Maker : VX

Descripcion: ¿Quieres hacer un proyecto en RMVX pero con el sistema de batalla de RMXP? Este es (bueno, supongo que será) el script perfecto para ti. El estilo de batalla es el de RMXP, para que no sientas nostalgia por el programa.
Screens :


Demo - Descarga (Skydrive)
Script : En la Demo

Instrucciones :
Instrucciones:
Supongo que son algunas cosillas... veamos.
user posted image En Battler, puedes elegir si el battler tendrá 'animación' o no en la lí*nea 37 (true/false). También puedes elegir si habrá battler o no (lí*nea 64).
user posted image En B - Battle Message, puedes ir a la lí*nea 30 y cambiarlo a true, para que en vez del cuadro de mensajes esos mensajes se vean con su windowskin de toda la vida.
user posted image Y bueno, F - Battle Message Seal parece que elimina completamente los mensajes de batalla.
user posted image En C - Main, en la lí*nea 55 se elige si añadir el comando 'Auto-Batalla'.

Creditos :
Desconocidos, ya que el que lo posteó no es el Creador.

Actualiza Miguel xD.

T.L
 

YOGUI007

Banneado
Mensajes
307
Reacciones
0
Puntos
0
Ubicación
En la oscuridad
Hola makeros y makeras.:icon_biggrin:
Necesito porfavor el script de perspectiva para el rpgmaker xp,si alguien lo tiene que me lo pase porfavor.
Se los agradeceria.

Saludos.
 

Lynck.

EMD Superstar
Mensajes
3.506
Reacciones
1.777
Puntos
1.330
Hola makeros y makeras.:icon_biggrin:
Necesito porfavor el script de perspectiva para el rpgmaker xp,si alguien lo tiene que me lo pase porfavor.
Se los agradeceria.

Saludos.

Nombre del Script : Perspectiva en el Mapa

Version del Script : ¿?

Rpg Maker : XP

Descripción : Script que permite ver una perspectiva en el Mapa.

Screens :


Script :
Código:
=begin

Mode07 on the Map!
Includes:
  Mode07 v0.6
  Overworld Sprite Resize
 Written by mewsterus

Special Thanks:
 Fanha Giang (for a reverse engineered Tilemap class)

To install, just insert this in a descriptive code slot right above Main.
This is different than previous instructions; please read the next paragraph.

If you had a previous install of this script and need an original version of
Spriteset_Map, one can be found at:
[url]http://www.rpg-palace.com/scripts/spriteset_map.txt[/url]

To activate Mode07, add [#XX] to the map's name, replacing XX with the
percentage of Mode07 to apply.  Greater numbers will result in a more slanted
world.  The numbers for this feature have been expanded, such that any numbers
will be halved.  Take note; if you once used [#24], it will now be [#12] for
the same appearance.  All numbers should be halved.

To activate overworld sprite resize, add [OV] to the map's name.  This will make
sprites smaller on that map.

For the purposes of location scripts, these identifiers will not appear.


Examples:

"Overworld[#40]" will result in a slant identical to the second screenshot.
"Underworld[OV]" will resize only the player character to a small size, as if
                seen from high above.
"Atthelevelworld[OV][#12]" will result in the player being resized, and a modest
                          slant of 12%
"JustPlainWorld" will result in the same old map you've always seen.

To add a sky, simply use the panorama with the tileset.  Also, events will not
be drawn flat with the map.  Any vertical objects such as trees should be put
in events and displayed that way.

You can also add a sky by adding a picture.  If you add this picture, you can
make it look even better, with a curved world and sunlight, and it will not
move with the map.
--------------------------------------------------------------------------------
* Draw_Tilemap v1.72-0.6
Fanha Giang, 02/12/2006 (mm/dd/yyyy)
Edited for Mode07 by mewsterus 08/08/2006 (mm/dd/yyyy)
=end
#===============================================================================

$width = 640    # Screen width        (will not change resolution,
$height = 480  # Screen height        here for compatibility)
$ov_zoom = 0.6  # Overworld zoom multiplier
$strip_size = 8 # Size of each strip of the map.  Higher numbers will lag less.
              #  Recommended that this number be a power of 2.
              #  Do not make higher than 64.
$curve = true  # Whether the map is curled, for overworlds (old method)
$data_map = load_data("Data/MapInfos.rxdata")
#===============================================================================

class RPG::MapInfo
 def name # Definition prevents location scripts from reading anything within
  return @name.gsub(/\[.*\]/) {""} # brackets, including the brackets
 end
 #-----------------------------------------------------------------------------
 def original_name
  return @name
 end
 #-----------------------------------------------------------------------------
 def overworld?
  return @name.scan(/[OV]/).size > 0
 end
 #-----------------------------------------------------------------------------
 def pitch
  @name =~ /\[#[ ]*([00-99]+)\]/i
  return $1
 end
end
#===============================================================================

class Draw_Tilemap # This class controls a set of sprites, with different Z
                  #  values, arranged into horizontal bars
 attr_accessor :tileset
 attr_accessor :map_data
 attr_accessor :priorities
 attr_accessor :autotiles
 attr_accessor :bitmaps
 attr_accessor :pitch
 attr_accessor :ox
 attr_accessor :oy
 attr_accessor :plus_y
 INDEX = # Autotile definitions
 [
 26, 27, 32, 33, 4,  27, 32, 33, 26, 5,  32, 33, 4,  5,  32, 33,
 26, 27, 32, 11, 4,  27, 32, 11, 26, 5,  32, 11, 4,  5,  32, 11,
 26, 27, 10, 33, 4,  27, 10, 33, 26, 5,  10, 33, 4,  5,  10, 33,
 26, 27, 10, 11, 4,  27, 10, 11, 26, 5,  10, 11, 4,  5,  10, 11,
 24, 25, 30, 31, 24, 5,  30, 31, 24, 25, 30, 11, 24, 5,  30, 11,
 14, 15, 20, 21, 14, 15, 20, 11, 14, 15, 10, 21, 14, 15, 10, 11,
 28, 29, 34, 35, 28, 29, 10, 35, 4,  29, 34, 35, 4,  29, 10, 35,
 38, 39, 44, 45, 4,  39, 44, 45, 38, 5,  44, 45, 4,  5,  44, 45,
 24, 29, 30, 35, 14, 15, 44, 45, 12, 13, 18 ,19, 12, 13, 18, 11,
 16, 17, 22, 23, 16, 17, 10, 23, 40, 41, 46, 47, 4,  41, 46, 47,
 36, 37, 42, 43, 36, 5,  42, 43, 12, 17, 18, 23, 12, 13, 42, 43,
 36, 41, 42, 47, 16, 17, 46, 47, 12, 17, 42, 47, 0,  1,  6,  7
 ]
 X = [0, 1, 0, 1] # Used in 16x16 autotile drawing; left, right, left, right
 Y = [0, 0, 1, 1] # Used in 16x16 autotile drawing;  up,    up, down,  down
 #-----------------------------------------------------------------------------
 def initialize
 # Get initial data from Game_Map
  @tileset = RPG::Cache.tileset($game_map.tileset_name)
  @map_data = $game_map.data
  @priorities = $game_map.priorities
  @autotiles = []
  for i in 0..6
    @autotiles[i] = RPG::Cache.autotile($game_map.autotile_names[i])
  end
 # Provide blank data in proper object form
  @ox = 0
  @oy = 0
 # Bitmaps used for each priority's drawing.  Priorities 2-5 are combined.
  @bitmaps = [Bitmap.new($game_map.width*32, $game_map.height*32+$strip_size),
              Bitmap.new($game_map.width*32, $game_map.height*32+$strip_size),
              Bitmap.new($game_map.width*32, $game_map.height*32+$strip_size)]
 # Generate blank sprites
  @sprites = [[], [], []]
  for i in 0..2 # For each layer
    for j in 0..$game_map.height * (32 / $strip_size) - 1
    # For each horizontal strip of $strip_size height, make a blank sprite
      @sprites[i].push(Sprite.new)
      @sprites[i][j].bitmap = Bitmap.new($game_map.width*32, $strip_size*2)
      @sprites[i][j].x = $width / 2
      @sprites[i][j].y = -64
      @sprites[i][j].z = -5 + (i * 10)
    end
  end
  @disposed = false
  draw
 end
 #-----------------------------------------------------------------------------
 def update
 # Retrieve variable values for slant drawing; these values accesible by event
  @pitch = $game_map.pitch.to_f
  @plus_y = $game_map.plus_y
  for i in 0..2 # For each layer
    for j in [0, (($height / 2) - (($height * 60) /
              @pitch) + @oy) / $strip_size].max.to_i..[@sprites[i].size - 1,
              (@oy + $height) / $strip_size].min.to_i
    # For each strip within the visible screen, update OX/Y
      @sprites[i][j].x = $width / 2
      @sprites[i][j].y = j * $strip_size - @oy
      unless @pitch == 0 # Apply X Zoom
        @sprites[i][j].zoom_x = (@sprites[i][j].y - $height / 2) *
                                (@pitch / ($height * 25)) + 1
        if $curve # Zoom Y values same as X, and compensate
          @sprites[i][j].zoom_y = @sprites[i][j].zoom_x
          @sprites[i][j].y += $strip_size * (1 - @sprites[i][j].zoom_y) *
                              ((1 - @sprites[i][j].zoom_y) /
                              (2 * ((@pitch / 100) /
                                    ($height / ($strip_size * 2)))) + 0.5)
        end
      end
      @sprites[i][j].ox = @ox + $width / 2
    # Add plus_y value; used in airship script
      @sprites[i][j].y += @plus_y
    end
  end
 end
 #-----------------------------------------------------------------------------
 def dispose
 # Dispose all sprites
  for i in 0..2
    for j in @sprites[i]
      j.bitmap.dispose
      j.dispose
    end
  end
  for i in @bitmaps
    i.dispose
  end
  @tileset.dispose
  for i in 0..6
    @autotiles[i].dispose
  end
  @disposed = true
 end
 #-----------------------------------------------------------------------------
 def disposed?
  return @disposed
 end
 #-----------------------------------------------------------------------------
 def draw
 # Draw each individual position by XY value
  for x in 0...@map_data.xsize
    for y in 0...@map_data.ysize
      draw_position(x, y)
    end
  end
  for i in 0..2 # For each priority
    for j in 0..@sprites[i].size - 1
    # For each horizontal strip, transfer the bitmap appropriately
      @sprites[i][j].bitmap.blt(0, 0, @bitmaps[i],
          Rect.new(0, j * $strip_size, $game_map.width * 32, $strip_size * 2))
    end
  end
 end
 #-----------------------------------------------------------------------------
 def draw_position(x, y)
  for layer in 0..2
    pos = @map_data[x, y, layer]
    @priorities[pos] = 2 if @priorities[pos] > 2 # Round priorities down to 2
    if pos >= 384 # If it is a tile
    # src_rect = 32x32 Rect on the tileset for source bitmap
      src_rect = Rect.new(((pos-384)%8)*32, ((pos-384)/8)*32, 32, 32)
    # Transfer source bitmap on the tileset to the current map tile
      @bitmaps[@priorities[pos]].blt(x * 32, y * 32, @tileset, src_rect)
    elsif pos >= 48 and pos < 384 # If it is an autotile
      id = pos / 48 - 1 # Which autotile is used (0-6)
    # plus_x is in development for animated autotiles
      plus_x = 0 #((@anim / 4) % (@autotiles[id].width / 96)) * 96
      for corner in 0..3
        h = 4 * (pos % 48) + corner # Used to access INDEX
      # src_rect = 16x16 Rect on the autotile for source bitmap
        src_rect = Rect.new((INDEX[h]%6)*16+plus_x, (INDEX[h]/6)*16, 16, 16)
      # Transfer source bitmap on the autotile to the current 16x16 tile
        @bitmaps[@priorities[pos]].blt(x*32+X[corner]*16, y*32+Y[corner]*16,
                                        @autotiles[id], src_rect)
      end
    end
  end
 end
end
#===============================================================================

class Game_Map
 attr_accessor :pitch
 attr_accessor :plus_y
 #-----------------------------------------------------------------------------
 alias setup_or :setup
 def setup(map_id)
  setup_or(map_id)
  @pitch = $data_map[$game_map.map_id].pitch
  @plus_y = 0
 end
 #-----------------------------------------------------------------------------
 def name
  return $data_map[@map_id].name
 end
end
#===============================================================================

class Sprite_Character < RPG::Sprite
 attr_accessor :character
 #-----------------------------------------------------------------------------
 def initialize(character = nil)
  super()
  @character = character
  update
 end
 #-----------------------------------------------------------------------------
 alias update_or :update
 def update
  update_or
 # Update pitch value, and update zoom values to match
  @pitch = $data_map[$game_map.map_id].pitch.to_f
  self.zoom_x =
  self.zoom_y = ((@character.screen_y - 16) - ($height / 2)) *
                (@pitch / ($height * 25)) + 1
 # Set sprite coordinates.  X value is multiplied by zoom value from the center
  self.x = ($width / 2) + ((@character.screen_x - ($width / 2)) * self.zoom_x)
  self.y = @character.screen_y
 # Add Y value for zoom compensation while in curve mode
  if $curve and @pitch != 0
    self.y += (8 * (1 - self.zoom_y) * ((1 - self.zoom_y) /
              (2 * ((@pitch / 100) / ($height / 16.0))) + 0.5))
  end
 # Add plus_y value; used in airship script
  self.y += $game_map.plus_y unless @character.is_a?(Game_Player)
  self.z = @character.screen_z(@ch) - (self.zoom_y < 0.5 ? 1000 : 0)
  if $data_map[$game_map.map_id].overworld? and
      @character.is_a?(Game_Player) # Multiply zoom by Overworld factor if
    self.zoom_x *= $ov_zoom        #  the map is marked with [OV] and event
    self.zoom_y *= $ov_zoom        #  is a Game_Player
  end
 end
end
#===============================================================================

class Spriteset_Map
 def initialize
 # Make viewports
  @viewport1 = Viewport.new(0, 0, 640, 480)
  @viewport2 = Viewport.new(0, 0, 640, 480)
  @viewport3 = Viewport.new(0, 0, 640, 480)
  @viewport2.z = 2000
  @viewport3.z = 5000
 # Make tilemap
  @tilemap = Draw_Tilemap.new
 # Make panorama plane
  @panorama = Plane.new
  @panorama.z = -2000
 # Make fog plane
  @fog = Plane.new
  @fog.z = 3000
 # Make character sprites
  @character_sprites = []
  for i in $game_map.events.keys.sort
    sprite = Sprite_Character.new($game_map.events[i])
    @character_sprites.push(sprite)
  end
  @character_sprites.push(Sprite_Character.new($game_player))
 # Make weather
  @weather = RPG::Weather.new(@viewport1)
 # Make picture sprites
  @picture_sprites = []
  for i in 1..50
    @picture_sprites.push(Sprite_Picture.new(@viewport2,
                                              $game_screen.pictures[i]))
  end
 # Make timer sprite
  @timer_sprite = Sprite_Timer.new
 # Frame update
  update
 end
 #-----------------------------------------------------------------------------
 def dispose
 # Dispose of tilemap
  @tilemap.dispose
 # Dispose of panorama plane
  @panorama.dispose
 # Dispose of fog plane
  @fog.dispose
 # Dispose of character sprites
  for sprite in @character_sprites
    sprite.dispose
  end
 # Dispose of weather
  @weather.dispose
 # Dispose of picture sprites
  for sprite in @picture_sprites
    sprite.dispose
  end
 # Dispose of timer sprite
  @timer_sprite.dispose
 # Dispose of viewports
  @viewport1.dispose
  @viewport2.dispose
  @viewport3.dispose
 end
end

Instrucciones :
Instrucciones:
*En el nombre del mapa que queramos en prespectiva se pone al final [#80] siendo 80 el numero de la angulacion de la prespectiva. Si es 80 quedara como la segunda imagen.
si en el nombre del mapa ponemos [OV] el personaje aparecera en pequeñito.

Estos dos comandos se pueden combinar, y si no se pone ninguno aparecera normal.

Aviso: los objetos del tile que se supongan encima del personaje no se mostraran sobre este.

Para poner objetos que se situen por encima del personaje, usad characters.

Saludos, a actualizar Miwel [Chim-3]

Muchas pero muchas gracias toon link.
Te lo agradesco

SALUDOS
Si en algún caso, te llega a dar Error, copialo de nuevo, que creo que venia con un error pero ya lo arregle :)
 
Última edición:

YOGUI007

Banneado
Mensajes
307
Reacciones
0
Puntos
0
Ubicación
En la oscuridad
Nombre del Script : Perspectiva en el Mapa

Version del Script : ¿?

Rpg Maker : XP

Descripción : Script que permite ver una perspectiva en el Mapa.

Screens :


Script :
=begin

Mode07 on the Map!
Includes:
Mode07 v0.6
Overworld Sprite Resize
Written by mewsterus

Special Thanks:
Fanha Giang (for a reverse engineered Tilemap class)

To install, just insert this in a descriptive code slot right above Main.
This is different than previous instructions; please read the next paragraph.

If you had a previous install of this script and need an original version of
Spriteset_Map, one can be found at:
http://www.rpg-palace.com/scripts/spriteset_map.txt

To activate Mode07, add [#XX] to the map's name, replacing XX with the
percentage of Mode07 to apply. Greater numbers will result in a more slanted
world. The numbers for this feature have been expanded, such that any numbers
will be halved. Take note; if you once used [#24], it will now be [#12] for
the same appearance. All numbers should be halved.

To activate overworld sprite resize, add [OV] to the map's name. This will make
sprites smaller on that map.

For the purposes of location scripts, these identifiers will not appear.


Examples:

"Overworld[#40]" will result in a slant identical to the second screenshot.
"Underworld[OV]" will resize only the player character to a small size, as if
seen from high above.
"Atthelevelworld[OV][#12]" will result in the player being resized, and a modest
slant of 12%
"JustPlainWorld" will result in the same old map you've always seen.

To add a sky, simply use the panorama with the tileset. Also, events will not
be drawn flat with the map. Any vertical objects such as trees should be put
in events and displayed that way.

You can also add a sky by adding a picture. If you add this picture, you can
make it look even better, with a curved world and sunlight, and it will not
move with the map.
--------------------------------------------------------------------------------
* Draw_Tilemap v1.72-0.6
Fanha Giang, 02/12/2006 (mm/dd/yyyy)
Edited for Mode07 by mewsterus 08/08/2006 (mm/dd/yyyy)
=end
#===============================================================================

$width = 640 # Screen width (will not change resolution,
$height = 480 # Screen height here for compatibility)
$ov_zoom = 0.6 # Overworld zoom multiplier
$strip_size = 8 # Size of each strip of the map. Higher numbers will lag less.
# Recommended that this number be a power of 2.
# Do not make higher than 64.
$curve = true # Whether the map is curled, for overworlds (old method)
$data_map = load_data("Data/MapInfos.rxdata")
#===============================================================================

class RPG::MapInfo
def name # Definition prevents location scripts from reading anything within
return @name.gsub(/\[.*\]/) {""} # brackets, including the brackets
end
#-----------------------------------------------------------------------------
def original_name
return @name
end
#-----------------------------------------------------------------------------
def overworld?
return @name.scan(/[OV]/).size > 0
end
#-----------------------------------------------------------------------------
def pitch
@name =~ /\[#[ ]*([00-99]+)\]/i
return $1
end
end
#===============================================================================

class Draw_Tilemap # This class controls a set of sprites, with different Z
# values, arranged into horizontal bars
attr_accessor :tileset
attr_accessor :map_data
attr_accessor :priorities
attr_accessor :autotiles
attr_accessor :bitmaps
attr_accessor :pitch
attr_accessor :eek:x
attr_accessor :eek:y
attr_accessor :plus_y
INDEX = # Autotile definitions
[
26, 27, 32, 33, 4, 27, 32, 33, 26, 5, 32, 33, 4, 5, 32, 33,
26, 27, 32, 11, 4, 27, 32, 11, 26, 5, 32, 11, 4, 5, 32, 11,
26, 27, 10, 33, 4, 27, 10, 33, 26, 5, 10, 33, 4, 5, 10, 33,
26, 27, 10, 11, 4, 27, 10, 11, 26, 5, 10, 11, 4, 5, 10, 11,
24, 25, 30, 31, 24, 5, 30, 31, 24, 25, 30, 11, 24, 5, 30, 11,
14, 15, 20, 21, 14, 15, 20, 11, 14, 15, 10, 21, 14, 15, 10, 11,
28, 29, 34, 35, 28, 29, 10, 35, 4, 29, 34, 35, 4, 29, 10, 35,
38, 39, 44, 45, 4, 39, 44, 45, 38, 5, 44, 45, 4, 5, 44, 45,
24, 29, 30, 35, 14, 15, 44, 45, 12, 13, 18 ,19, 12, 13, 18, 11,
16, 17, 22, 23, 16, 17, 10, 23, 40, 41, 46, 47, 4, 41, 46, 47,
36, 37, 42, 43, 36, 5, 42, 43, 12, 17, 18, 23, 12, 13, 42, 43,
36, 41, 42, 47, 16, 17, 46, 47, 12, 17, 42, 47, 0, 1, 6, 7
]
X = [0, 1, 0, 1] # Used in 16x16 autotile drawing; left, right, left, right
Y = [0, 0, 1, 1] # Used in 16x16 autotile drawing; up, up, down, down
#-----------------------------------------------------------------------------
def initialize
# Get initial data from Game_Map
@tileset = RPG::Cache.tileset($game_map.tileset_name)
@map_data = $game_map.data
@priorities = $game_map.priorities
@autotiles = []
for i in 0..6
@autotiles = RPG::Cache.autotile($game_map.autotile_names)
end
# Provide blank data in proper object form
@ox = 0
@oy = 0
# Bitmaps used for each priority's drawing. Priorities 2-5 are combined.
@bitmaps = [Bitmap.new($game_map.width*32, $game_map.height*32+$strip_size),
Bitmap.new($game_map.width*32, $game_map.height*32+$strip_size),
Bitmap.new($game_map.width*32, $game_map.height*32+$strip_size)]
# Generate blank sprites
@sprites = [[], [], []]
for i in 0..2 # For each layer
for j in 0..$game_map.height * (32 / $strip_size) - 1
# For each horizontal strip of $strip_size height, make a blank sprite
@sprites.push(Sprite.new)
@sprites[j].bitmap = Bitmap.new($game_map.width*32, $strip_size*2)
@sprites[j].x = $width / 2
@sprites[j].y = -64
@sprites[j].z = -5 + (i * 10)
end
end
@disposed = false
draw
end
#-----------------------------------------------------------------------------
def update
# Retrieve variable values for slant drawing; these values accesible by event
@pitch = $game_map.pitch.to_f
@plus_y = $game_map.plus_y
for i in 0..2 # For each layer
for j in [0, (($height / 2) - (($height * 60) /
@pitch) + @oy) / $strip_size].max.to_i..[@sprites.size - 1,
(@oy + $height) / $strip_size].min.to_i
# For each strip within the visible screen, update OX/Y
@sprites[j].x = $width / 2
@sprites[j].y = j * $strip_size - @oy
unless @pitch == 0 # Apply X Zoom
@sprites[j].zoom_x = (@sprites[j].y - $height / 2) *
(@pitch / ($height * 25)) + 1
if $curve # Zoom Y values same as X, and compensate
@sprites[j].zoom_y = @sprites[j].zoom_x
@sprites[j].y += $strip_size * (1 - @sprites[j].zoom_y) *
((1 - @sprites[j].zoom_y) /
(2 * ((@pitch / 100) /
($height / ($strip_size * 2)))) + 0.5)
end
end
@sprites[j].ox = @ox + $width / 2
# Add plus_y value; used in airship script
@sprites[j].y += @plus_y
end
end
end
#-----------------------------------------------------------------------------
def dispose
# Dispose all sprites
for i in 0..2
for j in @sprites
j.bitmap.dispose
j.dispose
end
end
for i in @bitmaps
i.dispose
end
@tileset.dispose
for i in 0..6
@autotiles.dispose
end
@disposed = true
end
#-----------------------------------------------------------------------------
def disposed?
return @disposed
end
#-----------------------------------------------------------------------------
def draw
# Draw each individual position by XY value
for x in 0...@map_data.xsize
for y in 0...@map_data.ysize
draw_position(x, y)
end
end
for i in 0..2 # For each priority
for j in 0..@sprites.size - 1
# For each horizontal strip, transfer the bitmap appropriately
@sprites[j].bitmap.blt(0, 0, @bitmaps,
Rect.new(0, j * $strip_size, $game_map.width * 32, $strip_size * 2))
end
end
end
#-----------------------------------------------------------------------------
def draw_position(x, y)
for layer in 0..2
pos = @map_data[x, y, layer]
@priorities[pos] = 2 if @priorities[pos] > 2 # Round priorities down to 2
if pos >= 384 # If it is a tile
# src_rect = 32x32 Rect on the tileset for source bitmap
src_rect = Rect.new(((pos-384)%8)*32, ((pos-384)/8)*32, 32, 32)
# Transfer source bitmap on the tileset to the current map tile
@bitmaps[@priorities[pos]].blt(x * 32, y * 32, @tileset, src_rect)
elsif pos >= 48 and pos < 384 # If it is an autotile
id = pos / 48 - 1 # Which autotile is used (0-6)
# plus_x is in development for animated autotiles
plus_x = 0 #((@anim / 4) % (@autotiles[id].width / 96)) * 96
for corner in 0..3
h = 4 * (pos % 48) + corner # Used to access INDEX
# src_rect = 16x16 Rect on the autotile for source bitmap
src_rect = Rect.new((INDEX[h]%6)*16+plus_x, (INDEX[h]/6)*16, 16, 16)
# Transfer source bitmap on the autotile to the current 16x16 tile
@bitmaps[@priorities[pos]].blt(x*32+X[corner]*16, y*32+Y[corner]*16,
@autotiles[id], src_rect)
end
end
end
end
end
#===============================================================================

class Game_Map
attr_accessor :pitch
attr_accessor :plus_y
#-----------------------------------------------------------------------------
alias setup_or :setup
def setup(map_id)
setup_or(map_id)
@pitch = $data_map[$game_map.map_id].pitch
@plus_y = 0
end
#-----------------------------------------------------------------------------
def name
return $data_map[@map_id].name
end
end
#===============================================================================

class Sprite_Character < RPG::Sprite
attr_accessor :character
#-----------------------------------------------------------------------------
def initialize(character = nil)
super()
@character = character
update
end
#-----------------------------------------------------------------------------
alias update_or :update
def update
update_or
# Update pitch value, and update zoom values to match
@pitch = $data_map[$game_map.map_id].pitch.to_f
self.zoom_x =
self.zoom_y = ((@character.screen_y - 16) - ($height / 2)) *
(@pitch / ($height * 25)) + 1
# Set sprite coordinates. X value is multiplied by zoom value from the center
self.x = ($width / 2) + ((@character.screen_x - ($width / 2)) * self.zoom_x)
self.y = @character.screen_y
# Add Y value for zoom compensation while in curve mode
if $curve and @pitch != 0
self.y += (8 * (1 - self.zoom_y) * ((1 - self.zoom_y) /
(2 * ((@pitch / 100) / ($height / 16.0))) + 0.5))
end
# Add plus_y value; used in airship script
self.y += $game_map.plus_y unless @character.is_a?(Game_Player)
self.z = @character.screen_z(@ch) - (self.zoom_y < 0.5 ? 1000 : 0)
if $data_map[$game_map.map_id].overworld? and
@character.is_a?(Game_Player) # Multiply zoom by Overworld factor if
self.zoom_x *= $ov_zoom # the map is marked with [OV] and event
self.zoom_y *= $ov_zoom # is a Game_Player
end
end
end
#===============================================================================

class Spriteset_Map
def initialize
# Make viewports
@viewport1 = Viewport.new(0, 0, 640, 480)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 2000
@viewport3.z = 5000
# Make tilemap
@tilemap = Draw_Tilemap.new
# Make panorama plane
@panorama = Plane.new
@panorama.z = -2000
# Make fog plane
@fog = Plane.new
@fog.z = 3000
# Make character sprites
@character_sprites = []
for i in $game_map.events.keys.sort
sprite = Sprite_Character.new($game_map.events)
@character_sprites.push(sprite)
end
@character_sprites.push(Sprite_Character.new($game_player))
# Make weather
@weather = RPG::Weather.new(@viewport1)
# Make picture sprites
@picture_sprites = []
for i in 1..50
@picture_sprites.push(Sprite_Picture.new(@viewport2,
$game_screen.pictures))
end
# Make timer sprite
@timer_sprite = Sprite_Timer.new
# Frame update
update
end
#-----------------------------------------------------------------------------
def dispose
# Dispose of tilemap
@tilemap.dispose
# Dispose of panorama plane
@panorama.dispose
# Dispose of fog plane
@fog.dispose
# Dispose of character sprites
for sprite in @character_sprites
sprite.dispose
end
# Dispose of weather
@weather.dispose
# Dispose of picture sprites
for sprite in @picture_sprites
sprite.dispose
end
# Dispose of timer sprite
@timer_sprite.dispose
# Dispose of viewports
@viewport1.dispose
@viewport2.dispose
@viewport3.dispose
end
end

Instrucciones :


Saludos, a actualizar Miwel [Chim-3]


Muchas pero muchas gracias toon link.
Te lo agradesco:icon_mrorange:

SALUDOS:icon_mrorange:
 

Lynck.

EMD Superstar
Mensajes
3.506
Reacciones
1.777
Puntos
1.330
Juju alguien me podria pasar un script
para poner videos por medio de un
evento
No especificaste para cual Rpg Maker, pero encontre este :

Nombre del Script :
Scene_Movie

Version del Scrip :
V.5

RPG MAKER : XP

Descripción : Script que permite poner un Video en el proyecto, ya sea al comenzár o por medio de un evento.

Script :

[spoiler2]
Código:
    class Scene_Movie

    def initialize(movie)
       @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
       @movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"
       main
    end

    def main

       game_name = "\0" * 256
       @readini.call('Game','Title','',game_name,255,".\\Game.ini")
       game_name.delete!("\0")
       @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
       @temp = @wnd.call(0,0,nil,game_name).to_s
       movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
       movie.call("open \""+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)
       @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')
     
       @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
       @width = @detector.call(0)
       if @width == 640
         fullscreen
         Graphics.update
         sleep(1)
         Graphics.update
         sleep(1)
         Graphics.update
         sleep(1)
       end
     
       status = " " * 255
       movie.call("play FILE",0,0,0)
       loop do
        sleep(0.1)
        @message.call(@temp.to_i,11,0,0)
        Graphics.update
        @message.call(@temp.to_i,11,1,0)
        Input.update
        movie.call("status FILE mode",status,255,0)
        true_status = status.unpack("aaaa")
        if true_status.to_s != "play"
          break
        end
        if Input.trigger?(Input::B)
          Input.update
          break
        end
       end
       movie.call("close FILE",0,0,0)
       bail
    end

    def bail
       if @width == 640
         fullscreen
       end
      end
    end

    def fullscreen()

    $full.call(18,0,0,0)
    $full.call(13,0,0,0)
    $full.call(18,0,2,0)
    $full.call(13,0,2,0)
    end
    $full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','')
[/spoiler2]

Instrucciones :
El script se coloca con el nombre de "Scene_Movie" ANTES del main.
Pon los videos en una carpeta llamada "Movies" (creala si no está) en la carpeta raiz de tu juego.

El uso es muchísimo más fácil que antes. PAra ejecutarlo sólo debéis poner esto:

Scene_Movie.new("nombrevideo") sin la extensión.

Además podéis poner un video antes de la pantalla de título. Sólo id a MAIN y colocar el código de antes ANTEs (o sea, encima) de "$scene = Scene_Title.new" y ya está!

COmo guinda final se pueden saltar los videos pulsando el botón del menú (aunque también se puede quitar esa posibilidad cortando un trozo del script)

Creditos : Desconocidos, again...

Espero que te sirva.

T.L
 
Última edición por un moderador:
Mensajes
88
Reacciones
0
Puntos
0
Juju alguien me podria pasar un script
para poner videos por medio de un
evento

Mmmm para que rpg maker? bueno aqui te dejo uno para el xp:

El script se coloca con el nombre de "Scene_Movie" ANTES del main. Este es el código:
class Scene_Movie

def initialize(movie)
@readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
@movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"
main
end

def main

game_name = "\0" * 256
@readini.call('Game','Title','',game_name,255,".\\Game.ini")
game_name.delete!("\0")
@wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
@temp = @wnd.call(0,0,nil,game_name).to_s
movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
movie.call("open \""+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)
@message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')

@detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
@width = @detector.call(0)
if @width == 640
fullscreen
Graphics.update
sleep(1)
Graphics.update
sleep(1)
Graphics.update
sleep(1)
end

status = " " * 255
movie.call("play FILE",0,0,0)
loop do
sleep(0.1)
@message.call(@temp.to_i,11,0,0)
Graphics.update
@message.call(@temp.to_i,11,1,0)
Input.update
movie.call("status FILE mode",status,255,0)
true_status = status.unpack("aaaa")
if true_status.to_s != "play"
break
end
if Input.trigger?(Input::B)
Input.update
break
end
end
movie.call("close FILE",0,0,0)
bail
end

def bail
if @width == 640
fullscreen
end
end
end

def fullscreen()

$full.call(18,0,0,0)
$full.call(13,0,0,0)
$full.call(18,0,2,0)
$full.call(13,0,2,0)
end
$full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','')

Pon los videos en una carpeta llamada "Movies" (creala si no está) en la carpeta raiz de tu juego.

El uso es muchísimo más fácil que otros scritps . Para ejecutarlo sólo pon esto:

Scene_Movie.new("nombrevideo") sin la extensión.

Además puedes poner un video antes de la pantalla de título. Sólo ve a MAIN y coloca el código de antes (o sea, encima) de "$scene = Scene_Title.new" y ya está!

Se pueden saltar los videos pulsando el botón del menú (aunque también se puede quitar esa posibilidad cortando un trozo del script)

Espero que te sirva.

Observacion 1: El script no permite colocar el video en el centro de la pantalla ni ejecutarlo a pantalla completa (si está a pantalla completa os envia a modo ventana para ejecutarlo directamente y luego os devuelve a pantalla completa... podría ser peor. Aunque esto se puede evitar quitando un trozo de script). Se recomienda usar videos de 640*480 que es la resolución del rpg maker xp.

Observacion 2: Sólo permite archivos .avi y si vais a hacer uno procurad usar códecs estándares.

Saludos!!

Información sacada de:
http://comunidad.rpgmaker.es/viewtopic.php?f=3&t=6976
 
Última edición:
Estado
Cerrado para nuevas respuestas
Arriba Pie