[XP][VX][VXA] One Game Instance

Started by G_G, April 17, 2012, 05:32:31 pm

Previous topic - Next topic

G_G

April 17, 2012, 05:32:31 pm Last Edit: April 18, 2012, 01:02:54 pm by Blizzard
One Game Instance
Authors: game_guy
Version: 1.0
Type: System Utility
Key Term: Misc Add-on



Introduction

This script is to prevent multiple instances of your game. This is really only for online games so players can't cheat and PvP themselves.

(Released awhile ago on RMRK)


Features


  • Prevents Multiple Instances

  • Custom File/Error

  • XP/VX/VX Ace Compatible




Screenshots

N/A


Demo

N/A


Script

Place at very top!
Spoiler: ShowHide

#===============================================================================
# One Game Instance
# Version 1.0
# Author game_guy
#-------------------------------------------------------------------------------
# Intro:
# Prevents players from opening multiple instances of your games.
#
# Features:
# Prevents Multiple Instances
# Custom File/Error
# XP/VX Compatible
#
# Instructions:
# Place as first script.
# Configure the 2 variables and thats all!
#
# Compatibility:
# Works with everything.
#
# Credits:
# game_guy ~ For creating it.
# ZenVirZan ~ For requesting it.
#===============================================================================

# Custom error message.
ERROR = "Instance already running."
# Custom file name, I'd recommend leaving the ENV[Appdata]
TOKEN_FILE = ENV['APPDATA'] + "game_name.token"

begin
 if FileTest.exists?(TOKEN_FILE)
   begin
     File.delete(TOKEN_FILE)
   rescue Errno::EACCES
     if !DEBUG && !$TEST
       msgbox ERROR
       exit
     end
   end
 end
 $token = File.open(TOKEN_FILE, "w")
end



Instructions

In script.


Compatibility

Works with everything.
XP/VX/VX Ace compatibility.


Credits and Thanks


  • game_guy ~ For creating it.

  • ZenVirZan ~ For requesting it.




Author's Notes

Prevent dem hackahs! >:U

Kiwa

Thanks for making this!
As im sure most ppl are aware of that have seen me here i fully intend to make an online game.
(its been a lot of work so far lol but im having fun making it and playing with all these scripts!)

Ill probably be using this and asking a ton of dumb questions in the future :P


...as i am a terribad scripter...

Heretic86

Good idea!

I have one question, however.  When I test my stuff, I find that there are times that I have to use the task manager to kill the instance.  If I kill one instance of a game (say like a power outage), the file will remain the next time the game starts up, could this falsely report an instance of the game already running?
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

G_G

No, because the script deletes the file if the file already exists. The script is super simple. If the file exists, delete it, then open the file and never close it. Now when the program closes, the program no longer has that file open and any other program can alter the file. Which means, next time you run the game, the game checks for the file and deletes it then re-opens it. An error will occur if the file is already open in another program.