¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Tutorial Interactivo [Uso de interruptores]
por Ledai Hoy a las 16:58

» Necesito Script
por Elian84 Hoy a las 04:44

» Holaaa a tod@s!!!
por chronoMxx Hoy a las 03:41

» [AYUDA]Hootshot de moghunter
por Rudy_kinneas Hoy a las 01:06

» El poder oculto (Segunda entrega)
por alex1633 Ayer a las 23:18

» Hola mucho gusto
por Hk Diamond Ayer a las 13:49

» SoraDeathss se presenta!
por chronoMxx Ayer a las 07:50

» {AYUDA}Blizz-ABS Script
por chronoMxx Ayer a las 06:45

» las cosas como son...
por Bleuw Ayer a las 04:18

» Busco artistas graficos para proyecto serio
por Rudy_kinneas 2016-12-02, 20:52

Afiliados
Estadísticas
Tenemos 3381 miembros registrados.
El último usuario registrado es Hk Diamond.

Nuestros miembros han publicado un total de 79767 mensajes en 11247 argumentos.
Navega con Google Chrome
[DESCARGA]

necesito scipt y tuto de como va

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker VX necesito scipt y tuto de como va

Mensaje por juan carlos 2 el 2012-07-01, 00:54

script que te permite cavar y encontrar tesoros exoticos en tierra fertil, puede cavar en ciertos autotiles en pleno mapa.

juan carlos 2
Iniciado
Iniciado

0/3

Créditos 30

Gracias : 2

Volver arriba Ir abajo

RPG Maker VX Re: necesito scipt y tuto de como va

Mensaje por aragonez el 2012-07-01, 01:05

Aqui tienes :

http://www.planetarpg.com.ar/foro/showthread.php?tid=2157

Creo que dentro de la demo viene todo explicado.

aragonez
Moderador
Moderador



Créditos 589

Gracias : 22

Volver arriba Ir abajo

RPG Maker VX hola quizas puedas auydarme

Mensaje por juan carlos 2 el 2012-07-01, 01:59

me da este error al iniciar mi proyecto:


en la linea 234:
falcao_pala_ini
¿que le ocurre?

juan carlos 2
Iniciado
Iniciado

0/3

Créditos 30

Gracias : 2

Volver arriba Ir abajo

RPG Maker VX Re: necesito scipt y tuto de como va

Mensaje por aragonez el 2012-07-01, 02:48

Mmm, poss no se que ocurrira, tal vez algun script que tengas no es compatible con este, tal vez has copiado mal el script o habras borrado algo o no lo se, trata de iniciar el juego con el proyecto del script porque no se cual es el error de aqui.

Salu2.

_________________

aragonez
Moderador
Moderador



Créditos 589

Gracias : 22

Volver arriba Ir abajo

RPG Maker VX Re: necesito scipt y tuto de como va

Mensaje por orochii el 2012-07-01, 03:17

Diantres, no copiaste el link correcto de la imagen. Bien, mis suposiciones serían...
1.Quizá pusiste el script de primero o algo así. Asegúrate de insertarlo justo sobre el script Main (para ello, sitúate sobre Main, y presiona Insert, y pegas el contenido en el script en blanco que se crea ; O si estás copiando el script de otro proyecto, te sitúas sobre Main y le das Ctr-V).

2.Incompatibilidad como dice Aragonez. Aunque en teoría (amo la teoría x'D) si está de último no habría de dar problemas. Si hubiera problema de incompatibilidad, el error lo tiraría otro script (cualquiera que esté antes y haya sido afectado por ese).

3.Que te hayas saltado algún paso de la "Instalación" (dentro de las "Istrucciones" -sí, viene mal escrito x'D-).
--A- Debes crear un arma, y poner la palabra PALA en el campo de "Notas".
--B- Considerar que los terrenos donde se puede cavar con pala son el 28, 29 y 30 (el pasto seco y los dos que se encuentran a los lados de éste).
--C- Copiar los archivos de la carpeta Graphics a tu proyecto (Characters y Pictures).

Si no fuera ninguna de esas, pues no tengo idea macho, salut,
Orochii Zouveleki

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

RPG Maker VX hola me da error en la linea 1

Mensaje por juan carlos 2 el 2012-07-01, 17:15

DA ERROR EN LINE 1:

=======================================================================#
# #*****************# Pala 1.0 Falcao script, permite cavar #
# #*** By Falcao ***# y encontrar tesoros en tierra fertil #
# #*****************# #
# RMVX #
YA ùen en notas, pala, en armas ya esta , pero me sigue dando el error


Última edición por juan carlos 2 el 2012-07-01, 17:17, editado 1 vez (Razón : sin script)

juan carlos 2
Iniciado
Iniciado

0/3

Créditos 30

Gracias : 2

Volver arriba Ir abajo

RPG Maker VX Re: necesito scipt y tuto de como va

Mensaje por carlos55 el 2012-07-01, 17:59

juan carlos 2 escribió:DA ERROR EN LINE 1:

=======================================================================#
# #*****************# Pala 1.0 Falcao script, permite cavar #
# #*** By Falcao ***# y encontrar tesoros en tierra fertil #
# #*****************# #
# RMVX #
YA ùen en notas, pala, en armas ya esta , pero me sigue dando el error

Tienes que poner un # al principode la linea 1,eso hara que se vuelva un comentario
osea una parte que omite el programa

Saludos

carlos55
Moderador
Moderador



Créditos 1135

Gracias : 9

http://powerreleased.blogspot.com/

Volver arriba Ir abajo

RPG Maker VX no , estaba bien aun nada...

Mensaje por juan carlos 2 el 2012-07-01, 18:22

no hay manera de que vaya....
¿alguien me pasa una demo que no sea esa?

juan carlos 2
Iniciado
Iniciado

0/3

Créditos 30

Gracias : 2

Volver arriba Ir abajo

RPG Maker VX Re: necesito scipt y tuto de como va

Mensaje por orochii el 2012-07-01, 19:57

Emmm haz lo que dijo Carlos... o sino prueba quitando la línea que dice:
Código:
=======================================================================#
Esa línea no hace nada. Lo que pasó sin embargo, como bien dice Carlos, es que falta un # (signo de número) al comienzo de dicha línea, para que el programa la ignore. Por ello, es igual, borrarla o ponerle el # que necesita al comienzo de dicha línea...
Código:
#=======================================================================#

Salut,
OZ

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

RPG Maker VX error linea 231 falcao_pala_ini

Mensaje por juan carlos 2 el 2012-07-01, 21:04

copio desde el demo de pala .1 a mi proectyo
en personal lo pego y pongo pala
tanbien lo pongo en script, igual
en notas pongo pala
como arma
y la imagen $pala
y la otra

abro mi proyecto y...
ERROR LINE 1 SCRIPT

¿me descargo otro ejemplo de pala, a ver ? quizas ese este ,mal...
mira te paso el script:

Código:
##=======================================================================#
#  #*****************#          Pala 1.0 Falcao script, permite cavar  #
#  #*** By Falcao ***#          y encontrar tesoros en tierra fertil  #
#  #*****************#                                                  #
#        RMVX                                                          #
# makerpalace.onlinegoo.com      Abril 14 del 2010                      #
#=======================================================================#


#------------------------------------------------------------------------
# * Istrucciones
#
# Copiar y pegar el script encima de main y configurar el module de
# abajo a sus gustos.
#
# Para hacer que el personaje pueda cavar hacer los pasos sigueintes
#
# 1- Pala            Se crea en base de datos/Weapons y ponerle una nota
#                    llamada PALA, cuando la pala este equipada puede usarse
#
# 2- Terreno fertil  3 autotiles an sido fertilizados por el script,
#                    cuales son? capa A autotiles 28, 29 y 30. cuando
#                    el personaje este parado ahi, creara un oyo.
#
# 3- Graficos        Importar los graficos necesarios de la carpetas
#                    Characters y Pictures a sus proyectos.
#
#
# Nota: - Si no entendiste una mierda, por favor mirar los ejemplos en
#        la demo que viene junto a este script.
#-------------------------------------------------------------------------


module FalShovel
 
  # Tesosros por cada mapa, pueden ser Items, Weapons o Armors, por defecto se
  # Toman los valores del mapa ID 1. A= ID de mapa. B= Tipo de tesoro + id
 
  Treasure = {

  #-----------------------------------------------------------------------
  # Mapa ID 1
    1=> {
     
  #      Tipo        ID de tesoro
        'Item'  => [1, 4, 5, 8],
        'Weapon' => [12, 3, 5, 17],
        'Armor'  => [],
     
        },
     
  #------------------------------------------------------------------------
  # Mapa ID 2
    2=> {
     
  #      Tipo        ID de tesoro
        'Item'  => [14, 15],
        'Weapon' => [],
        'Armor'  => [4, 6, 9],
     
        },
     
  #------------------------------------------------------------------------
  # Mapa ID 3
    3=> {
     
  #      Tipo        ID de tesoro
        'Item'  => [1, 8],
        'Weapon' => [4, 8, 15, 19],
        'Armor'  => [7, 8, 10, 13],
     
      }, 
     
     
  #--------------------------------------------------------------------------
  }
 
 
 
  # Tecla para usar la Pala, puedes escoger entre las siguientes
  # A, S, D, Q, W, Z, X, SHIFT, ALT, ESPACIO
  ShovelKey = 'Z'
 
  # Sonido al cavar
  HoleSe = "Open1"
 
  # Sonido al recoger el tesoro
  ItemSe = "Item1"
 
  # Sonido al no cavar
  NoneSe = "Key"
 
  # Variable para hackear el script, esto permite encontrar tesoro por
  # cada vez que se cava, el valor deve ser 503
  HackVariable = 99
 
end

#--------------------------------------------------------------------------
# * Input translator
#--------------------------------------------------------------------------
module FalKey2
 
  module_function
 
  def key(letter)
    case letter
    when 'A', 'a'; k = Input::X
    when 'S', 's'; k = Input::Y
    when 'D', 'd'; k = Input::Z
    when 'Q', 'q'; k = Input::L
    when 'W', 'w'; k = Input::R
    when 'Z', 'z', 'ESPACIO', 'espacio';  k = Input::C
    when 'X', 'x', 'ESC' 'esc';  k = Input::B
    when 'SHIFT', 'shift'; k = Input::A
    when 'ALT', 'alt'; k = Input::ALT
    end
    return k
  end
end

#--------------------------------------------------------------------------
# * RPG armas
#--------------------------------------------------------------------------
module RPG
  class BaseItem
    def pala?
      self.note.each_line { |line| return true if line.include?("PALA") }
      return false
    end
  end
end

#--------------------------------------------------------------------------
# * Game_Character
#--------------------------------------------------------------------------
class Game_Character
  def moveto_front_player
    add_x = front_tile[0]
    add_y = front_tile[1]
    moveto($game_player.x + add_x, $game_player.y + add_y)
  end
 
  def front_tile
    case $game_player.direction
    when 2; push_x =  0;  push_y =  1
    when 4; push_x = -1;  push_y =  0
    when 6; push_x =  1;  push_y =  0
    when 8; push_x =  0;  push_y = -1
    end
    return push_x, push_y
  end
end

#--------------------------------------------------------------------------
# * Pala_Treasure, character del tesoro
#--------------------------------------------------------------------------
class Pala_Treasure < Game_Character
  attr_accessor :graphic_name
  attr_accessor :graphic_index
  attr_accessor :destroy
  attr_accessor :draw
  def initialize(type, id)
    super()
    @graphic_name = "IconSet"
    @destroy = false
    @draw = false
    case type
    when 'Item';    @item = $data_items[id]
    when 'Weapon';  @item = $data_weapons[id]
    when 'Armor';  @item = $data_armors[id]
    end
    @graphic_index = @item.icon_index
    moveto_front_player
    jump(0,0)
  end
 
  def update
    super
    if self.x == $game_player.x and self.y == $game_player.y
      case @item
      when RPG::Item
        $game_party.gain_item($data_items[@item.id],1)
      when RPG::Weapon
        $game_party.gain_item($data_weapons[@item.id],1)
      when RPG::Armor
        $game_party.gain_item($data_armors[@item.id],1)
      end
      Audio.se_play("Audio/Se/" + FalShovel::ItemSe)
      @destroy = true
    end
  end
 
  def check_event_trigger_touch(x, y)
  end
end

#--------------------------------------------------------------------------
# * Pala_Hole, Character del agujero
#--------------------------------------------------------------------------
class Pala_Hole < Game_Character
  attr_accessor :draw
  def initialize
    super()
    @character_name = "Hole"
    @draw = false
    moveto_front_player
  end
 
  def check_event_trigger_touch(x, y)
  end
end

#--------------------------------------------------------------------------
# * Game_Player Main piece
#--------------------------------------------------------------------------
class Game_Player < Game_Character
  attr_accessor :pala_treasure
  attr_accessor :pala_hole
  attr_accessor :pala_visible
  attr_accessor :suerte
  attr_accessor :treasure_found
  alias falcao_pala_ini initialize
  def initialize
    @pala_treasure = []
    @pala_hole = []
    @coordenadas = []
    @pala_visible = 0
    @suerte = {}
    @treasure_found = false
    falcao_pala_ini
  end
 
  alias falcao_pala_update update
  def update
    falcao_pala_update
    update_pala
    if @pala_visible > 0
      @pala_visible -= 1
      @pattern = 0 if !moving?
      @pala_visible = 0 if @pala_visible == 1
    end
  end
 
  def update_pala
    return if message?
    if Input.trigger?(Input::C) and check_weapons != nil
      return if @pala_visible > 0
      @pala_visible = 22
      Audio.se_play("Audio/Se/" + FalShovel::NoneSe,80, 110) if !cavable_area?
    end
    return unless @pala_visible == 8
    return unless cavable_area?
    cx = self.x + front_tile[0]
    cy = self.y + front_tile[1]
    cv = cx , cy
    if @coordenadas.include?(cv)
      Audio.se_play("Audio/Se/" + FalShovel::NoneSe,80, 110)
      return
    end
    unless @coordenadas.include?(cv)
      @pala_hole.push(Pala_Hole.new)
      variance = 0
      @suerte.each do |map, value|
        if map == $game_map.map_id
          variance = value
        end
      end
      hack = $game_variables[FalShovelHackVariable] == 503
      hack ? radom = 1 : radom = 6; hack ? variance = 0 : radom = 6
      treasure_variance if rand(radom + variance) == 0
      @coordenadas.push(cv)
      Audio.se_play("Audio/Se/" + FalShovel::HoleSe,80, 90)
    end
  end
 
  def treasure_variance
    kind = []
    data_treasure = {}
    FalShovel::Treasure.each do |map_id, value|
      data_treasure = value if map_id == $game_map.map_id
      data_treasure = value if map_id == 1 and map_id != $game_map.map_id
    end
    data_treasure.each do |item, value|
      unless value.empty?
        kind.push(item)
      end
    end
    treasure_type = kind[rand(kind.size)]
    data_treasure.each do |type, value|
      if type == treasure_type
        id = value[rand(value.size)]
        @pala_treasure.push(Pala_Treasure.new(type, id))
      end
    end
    @treasure_found = true
  end
 
  def check_weapons
    actor = $game_party.members[0]
    for weapon in $data_weapons
      next if weapon.nil?
      if weapon.pala? and actor.weapons.include?($data_weapons[weapon.id])
        return weapon
      end
    end
    return nil
  end
 
  def message?
    for event in $game_map.events.values
      if !event.page.nil?
        for i in event.page.list
          if i.code == 101 or i.code == 102 or i.code == 103
            if event.x == self.x + front_tile[0] and
              event.y == self.y + front_tile[1]
            if $game_map.interpreter.running? and
              Input.trigger?(FalKey2.key(FalShovel::ShovelKey))
              return true
            end
          end
        end
      end
    end
    end
    return false
  end
 
  def cavable_area?
    tag_x = self.x + front_tile[0]
    tag_y = self.y + front_tile[1]
    for i in 3344..3390
      return true if i == $game_map.data[tag_x, tag_y, 0]
    end
    return false
  end
 
  alias falcaopala_move_by_input move_by_input
  def move_by_input
    return if @pala_visible > 0
    falcaopala_move_by_input
  end
 
  alias falcaopala_perform_transfer perform_transfer
  def perform_transfer
    return unless $game_player.transfer?
    @pala_treasure = []
    @pala_hole = []
    @coordenadas = []
    if @treasure_found
      unless @suerte.has_key?($game_map.map_id)
        @suerte[$game_map.map_id] = 0
      end
      @suerte.each do |map, value|
        if map == $game_map.map_id
          value += 3
          @suerte[map] = value
        end
      end
      @treasure_found = false
    end
    falcaopala_perform_transfer
  end
end

#--------------------------------------------------------------------------
# * Sprite del agujero
#--------------------------------------------------------------------------
class Sprite_Hole < Sprite_Base
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    create_bitmap
    update
  end
 
  def create_bitmap
    self.bitmap = Cache.picture(@character.character_name)
  end
 
  def update
    super
    self.visible = (not @character.transparent)
    self.z = @character.screen_z - 5
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    self.x = @character.screen_x - 16
    self.y = @character.screen_y - 26
  end
end

#--------------------------------------------------------------------------
# * Sprite de la Pala
#--------------------------------------------------------------------------
class Sprite_Shovel < Sprite_Base
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    self.visible = false
    update
  end
 
  def update
    super
    update_bitmap
    update_src_rect
  end
 
  def refresh
    update_src_rect
  end
 
  def update_bitmap
    self.bitmap = Cache.character("$pala")
    sign = "$pala"[/^[\!\$]./]
    if sign != nil and sign.include?('$')
      @cw = bitmap.width / 3
      @ch = bitmap.height / 4
    else
      @cw = bitmap.width / 12
      @ch = bitmap.height / 8
    end
    self.ox = @cw / 2
    self.oy = @ch
  end
 
  def update_src_rect
    self.visible = ($game_player.pala_visible > 0)
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = @character.screen_z + 500
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    index = 0
    pattern = @character.pattern < 3 ? @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

#--------------------------------------------------------------------------
# * Sprite del tesoro
#--------------------------------------------------------------------------
class Sprite_Treasure < Sprite_Base
  attr_accessor :character
  def initialize(viewport, character=nil)
    super(viewport)
    @character = character
    update
  end
 
  def update
    super
    update_bitmap
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = @character.screen_z - 4
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    if @character.animation_id != 0
      start_animation($data_animations[@character.animation_id])
      @character.animation_id = 0
    end
  end
 
  def update_bitmap
    return if @graphic_name == @character.graphic_name
    @graphic_name = @character.graphic_name
    self.bitmap = Cache.system(@graphic_name)
    self.ox = 12
    self.oy = 24
    sx = @character.graphic_index % 16 * 24
    sy = @character.graphic_index / 16 * 24
    self.src_rect.set(sx, sy, 24, 24)
  end
end

#--------------------------------------------------------------------------
# * Spriteset_Map
#--------------------------------------------------------------------------
class Spriteset_Map
  alias falcao13_create_characters create_characters
  def create_characters
    falcao13_create_characters
    @hole_sprites = []
    for hole in $game_player.pala_hole
      next if hole.nil?
      @hole_sprites.push(Sprite_Hole.new(@viewport1, hole))
    end
    @treasure_sprites = []
    for trea in $game_player.pala_treasure
      next if trea.nil?
      @treasure_sprites.push(Sprite_Treasure.new(@viewport1, trea))
    end
    @shovel = Sprite_Shovel.new(@viewport1, $game_player)
  end
 
  alias falcao13_dispose_characters dispose_characters
  def dispose_characters
    falcao13_dispose_characters
    for hole in @hole_sprites
      next if hole.nil?
      hole.dispose
    end
    for trea in @treasure_sprites
      next if trea.nil?
      trea.dispose
    end
    @shovel.dispose
  end
 
  alias falcao13_update_characters update_characters
  def update_characters
    falcao13_update_characters
    @shovel.refresh
    for hole in @hole_sprites
      next if hole.nil?
      hole.update
    end
    for hole in $game_player.pala_hole
      next if hole.nil?
      unless hole.draw
        @hole_sprites.push(Sprite_Hole.new(@viewport1, hole))
        hole.draw = true
      end
    end
    for trea in @treasure_sprites
      next if trea.nil?
      trea.update
    end
    for trea in $game_player.pala_treasure
      next if trea.nil?
      unless trea.draw
        @treasure_sprites.push(Sprite_Treasure.new(@viewport1, trea))
        trea.draw = true
      end
      if trea.destroy
        trea.graphic_name = ""
        $game_player.pala_treasure.delete(trea)
        for t in @treasure_sprites
          next if t.nil?
          if t.character.destroy
            @treasure_sprites.delete(t)
            t.dispose
          end
        end
      end
    end
  end
end

#--------------------------------------------------------------------------
# * Scene_Map
#--------------------------------------------------------------------------
class Scene_Map < Scene_Base
  alias falcaopala_update update
  def update
    falcaopala_update
    for trea in $game_player.pala_treasure
      next if trea.nil?
      trea.update
    end
  end
end

#--------------------------------------------------------------------------
# * Game event
#--------------------------------------------------------------------------
class Game_Event < Game_Character
  attr_accessor :page
end

juan carlos 2
Iniciado
Iniciado

0/3

Créditos 30

Gracias : 2

Volver arriba Ir abajo

RPG Maker VX Re: necesito scipt y tuto de como va

Mensaje por aragonez el 2012-07-01, 21:29

A ver descargatelo de aqui :

http://www.mundo-maker.com/t1751-script-cavar-con-una-pala-10-vx

Si sigue el mismo error, pues es algo que estas haciendo mal.

_________________

aragonez
Moderador
Moderador



Créditos 589

Gracias : 22

Volver arriba Ir abajo

RPG Maker VX Re: necesito scipt y tuto de como va

Mensaje por Dangaioh el 2012-07-01, 21:33

juan carlos 2 escribió:copio desde el demo de pala .1 a mi proectyo
en personal lo pego y pongo pala
tanbien lo pongo en script, igual
en notas pongo pala
como arma
y la imagen $pala
y la otra

abro mi proyecto y...
ERROR LINE 1 SCRIPT

¿me descargo otro ejemplo de pala, a ver ? quizas ese este ,mal...
mira te paso el script:

Código:
##=======================================================================#
#  #*****************#          Pala 1.0 Falcao script, permite cavar  #
#  #*** By Falcao ***#          y encontrar tesoros en tierra fertil  #
#  #*****************#                                                  #
#        RMVX                                                          #
# makerpalace.onlinegoo.com      Abril 14 del 2010                      #
#=======================================================================#


#------------------------------------------------------------------------
# * Istrucciones
#
# Copiar y pegar el script encima de main y configurar el module de
# abajo a sus gustos.
#
# Para hacer que el personaje pueda cavar hacer los pasos sigueintes
#
# 1- Pala            Se crea en base de datos/Weapons y ponerle una nota
#                    llamada PALA, cuando la pala este equipada puede usarse
#
# 2- Terreno fertil  3 autotiles an sido fertilizados por el script,
#                    cuales son? capa A autotiles 28, 29 y 30. cuando
#                    el personaje este parado ahi, creara un oyo.
#
# 3- Graficos        Importar los graficos necesarios de la carpetas
#                    Characters y Pictures a sus proyectos.
#
#
# Nota: - Si no entendiste una mierda, por favor mirar los ejemplos en
#        la demo que viene junto a este script.
#-------------------------------------------------------------------------


module FalShovel
 
  # Tesosros por cada mapa, pueden ser Items, Weapons o Armors, por defecto se
  # Toman los valores del mapa ID 1. A= ID de mapa. B= Tipo de tesoro + id
 
  Treasure = {

  #-----------------------------------------------------------------------
  # Mapa ID 1
    1=> {
     
  #      Tipo        ID de tesoro
        'Item'  => [1, 4, 5, 8],
        'Weapon' => [12, 3, 5, 17],
        'Armor'  => [],
     
        },
     
  #------------------------------------------------------------------------
  # Mapa ID 2
    2=> {
     
  #      Tipo        ID de tesoro
        'Item'  => [14, 15],
        'Weapon' => [],
        'Armor'  => [4, 6, 9],
     
        },
     
  #------------------------------------------------------------------------
  # Mapa ID 3
    3=> {
     
  #      Tipo        ID de tesoro
        'Item'  => [1, 8],
        'Weapon' => [4, 8, 15, 19],
        'Armor'  => [7, 8, 10, 13],
     
      }, 
     
     
  #--------------------------------------------------------------------------
  }
 
 
 
  # Tecla para usar la Pala, puedes escoger entre las siguientes
  # A, S, D, Q, W, Z, X, SHIFT, ALT, ESPACIO
  ShovelKey = 'Z'
 
  # Sonido al cavar
  HoleSe = "Open1"
 
  # Sonido al recoger el tesoro
  ItemSe = "Item1"
 
  # Sonido al no cavar
  NoneSe = "Key"
 
  # Variable para hackear el script, esto permite encontrar tesoro por
  # cada vez que se cava, el valor deve ser 503
  HackVariable = 99
 
end

#--------------------------------------------------------------------------
# * Input translator
#--------------------------------------------------------------------------
module FalKey2
 
  module_function
 
  def key(letter)
    case letter
    when 'A', 'a'; k = Input::X
    when 'S', 's'; k = Input::Y
    when 'D', 'd'; k = Input::Z
    when 'Q', 'q'; k = Input::L
    when 'W', 'w'; k = Input::R
    when 'Z', 'z', 'ESPACIO', 'espacio';  k = Input::C
    when 'X', 'x', 'ESC' 'esc';  k = Input::B
    when 'SHIFT', 'shift'; k = Input::A
    when 'ALT', 'alt'; k = Input::ALT
    end
    return k
  end
end

#--------------------------------------------------------------------------
# * RPG armas
#--------------------------------------------------------------------------
module RPG
  class BaseItem
    def pala?
      self.note.each_line { |line| return true if line.include?("PALA") }
      return false
    end
  end
end

#--------------------------------------------------------------------------
# * Game_Character
#--------------------------------------------------------------------------
class Game_Character
  def moveto_front_player
    add_x = front_tile[0]
    add_y = front_tile[1]
    moveto($game_player.x + add_x, $game_player.y + add_y)
  end
 
  def front_tile
    case $game_player.direction
    when 2; push_x =  0;  push_y =  1
    when 4; push_x = -1;  push_y =  0
    when 6; push_x =  1;  push_y =  0
    when 8; push_x =  0;  push_y = -1
    end
    return push_x, push_y
  end
end

#--------------------------------------------------------------------------
# * Pala_Treasure, character del tesoro
#--------------------------------------------------------------------------
class Pala_Treasure < Game_Character
  attr_accessor :graphic_name
  attr_accessor :graphic_index
  attr_accessor :destroy
  attr_accessor :draw
  def initialize(type, id)
    super()
    @graphic_name = "IconSet"
    @destroy = false
    @draw = false
    case type
    when 'Item';    @item = $data_items[id]
    when 'Weapon';  @item = $data_weapons[id]
    when 'Armor';  @item = $data_armors[id]
    end
    @graphic_index = @item.icon_index
    moveto_front_player
    jump(0,0)
  end
 
  def update
    super
    if self.x == $game_player.x and self.y == $game_player.y
      case @item
      when RPG::Item
        $game_party.gain_item($data_items[@item.id],1)
      when RPG::Weapon
        $game_party.gain_item($data_weapons[@item.id],1)
      when RPG::Armor
        $game_party.gain_item($data_armors[@item.id],1)
      end
      Audio.se_play("Audio/Se/" + FalShovel::ItemSe)
      @destroy = true
    end
  end
 
  def check_event_trigger_touch(x, y)
  end
end

#--------------------------------------------------------------------------
# * Pala_Hole, Character del agujero
#--------------------------------------------------------------------------
class Pala_Hole < Game_Character
  attr_accessor :draw
  def initialize
    super()
    @character_name = "Hole"
    @draw = false
    moveto_front_player
  end
 
  def check_event_trigger_touch(x, y)
  end
end

#--------------------------------------------------------------------------
# * Game_Player Main piece
#--------------------------------------------------------------------------
class Game_Player < Game_Character
  attr_accessor :pala_treasure
  attr_accessor :pala_hole
  attr_accessor :pala_visible
  attr_accessor :suerte
  attr_accessor :treasure_found
  alias falcao_pala_ini initialize
  def initialize
    @pala_treasure = []
    @pala_hole = []
    @coordenadas = []
    @pala_visible = 0
    @suerte = {}
    @treasure_found = false
    falcao_pala_ini
  end
 
  alias falcao_pala_update update
  def update
    falcao_pala_update
    update_pala
    if @pala_visible > 0
      @pala_visible -= 1
      @pattern = 0 if !moving?
      @pala_visible = 0 if @pala_visible == 1
    end
  end
 
  def update_pala
    return if message?
    if Input.trigger?(Input::C) and check_weapons != nil
      return if @pala_visible > 0
      @pala_visible = 22
      Audio.se_play("Audio/Se/" + FalShovel::NoneSe,80, 110) if !cavable_area?
    end
    return unless @pala_visible == 8
    return unless cavable_area?
    cx = self.x + front_tile[0]
    cy = self.y + front_tile[1]
    cv = cx , cy
    if @coordenadas.include?(cv)
      Audio.se_play("Audio/Se/" + FalShovel::NoneSe,80, 110)
      return
    end
    unless @coordenadas.include?(cv)
      @pala_hole.push(Pala_Hole.new)
      variance = 0
      @suerte.each do |map, value|
        if map == $game_map.map_id
          variance = value
        end
      end
      hack = $game_variables[FalShovelHackVariable] == 503
      hack ? radom = 1 : radom = 6; hack ? variance = 0 : radom = 6
      treasure_variance if rand(radom + variance) == 0
      @coordenadas.push(cv)
      Audio.se_play("Audio/Se/" + FalShovel::HoleSe,80, 90)
    end
  end
 
  def treasure_variance
    kind = []
    data_treasure = {}
    FalShovel::Treasure.each do |map_id, value|
      data_treasure = value if map_id == $game_map.map_id
      data_treasure = value if map_id == 1 and map_id != $game_map.map_id
    end
    data_treasure.each do |item, value|
      unless value.empty?
        kind.push(item)
      end
    end
    treasure_type = kind[rand(kind.size)]
    data_treasure.each do |type, value|
      if type == treasure_type
        id = value[rand(value.size)]
        @pala_treasure.push(Pala_Treasure.new(type, id))
      end
    end
    @treasure_found = true
  end
 
  def check_weapons
    actor = $game_party.members[0]
    for weapon in $data_weapons
      next if weapon.nil?
      if weapon.pala? and actor.weapons.include?($data_weapons[weapon.id])
        return weapon
      end
    end
    return nil
  end
 
  def message?
    for event in $game_map.events.values
      if !event.page.nil?
        for i in event.page.list
          if i.code == 101 or i.code == 102 or i.code == 103
            if event.x == self.x + front_tile[0] and
              event.y == self.y + front_tile[1]
            if $game_map.interpreter.running? and
              Input.trigger?(FalKey2.key(FalShovel::ShovelKey))
              return true
            end
          end
        end
      end
    end
    end
    return false
  end
 
  def cavable_area?
    tag_x = self.x + front_tile[0]
    tag_y = self.y + front_tile[1]
    for i in 3344..3390
      return true if i == $game_map.data[tag_x, tag_y, 0]
    end
    return false
  end
 
  alias falcaopala_move_by_input move_by_input
  def move_by_input
    return if @pala_visible > 0
    falcaopala_move_by_input
  end
 
  alias falcaopala_perform_transfer perform_transfer
  def perform_transfer
    return unless $game_player.transfer?
    @pala_treasure = []
    @pala_hole = []
    @coordenadas = []
    if @treasure_found
      unless @suerte.has_key?($game_map.map_id)
        @suerte[$game_map.map_id] = 0
      end
      @suerte.each do |map, value|
        if map == $game_map.map_id
          value += 3
          @suerte[map] = value
        end
      end
      @treasure_found = false
    end
    falcaopala_perform_transfer
  end
end

#--------------------------------------------------------------------------
# * Sprite del agujero
#--------------------------------------------------------------------------
class Sprite_Hole < Sprite_Base
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    create_bitmap
    update
  end
 
  def create_bitmap
    self.bitmap = Cache.picture(@character.character_name)
  end
 
  def update
    super
    self.visible = (not @character.transparent)
    self.z = @character.screen_z - 5
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    self.x = @character.screen_x - 16
    self.y = @character.screen_y - 26
  end
end

#--------------------------------------------------------------------------
# * Sprite de la Pala
#--------------------------------------------------------------------------
class Sprite_Shovel < Sprite_Base
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    self.visible = false
    update
  end
 
  def update
    super
    update_bitmap
    update_src_rect
  end
 
  def refresh
    update_src_rect
  end
 
  def update_bitmap
    self.bitmap = Cache.character("$pala")
    sign = "$pala"[/^[\!\$]./]
    if sign != nil and sign.include?('$')
      @cw = bitmap.width / 3
      @ch = bitmap.height / 4
    else
      @cw = bitmap.width / 12
      @ch = bitmap.height / 8
    end
    self.ox = @cw / 2
    self.oy = @ch
  end
 
  def update_src_rect
    self.visible = ($game_player.pala_visible > 0)
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = @character.screen_z + 500
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    index = 0
    pattern = @character.pattern < 3 ? @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

#--------------------------------------------------------------------------
# * Sprite del tesoro
#--------------------------------------------------------------------------
class Sprite_Treasure < Sprite_Base
  attr_accessor :character
  def initialize(viewport, character=nil)
    super(viewport)
    @character = character
    update
  end
 
  def update
    super
    update_bitmap
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = @character.screen_z - 4
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    if @character.animation_id != 0
      start_animation($data_animations[@character.animation_id])
      @character.animation_id = 0
    end
  end
 
  def update_bitmap
    return if @graphic_name == @character.graphic_name
    @graphic_name = @character.graphic_name
    self.bitmap = Cache.system(@graphic_name)
    self.ox = 12
    self.oy = 24
    sx = @character.graphic_index % 16 * 24
    sy = @character.graphic_index / 16 * 24
    self.src_rect.set(sx, sy, 24, 24)
  end
end

#--------------------------------------------------------------------------
# * Spriteset_Map
#--------------------------------------------------------------------------
class Spriteset_Map
  alias falcao13_create_characters create_characters
  def create_characters
    falcao13_create_characters
    @hole_sprites = []
    for hole in $game_player.pala_hole
      next if hole.nil?
      @hole_sprites.push(Sprite_Hole.new(@viewport1, hole))
    end
    @treasure_sprites = []
    for trea in $game_player.pala_treasure
      next if trea.nil?
      @treasure_sprites.push(Sprite_Treasure.new(@viewport1, trea))
    end
    @shovel = Sprite_Shovel.new(@viewport1, $game_player)
  end
 
  alias falcao13_dispose_characters dispose_characters
  def dispose_characters
    falcao13_dispose_characters
    for hole in @hole_sprites
      next if hole.nil?
      hole.dispose
    end
    for trea in @treasure_sprites
      next if trea.nil?
      trea.dispose
    end
    @shovel.dispose
  end
 
  alias falcao13_update_characters update_characters
  def update_characters
    falcao13_update_characters
    @shovel.refresh
    for hole in @hole_sprites
      next if hole.nil?
      hole.update
    end
    for hole in $game_player.pala_hole
      next if hole.nil?
      unless hole.draw
        @hole_sprites.push(Sprite_Hole.new(@viewport1, hole))
        hole.draw = true
      end
    end
    for trea in @treasure_sprites
      next if trea.nil?
      trea.update
    end
    for trea in $game_player.pala_treasure
      next if trea.nil?
      unless trea.draw
        @treasure_sprites.push(Sprite_Treasure.new(@viewport1, trea))
        trea.draw = true
      end
      if trea.destroy
        trea.graphic_name = ""
        $game_player.pala_treasure.delete(trea)
        for t in @treasure_sprites
          next if t.nil?
          if t.character.destroy
            @treasure_sprites.delete(t)
            t.dispose
          end
        end
      end
    end
  end
end

#--------------------------------------------------------------------------
# * Scene_Map
#--------------------------------------------------------------------------
class Scene_Map < Scene_Base
  alias falcaopala_update update
  def update
    falcaopala_update
    for trea in $game_player.pala_treasure
      next if trea.nil?
      trea.update
    end
  end
end

#--------------------------------------------------------------------------
# * Game event
#--------------------------------------------------------------------------
class Game_Event < Game_Character
  attr_accessor :page
end


te edito
cuando postees un script, usa CODE
gracias

_________________









Dangaioh
Administrador
Administrador



Créditos 5042

Gracias : 84

Volver arriba Ir abajo

RPG Maker VX Re: necesito scipt y tuto de como va

Mensaje por silvanash el 2012-07-02, 11:38

No es por nada, ¿pero no sería más fácil hacer un engine? Pones el chara de "tierra fértil" (en serio, ¿existe tierra fértil de tesoros?), comprobar si el jugador tiene una pala y das valores aleatorios a una variable. Luego, un puñado de condiciones y efectos y listo. Ni símbolos raros ni errores desconocidos.

silvanash
Aventurero
Aventurero

0/3

Créditos 1417

Gracias : 176

Volver arriba Ir abajo

RPG Maker VX Re: necesito scipt y tuto de como va

Mensaje por Contenido patrocinado Hoy a las 20:21


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

Permisos de este foro:
No puedes responder a temas en este foro.