One Game Instance
Authors: game_guy
Version: 1.0
Type: Cheating Prevention
Key Term: Misc System
IntroductionWas reading this thread. http://www.hbgames.org/forums/viewtopic.php?f=12&t=74963&start=0 The guy who resolved it made it way overcomplicated. I decided to make a smaller more compact version.
This script is to prevent multiple instances of your game. This is really only for online games so players can't cheat.
(I'll just keep one topic here instead of posting multiple topics as the script works in both XP and VX without modifications)
Features
- Prevents Multiple Instances
- Custom File/Error
- XP/VX Compatible
ScreenshotsN/A
DemoN/A
ScriptPlace at very top!
[SPOILER]
#===============================================================================
# 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 == false || $DEBUG == nil || $TEST == false || $TEST == nil
print ERROR
exit
end
end
end
$token = File.open(TOKEN_FILE, "w")
end
[/SPOILER]
InstructionsIn script.
CompatibilityWorks with everything.
XP/VX compatibility.
Credits and Thanks
- game_guy ~ For creating it.
- ZenVirZan ~ For requesting it.
Author's NotesPrevent dem hackahs! >:U
Although there is a wide path around this protection because of its simplicity, I really like the quick and easy to implement nature of the script. This would put a stop to most casual attempts at exploiting multiple instances. Good work!