.. VCO Lua Extensions ..

Version 1.06

New Commands

1) /area [<PlayerName/ID>] - Idea by {TOS}TruBlu

2) /areas [<AreaNameMatch>]

3) /areaname <AreaID> [<NewAreaName>]

4) /gotoarea <AreaNameMatch/ID>

5) /whoarea <AreaNameMatch/ID>

Bug Fixes

6) Fixed command /baninfo to display the correct IP address

7) If removing a vehicle failed, due to the destroyVehicle() VCO function, entering/exiting that vehicle will no longer crash the server

8) Fixed command /timers from always echoing 'There are currently no timer commands turned on.'

9) Fixed command /copymap from overwriting the existing map's data with the new map's data

Spelling / Grammar / Documentation Fixes

10) Fixed a spelling error in the echo for command /setpass - changed 'sucessfully' to 'successfully'

11) Fixed a grammar error in the echo for command /cars - changed '1 unique models' to '1 unique model'

12) Fixed the incorrect syntax shown in command /syntax /spawntele - changed '/spawntele on/off' to '/spawntele [on/off]'

Feature Updates

13) The file conversion feature now only re-creates the txt file if a non OS standard EOL character is found in the file

14) The file conversion feature now echos to the console how many txt files were converted

Version 1.06 Beta 1

New Commands

1) Added /scripts

2) Added /cmdnames

3) Added /scanlines [<PlayerName/ID>] - Idea by Knucis

4) Added /whoscanlines

5) Added /whitelines [<PlayerName/ID>] - Idea by Knucis

6) Added /whowhitelines

7) Added /blacklines [<PlayerName/ID>]

8) Added /whoblacklines

9) Added /shakecam <PlayerName/ID> <Intensity> - Idea by Knucis

10) Added /fadecam <PlayerName/ID> [<Red> <Green> <Blue> [<MilliSeconds>]] - Idea by Knucis

11) Added /unfadecam <PlayerName/ID> [<MilliSeconds>]

12) Added /whofadecam

13) Added /wave <WaveFileName>

14) Added /sound <SoundID>

15) Added /grav [<PlayerName/ID>]

16) Added /whograv

17) Added /setgravall <Gravity>

18) Added /score [<PlayerName/ID>]

19) Added /respawnall

20) Added /respawnallcars

21) Added /maps

22) Added /addmap <MapName>

23) Added /remmap <MapName>

24) Added /mapname <MapName> <NewMapName>

25) Added /mapobs <MapName>

26) Added /addmapobs <MapName> <ObjectIDRanges>

27) Added /remmapobs <MapName> <ObjectIDRanges>

28) Added /movemap [<MapName>]

29) Added /savemap

30) Added /mappos <MapName>

31) Added /nearmaps [<Radius>]

32) Added /gotomap <MapName>

33) Added /copymap <MapName> <NewMapName>

34) Added /mergemap <MapName> <MapName>

35) Added /loadmap <MapName>

36) Added /unloadmap <MapName>

37) Added /whomoveob

38) Added /whomovemap

39) Added /obnames [<PartOfObjectModelName>]

40) Added /obname <ObjectModelID> [<ObjectModelName>]

41) Added /remobname <ObjectModelID>

42) Added /spawntele on/off - sets your position, rotation & interior when you spawn to your last saved position (logged on disconnect, death (not drown) & respawn) - Idea by Phantom

43) Added /explode [<PlayerName/ID> [<ExplosionTypeID> [<Occurrences>]]]

44) Added /explodeall [<ExplosionTypeID> [<Occurrences>]]

45) Added /explodeallcars

46) Added /carids [<VehicleName/ID>]

47) Added /iconrgb <IconID> [<Red> <Gren> <Blue> [<Alpha>]] - for icons with type ID 0

48) Added /random <Min> <Max> [<Amount>]

49) Added /echotypes, to work with /echo

50) Added /echocolours, to work with /colour

51) Added /remechocolour, to work with /colour

52) Added /bans - reloads the server bans from 'server_bans.xml' and shows the amount of IP address's in the file

53) Added /baninfo <BanID> - reloads the server bans from 'server_bans.xml' and shows the Ban ID, IP address & IP alias

54) Added /sens <Type> <Sensitivity> - sets a player's vcu or deg sensitivity for object or map movement

55) Added /ocb <Code> - executes the code and outputs the returned value(s) to the chat box

56) Added /dofile <FilePath> - executes the code in the file

57) Added /lines <FilePath> - shows how many lines are in the file

58) Added /read <FilePath> <Item> - reads the value associated with the item in the file

59) Added /write <FilePath> <Item> <Value> - writes the item and value to the file

60) Added /remove <FilePath> <Item> - removes the line from the file where the item matches <Item>

61) Added /clear <FilePath> - clears all data in the file

62) Added /unbindall

Command & Event Updates

63) Added an error message for /makemeadmin after the command has been used once

64) Fixed team deathmatch weapons not loading for a player when they spawn

65) Changed the initial vehicle respawn delay from 5 mins to 3 mins

66) The syntax is now updated when using /cmdname on a teleport command

67) Changed /carmodel to put all players that were in the old vehicle in to the new vehicle

68) Changed /randomweather to allow setting a new interval if random weather is already enabled

69) Added support for numbers containing a decimal point in the 'Distance Apart' parameter in /addobrow

70) Changed the default random weather interval from 5 mins to 3 mins

71) Changed the syntax of /randomweather from '/randomweather <MS>' to '/randomweather <Duration> <TimeUnit>'

72) Added support for milliseconds using 'ms' and 'mil*' in all commands which use the parameters <Duration> and <TimeUnit>

73) Added support for Washingtons, Hermes and Burritos in /cars, /addcar, /remallcars, /carmodel and /allcarmodels

74) Removed all occurrences of '... by admin Name.' and 'Admin Name ...' in command echo messages

75) Added support for vehicle names containing a space in /carmodel

76) Fixed a spelling error in /moveob, when used to stop moving an object

77) Made '/addcar fbi c[heetah]' work the same as '/addcar cheetah (fbi)'

78) Updated the chat message for /moveob when already moving an object

79) Fixed a grammar error in /showsc, changed '1 members' to '1 member'

80) Changed the amount of health set when /moveob is used to start moving an object to 32767

81) Changed /addcmd to /addecho, /remcmd to /remecho & /customcmds to /echos

82) Changed the initial echo type for command /keyids from 'pm' to 'all'

83) Changed the initial echo type for command /execute from 'pm' to 'all'

84) Added support for bind commands to /cmdname

85) Fixed a grammar error in command '/cars <VehicleModelName/ID>' where the vehicle model name ended in 's'

86) Added the amount of unique vehicle models to /cars

87) Increased the interval for multi-echo commands from 1000ms to 1500ms, also increased the max characters per echo from 125 to 155

88) Added support for negative numbers for command /setgrav - Idea by Yoshifirebird

89) (/moveob) When an object's Z angle is changed, the player's camera position will also change, orbiting the object

90) (/moveob) when an object's X or Y angle is changed, the direction of rotation and the axis changed are based on the 'camera to object angle'

91) (/moveob) Added mode 'Cam Z Pos' to /moveob on key 6, put existing mode 'Sensitivity' on key 7

92) (/moveob) Added feature to detach camera when moving an object, toggled using key 8 - Idea by Yoshifirebird

93) (/moveob) Added feature to lock camera & player movement when moving an object with the camera detached, toggled using key 9 - Idea by Yoshifirebird

94) Changed /telecmds to /teles

95) Made the 'new echo type' parameter optional in /echo, new syntax: /echo <command/event> [<newEchoType>]

96) Made the 'new echo colour' parameter optional in /colour, new syntax: /<command/event/echoType> [<red> <green> <blue> <alpha>]

97) Added "..from '<EchoType>' to.." to /echo

98) Added "..from '<Red> <Green> <Blue> <Alpha>' to.." to /colour

99) Changed all occurrences of 'Couldn't find any players..' to 'There are currently no players..'

100) /givewep, /pickups wep, /addpickup wep, /pickupwep, /remallpickups wep & /allpickupweps no longer accept invalid weapons that cannot be given to a player, such as: Splat, Drowned

101) Changed /disablecmd to /disable and /enablecmd to /enable

102) Added message prefix '(<EchoOccurrence>/<TotalEchos>)' to commands which use multiple echo messages

103) Added the player ID to the player IP message for when a player connects to the server

104) Disabled the speedo display when moving an object

105) Fixed the bug with /cmdname, where the new command's level would always be 0 - Found by TruBlu

106) Command names for binds can now only contain letters and numbers, to prevent the server from crashing - Found by MelKiY

107) Changed /explode to /explodecar

108) When an object's position & rotation is reset, the object's position now moves back to it's previous position, instead of teleporting back

109) An object's position & rotation is now reset when a player disconnects, dies or respawns when moving an object

110) Changed /gotoob to teleport the player in front of the object, instead of behind the object

111) /moveob now sets the player's interior to the object's interior

112) Exiting a vehicle whilst moving an object will now instantly reset the player's camera - Found by Yoshifirebird

113) Fixed a grammar error in the spawn message, removed 'a' for some names, e.g. changed "Name spawned as a Tommy Vercetti" to "Name spawned as Tommy Vercetti"

114) Changed /moveob - Added the mode name to the game text, removed the chat message when changing modes, changed "VC Units" to "vcu" & changed "Degrees" to "deg"

115) Players now automatically stop moving an object if another player removes the object they are moving

116) Fixed the inaccurate increase/decrease rates for the sensitivity game text in /moveob

117) Changed all occurrences of "can not" and "can't" to "cannot"

118) Changed /death2skins to /deathskins2

119) Made /iconsize and the size parameter in /addicon only work with icons using type ID 0

120) Added the key character to /keyids

121) Removed support for skin model ID 171 in commands /addactor, /actorskin and /remallactors to prevent game freezes - Found by BooMario

122) Made the maximum amount of unique vehicle models 50 in /addcar, and 40 to use /carmodel and /allcarmodels to prevent game freezes

123) Using /shutdown now updates the online duration for all players connected in the server (/online)

124) Changed the maximum random colour values in /addcar from 255 to 60

125) Changed the syntax for '/cmds <Level>' to '/cmds <Level>/<PartOfCommandName>'

126) Rewrote the command bind calling function, with new tokens: %text() %id() %name() %xpos() %ypos() %zpos() %zrot() %vid()

127) Changed several initial skin model names

128) Changed several initial command levels

File Organization Updates

129) Put all command functions in to one file

130) Put all command levels in to one file

131) Put all command syntaxes in to one file

132) Put all file paths in to one file

133) Put all txt files in to one folder, with most txt files organized in to sub folders

134) Split most scripts in to more scripts & put all scripts in to one folder

Script Updates

135) Rewrote Main.lua

136) Rewrote Engine.lua

137) Changed all short file path names to lowercase and replace all spaces with underscores, then change the file paths file from the tab delimited syntax to the normal VLE syntax

138) Rewrote all VLE file functions and put them in to one file, making 'TOPLINE' no longer needed

139) Rewrote all VLE timer functions and put them in to one file

140) Added callback functions and put them in to one file

141) Changed all occurrences of os.remove() to vclear() - apart from in vremoveMap(), where the file should be removed

142) Removed all occurrences of 'local Path = vpath("short_file_name")' and used vpath() directly as a parameter where the path is only retrieved once

143) Changed some functions to return true/false instead of 1/nil

144) Added global variable 'vloaded_scriptName' to every script except Main.lua

145) Added a new comment layout for every script

146) Updated several occurrences of code to use tables, instead of global variables and _G[]

147) Setting a player's level to 0 will now remove their name & level from the file

148) Setting a command's level to 0 will now keep the command name & level in the file

149) Added the 'pre command call check' for echo commands & teleport commands

150) Made every function in Files.lua not use any other function

151) Made every function in Callbacks.lua not use any other function

152) Fixed empty strings being sent to command functions when commands were typed followed by a space, when not using the / command prefix

153) Made all command functions use vecho() instead of outputChatBox() for chat messages, apart from /pm

154) Made all functions which returned -1 as a last resort return nil instead

155) Added automatic conversion of multiple spaces in to one space when using a command with a command prefix other than /

156) Removed all occurrences of table 'IDChanges' in all 'VLELoad..()' functions, where the table is not used

157) Removed function 'VLEDoNothing()'

158) Removed all occurrences of the 'Vehicle Light States' file in all scripts, used tables instead

159) Removed parameter 'ZPosition' in function 'vgetXYInFrontOfPos(XPosition, YPosition, ZRotation, Radius)'

160) Converted the data storage method in the Warn and Freeze scripts from files to tables

161) Converted most of the data storage methods in the Mini Games script from files to tables

162) Added optional support for event logging in txt files, HTML files and console output (toggle in Engine.lua)

163) Added callbacks: vonPlayerLogin(PlayerID), vonPlayerRespawn(PlayerID), vonExitServer(), vonCommandEcho(PlayerID, Command, Text), vonEventEcho(PlayerID, Event, Text), vonCommandError(PlayerID, Text)

164) Changed all occurrences of spelling error 'sensitivty' to 'sensitivity'

165) Changed the syntax of function 'verror(PlayerID, Reason, [ Text ])' to 'verror(PlayerID, Text)', the Text parameter now supports short reason names

166) Converted several occurrences of loadstring("FunctionName('Parameters')") to _G["FunctionName"](unpack(Parameters))

167) Rewrote function vecho() to perform the same operations as VLECommanMultiEcho(), replaced all uses of function VLECommanMultiEcho() with vecho() then removed function VLECommanMultiEcho()

168) Changed the name for every function included in VLE from 'VLEX' to 'vx', for example: VLEGetPlayerConnects(PlayerID) to vgetPlayerConnects(PlayerID)

169) Rewrote the pickup respawn system

Version 1.05 Beta 1

Click here to see the release log for version 1.05 Beta 1

Version 1.04

1) /setpos now works if the player whose position you are setting is in a vehicle.

2) When a player who is registered but not logged in, continuously pressed shift to spawn, it will no longer spam "Name spawned as a ..." to all players.

3) Added /obmodel <ObjectID>

4) Arranged some of the commands files into a folder called 'Commands'.

5) /enablecmd now only works on commands that exist.

6) /disablecmd now only works on commands that exist.

7) /cmdlevel now only works on commands that exist.

8) /cmdname - You can no longer change a command's name to a command name that already exists.

9) Added a sensitivity level feature to /moveob

10) /moveob now freezes you.

11) Teleport commands now contain less code in their unique functions. (Better coding)

12) Custom commands now contain less code in their unique functions. (Better coding)

13) /gotocar now works if you are in a vehicle when you type the command.

14) /gotoob now works if you are in a vehicle when you type the command.

15) /gotoactor now works if you are in a vehicle when you type the command.

16) /gotopickup now works if you are in a vehicle when you type the command.

17) /gotocp now works if you are in a vehicle when you type the command.

18) /gotocorona now works if you are in a vehicle when you type the command.

19) /gotoicon now works if you are in a vehicle when you type the command.

20) Added /carmodel <VehicleID>

21) Added /addobrow <ObjectModelID> <Amount> <DistanceApart>

22) Fixed /remcar, it will no longer crash the server if another player (not the player typing the command) is in the vehicle being removed. (Thanks to Bruno for finding this bug)

23) /makemeadmin no longer shows up in /cmds

24) Fixed /online, it is now 100% accurate.

25) Fixed /warn, if the player being warned has reached their max warnings, it will now kick the player being warned instead of the player who typed /warn. (Thanks to Rico_Simpie and Danish_Mayers for finding this bug)

26) When changing modes when moving an object, it now echos the object ID that you are moving.

27) Updated /cmdname - It now sets the new command name's level to the old command name's level.

28) Updated /cmdname - If the old command name was disabled, it now disables the new command name.

29) Updated /remtele - It now sets the teleport command's level to 0 and enables the teleport command's name.

30) Updated /remcmd - It now sets the custom command's level to 0 and enables the custom command's name.

31) Added a zoom in/out feature to the 'Camera Position' mode in /moveob (Thanks to Bruno for this idea)

32) /setgrav now works on players who are not spawned.

33) /follow now synchronizes the player's interior.

34) Added /followlist

35) Updated some of the default skin model names. (Thanks to Bruno for doing this)

36) Updated /givewep - You can no longer give a player an invalid weapon model ID or a non combat weapon model such as 'Collision' and 'Splat'.

37) You can no longer use /cmds if you are already being echod commands from /cmds or /acmds

38) You can no longer use /acmds if you are already being echod commands from /cmds or /acmds

39) If there are no spawn class members, VLE will add a default one. It will be deleted when you add a new spawn class member using /addscm (Thanks to Bruno for finding this)

40) Added /pickuprespawn <PickupID> instant/<Duration> <PartOfTimeUnit> (Thanks to Danish_Mayers for the idea)

41) Added /speedo

42) /execute no longer crashes the server if you specify invalid code. Instead, it PMs you the error message.

43) /setpos now only works if the player whose location you are setting is spawned.

44) Updated /incar - It now PMs you an error if the player you are using /incar on is already in the vehicle ID you specify. (Thanks to Bruno for finding the bug associated with this)

45) /dance no longer crashes the server if you type it whilst in a vehicle.

46) You can no longer use /setanim on a player who is in a vehicle.

47) Added plugin support. This allows you to create scripts to work with VLE without actually modifying VLE.

48) All account PMs you receive when you join the server now work with the PM colour.

49) Interiors now load in spectate mode. (Thanks to Bruno for finding the bug)

50) When following a player, you now only get teleported behind the player you are following if you are more than 10 meters away from them. (Thanks to Bruno for the idea)

51) Added /unkeyall (Thanks to Bruno for the idea)

52) Added /gunkeyall

53) Updated /remcar, new syntax: /remcar <VehicleID> [<VehicleID2>] [<VehicleIDStart>-<VehicleIDEnd>] (Thanks to Bruno for the idea)

54) Added /keyids

55) Updated /key, new syntax: /key <Key>/#<KeyID> <Command> [<Parameters>]

56) Updated /unkey, new syntax: /unkey <Key>/#<KeyID>

57) Updated /gkey, new syntax: /gkey <Key>/#<KeyID> <Command> [<Parameters>]

58) Updated /gunkey, new syntax: /gunkey <Key>/#<KeyID>

59) Attempting to add more than 499 vehicles (VCO RC1's limit), will now PM an error instead of messing up the IDs.

60) Attempting to add more than 1000 objects (VCO RC1's limit), will now PM an error instead of messing up the IDs.

61) Attempting to add more than 100 actors (VCO RC1's limit), will now PM an error instead of messing up the IDs. (Thanks to Rico_Simpie for finding this bug)

62) Attempting to add more than 100 pickups (VCO RC1's limit), will now PM an error instead of messing up the IDs.

63) Attempting to add more than 50 markers (checkpoints/coronas) (VCO RC1's limit), will now PM an error instead of messing up the IDs.

64) Attempting to add more than 100 icons (VCO RC1's limit), will now PM an error instead of messing up the IDs.

65) Spawn Classes SHOULD no longer disappear when the server (re)starts.

66) Spawn Class Members SHOULD no longer disappear when the server (re)starts.

67) Vehicles SHOULD no longer disappear when the server (re)starts.

68) Objects SHOULD no longer disappear when the server (re)starts.

69) Actors SHOULD no longer disappear when the server (re)starts.

70) Pickups SHOULD no longer disappear when the server (re)starts.

71) Checkpoints SHOULD no longer disappear when the server (re)starts.

72) Coronas SHOULD no longer disappear when the server (re)starts.

73) Icons SHOULD no longer disappear when the server (re)starts.

Version 1.03

1) Fixed /remscm, it will no longer remove spawn class members in other spawn classes.

2) Weapon and generic pickups will now be created when the server restarts.

3) You must now be spawned to use /dance

4) You must now be spawned to use /stopanim

5) Added a work around to /setskin when the player is in a vehicle. (Thanks to Bruno & Knucis for finding this bug)

6) /syntax /addpickup - Now shows all 3 /addpickup syntaxes.

7) Using /moveob to cancel moving an object, now sets the object's position and rotation to the position and rotation it was at when the object was created.

8) If you are moving an object and /respawn is used on you, you will automatically stop moving the object.

9) Interiors now load with teleport commands. (Such as the bloodring stadium)

10) Updated the echo for when a player enters a vehicle.

11) Updated the echo for when a player exits a vehicle.

12) /getcar now echos the vehicle name.

13) /eject now echos the vehicle name.

14) /eject now echos the seat name the player was in. (driver or passenger)

15) /gotocar now echos the vehicle name.

16) /respawncar now echos the vehicle name.

17) Updated the echo for /repair

18) Updated the echo for /flip

19) Updated the echo for /setcarhp

20) Updated the echo for /incar

21) Updated the echo for /pop

22) Updated the echo for /unlock

23) Updated the echo for /addcar

24) /setcarhp - The player who's vehicle you are setting the health on must now be spawned.

25) /telecmds now echos all the teleport commands if there are more than 3 lines of them.

26) Updated the echo for when a player spawns.

27) Updated the echo for /skin

28) Fixed /getcar, it will no longer crash the server if you specify an invalid vehicle ID. (Thanks to Bruno for finding this)

29) Increased the stability of key binds.

30) Increased the stability when moving an object.

31) Increased the stability of the server in general.

32) Changed '/setpass <NewPassword>' to '/setpass <CurrentPassword> <NewPassword>'

33) Fixed /saveob, it will no longer crash the server if you use this command whilst not moving an object.

34) Updated the echo for /setskin

35) Added '/colour sendpm' and '/colour getpm'

36) Added /gotoob <ObjectID>

37) Added /gotoactor <ActorID>

38) Added /gotopickup <PickupID>

39) Added /gotocp <MarkerID>

40) Added /gotocorona <MarkerID>

41) Added /gotoicon <IconID>

42) Added /scmcolour <SpawnClassID> <SpawnClassMemberID> <Red> <Green> <Blue>

43) Added /nearobs [<Radius>]

44) Added /skinname <SkinModelID> <SkinModelName>

Version 1.02

1) Added /shutdown

2) Added a work around to the weather unsync bug (Thanks goes to Tamas for this update)

3) Added a work around to the bug where the server crashes if you use /remcar whilst in the vehicle that you are removing.

4) Fixed /level, if you specify a player, it will now echo that player's level and not yours.

5) Added /keys

6) Added /gotocar

7) Added account register dates.

8) Added account last login dates.

9) Added username first seen dates.

10) Added username last seen dates.

11) Added when a player joins the server, optionally PM admin their IP address.

12) Added /showiponconnect <Level>/off

13) Added /moveob <ObjectID>

14) Added /saveob <ObjectID>

15) Teleport commands now work if you are in a vehicle.

16) Added /gkey <Key> <Command> [<Parameters>]

17) Added /gunkey <Key>

18) Added /gkeys

19) /killwepmodels now shows the weapon name.

20) /deathwepmodels now shows the weapon name.

21) Changed command name /killwepmodels to /killweps

22) Changed command name /deathwepmodels to /deathweps

23) Changed command name /killskinmodels to /killskins

24) Changed command name /deathskinmodels to /deathskins

25) Changed command name /death2skinmodels to /death2skins

26) Fixed /key, it no longer crashes the server if you type an invalid command name.

27) Added a basic Team Deathmatch mode.

28) Added team deathmatch commands:

29)     /teamdm on/off

30)     /teamdm <TeamID> name <TeamName>

31)     /teamdm <TeamID> pos

32)     /teamdm <TeamID> skin <SkinModelID>

33)     /teamdm <TeamID> rgb <Red> <Green> <Blue>

34)     /weps

Version 1.01

1) /addcar 165 - Doesn't crash the server anymore.

2) /givewep <WeaponID> AMMO_NOT_SPECIFIED - Ammo now defaults to 500 if you don't specify the ammo.

3) Added /flip [<PlayerName/PlayerID>]

4) Added /actorname <ActorID> <ActorName>

5) Added /actorskin <ActorID> <SkinModelID>

6) Added /actoranim <ActorID> <AnimationID>/off

7) Added /setcash <PlayerName/PlayerID> <Amount>

8) Added /cruise on/off

9) Added /cmds

10) Added /syntax <CommandName>

11) Added /admin

12) Added /level [<PlayerName/PlayerID>]

13) Added /setsyntax <CommandName> <Syntax>

14) Added /taddob <ObjectModelID> <Duration> <PartOfTimeUnit>

15) Organized most of the files in 'VLE Files' into sub-folders.

16) Added /dance

17) Added /stopanim

18) Added /lock

19) Added /lights