The RPG Maker Resource Kit

RMRK RPG Maker Creation => VX => VX Scripts Database => Topic started by: ahref on April 10, 2008, 09:28:14 PM

Title: Vehicle Landing Restrictions
Post by: ahref on April 10, 2008, 09:28:14 PM
Vehicle Landing Restrictions
Part of ahref's pirate game template(unreleased :()
Version: 1.00
Author: ahref
Date: April 10, 2008

Version History

Planned Future Versions


Description

This script restricts where a player can exit their boats an ships. they can only exit their vehicles at specified events whose names contain "port". THIS DOES NOT WORK WITH AIRSHIPS.

Features


Instructions
paste above main and name any event you want a player to be able to land at with port. eg "Port Royal"

Script


Code: [Select]
#===============================================================================
# Landing Restrictions - RMVX
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Written by ahref
# 10/4/08
# Version 1.00
#===============================================================================
# This script Changes the get_off_vehcile function so players can only
# exit ships and boats if the script determines that the vehicle is at a port
# using the name of the event infront of it.
#
# The script will allow the player to leave their ship if any of the following
# are found in the event name:
# * Port
# * PORT
# * port
#===============================================================================

===============================================================================
# ** Game_Player
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Summary of Changes:
#      new method : at_port
#      edit to method : get_off_vehicle
#===============================================================================
class Game_Player < Game_Character
  #-----------------------------------------------------------------------------
  # Checks if player is at a port
  #-----------------------------------------------------------------------------
  def at_port(x,y)
    event  = $game_map.events_xy (x, y)
    if event.empty?
      return false
    else
      if (event[0].name =~ /\PORT/i) !=nil
        return true
      else
        return false
      end
    end
  end
  #-----------------------------------------------------------------------------
  # Rewritten to include new method
  #-----------------------------------------------------------------------------
  def get_off_vehicle
    if in_airship?                                # Airship
      return unless airship_land_ok?(@x, @y)      # Can't land?
    else                                          # Boat/ship
      front_x = $game_map.x_with_direction(@x, @direction)
      front_y = $game_map.y_with_direction(@y, @direction)
      return unless at_port(front_x, front_y)   # Can't touch land?
    end
    $game_map.vehicles[@vehicle_type].get_off     # Get off processing
    if in_airship?                                # Airship
      @direction = 2                              # Face down
    else                                          # Boat/ship
      force_move_forward                          # Move one step forward
      @transparent = false                        # Remove transparency
    end
    @vehicle_getting_off = true                   # Start getting off operation
    @move_speed = 4                               # Return move speed
    @through = false                              # Passage OFF
    @walking_bgm.play                             # Restore walking BGM
    make_encounter_count                          # Initialize encounter
  end
end

#===============================================================================
# ** Game_Event
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  Summary of Changes:
#      new method : name returns event name @D
#===============================================================================
class Game_Event < Game_Character
  #-----------------------------------------------------------------------------
  # Returns the name of an event
  #-----------------------------------------------------------------------------
  def name
    return @event.name
  end
end


#=============================================================================== 
# Version 1.00
# 10/4/08
# Written by ahref
#===============================================================================
# Landing Restrictions - RMVX
#===============================================================================

Credit


Support

ahref@irc.rmrk.net

Known Compatibility Issues
This may cause issues with other map scripts let me know if you find anything

Demo

http://www.sendspace.com/file/vmejqg

Author's Notes

Due to the way this is written the get on/off event command doesnt work. Then again ive never been able to get it to work even with this script.

id recomend you dont teleport players whilst there on a vehicle even withou this script it doesnt work ill find/write a workaround soon.

Title: Re: Vehicle Landing Restrictions
Post by: Leventhan on April 11, 2008, 06:21:09 AM
Looking forward to the pirate game template lol
There doesn't seem to be bugs so far. :)
Title: Re: Vehicle Landing Restrictions
Post by: modern algebra on April 11, 2008, 07:12:44 AM
It looks pretty good. I would say that it is worth your while to try and alias those methods though, especially the one in Game_Interpreter.


But aside from that, it is a nice, clean script. Good job ahref.

* Transports topic

By the way, you have some weird centering going on with your topic :3

Also, you have a Thanks heading with nothing under it and a thanks bulletin under Credit :P
Title: Re: Vehicle Landing Restrictions
Post by: ahref on April 11, 2008, 12:38:17 PM
ill take a look.

also for aliasing every tutorial i see about them is written by someone with less then perfect english. ill keep looking :D
Title: Re: Vehicle Landing Restrictions
Post by: modern algebra on April 11, 2008, 09:22:26 PM
Hey, don't make fun of my english  :mad:

http://rmrk.net/index.php/topic,25550.0.html

:P I don't know how helpful it will be.
Title: Re: Vehicle Landing Restrictions
Post by: ahref on April 12, 2008, 11:17:17 AM
your english is fine :D
Title: Re: Vehicle Landing Restrictions
Post by: mortigneous on April 07, 2009, 09:08:09 PM
Nice script. :D

noticed one problem, its an easy fix though, line 19 is missing the # at the beginning.