English Devtools-r0.1 icon

25 comments
28.06.10 09:57:08 am
like 18 like it!
14 kb, 342 Downloads
Lee
Moderator
Offline Off
Devtools-r0.1 for CS2D

Note that this package is an early release and may not be fully stable. If you find any bugs, please either report them or submit a patch.

∗Lua Features: – Skip this part for now and go down to the next section.

√string.lua:
     Various string functions that can be accessed via str:func(...) including :split([delimiter]), :qsplit([delimiter]), :join(table), etc
     Also added the syntactical sugar “%s”%object → string.format(“%s”,object)
√table.lua:
     Various table functions
√struct.lua:
     Allows manipulation of binary data structures
√pickle.lua:
     Fast serialization of lua objects via
Code:
1
2
3
4
import “pickle”
pickle.dump(object, filename)
– ETC CODE
object = pickle.load(filename)

     The lua objects are serialized in pure lua code, so they will be easily modifiable both manually and pragmatically.
√import.lua:
     Allows conflict free imports of lua modules
Code:
1
2
3
dofile “sys/lua/devtools/import.lua”
import “libname”
import “libname”

     The above code will only execute libname once.
     The following syntax is allowed for both relative and absolute imports

     import “name.space.module” -- “name/space/module.lua”

     You may also add in more import paths by appending them into the importpaths table:
Code:
1
table.insert(importpaths, “newpath”)


∗CS2D Features:

√menu.lua:
     Easy to use menus. You can now construct dynamic menu by using the Menu(title, item1, item2, …) constructor. See following for examples.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
classes = Menu(“Choose your class”, “Police”, “Citizen”, “Superman”, “Batman”, “Other superheroes”, …)
classes(id) – Automatically shows the menu to player id
classes.add(“another hero”, “YAH”, “more heroes”, “blargh”, “blargh”) -- Add even more heroes

-- Note that menus with more than 9 items will automatically paginate themselves

function classes.hooks.Police(id) -- Police
     msg2(id, “You're a Police”)
end

function classes.hooks.blargh(id) -- Any blargh
     msg2(id, “You're a blargh”)
end

function classes.hooks.blargh_2(id) -- Second blargh
     msg2(id, “You're the second blargh”)
end

function classes.hooks._(id, sel, menu) -- Anyone
     msg2(id, “Thanks for playing”)
end


√help.lua:
     Automatically generate nice looking documentation and references for say commands
     You can use !help in game to bring up a list of used commands.
     You can also register command documentation via help.register{command = “text”}
     Alternatively, a very powerful mechanism in devtools allows the developer to embed these documentations in their code by directly assigning the doctext to the __help__ variable, as illustrated:
Code:
1
2
3
4
5
6
7
8
9
10
function act.test(id)
     __help__ =
     [[
     - Desc:
     ... Dummy command that displays “TEST”
     -Usage:
     ... !test
     ]]
     msg2(id, "TEST")
end

     Will generate
     > !help test
     Command 'test':
          - Desc:
          … Dummy command that displays “TEST”
          - Usage:
          … !test

√cmds.lua:
     Easy to use say commands with a powerful backend.
     Devtools.cmds can automatically parse an argument based on the parameters of a function.
     For example:
Code:
1
2
3
function act.msg(text)
     msg(text)
end

     will create a command that will behave as follows:
     > !msg hello
     hello
     > !msg
     Insufficient number of parameters for the command 'msg'
     Need 1 arguments: !msg <text>

     
     Certain parameters are automatically built:
     •id: the id of the player who called the command – Does not count towards the number of required arguments
     •text: the entire string of text – Does count towards the required arguments, but do not actually take any position
     •this: metadata containing the command rank and other information from the command preprocessor.
     •…: all of the other unused arguments

Thus, the following rewrite of !msg:
Code:
1
2
3
4
function act.msg(id, tag, text, …)
     msg(tag..text)
     msg(“Residual”,...)
end

     will create a command that will behave as follows:
     > !msg
     Insufficient number of parameters for the command 'msg'
     Need 2+ arguments: !msg <tag, text, [...]>
     > !msg tag tag
     tag
     tag tag
     Residual
     >!msg tag text …
     tag
     tag text …
     Residual
     …

√auth.lua:
     Implements a smart users system for cs2d developers that extends the cmds module
Code:
1
2
3
4
5
6
7
function adm.sayhi(this, text)
     msg(“%s says HI '%s'”%{this.user.username, text})
end

function adm.say.admin(this, text)
     msg(“%s <admin>: %s”%{this.user.username, text})
end

     will create the commands @sayhi and @say that will behave as follow:
     > @sayhi asdf
     lee says HI 'asdf'
     >@say Am I an admin?
     You do not have sufficient privilege to use the command 'say'
     You need a rank of 'admin', you are currently 'user'


∗Included commands:
     •!help [<cmd>] – Displays the help menu. You can also use !help <cmd> to directly go to the cmd
     •!see <cmd> - Displays the parameter information for the given command
     •!login <username> <password>
     •!register <username> <password>
     •!logout
     •@usgn – Resets your USGN information
     •@username <username> - Lets you change your username
     •@password <password> - Lets you change your password
     •@who [<id>] - Lets you see the username of player @ id
     •@auth <username> <rank> [<rank2> […]] - Adds the listed ranks/privileges to username's account
     •@auth reset <rank> … - Resets username's ranks to the listed ranks.

This documentation will be subjected to modification in the future as I see fit. Currently, this is merely a preliminary outline of the devtool.
imageimageimageimageimage
ok This file has been reviewed and approved by Yates (08.12.15 10:31:43 am)

Comments

25 comments
Goto Page
To the start Previous 1 2 Next To the start

Log in!

You need to log in to be able to write comments!Log in
09.11.10 03:33:33 pm
like I like it!
Up
hyerli
User
Offline Off
cool! i say just AWESOME!!
08.11.10 01:50:03 pm
like I like it!
Up
Kostyan1996
User
Offline Off
Good, i like it, but it have some bugs...
29.06.10 07:18:38 am
like I like it!
Up
Admir
User
Offline Off
this look cool, nice for modding too.
thanks I will use it in my server and for some changes
28.06.10 10:59:03 am
like I like it!
Up
HaRe
User
Offline Off
Cool, I love your work Lee
28.06.10 10:17:36 am
like I like it!
Up
Cure Pikachu
User
Offline Off
Looks cool. Downloading.
To the start Previous 1 2 Next To the start