Executor
I see you
- Reaction score
- 57
Hi,
I'm atm working on a project called "IJass" (Ingame Jass), which will allow the user to use jass code via chat ingame designed for debugging purposes (or even a JASS - battle game? ).
I post the readme and the current code.
system code to long for the post, so here it is
Atm only CreateUnit, BJDebugMsg, UnitAddAbility, SetUnitState, Player are included.
Which spaces will be deleted?
This system is NOT finished yet, I only want to gather some ideas to improve
I'm atm working on a project called "IJass" (Ingame Jass), which will allow the user to use jass code via chat ingame designed for debugging purposes (or even a JASS - battle game? ).
I post the readme and the current code.
JASS:
// Hello and welcome to my IJass readme.
//
// First of all:
//
// "IJass? Whats that?"
//
// - "IJass" stands for "Ingame Jass". This means you use jass code (indirectly) while ingame.
// ~ indirectly ~ because of every single native you may use exists one wrapped function
// in my library. That's why my library is so big.
//
// "Okee and how do I do this "IJass" - thing?"
//
// Well, have a look at the interface, it should explain itself. But you should have in mind,
// that YOU have to know the natives you want to use, aswell as unit ids and so on.
//
// In the case you configured IJass in a way, that COMMAND_PREFIX is not "" you ALWAYS
// have to type the char you filled this variable with in front of your IJass commands. Other
// inputs will be recognized as plain text and not as a command.
// the (ingame) interface:
// *************************** INTERFACE ****************************************************
// Jass: "call CreateUnit(Player(0),'hfoo',0.,0.,0.)"
// IJass: "CreateUnit(Player(0),'hfoo',0.,0.,0.)
// there are also some enhancements out there:
// you can skip parameterinput, this means the rest of the parameters will be filled with the
// specific null value of the type:
// "CreateUnit(Player(0),'hfoo',0.,0.,0.)" equals "CreateUnit(Player(0),'hfoo')"
// this only works, if you skip the parameters till the end of the function.
// you may assign variables:
// Jass: "set somePlayerVar = Player(0)" or "set someUnitVar = CreateUnit(..)"
// IJass: "someVar = Player(0)" or "someVar = CreateUnit(..)"
// YES, you may assign every type you want, but it's your turn to check whether you use them
// right or not. Assigning one variable-name twice will override the old value
// you may also combine aspects:
// Jass: "set myPlayer = Player(0)"
// Jass: "call CreateUnit(myPlayer,'hfoo',0.,0.,0.)"
// becomes
// combined => IJass: "CreateUnit(myPlayer = Player(0), 'hfoo', 0., 0., 0.)"
//
// shorter => IJass: "CreateUnit(myPlayer = Player(0), 'hfoo')"
// another example:
// "myUnit = CreateUnit( myPlayer = myCoolPlayer = Player(0), myID = 'hfoo')"
// "KillUnit(myUnit)"
// ************************** END INTERFACE *************************************************
system code to long for the post, so here it is
Atm only CreateUnit, BJDebugMsg, UnitAddAbility, SetUnitState, Player are included.
Which spaces will be deleted?
This system is NOT finished yet, I only want to gather some ideas to improve