Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Program Announcements / DarkScript v1.0 EA

Author
Message
Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 14th Feb 2006 15:12 Edited at: 16th Mar 2006 20:09
I've put in enough work now to start distributing the EA version of DarkScript 1.0. Below you'll find all the information you'd need about this release.

If you'd like to skip all the reading on this forum and head right over to the product page, click here.

What is DarkScript?

DarkScript is a scripting engine plugin that uses the power of GameMonkey Script at its core. The GameMonkey core has been successfully compiled and used on platforms such as; Windows®, Mac®, Microsoft XBox®, Playstation 2®, and Nintendo GameCube®. The actual engine borrows concepts from LUA and improves upon them, thus creating a more powerful solution for game programmers.

What are the key features of the GameMonkey core?

- Small code base. Compiled script code will use 50Kb or less of RAM.
- Real-time source compiling, or loading of precompiled script libraries.
- Natively supports multithreading and the concept of states.
- Soft real-time incremental garbage collection.
- C style syntax.
- Competitive performance with speed of execution and memory usage when compared to other scripting engines.

What are the key features of the DarkScript plugin?

- Runtime debugging error protection using two layers; syntax parsing (during loading), and also runtime code level with debug reporting.
- Advanced arrays with easy to use script commands.
- System, file IO, string, math, and vector script commands.
- Ability to use your DarkBASIC Professional functions as script commands!
- DarkScript has its own plugin framework to extend the scripting language!
- Read and write variables from DarkBASIC Professional that are contained within your script(s).
- Return various data types from DarkScript to DarkBASIC Professional.
- Keyword list with help files for each command.
- Documentation for script syntax and commands.
- Tutorials for using DarkScript with DarkBASIC Professional.

What does DarkScript look like?

Here is an example script that demonstrates a door trigger used to open a door when the player is near it.



How is this plugin used?

Once your script has been created and you’re ready to give it a try use the command LOAD SCRIPT in DarkBASIC Pro. This plugin was designed with advanced error control for any problems that your script may have and it will report back to you with detailed information if any errors are detected. That information includes an error message, script file name, line number, and the script command with the error!

There are 16 more easy to use DarkBASIC Pro commands, be sure to check the command list.

What comes with the EA version?

The EA version stands for "Early Adopter" which is an early release for users. Early Adopter users can purchase DarkScript at a cheaper price and will have full benefits and all the updates, including the full version. With this release you find:

- A complete set of dbpro command help files with examples for each command.
- An introduction help file to get new users familiar with the scripting language.
- A scripting reference help file containing valuable information about the script commands, syntax, and logical symbols.
- Plugins specifically made for DarkScript, currently uploaded ones are Text-to-Speech, SQLite, and a simple Message Box plugin example. Each of these come with the plugin, and example source files.
- Three extra example projects (more to come very soon) that display various DarkScript features. Check out the pictures below, you'll see these examples there.

Users that purchase DarkScript will be given access to a server that will contain all the content mentioned above, and all the new content as it becomes available.

Demonstration Screenshots


The above image comes from the Dwarf example project. With scripts it demonstrates how to set boundries, handle animation and character behavior, and interact with the player in an RPG style.


This is an example project used to demonstrate using DarkScript with DarkBASIC Pro without any scripts, and also shows off some file handling commands that allow for quick and easy retexturing of the fighter plane.


Another example project, although simple in nature the source code shows how to set waypoints, and animate objects to follow them.


This screen shot is from an example that hasn't been finished yet (not currently uploaded), the idea behind this one will be to demonstrate enemy AI movement around a map with the use of DarkScript.


This image shows the IDE that can be used for working with your GM scripts. Before I upload this IDE to the server I am planning to tweak the IDE a little more.

To place your order, follow the link below to the shopping cart:

http://darkbasicpro.blackgate.us/cart/index.php?act=viewProd&productId=3

Currently only paypal is accepted, but in the near future may change completely. Orders will be processed manually so that I can send out the required login details and serial number information.

outSync
20
Years of Service
User Offline
Joined: 23rd Aug 2003
Location:
Posted: 14th Feb 2006 17:07
Looks great, Torrey! I've been following your progress since you've announced DarkScript, and can't wait to get my hands on this EA, when I get some extra cash. Looks like it will be a great boon to my next project

Good luck with the sales...I'll be adding to them soon

http://myopia.c-reality.com - programming + life
Computer Nerd
19
Years of Service
User Offline
Joined: 25th Jan 2005
Location: What do you care?
Posted: 14th Feb 2006 19:51
Wow! I want this for my B-Day!

Need Tutorials? New to DarkBASIC? - http://jonsdbpage.tripod.com
x1bwork
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 14th Feb 2006 21:44 Edited at: 14th Feb 2006 21:57
Are you freeking kidding me??!! How pathetic can you get???? is there ANYTHING you wont copy from Unity(the Dwarf)? Dude,why dont you just buy it and use it. You're as gimp as Dodic for everything HE copies and tries to remake as his own.

yes, the model is public but you couldnt use something unique??

Honestly,how far up your ass did you have to reach to pull that idea out??

Cant think for your self?
Megaton Cat
20
Years of Service
User Offline
Joined: 24th Aug 2003
Location: Toronto, Canada
Posted: 14th Feb 2006 21:51
Pwned!

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 14th Feb 2006 22:06 Edited at: 14th Feb 2006 22:20
Quote: "Looks great, Torrey! I've been following your progress since you've announced DarkScript, and can't wait to get my hands on this EA, when I get some extra cash. Looks like it will be a great boon to my next project

Good luck with the sales...I'll be adding to them soon "


Thanks for following the topic (development time has felt like forever)! If you're a user of the old free plugin there have been several important code updates since that release that you'll find useful (click here for the last news posting). Just out of curiousity what kind of project are you working on next?

Quote: "Wow! I want this for my B-Day!"


I'm glad you liked the plugin, have a great birthday coming up!

@ x1bwork & Megaton Cat

Both DarkScript and Unity are scripting plugins, but they take a completely different direction from each other. Mike suggested to me this morning to contact Rick to see if it's possible that they could sell my plugin too. I will most likely check out what TGC has to offer, if they offer.

As far as any model or scene that comes with the EA version has exclusive permission from the author to be used for this product. Permission either comes through license, or me asking permission directly.

outSync
20
Years of Service
User Offline
Joined: 23rd Aug 2003
Location:
Posted: 14th Feb 2006 22:42
Thanks for the link. I'll take a look at the changes.

Quote: "Just out of curiousity what kind of project are you working on next?"


It'll actually be the sequel to my current project, which it will expand upon quite a bit, but as far as genre...action/shooter would best describe it. I'll have to see if its worth it at this stage, but maybe DS will make it into my current project as well. We'll see. Again, hope all goes well with the sales

http://myopia.c-reality.com - programming + life
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 15th Feb 2006 00:09
Looking good.

Question on the multi-threading...is this the same as Lua multithreading where you "suspend" functions and restart them later? Or is it a thread that ticks over in the background while you carry on with something else?

As for any unproductive comments here...let these products stand on their own merits. There's room for more than one scripting language, each is rich in features and has a different style of implementation. And a little friendly competition is always good for development. Besides I believe Tolkein takes the credit for dwarves

x1b
19
Years of Service
User Offline
Joined: 19th Sep 2004
Location:
Posted: 15th Feb 2006 02:15 Edited at: 15th Feb 2006 02:27
Quote: "As far as any model or scene that comes with the EA version has exclusive permission from the author to be used for this product. Permission either comes through license, or me asking permission directly.
"


Kudos,torrey. That couldnt have been a more professional reply to an otherwise exaggerated attack.

I still dont like that you also used the same dwarf that unity did,but your point is made. This is me shutting up.

- Do it, Do it Right, Do it right now..
Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 15th Feb 2006 05:46 Edited at: 15th Feb 2006 06:06
Quote: "Looking good.

Question on the multi-threading...is this the same as Lua multithreading where you "suspend" functions and restart them later? Or is it a thread that ticks over in the background while you carry on with something else?

As for any unproductive comments here...let these products stand on their own merits. There's room for more than one scripting language, each is rich in features and has a different style of implementation. And a little friendly competition is always good for development. Besides I believe Tolkein takes the credit for dwarves "


The threading in GM is pretty much the same as Lua's. Most of the commands are even similar, GM has a total of 11 script commands dealing with threads. When I first took on GameMonkey I was thinking that it was OS multithreading, but it turned out that it was not. This plugin includes real OS multithreading dbpro commands that you could actually create a system that acts in the background while your dbpro application is running.

For example, if you were to create a dbpro user function that contains various script routines it can be turned into a seperate running thread. For games this should work perfectly because when your graphics and logic routines based off certain game variables are being processed, the scripting thread can be ready for the next update process the main loop takes care of. It should cut total engine processing time in half, and make games more efficient.

If you'd like to see pseudo-code or an example of how this would work, I could put together a quick one.

David T
Retired Moderator
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: England
Posted: 15th Feb 2006 08:57
Quote: "Mike suggested to me this morning to contact Rick to see if it's possible that they could sell my plugin too. I will most likely check out what TGC has to offer, if they offer."


I thought you weren't interested in TGC distribution? You had some nasty things to say about TGC distribution before

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 15th Feb 2006 09:10
Quote: "I thought you weren't interested in TGC distribution? You had some nasty things to say about TGC distribution before"


Distribution is still a problem in my mind. I'm unsure how fast rollouts can happen after I have finished an update? I have plenty more questions that need answered to see if this is a possible option for me. It'll take some time for me to formulate an email to Rick because I'd like some detailed info if the product is accepted. If you can share any of your insight into how the things work with them, please do.

jrowe
21
Years of Service
User Offline
Joined: 12th Oct 2002
Location: Here
Posted: 15th Feb 2006 12:47
Great to see it finished! I'm interested! Could we have a list of the examples/tutorials that come with the EA and any others will be finished the final version?

Tinnedhead Productions

For Fathers and Sons who enjoy wholy spirits.
Megaton Cat
20
Years of Service
User Offline
Joined: 24th Aug 2003
Location: Toronto, Canada
Posted: 15th Feb 2006 17:32 Edited at: 15th Feb 2006 17:38
The short obvious question: Why would TGC want to sell a second scripting plugin?

Secondly, you seemed to bash David's method of selling through TGC:

Quote: "I admit you have a decent product, but why did you hand it over to TGC? Certain questions you've had to answer when it comes to the installation or the registration process your answers have sounded like you have no real information about the product at that level other than to ask support.

Personally I thought that this would be bad to do because it gives you less control over your own product, and even takes a cut of the profit. DarkScript is completely controlled by me. Updates and new features and plugins can be released at the instant they are completed without waiting for others to finish the process.
"


I used to think so aswell, but looking at David's now dominating sales, we were both wrong.

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 15th Feb 2006 18:02
Quote: "The short obvious question: Why would TGC want to sell a second scripting plugin?"


Honestly I don't think they would, but Mike said both products are different so it's worth talking to Rick about it. As the author of this plugin it's up to me to make the decisions on which routes to take when it comes time, and I will definetly look in all directions before making up my mind.

Please do not post anymore replies unless they are questions about this plugin and its features, or help questions. Me and David have different products, and I respect his thread, and I wish that him and his Unity users would do the same for me.

Quote: "Great to see it finished! I'm interested! Could we have a list of the examples/tutorials that come with the EA and any others will be finished the final version?"


Thanks for commenting, and your interest! My wife is bugging to get out of the house, and I will need to answer this question as soon as I get back. For the time being if you notice at the top of this thread, there is a section called 'what comes with the EA version?' it describes the current set of contents in the EA release.

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 15th Feb 2006 23:08
Here's some extra information about what's currently contained with the EA version:


These two help files are included to help users get familiar with the scripting language, and also provide a reference incase they need more information about various lanaguage features. I will be adding more information to the reference help file over time.


There is help for each command, and also each command has it's own example. DBPro project files, and script files for each example you see in the help view are also included.

When it comes to extra examples you'll see some images in my first posting of whats available. In addition to those projects I'm currently working on an FPS bot example, and an example using security cameras in a parking garage.

DarkScript also has a plugin framework to let users go beyond what the plugin provides. As of right now the EA release includes plugins for Text-to-Speech, the speech is asynchronous which allows characters to speak at the same time of animation. There is a plugin for SQLite, excellent for saving games or high scores. And there's also a simple message box example plugin.

There are plans for further development, and the server that distributes DarkScript will be updated as the examples and extras are created.

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 17th Feb 2006 14:06 Edited at: 17th Feb 2006 14:08
February 17th, 2006.

These are the critical issue areas that I'm smashing in this update:


- MAKE FUNCTION THREAD command. This command needed an improved method of exception handling incase a user input a bad dbpro function number.

- SCRIPT LOAD DBP FUNCTION command. Like the command above which uses similar code needed a better method of error control incase the user input a bad dbpro function number.

- SCRIPT SET STRING VARIABLE command. The string table does not appear to have the plugin function name. I also added in some error checking code improvements to this command.

- SCRIPT SET FLOAT VARIABLE command. The string table does not appear to have the plugin function name. I also added in some error checking code improvements to this command.

- SCRIPT SET INT VARIABLE command. I'm adding in some error checking code improvements to this command.

- Each error message is now rerouted through the GM error handler that provides more information and better handling. This provides you with more error detail when you need it.

If you have purchased DarkScript and have already installed the plugin the only thing you'll need to do is: login to the server, scroll to the bottom of the page, download the patch and run it.

The main setup file has also been updated with these new features and fixes. Thanks for the support so far!

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 20th Feb 2006 14:47
I had some requests for a demo version, so I created a 15 day trial that includes dbpro help files (with a small project for each command), and two extra help files to get you familiar with the language. This demo version includes a splash screen that displays during compile time, but will not display if you run the generated .exe afterwards. Any projects generated with this version are to be distributed as freeware only!

Demo Version
Download it Here

If you used the old free version, you'll find tons of updates in this demo version. For example there used to be an issue with getting or setting a variable within a table or array. That is not a problem anymore, here's how to do it below:

Table Example:


Array Example:


Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 21st Feb 2006 23:57
This is my first stab at a video tutorial (ever). It shows the process of creating a hello world example using this plugin and dbpro. There's no narration in this example, I did test it out but the mic was a little scratchy.

Enjoy, and leave me some feedback!

Attachments

Login to view attachments
PowerSoft
19
Years of Service
User Offline
Joined: 10th Oct 2004
Location: United Kingdom
Posted: 22nd Feb 2006 15:31
Hi Torrey,

Are your variables in the plugin all typeset, eg. typeless a la PHP, and other languages.


Looking good. Certainly blows my DB-based one out of the water (which incidently is on its 3rd rewrite along with a planned rewrite of an IDE )

Hamish McHaggis
21
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 22nd Feb 2006 16:02
Quote: "Are your variables in the plugin all typeset, eg. typeless a la PHP, and other languages."


Wasn't addressed at me, but, yes they are!

PowerSoft
19
Years of Service
User Offline
Joined: 10th Oct 2004
Location: United Kingdom
Posted: 22nd Feb 2006 19:10
so no need for type conversions like str$(), val() etc

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 22nd Feb 2006 21:18
Quote: "Looking good. Certainly blows my DB-based one out of the water (which incidently is on its 3rd rewrite along with a planned rewrite of an IDE )"


Improvements are a good thing, eventually you'll get the whole thing really stable and solid. I can't tell you how many times I've updated the source code for this plugin, it's like a nit picking addiction. Thanks for checking this plugin out!

Quote: "so no need for type conversions like str$(), val() etc "


There are type conversions for example:

avalue = 54
PrintString(avalue.String());

Whether conversions are needed or not really depend on the programmer that used GM. When it comes to the PrintString command, I'll most likely make that typeless without conversion in the near future.

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 24th Feb 2006 15:59 Edited at: 24th Feb 2006 16:02
Updates - Released February 24th

- Added a shell context menu for .gm files. This menu is also included with the trial version. Here's an example screen:



- The compile script command was updated and improved to work seamlessly with the shell context above.

- The setup files were updated with a change that will allow users that don't have the dbpro path in the registry to install the plugin by selecting the proper directory.

If you are one of these users please remember that you need to select the root dbpro directory for the install folder, otherwise the plugin will not work. As an example the installation directory on this machine is:



If you'd like to download the updated Demo version, you can click here.

- The commerical version was also updated with these changes.

Note: If you have a previous version installed, it is recommended that you uninstall the previous version before installing the updated version.

FXTC
19
Years of Service
User Offline
Joined: 3rd Jul 2004
Location: CzechRepublic
Posted: 24th Feb 2006 17:11
This instalation working,thanks

AMD 2,4 512MB RAM,2x200GB hdd,GforceFX5700GT128MB
Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 26th Feb 2006 17:26
Quote: "This instalation working,thanks"


Great, how's the plugin working for you? I've had tons of demo downloads recently, but not too much feedback.

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 2nd Mar 2006 10:33
Mold Rat,

I need just a little more information about how you're using the scripts to help you the best I can. From the way it sounds you're setting up a client/server setup that when players join it will introduce their script to the game, and you wanted a StartScript function to standardize the script format for your game.

To answer your first question, this isn't possible with as of right now. What I suggest is that setup some common script functions for users to call, or use a dbpro function as a script command to initialize the new script. This way it will cut down on code and make it easier on users. An example user script could look like:



I wasn't too sure of the type of content you were going for, but this should start off on some ideas.

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 4th Mar 2006 15:48
The idea you have is a good one, and also how I originally started to design this plugin to work (by following the same framework as the audio plugin). There was some memory issues that came up at that time and I had to kill the idea.

Since you brought the idea back out what I will do is extend the current framework for an optional parameter to allow a new GM machine to be used. A lot of users can benefit from this feature, and at the beginning of this coming week I'll start writing and testing code for implementation.

Mikey P
18
Years of Service
User Offline
Joined: 23rd May 2005
Location: Manchester, UK
Posted: 5th Mar 2006 14:41 Edited at: 5th Mar 2006 14:46
Hmm, I solved this problem when I dabbled in an R-Type game using DBP and DarkScript, and it worked out pretty well. I have each enemy in a different script file and there functions are called "EnemyShipUpdate" where ship is the enemy name. So then in DBP when I wanted to update all enemies, I just ran a loop through all the enemies I had loaded and did:



I think this saves Torrey the job of having to change the entire plugin, and I can only assume it'd be faster than having two or more copies of the GM machine. It's also worth noting that you have much more control over how the different Objects/Enemies are handled.

Torrey, I've looked through the reference manuals but I'm looking for a way to see if an array item exists, as my arrays just strings for an index like Rooms["0x0"]. I tried making Rooms[<coord>].Exists = 1 for each room, and then checking if Rooms[<coord>].Exists was set to 1, but because the <coord> didnt exist in rooms I just got a getdot error. Is there any isset() functons or anything in GM?

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 5th Mar 2006 18:12 Edited at: 5th Mar 2006 18:16
Quote: "I think this saves Torrey the job of having to change the entire plugin, and I can only assume it'd be faster than having two or more copies of the GM machine. It's also worth noting that you have much more control over how the different Objects/Enemies are handled."


Changes like this only add one compare instruction to the code, speed wouldn't be impacted (only by one clock cycle if you're technical).

Quote: "Torrey, I've looked through the reference manuals but I'm looking for a way to see if an array item exists, as my arrays just strings for an index like Rooms["0x0"]. I tried making Rooms[<coord>].Exists = 1 for each room, and then checking if Rooms[<coord>].Exists was set to 1, but because the <coord> didnt exist in rooms I just got a getdot error. Is there any isset() functons or anything in GM?"


We had a nice chat about this on MSN, if you want to share with others on what your final solution was, and your thoughts about the plugin it'd be greatly appreciated!

Something else not related by interesting if you're geeky like myself, last week while sitting bored at work I tested out DS with WINE and it worked great! That includes the installation and uninstallation.



Mikey P
18
Years of Service
User Offline
Joined: 23rd May 2005
Location: Manchester, UK
Posted: 5th Mar 2006 22:13
Sorry Meant to edit my original post saying that this was resolved

After a lengthy discussion about the different ways it which we could do it, we decided that an easy way that didn't mean me changing how my game handled the scripts was to simply loop, and make all possible coordinates for rooms within my given range. Not that easy to explain in words, but here's the function I call at the start of my application pretty self explanatory:



Also worth mentioning that Torrey was very helpful in suggesting solutions. Hats off

Segan
18
Years of Service
User Offline
Joined: 28th Aug 2005
Location: Canada
Posted: 8th Mar 2006 16:49
Torry, just curious, how long is the EA version likely to be available?

Enabling Mailback now.
Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 8th Mar 2006 20:16
Quote: "Also worth mentioning that Torrey was very helpful in suggesting solutions. Hats off "


Thanks for the nice words there.

Quote: "Torrey, just curious, how long is the EA version likely to be available?

Enabling Mailback now. "


The EA version will be available for another for 2-3 months more. After which I will keep the price 18.99 USD until I start rolling out updates that will extend DS further that just using it with dbpro.

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 13th Mar 2006 06:17 Edited at: 13th Mar 2006 06:20
Scripting tip #743

There have been some questions about functions that use parameters and how to use them. A majority of the projects that are using DarkScript tend to use the SCRIPT EXECUTE command because it is the quickest and easiest to format, but there are alternatives, especially if you want that function to return a value.

The commands SCRIPT INT VARIABLE, SCRIPT FLOAT VARIABLE, and SCRIPT STRING VARIABLE are all capable of calling a function with multiple parameters. The reason why this is possible is because everything in GameMonkey is really a variable.

As an example, imagine you are creating an RPG or some other turn based game and you have a function that calculates the output of a battle attack. The function could be formatted something like:



As you can see this takes 3 parameters; the player making the attack, the attack which can either by physical force or magic, and the enemy which the player is attacking.

If your function will not return a value because it's updating variables within the scripting environment the easiest method would be to use the SCRIPT EXECUTE command. Here's a quick example of how that call would look from within dbpro:



Since this is not the case with our example we'll assume that the return value will either be a integer, float, or a string. I'll provide the example call from dbpro for each type.



The current dbpro commands that handle functions exclusively do not allow multiple parameters, but allow for a return value. I see this as a problem for some programmers and in the near future those commands will be improved to correct this issue.

Mikey P
18
Years of Service
User Offline
Joined: 23rd May 2005
Location: Manchester, UK
Posted: 13th Mar 2006 19:41
Ahh, when speaking to you, I was unaware that I could still get a function with multiple paramaters to return a value to DBP directly, I thought I would be messing with global variables and what not .

Awesome

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 14th Mar 2006 04:59
Quote: "Ahh, when speaking to you, I was unaware that I could still get a function with multiple paramaters to return a value to DBP directly, I thought I would be messing with global variables and what not .

Awesome"


This topic would make a good tutorial for some users. I've always assumed people would use the plugin in a simplistic sort of way because of dbpro's basic style, but it has been the opposite. You guys are coming up with great intermediate to advanced ways of using this plugin with your games/applications.

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 16th Mar 2006 20:18 Edited at: 16th Mar 2006 20:19
I started some tests to make sure everything was alright with this plugin and the U6 betas. The tests came back good, and no changes need to be made for the U6 updates.

An update about the IDE/Editor for the scripts. I started working with one that uses a Scintilla class, and is not as heavy with features that people will never use (like in code blocks). I'll post the picture below of what it currently looks like. The title bar on the window does show the complete path and the script file name, but I removed that path information in my screen capture.



Let me know by posting here, or sending me an email to let me know what you think of the look of this style editor?

Mikey P
18
Years of Service
User Offline
Joined: 23rd May 2005
Location: Manchester, UK
Posted: 18th Mar 2006 12:55
Looking good

One thing I was wondering about with the editor, if we made our games using DarkScript with the idea of keeping them moddable, would we be able to distribute the editor with our game, to make it nicer to mod? Or maybe a cut-down version?

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 18th Mar 2006 13:57
Quote: "Looking good

One thing I was wondering about with the editor, if we made our games using DarkScript with the idea of keeping them moddable, would we be able to distribute the editor with our game, to make it nicer to mod? Or maybe a cut-down version?"


Very good question, one I haven't previously thought of. The editor was made with VB, so distribution with a game could require the runtimes being stored some place incase a person would need them. I'm leaning toward a yes on your question because it'll make script editing a hell of a lot easier for your users. Once the editor gets released I'll put a more solid answer in my post and also in the license (most likely to be a yes).

Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 19th Mar 2006 14:17 Edited at: 19th Mar 2006 14:17
New feature I got working with the editor, call tips. When typing common script commands a tip will be displayed.



Attachments

Login to view attachments
Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 4th Apr 2006 15:25 Edited at: 9th Apr 2006 16:10
Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 9th Apr 2006 16:15
Here's my first editor test. It's a very simple editor that I plan to keep building more and more on top of it as I progress. Current features:

- Exports HTML
- Zoom in or out
- Highlighter options are now accessible
- Enable/Disable word wrap
- Enable/Disable function folding

The compile menu options and calltips are not available right now, but will be soon. Some input on your thoughts about the editor would be greatly appreciated!

Attachments

Login to view attachments
Lord Belial
21
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 11th Apr 2006 20:39 Edited at: 11th Apr 2006 20:41
Hi,
I've just tried the demo version of DarkScript and it's great, except for one thing: I was not able to use my db created functions with parameters from the script. Could someone tell me what I'm doing wrong?

Test1.gm code:


Test1.dba code:


PS: I'll try the editor later today =)

Lord Belial
Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 11th Apr 2006 21:43
Quote: "Hi,
I've just tried the demo version of DarkScript and it's great, except for one thing: I was not able to use my db created functions with parameters from the script. Could someone tell me what I'm doing wrong?"


That's true, currently parameters cannot be used with the calling of dbpro user functions. What I usually do is create global variables in DarkScript and update those variables before the function call and in the dbpro user function retrieve the variables for processing.

I'll add parameters to the top of my to-do list for a future update.

Lord Belial
21
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 12th Apr 2006 20:05 Edited at: 12th Apr 2006 20:05
That's for me the only thing missing between a try and a buy =). Another thing that would be usefull (but not a necessity for my project as the parameters for dbpro user functions) would be an include function. Every thing else is bliss =).

Lord Belial
Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 12th Apr 2006 21:12
Quote: "That's for me the only thing missing between a try and a buy =). Another thing that would be usefull (but not a necessity for my project as the parameters for dbpro user functions) would be an include function. Every thing else is bliss =)."


Can you describe the include function idea a little bit more? DS has it's own plugin support, and also GM does have a command you can use to load and execute script files right from the script itself.

For example:


Lord Belial
21
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 13th Apr 2006 05:29 Edited at: 13th Apr 2006 20:34
Strangely, I'm not able to find anything in the GM help found with the demo about system.dofile()... Might be because it's only a demo or because I'm to sleepy and/or stone tonight to look at this. Anyway I'm not sure if your exemple do this but I meant an include just like in c:

#include "GameVars.h"

take care dude and keep on the good work =).

Lord Belial
Torrey
19
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 14th Apr 2006 11:20
Here's a super simple example that uses the script command "system.DoFile". You should have no problem using that command with the demo version. Any additions of an #include command in the future would be nothing but a cosmetic of the dofile command.

Attachments

Login to view attachments
Lord Belial
21
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 14th Apr 2006 17:06
Thanks man =) exactly what I wanted =)

Lord Belial
Lord Belial
21
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 20th Apr 2006 01:19 Edited at: 20th Apr 2006 01:20
Is there an approximative timeline for the integration of parameters for DBP user functions? My project need this functionality and I would like to know if I should code my script system (even if slower than yours) or wait for the next DS update =).

Lord Belial

Login to post a reply

Server time is: 2024-04-20 16:55:40
Your offset time is: 2024-04-20 16:55:40