RMRK is retiring.
Server is paid up for the rest of 2026, but the forum may go after that. See here for more information. Please archive or save anything you would like to keep before 2027.
Main Menu
  • Welcome to The RPG Maker Resource Kit.

Vehicle Landing Restrictions

Started by ahref, April 10, 2008, 09:28:14 PM

0 Members and 1 Guest are viewing this topic.

ahref

Vehicle Landing Restrictions
Part of ahref's pirate game template(unreleased :()
Version: 1.00
Author: ahref
Date: 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 :D

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.


Leventhan

Looking forward to the pirate game template lol
There doesn't seem to be bugs so far. :)

Be kind, everyone you meet is fighting a hard battle.

modern algebra

#2
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

ahref

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

modern algebra

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.

ahref


mortigneous

Nice script. :D

noticed one problem, its an easy fix though, line 19 is missing the # at the beginning.
Hmm.... rm2k isn't compatible with vista? Looks like I'll go to rmvx... Scripting?
Oh sweet, I get to add new stuff! OH DEAR GOD! *head explodes*
CLICKY!
MyMiniCity