VT Logo

Fourms {{|Tickets / Bug Reports Share Scripts Video Examples Permissions About VT

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.

Arrow Vault

Arrow Script Commands

Arrow Triggers

Arrow Place Holders

Arrow Functional Place Holders

Arrow Dynamic Objects

Arrow Scripts

Arrow In-Game Commands

Arrow Notepad++ UDL


You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Lyoko_Firelyte Lyoko_Firelyte Nov 21, 2014 at 02:35 UTC - 0 likes

    @KyadCK: Go

    Yes you'll be the first to get a build don't worry! :D


  • Avatar of KyadCK KyadCK Nov 21, 2014 at 02:32 UTC - 0 likes

    @Lyoko_Firelyte: Go

    You should totally give me a build to play with ahead of time so I know what to expect since I'm super special and am listed on the right. :P

  • Avatar of AncientTom AncientTom Nov 21, 2014 at 01:09 UTC - 0 likes

    @Lyoko_Firelyte: Go

    Very good. Looking forward to V2.

    Last edited Nov 21, 2014 by AncientTom
  • Avatar of Lyoko_Firelyte Lyoko_Firelyte Nov 20, 2014 at 22:58 UTC - 0 likes

    I'm getting closer to finishing the build. It's a complete rewrite of my own code & I've been making improvements along the way. The file directory is much more organized as well, and it reformats all of your existing files & scripts automatically. However, if you're currently using a variable name for different data types (example: $some.var = 1 and $some.var = test) all versions under VTV2 treat it as two separate variables. With VTV2 it will be one variable, which means you may need to adjust some of your scripts accordingly. I feel as if this is a better approach and will lead to less confusion overall. All old variables that are duplicates will be dumped into a file for recovery manually, and the string variant will be used in the new format. I apologize in advance if this causes any inconveniences. I should be done with VTV2 within a couple of days, currently I only have a few script commands & area events to handle - everything else is done, along with 10+ new events & over 30 new placeholders.

    Edit: For clarification, your scripts will be automatically converted to '@IF $some.var = something' from '@IF s $some.var = something' upon first loadup, to avoid unnecessary script editing.

    Last edited Nov 20, 2014 by Lyoko_Firelyte
  • Avatar of AncientTom AncientTom Nov 20, 2014 at 21:51 UTC - 0 likes

    @Lyoko_Firelyte: Go

    I ended up rewriting the script with a ladder of nested @IF statements and it works fine now.
    Yes. If everything that returned a string was error-trapped to return a null string in the event the function breaks, there should be no more need to send these error messages to the console and everything should just work.

  • Avatar of Lyoko_Firelyte Lyoko_Firelyte Nov 20, 2014 at 21:10 UTC - 0 likes

    @AncientTom: Go

    Yeah, null will be the default "does not exist" indicator for everything and should work for all datatypes after the cleanup.

    As for your switch issues, that was my attempt at blending them in with Lex's @IF code, and there were some issues with nesting.

    Last edited Nov 20, 2014 by Lyoko_Firelyte
  • Avatar of AncientTom AncientTom Nov 20, 2014 at 20:45 UTC - 0 likes

    This is not a big deal but when you get around to cleaning things up, could you fix '@IF s XXXX = null' to work with placeholders also?
    If I try '@IF s <cmdline> != null' I get the error, argument 3 must be a [=|!=|>|<|<=|>=|?=].
    I load the <cmdline> into a variable and use it and it works but it still throws an error,
    "worng number of arguements" to the console when the command line is empty.

    Last edited Nov 20, 2014 by AncientTom
  • Avatar of AncientTom AncientTom Nov 20, 2014 at 00:15 UTC - 0 likes

    Another problem:
    I wrote a script today that uses a @SWITCH statement nested inside an @IF statement. The @SWITCH works properly but the @IF condition always performs as if it were unconditionally true. When I remove the @SWITCH, from @SWITCH to the @ENDSWITCH, the @IF statement works as it should.

    My @IF wrapper around the @SWITCH is to emulate a @DEFAULT at the end of the switch. It would be wonderful if you could add a @DEFAULT statement to the @SWITCH. This would save from having to use an @IF statement and a half a dozen or so @OR lines before the @SWITCH. (Even if it did work nested like this.)

    Last edited Nov 20, 2014 by AncientTom
  • Avatar of AncientTom AncientTom Nov 19, 2014 at 21:21 UTC - 0 likes

    I have a problem with my scripts trying to deal with integers and command arguements. The player can enter a string, an integer, or nothing as an arguement. I try to test the arguement first with '@IF i <cmdarg:2> > 0' but get a VT error about not being able to test a string as an integer. If I try to set an integer variable with the arguement and it isn't an integer, I get the VT error "You must only use numbers for [INTVALUE]". Would it be possible to instead of throwing the error to the console, that when the error is trapped, a Zero is returned instead so that the script continues to work?

  • Avatar of AncientTom AncientTom Nov 19, 2014 at 14:59 UTC - 0 likes

    @Lyoko_Firelyte: Go Excellent! That would be perfect.
    I have kinda found the same strategy by just setting up a right click event trigger to only register the RightClick event in a variable like your <clicktype> and then use a normal click trigger to start the script.

    It's to bad that I have to abandon the use of <signtext::>. It's useless since it doesn't work with a placeholder or variable for coordinates. This would be such a heavily used enhancement if one could.


Date created
May 27, 2012
Last update
Aug 05, 2014
Development stage
  • enUS
All Rights Reserved
Curse link
Recent files