Vehicle Landing RestrictionsPart of ahref's pirate game template(unreleased )Version: 1.00Author: ahrefDate: April 10, 2008 Version History
- Version 1 - initial release
Planned Future Versions
- Version 1.5 - Aliased methods possible first comment support and ability to force player from ship
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
- case insensitive will match port,Port,PORT
Instructions
paste above main and name any event you want a player to be able to land at with port. eg "Port Royal"
Script
#===============================================================================
# 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
- ahref
- thanks to Modern Algebra and Zeriab for a few pointers
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/vmejqgAuthor'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.