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.
















-
View User Profile
-
Send Message
Posted Dec 18, 2014@Lyoko_Firelyte
Also if your events are not going off remember to fill in the list of applicable worlds, each event has a list now.
etc
-
View User Profile
-
Send Message
Posted Dec 18, 2014@H8llfire
Just keep your files in the VT directory like you normally would and boot up, it changes everything for you. It ignores all of the old formatting, nothing needs to be rewritten. For example it will read @IF s $obj.var and @IF $obj.var as the same thing. Post any errors you have and if it's a build related issue I'll upload a fix :)
-
View User Profile
-
Send Message
Posted Dec 18, 2014@Lyoko_Firelyte
It is completely removed in 1.8, but still works with spigot 1.7.
I'm having issue converting my stuff, though. Do I need to make sure that I rewrite all my @IF's and remove the type before converting? The plugin just wont do it itself.
-
View User Profile
-
Send Message
Posted Dec 17, 2014@sharqman
Ahh it seems they didn't include the file utils like Bukkit does. Try running the build on Bukkit and once it makes all the files shut down and swap back to Spigot.
-
View User Profile
-
Send Message
Posted Dec 17, 2014@Lyoko_Firelyte I started up a fresh server using spigot's 1.8 and got this error. I get the same error on restart. I had no previous installation on vt. http://pastebin.com/eRHn5f6v
-
View User Profile
-
Send Message
Posted Dec 16, 2014@H8llfire
I plan to add support for loop in the next build, I just needed to get the build out there for testing and loop would have delayed it another couple days. I wouldn't say it's unsafe to use, I just have not testing every little thing and naturally expect something to need tweaking. The way I replace placeholders is more efficient because I do not pull the data unless you actually have the holder. Set cancelled on the join event is only a flag to not broadcast the message, it's not actually cancelling any join packets. I'd pop open a local server with a copy of your current files and give it a try :D
-
View User Profile
-
Send Message
Posted Dec 16, 2014I checked out the changelog, seems great so far. However there are too many risks for me to update already, so I'm gonne leave the "Beta testing" to others, sry.
Here are some questions I got for you: - Since you removed type safety from @IF, wouldn't this lower the performance having IF in a loop? - Why did you remove @LOOP? Obviously you can do anything you want with it with @WHILE too, I just found @LOOP to be more convenient about it. - You added quite a few events and placeholders, how about the performance? - How breaky is the rewrite? Most plugin rewrites I put on my server caused quite some issues for me. - If you decide to use @SETCANCELLED on join event, wouldn't that cause even further problems with player handling and stuff?
Otherwise seems like an awesome huge patch, thanks for your continued support on this! I really hope you fixed some bugs with it, too ;)
-
View User Profile
-
Send Message
Posted Dec 16, 2014Hey guys, I've uploaded V2 for approval, if you decide to upgrade please make a backup of your VariableTriggers folder just to be safe! :) Because of the extreme amount of coding I've done on the build, there's probably a couple bugs I & Kyad didn't catch, so please report them so they can be fixed in the next build. Thanks guys! Hope you enjoy. I'll slowly work on documentation, but most things are easy to figure out.
-
View User Profile
-
Send Message
Posted Dec 15, 2014@Lyoko_Firelyte
Thank you, thank you, thank you so very much. This means that if all place holders are now working with the use of variables as arguements, I can go back and stream-line a lot of my scripts and get rid of the work-arounds.
Please let me know when you have version 2 ready to try.
-
View User Profile
-
Send Message
Posted Dec 13, 2014@AncientTom
Honestly you'll have to test it yourself after I release the build, I have rewritten the entirety of the code, but it should work because I'm replacing variables before functional placeholders.
-
View User Profile
-
Send Message
Posted Dec 13, 2014@Lyoko_Firelyte
I do a lot of work using signs and I was wondering if your new version will be able to use variables as location and line numbers in <signtext:location:line>? This would be a great tool except as it is now it is unusable in scripts. It should be kept in mind that when you create a new Functional Placeholder that in order to be able to calculate it's paramiters in a dynamic script one must be able to calculate pramiters on the fly.
-
View User Profile
-
Send Message
Posted Dec 10, 2014Using version 1.3.3.1.
A very interesting thing just happened using <direction:INT> which is supposed to return an integer of 0 to 15. I am standing due north, f = 2 (NORTH) 179.40808 and <direction:INT> is returning the integer 16 while <direction:TEXT> is returning NORTH.
???
-
View User Profile
-
Send Message
Posted Dec 10, 2014@RoyPiter
I like the idea of updating the scoreboard from a script and Kyad has suggested this as well. I will try to have something like this in the V2 update. Also, sorry for the long delay in release, there were a lot of other things I had to take care of first, but I'm 95% done with a stable build, and Kyad is testing my dev build for bugs at the moment.
-
View User Profile
-
Send Message
Posted Dec 9, 2014Hi,
I have been using VT for almost a year, and now that you're working on a new VT build, I wanted to suggest some ideas:
to make VT work with the minecraft scoreboard system, and so add placeholders like
<team>
<teamplayercount>
<teamcolour>
(boolean) <teamfriendlyfire>
(boolean) <teamseefriendlyinvisible>
or functional place holders as
(for a player) <score:(score-name):(value)>
If it's possible, I think you could add the scripts commands
@ADDSCORE [Name] [Score type (dummy, playerDeathCount,etc)] [Score displayname]
@DELSCORE [Name]
@SETSCOREDISPLAY [score] [display]
//this would be useful for switching the name of the score displayed in the sidebar
@ADDPLAYERSCORE [player] [score] [count]
@REMPLAYERSCORE [player] [score] [count]
//if [count] arg isn't given, it would reset the player only in that score (if you use the vanilla command /scoreboard payers reset (playername), it removes all your scores and not only the one you wanted
@SETPLAYERSCORE [player] [score]
@SWITCHPLAYERSCORE [player] [player] [score (optional)]
//I don't know if the score of a player can be swapped to other player, so if I have in the sidebar "§2lexlaiden 10" and I want to instantly change is color without removing the sidebar, using this script command and changing the name for "§clex§alaiden 10"
Sorry if I didn't write it clear,
Greetings from Argentina :v
-
View User Profile
-
Send Message
Posted Dec 2, 2014@facemywrath
Good catch but the source of the string is as long as the Object to place it in. I didn't include it in this posting because the error is about the first Object name. The source object is used and working in other parts of the script. My actual full line is; '@ADDLIST @<var:$SignItem<playername>.SignName>.ItemList[<var:$SignItem<playername>.Index>] @SignItem<playername>.ItemList[<var:$SignItem<playername>.Index>]'
-
View User Profile
-
Send Message
Posted Dec 2, 2014Is it possible to read current player experience?
<totalexp:optionalarg> gives you the total experience collected from the death. But if player used it for something it doesn't change.
-
View User Profile
-
Send Message
Posted Dec 1, 2014@ancienttom you're not adding anything to the list, you just list the name of the list and the index... you have to actually add something to the list
-
View User Profile
-
Send Message
Posted Dec 1, 2014There's one more thing I'm having a problem with. I need to add strings into a list object that has it's object name derived from the location of the sign that was clicked on. I am using '@ADDLIST @<var:$SignItem<playername>.SignName>.ItemList[<var:$SignItem<playername>.Index>]' and I get the error, "@ADDLIST $variables must be in the format $ObjectName.VariableName". Is there another way to do this?
-
View User Profile
-
Send Message
Posted Dec 1, 2014@Lyoko_Firelyte
Thanks. That's what I thought. I am now trying to troubleshoot my work in this area using a loop to transfer from one list to another. I am getting this error on the console, "ERROR Error @IF: Argument 2 NumberConstant must only contain NUMBERS". Would it be possible to have the script name and line number on the error line like the other error messages. My trigger runs a half a dozen scripts, each with as many as a dozen @IF statements in them.
I'm thinking my problem may be my method of detecting the List object. The @SETINT also throws this error as used in the script lines bellow; "ERROR Script Error: Trigger: Cmd_signitem Script: Commerce:ShowTemps Line 3 - @SETINT - You must only use numbers for [INTVALUE] Ignoring line and continuing".
My script lines:
- ' @SETINT $SignItem<playername>.GroupLen @SignItem<playername>.ItemList'
- ' @IF i $SignItem<playername>.GroupLen > 0'
Is there a proper way of detecting the existance of a list and if it has data in it? Would this sattement work? - ' @IF i @<var:$SignItem<playername>.SignName>.ItemList > 0'
-
View User Profile
-
Send Message
Posted Nov 30, 2014@AncientTom
No, you can't move a whole list like that but you could use a while loop!