Unary operators take one argument. In LSL these arguments are normally integers.

Operator |
Type |
Meaning |
Return Value |
Effect |

variable++ | Arithmetic | post-increment | variable | variable is set to variable + 1 |

++variable | Arithmetic | pre-increment | variable + 1 | variable is set to variable + 1 |

variable– | Arithmetic | post-decrement | variable | variable is set to variable – 1 |

–variable | Arithmetic | pre-decrement | variable – 1 | variable is set to variable – 1 |

!variable | Logical | Logical NOT | 1 if variable is 0, otherwise 0 | None |

-variable | Arithmetic | Unary negation | negative value of variable | None |

~variable | Bitwise | Bitwise NOT | flips each bit of variable | None |

#### Examples:

integer x = 5; llSay(0, (string)(x++)); //Says "5" and x is set to 6

integer x = 5; llSay(0, (string)(++x)); //Says "6" and x is set to 6

Credit to: Lslwiki.net (not working) with changes made for brevity and clarity.