VariableTriggers
Make your own plugin like features and more using VariableTriggers
This is a very powerful plugin that has unlimited potential. Create triggers that run lines of script when a player Clicks or Walks on a block (dirt, door, switch, trigger, torch, any block) or Create Event Triggers such as PlayerDeath , EntityDeath, BlockBreak, BlockPlaced, Join, Quit, Respawn, Interact and EntitySpawn that also run scripts. You can define Area Triggers and Command Triggers as well. You can use Dynamic Object variables and conditional IF and ELSE statements in the scripts. You can run any command that a player or OP can run and many speacial built-in commands to Teleport, Spawn Entities, Play Effects Visual or Sound, Set Blocks, Toggle Blocks, Check Players Heath and much more!. The scripts are executed on their own threads to take the strain off of the main server thread.
@gnarlerman
Please read to docs.
You will find <relativeloc::> in the Functional Place Holders section.
The usage would be something Like
@LIGHTNING true <relativeloc:<triggerloc>:5,0,-6>
or
@SETBLOCK 35:3 <relativeloc:<triggerloc>:-3,0,4>
Your plugin is so awesome it makes other plugins :-D
Anyway. I would like to request an option or a change to your plugin, that is when you make a trigger that it defaults relative to triggerloc instead of static positioning. Its a lot of formatting.
OR release a macro that does it for you.
Please and thank you!
@niklas123400
You can set a click trigger on it but then it would have to be clicked by player
You can set a walk trigger for a tripwire but you need to set it on the block underneath the wire.
Hey i was wondering if it supports trip wires? i cant get it to work by using walk trigger or click trigger :(
I´m a newbie to Variable triggers atm and i want when someone touch a tripwire they will get teleported back to a specific point, is that possible?
@Byamarro
Guys check out this video by Byamarro http://www.youtube.com/watch?v=fkAssEJ1lzk&feature=player_embedded
Nice example man.
If I do add @LOOP this culd be done with a loop and <relativeloc::> and a tset of @GETBLOCK on each new location to see if block is anything other than air and then explode if so.
@mcfacilitator
Yes that is the default behavor I decided on. undeclared variables will return
Empty "" - String
0 - Integer false - Boolean
Any way to check for un-set variable? This doesn't work:
- '@IF s $<playername>.Group = null'
- ' @SETSTR $<playername>.Group guest'
- '@ENDIF'
(update)
undefined bools test false. I used bool flags (set to true) indicating a set variable, otherwise, the non-existing variable flag tests false.
/vt autosave doesn't seem to change anything. On console 'stop' the scripts in memory still overwrite the script files, clobbering any changes made with an editor. I already have AutoSaveInterval: set to 0, even tried -1 ;-)
I just saw your loop report as I was getting ready to post this. I wasn't pushing loops, but I will certainly give it a go. Ok, how about FOR, SWITCH, WHILE, TRY/CATCH.... Just kidding ;-)
But please do consider <player_ip>, I think it would make a nice compliment to what your system facilitates in logging.
I'm close to deciding to do @LOOP
If people use it improperly and crash there server its thier own fault the only hold up now is if I realy want to invest that much time to include them. To be code write is not as simple as you think.
Byamarro:
Locations are strings ie:
- '@SETSTR $<playername>.LoginLoc <playerloc>'
- '@SETSTR $<playername>.LoginWorld <worldname>'
or
- '@SETSTR $<playername>.Location <worldname>, <playerloc>'
Lexlaiden:
<player_ip>
I made Ballista using Variable triggers. Would looks better with loops :( After hours of editing coordinates for every block, programmist don't want to make his animation better, He want to just finish it...
http://www.youtube.com/watch?v=fkAssEJ1lzk&feature=player_embedded
Is it possible to create coordinate var?
@Byamarro
Try
- '@IF i <gamemode> = 0'
- // The i states it is a integer and IF gamemode is = 0 is the statement//
- '@CMDOP <put command here>'
- '@ENDIF'
@Computerichy
It can be wrong but I think that:
This is just something I would like to know from someone who possible knows how to do this: I do not know if it is possible, but if so, how can I make it so that if a player is in gamemode 0, they cannot use the command /i? I would like for it to cancel the command and possibly notify them.
@mcfacilitator
YI will answer in order.
1) use /vt autosave
This toggles auto save on or off
2) Cant do that cause since the scripts are run on their own threads if i zapped all then reloaded you may find a script trying to grab data that is not thier for a moment.
3) Read http://dev.bukkit.org/server-mods/variabletriggers/forum/newfeatures/40993-whats-been-added-so-far-the-the-next-upcomming-release/#p1
4) I chose not to hook worldguard for performance reasons. I chose to write my own code for efficiency. A B and C is my choice for greater control because you can always with a line of script test when entering a if it was from b
5) Loops still undecided for obvious reasons
Just some feedback on this plugin I like very much:
First and foremost, it would be nice to be able to turn all the automatic saving off ie: a config parameter or something. It is easy to get bit by auto system saves, or shutdown saves. To have absolute confidence that what is in the VariableTriggers directory is the bible would be priceless. I think my fingers start to shake when I implement new scripts. I find myself making all kinds of redundant copies ;-) This is for those of us that write script out of the game. We can always vt savetriggers when we need in-game work.
On vt reloadtriggers; it would be nice if *everything* internal was completely zapped first, then replaced by what is in the directory. This is the directory being the 'bible' thing.
CommandTriggers: It would be nice to have a cmdarg_all that contains everything on the command line but the command. This would be for situations where text on the command line are not parameters ie: 'sendmessage <text>'. It would be nice to be able to create commands that begin with two forward slashes. Lastly, it would be nice to have ConsoleTriggers ;-)
Area Triggers: I would prefer to see them work like the worldguard regions do. In fact since the former is somewhat of an established standard why not consider accessing defined worldguard regions by name(?) There are client mods and dynmap that help keep these regions organised for us. Back to my original point; when in areas A B and C simultaneously, it would be nice if that were true to the interpreter. As is now, you can only be in one area at a time.
To chime in on the local variable and loop ideas; The object variables, as is works very well for me. Variables are easily seperated with the help of the placeholders, and I think it promotes clearer scripting. They can be easily observed in the file, as well. Loops..... maybe if they had build in count and time limits. Could cause lag problems that are difficult to diagnose. Maybe best left to java(?)
Sorry about the length here. I just had a bunch of notes to dump, and it is always best to do it with a fresh perspective. I actually like VarriableTriggers just as it is, but I doubt that it is going to stand still. Regards.
@lexlaiden
http://www.youtube.com/watch?v=eJ5K-phM260
Here is scene where skeleton gets out from his tomb. My first animation in Variable Trigger made some time ago. And anim of opening Nether portal.
@Ian_mac
Common guys I would love to see some video's of the things you have done with VariableTriggers.
I've been without internet for over a week so I had to catch up on things with this plugin, and I want to thank you for such a awesome plugin, and even including my suggestion they I had made, It feels awesome having a small part in this! :D I wish I personally had money I could send your way.
That being said, if the use of this plugin helps make the server my friend owns grow and get donations, Which I'm more than certain it will, I'll be sure to send some of that money your way in thanks. For now you'll just have to settle with this comment.