Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Script Restrictions: Difference between revisions

From Fiend's Outlands Wiki
Created page with "Category:PvPCategory:PvP EventsCategory:PvP Mechanics To promote a more level playing field during organized PvP encounters, specific restrictions are applied to automation tools like Razor scripts and macros, as well as certain UI elements. These restrictions aim to limit overly complex automation and reliance on out-of-game information gathering during events. '''Important Note:''' These restrictions are subject to review, reassessment, and potential chang..."
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:PvP]][[Category:PvP Events]][[Category:PvP Mechanics]]
[[Category:PvP]][[Category:PvP Mechanics]]
To promote a more level playing field during organized PvP encounters, specific restrictions are applied to automation tools like Razor scripts and macros, as well as certain UI elements. These restrictions aim to limit overly complex automation and reliance on out-of-game information gathering during events.
To promote a more level playing field during organized PvP encounters, specific restrictions are applied to automation tools like Razor scripts and macros, as well as certain UI elements. These restrictions aim to limit overly complex automation and reliance on out-of-game information gathering during events.


Line 15: Line 15:
These restrictions do '''not''' apply to non-consensual PvP activities (i.e., standard Player Killing outside of structured events).
These restrictions do '''not''' apply to non-consensual PvP activities (i.e., standard Player Killing outside of structured events).


A new script expression, `pvp`, has been added. This expression allows scripts to check if the PvP script restrictions are currently active for the player (`if pvp`).
A new script expression, <code>pvp</code>, has been added. This expression allows scripts to check if the PvP script restrictions are currently active for the player (<code>if pvp</code>).


== Script Restrictions ==
== Script Restrictions ==
Line 23: Line 23:


==== Commands ====
==== Commands ====
`setvar` (when targeting players)
<code>setvar</code> (when targeting players)
`droprelloc`
<code>droprelloc</code>
`waitforsysmsg`
<code>waitforsysmsg</code>
`settimer`
<code>settimer</code>
`removetimer`
<code>removetimer</code>
`getlabel`
<code>getlabel</code>
`rename`
<code>rename</code>
`cooldown`
<code>cooldown</code>
`wait`/`pause`
<code>wait</code>/<code>pause</code>


==== Expressions ====
==== Expressions ====
`bandaging`
<code>bandaging</code>
`findbuff`/`finddebuff`
<code>findbuff</code>/<code>finddebuff</code>
`mana`, `maxmana`, `diffmana`
<code>mana</code>, <code>maxmana</code>, <code>diffmana</code>
`hits`, `maxhits`, `diffhits`
<code>hits</code>, <code>maxhits</code>, <code>diffhits</code>
`stam`, `maxstam`, `diffstam`
<code>stam</code>, <code>maxstam</code>, <code>diffstam</code>
`poisoned`
<code>poisoned</code>
`paralyzed`
<code>paralyzed</code>
`hidden`
<code>hidden</code>
`str`, `dex`, `int`
<code>str</code>, <code>dex</code>, <code>int</code>
`position`
<code>position</code>
`timer`
<code>timer</code>
`followers`
<code>followers</code>
`hue`
<code>hue</code>
`blessed`
<code>blessed</code>
`notoriety`
<code>notoriety</code>
`dead` (when checking mobs other than the player themselves)
<code>dead</code> (when checking mobs other than the player themselves)
`maxweight`, `diffweight`
<code>maxweight</code>, <code>diffweight</code>
`gumpexists`, `ingump`
<code>gumpexists</code>, <code>ingump</code>
`cooldown`
<code>cooldown</code>
`casting`
<code>casting</code>


=== Serial Handling ===
=== Serial Handling ===
Player serials (unique identifiers) will resolve as `0x0` (effectively null/disabled) within scripts and macros when restrictions are active.
Player serials (unique identifiers) will resolve as <code>0x0</code> (effectively null/disabled) within scripts and macros when restrictions are active.
*  '''Example:''' If a script stores another player's serial in the variable `player`, attempting to use that variable in commands like `attack player` or `setlasttarget player` will fail as `player` will evaluate to `0x0`.
*  '''Example:''' If a script stores another player's serial in the variable <code>player</code>, attempting to use that variable in commands like <code>attack player</code> or <code>setlasttarget player</code> will fail as <code>player</code> will evaluate to <code>0x0</code>.


=== Item Find Handling ===
=== Item Find Handling ===
Commands and expressions that search for items (`find`, `findtype`, `findtypelist`, `dclicktype`, `lifttype`, `counttype`) will '''only''' locate items that are currently worn by the player or are within the player's main backpack inventory. Items in containers within the backpack, on the ground, or elsewhere will not be found by these commands while restrictions are active.
Commands and expressions that search for items (<code>find</code>, <code>findtype</code>, <code>findtypelist</code>, <code>dclicktype</code>, <code>lifttype</code>, <code>counttype</code>) will '''only''' locate items that are currently worn by the player or are within the player's main backpack inventory. Items in containers within the backpack, on the ground, or elsewhere will not be found by these commands while restrictions are active.


=== Message Handling ===
=== Message Handling ===
Line 67: Line 67:
== UI Restrictions (Experimental) ==
== UI Restrictions (Experimental) ==
The following UI changes are currently experimental and subject to adjustment based on feedback.
The following UI changes are currently experimental and subject to adjustment based on feedback.
=== Health Bar Expiration ===
Health bars belonging to players who have been off the player's screen for more than 60 seconds will automatically expire and close. A small timer bar visually indicates this expiration countdown on the health bar gump. Health bars of players within your own [[Party]] are exempt from this expiration mechanic.


=== Last Target Expiration ===
=== Last Target Expiration ===
If the player's currently held `Last Target` corresponds to a player who has been off-screen for more than 60 seconds, the `Last Target` will automatically reset (clear). The player will receive an overhead system message notifying them when this occurs.
If the player's currently held <code>Last Target</code> corresponds to a player who has been off-screen for more than 60 seconds, the <code>Last Target</code> will automatically reset (clear). The player will receive an overhead system message notifying them when this occurs.


== Macro Restrictions ==
== Macro Restrictions ==
The following built-in client macro actions and types are disabled or will not function correctly while PvP script restrictions are active:
The following built-in client macro actions and types are disabled or will not function correctly while PvP script restrictions are active:


*  Conditionals (`If`, `While`, `DoWhile`) that rely on checking player stats (e.g., `hits`, `poisoned`) or system messages.
*  Conditionals (<code>If</code>, <code>While</code>, <code>DoWhile</code>) that rely on checking player stats (e.g., <code>hits</code>, <code>poisoned</code>) or system messages.
`DropRelLoc` (Drop Relative Location)
<code>DropRelLoc</code> (Drop Relative Location)
*  Wait actions (`WaitForTarget`, `WaitForGump`, `WaitForMenu`, `Pause`)
*  Wait actions (<code>WaitForTarget</code>, <code>WaitForGump</code>, <code>WaitForMenu</code>, <code>Pause</code>)
`TargetRelLoc` (Target Relative Location)
<code>TargetRelLoc</code> (Target Relative Location)
`SetLastTarget`
<code>SetLastTarget</code>
`SetMacroVariableTarget`
<code>SetMacroVariableTarget</code>

Latest revision as of 17:27, 4 April 2025

To promote a more level playing field during organized PvP encounters, specific restrictions are applied to automation tools like Razor scripts and macros, as well as certain UI elements. These restrictions aim to limit overly complex automation and reliance on out-of-game information gathering during events.

Important Note: These restrictions are subject to review, reassessment, and potential changes based on ongoing evaluation and player feedback.

Scope of Restrictions

These PvP Feature Restrictions apply during participation in the following activities:

These restrictions do not apply to non-consensual PvP activities (i.e., standard Player Killing outside of structured events).

A new script expression, pvp, has been added. This expression allows scripts to check if the PvP script restrictions are currently active for the player (if pvp).

Script Restrictions

Disabled Commands and Expressions

While restrictions are active, the following Razor script commands and expressions are disabled or function differently:

Commands

  • setvar (when targeting players)
  • droprelloc
  • waitforsysmsg
  • settimer
  • removetimer
  • getlabel
  • rename
  • cooldown
  • wait/pause

Expressions

  • bandaging
  • findbuff/finddebuff
  • mana, maxmana, diffmana
  • hits, maxhits, diffhits
  • stam, maxstam, diffstam
  • poisoned
  • paralyzed
  • hidden
  • str, dex, int
  • position
  • timer
  • followers
  • hue
  • blessed
  • notoriety
  • dead (when checking mobs other than the player themselves)
  • maxweight, diffweight
  • gumpexists, ingump
  • cooldown
  • casting

Serial Handling

Player serials (unique identifiers) will resolve as 0x0 (effectively null/disabled) within scripts and macros when restrictions are active.

  • Example: If a script stores another player's serial in the variable player, attempting to use that variable in commands like attack player or setlasttarget player will fail as player will evaluate to 0x0.

Item Find Handling

Commands and expressions that search for items (find, findtype, findtypelist, dclicktype, lifttype, counttype) will only locate items that are currently worn by the player or are within the player's main backpack inventory. Items in containers within the backpack, on the ground, or elsewhere will not be found by these commands while restrictions are active.

Message Handling

Party and Guild chat messages will not be intercepted or recognized by Razor scripts or the client's macro/journal system while restrictions are active.

UI Restrictions (Experimental)

The following UI changes are currently experimental and subject to adjustment based on feedback.

Last Target Expiration

If the player's currently held Last Target corresponds to a player who has been off-screen for more than 60 seconds, the Last Target will automatically reset (clear). The player will receive an overhead system message notifying them when this occurs.

Macro Restrictions

The following built-in client macro actions and types are disabled or will not function correctly while PvP script restrictions are active:

  • Conditionals (If, While, DoWhile) that rely on checking player stats (e.g., hits, poisoned) or system messages.
  • DropRelLoc (Drop Relative Location)
  • Wait actions (WaitForTarget, WaitForGump, WaitForMenu, Pause)
  • TargetRelLoc (Target Relative Location)
  • SetLastTarget
  • SetMacroVariableTarget