Files

> > CS2D > Lua Scripts > Devtools-r0.1
Files overviewCS2D overviewLua Scripts overview

English Devtools-r0.1 >

25 comments14 kb, 743 Downloads

old Devtools-r0.1

Lee
Moderator Off Offline

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
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
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:
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.
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:
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:
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:
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
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.
Approved by Yates

Download Download

14 kb, 743 Downloads

Comments

25 comments
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

old

Avo
User Off Offline

You nicely packed here so many lua functions / tools. Thank you for that.
I like it!

old

IWhoopedPythagoras
BANNED Off Offline

this makes scripting rpgs and other mods so easy!
I like it!

old How?

alex72super
User Off Offline

How to be Admin???

Nice Script by the way...
I like it!

old

Yates
Reviewer Off Offline

Could someone explain why this is on the home page? While it's a year old.

old Awesome

Shawni
User Off Offline

This Lua Awesome But
How I Make My Self Or Othere Player Admin Or SDM
I like it!

old

TheTrollHammer
BANNED Off Offline

Now, That's what i really need. Awesome, And fantastic, I'l give it a 5/5.
I like it!

old 5/5

KiRa_3
User Off Offline

Nice script 5/5! your script is very outstanding
I like it!

old

Apache uwu
User Off Offline

This is to help create your own admin type script, he included some examples. If you want this type of system just get AMX2D it's similar to this...I think
I like it!

old

dizziness
User Off Offline

Nice and perfect lua script, Lee
Lee, can you make Devtools-r0.1 (Auth Only) I mean the /login /logout /register commands
edited 1×, last 22.07.11 11:42:27 am

old

MuzraF
User Off Offline

your lua is AWESOME!,thanks man.
I like it!

old

Apache uwu
User Off Offline

Very nice, a bit complex, how is the lua checking for commands? What type of system?
I like it!

old

ucoz
BANNED Off Offline

woow Thank you
i love your script evertime
10/10
I like it!

old

connor34
User Off Offline

@Lee I was Joking i like it did you get on it
I like it!

old

Lee
Moderator Off Offline

@Nuclear_Bomb: We're all entitled to our own opinions and I'll respect that.

old

connor34
User Off Offline

i dont like i think its little easy so i dont like it maybe you other like it but i dont its okay
I like it!

old

RyceR
User Off Offline

Lol thank you! that's awesome!!!
I like it!

old

TWBiBi
User Off Offline

that's awesome !!
thank you Lee
I like it!
To the start Previous 1 2 Next To the start