### Install Script and Chardefs Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Magic_Spells/spell_efficiancy11zip/help.htm Instructions for installing the Spell Efficiency script and its associated chardefs into the game's scripts directory. This step is crucial for the system to function correctly. ```plaintext 1.) drop this script and the chardefs in your scripts directoryunless youve edited the sphere chars. 2.) Add tevents=e_manauserto all custom chardefs before the @create. Other wise you'll have chars using free mana all the time. before you add a tevent, it should look something like this... > [CHARDEF 0401] > > DEFNAME=C_H_VENDOR > > NAME=#NAMES_HUMANMALE the Vendor > > ID=C_MAN > > HIREDAYWAGE=50 > > DESIRES=i_gold,e_notoriety > > AVERSIONS=t_TRAP,t_eerie_stuff > after you add a tevent it should look like this... > > [CHARDEF 0401] > > DEFNAME=C_H_VENDOR > > NAME=#NAMES_HUMANMALE the Vendor > > ID=C_MAN > > HIREDAYWAGE=50 > > DESIRES=i_gold,e_notoriety > > AVERSIONS=t_TRAP,t_eerie_stuff > > TEVENTS=e_manauser > > On=@create > > > > This makes it possible to add the event to all exsisting charactors > > with out having to rebuild the shard. 3.) finally resync the shard ``` -------------------------------- ### Install Boats_MapGuidance_Main.scp and Boats_MapGuidance_Supporting.scp Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/Item_Boat_v3/Instructions.txt This snippet describes the installation process for the core script files of Sven's Course Plotting System. It involves placing these two .scp files into the scripts directory and restarting the shard. Resynchronization might cause issues. ```text Put Boats_MapGuidance_Main.scp and Boats_MapGuidance_Supporting.scp into your scripts directory. Restart Shard (Resyncs may cause problems with this script). ``` -------------------------------- ### Default Function Argument Example Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/PySphere_1/PySphere/Changes.htm Demonstrates how to set default values for function parameters. If an argument is not provided when the function is called, the default value is used. ```script def lgimmeitem(itemID='i_reag_ginseng'): ``` -------------------------------- ### Script Definition Example (defs.py to defs.scp) Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/PySphere_1/PySphere/Manual.htm Demonstrates the translation from a Python-like script definition (defs.py) to its compiled Sphere script equivalent (defs.scp). This highlights the absence of a 'class' keyword and the use of specific keywords for defining game elements. ```python def itemdefs(): return [ # itemdef data here ] def chardefs(): return [ # chardef data here ] def events(): return [ # event data here ] def defnames(): return [ # defname data here ] ``` ```scp #itemdef data here #chardef data here #event data here #defname data here ``` -------------------------------- ### Variable Reference Example Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/PySphere_1/PySphere/Manual.htm Demonstrates how to use variables that are set to a UID as references, such as retrieving a 'nation' tag from a character's tags. ```python local.nation = src.tag.nation ``` -------------------------------- ### Defname Checking Example Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/PySphere_1/PySphere/Manual.htm Illustrates defname checking, allowing for more concise flag assignments. PySphere generates a defs.ini file to speed up this process. ```SphereScript flags=flags|statf_war ``` -------------------------------- ### PySphere Support for doswitch and dorand (Release 11) Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/PySphere_1/PySphere/Changes.htm Release 11 introduces support for 'doswitch' and 'dorand' in PySphere, enabling more complex conditional logic and random execution paths within scripts. Refer to dosamples.py for examples. ```python # Example usage (refer to dosamples.py for full details) doswitch myVariable case 1: # code for case 1 case 2: # code for case 2 endswitch dorand chance 50: # code for 50% chance chance 30: # code for 30% chance endrand ``` -------------------------------- ### Example Event: Click to Apply Oname Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/namecommandv20/namecommandv2.0.txt An example event handler for a click action. It calls the 'oname' function and then checks if the player is staff using the 'isstaff' function. If they are staff, it prefixes their name with 'Staff Member: '. ```uo-script [events e_namer] on=@click Oname if name=Staff Member: endif ``` -------------------------------- ### Sphere Server Installation (Bash) Source: https://context7.com/kaktaknet/awesome-uo-scripts/llms.txt Provides bash commands for installing Sphere server scripts. It involves navigating to the server directory, copying script packages, and adding references to the sphere.ini configuration file. ```bash # Navigate to your Sphere Server directory cd /path/to/sphere/scripts/ # Copy desired script package cp -r /path/to/awesome-uo-scripts/ultima_online_scripts/Economy/Bank_System_v2 . # Add to sphere.ini RESOURCES section # RESOURCES=scripts/Bank_System_v2/bank.scp # Restart server or use .resync command in-game ``` -------------------------------- ### 55i Supported Features (Emulated) Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/PySphere_1/PySphere/Manual.htm Explains features that work in the older 55i Sphere version, often through PySphere's emulation. This includes for/while loops (via recursion), local variables, and parameter passing for .py to .py calls. ```text Things that work in 55i that you wouldn't expect: - For loops and while loops (emulated via recursion, potential subtle bugs). - Local variables (emulated with long variable names). - Parameter passing between .py files (handled via global variables). - Finduid (converted to 'uid.' syntax, use with caution). - Function calls to hardcoded functions (e.g., 'say'). ``` -------------------------------- ### Basic SphereScript Command Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/PySphere_1/PySphere/Manual.htm Demonstrates a simple SphereScript command for setting a ruler and having them speak. This syntax is compatible with all Sphere versions. ```SphereScript local.ruler=local.nation.more2 local.ruler.say("It is good to be king!") ``` -------------------------------- ### Initialize House Access Roles Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Housing/House_Legacy_v13/swinhouse.txt The 'house_init' function initializes access roles for a house, such as 'Coowner', 'Friend', and 'Ban'. It creates a new item (bag) for the source, sets its attributes, color, name, and links it to the house. It then attempts to set region tags for the specified role and returns the source actor to its original state. ```uohaskell [FUNCTION house_init] IF !(0>) VAR.ACT SRC.NEWITEM i_bag SRC.ACT.ATTR attr_static|attr_invis SRC.ACT.COLOR 0480 SRC.ACT.NAME SRC.ACT.LINK SRC.ACT.P

SRC.TRY REGION.TAG. SRC.ACT ENDIF ``` -------------------------------- ### Defnames as Arrays in PySphere (Release 10) Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/PySphere_1/PySphere/Changes.htm Release 10 enables the use of 'defnames' as arrays, allowing for collections of named items to be accessed and manipulated using array-like indexing. The def_array.py script provides a practical example. ```python # Example usage (refer to def_array.py for full details) defname myItems[3] = "sword", "shield", "potion" print myItems[0] # Output: sword print myItems[1] # Output: shield ``` -------------------------------- ### Configure Weapon Inclusion and Damage (Artisan.exe) Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Combat_PvP/Artisan_Combat/Artisan Readme.txt This section describes the initial configuration prompts for Artisan.exe. Users decide whether to include weapons and set the highest weapon damage value. Inputting a value less than 48 for highest weapon damage will result in errors. ```text Include Weapons? : This is whether you want weapons or not. Type 1 for yes (Include weapons), type 0 for no (Do NOT include weapons) If you decided to have weapons this question pops up : Highiest Weapon Damage : This is the highiest weapon damage, example : iron has 48, which means Halberds range from 4,48 Bardiches less, Vikings lesser, and Katanas even less.This is basically what highiest dmg will the hally have(highiest MAXDMG wep). Don't really know how to explain this but feel free to play with it around. NOTE: You MUST pick a number highier than 48 or ERRORS will occur. ``` -------------------------------- ### Configure Login Server (Configuration) Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/black_red_status_page/Black & Red Status Page/spherestatusbase.html Sets the login server IP address and port. Replace YOURSHARDSIPHERE with the actual IP address and %SERVPORT% with the server's port number. This is a configuration directive, not executable code. ```plaintext LOGINSERVER=YOURSHARDSIPHERE,%SERVPORT% ``` -------------------------------- ### Install Begging Skill Event Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/Item_Currency_v2/readyou.txt This snippet shows how to add the 'e_beggingnew' event to the spheretables.scp file to enable the begging skill upgrade. It demonstrates the placement within the ON=@Login section. ```plaintext ON=@Login EVENTS +e_shard_event1 EVENTS +e_beggingnew ``` -------------------------------- ### Define Floor Begin in UO Script Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/Item_Misc_v31/sandretreat1.txt This script snippet defines parameters for the beginning of a 'Floor' section in Ultima Online. It increments the MOREZ coordinate to place the floor above the current level and sets a specific new item ID (SRC.NEWITEM) for the floor tile. ```UO Script MOREP= MOREX= - 1 MOREY= MOREZ= + 10 SRC.HOME= SRC.NEWITEM=04b1 //Floor Begin SRC.ACT.ATTR=8010 SRC.ACT.P= ``` -------------------------------- ### Sphere Server Configuration (INI) Source: https://context7.com/kaktaknet/awesome-uo-scripts/llms.txt An example INI configuration for the Sphere server, specifically showing the [RESOURCES] section where script files are registered. This allows the server to load and recognize the custom scripts. ```ini // sphere.ini configuration example [RESOURCES] scripts/Bank_System_v2/bank.scp scripts/Admin_Tools/Jail_System/jail.scp scripts/Travel_Teleportation/Travel_Moongate_v12/moongates.scp ``` -------------------------------- ### UO Scripting: 55i Compatibility for ') VAR.NUM 0 IF STRMATCH(,) ACT.MESSAGE > (.NAME>) ELSE ACT.MESSAGE (.NAME>) ENDIF RETURN 1 ELIF () ACT.MESSAGE == t_secure ? [Secured] : [Locked Down]> ENDIF ON=@ItemDClick IF () ACT.LINK.house_init Coowner ACT.LINK.house_init Friend ACT.LINK.house_init Ban IF !(0) || !(0) ACT.LINK.REGION.TAG.MAXLOCKDOWNS / 100> ACT.LINK.REGION.TAG.MAXSECURES / 15000> ENDIF IF !(0) ACT.LINK.REGION.EVENTS r_housemenu ENDIF IF !(0) ACT.LINK.REGION.TAG.SIGN ENDIF VAR.ACT IF ( == ) FINDID.i_housespk.REMOVE NEWITEM i_housespk ACT.LINK .LINK.UID> ACT.CONT FLAGS | 08000 ENDIF SRC.TRY UID..LINK.house_page 1 ACT RETURN 1 ELIF () IF () RETURN 1 ELIF ( == t_container) RETURN 0 ELIF !(.ISOWNER>) && !(.ISCOOWNER>) && !(.ISFRIEND>) SYSMESSAGE You are not a friend of the house, so you may not use this. RETURN 1 ENDIF ENDIF ON=@ItemPickUp_Ground RETURN ``` -------------------------------- ### Configuring Automatic Pet Removing (APR) Timer Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Quests_Events/Quest_Event_v3/Readme.txt The APR feature automatically removes pets that have an owner but have not been mounted for a specified period. This script snippet shows how to adjust the timer for this feature. The timer is set in seconds, with the example using 60 seconds per minute. ```sphere findid.i_mount_remove.timer = 60 * 3 src.act.timer = 60 * 3 ``` -------------------------------- ### Using the .spelleff Command Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Magic_Spells/spell_efficiancy11zip/help.htm Demonstrates how to use the primary command '.spelleff x' to adjust mana efficiency. It explains the use of positive and negative numbers, as well as the absence of operators, to modify the efficiency percentage. ```plaintext The main command is .spelleff x. Where the x is can be any number. IE 1, -2, +50. If there is a in the argument it will decrease the mana efficiency by the amount following the -. IE if I have 50% already, and I type in .spelleff -40 Ill have 50%-40% which equals 10% effeciancy. If there is a + in the argument it will increase the mana efficiency by the amount following the +.IE if I have 50% already, and I type in .spelleff +40 Ill have 50%+40% which equals 90% effeciancy. If I type in .mana use with any number and no + or -, my mana efficiency will be that number. ``` -------------------------------- ### Implement Jail Event Handler (Sphere) Source: https://context7.com/kaktaknet/awesome-uo-scripts/llms.txt Implements a jail event handler that restricts player actions when jailed. It checks a 'jail' tag on the player and prevents actions like clicking, getting hit, spell effects, or casting spells if the player is jailed. ```sphere [events e_jail] on=@click IF (=0) src.name= ELSE message [jailed] endif on=@gethit IF (=0) return 0 ELSE return 1 ENDIF on=@spelleffect IF (=0) return 0 ELSE return 1 ENDIF on=@spellcast IF (=0) return 0 ELSE return 1 ENDIF ``` -------------------------------- ### Potion Usage Command Script Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Chat_Systems/Potions_Extended/Potions.txt This script defines a command '.potion' that allows players to use various types of potions by specifying their name. It checks for valid potion names and uses system messages to provide feedback and examples. This script is written in a custom scripting language for Ultima Online. ```uo-script [PLEVEL 0] POTION [FUNCTION POTION] IF !(STRCMPI(,?) SRC.SYSMESSAGE @0a5a Explanation: SRC.SYSMESSAGE @07ad Type .potion [potion name] to use this. SRC.SYSMESSAGE SRC.SYSMESSAGE @0a5a Example: SRC.SYSMESSAGE @07ad .potion Bargain Restore Health RETURN 1 ELIF !(STRCMPI(,Bargain Restore Health) FINDID.P_RESTORE_HEALTH_B.DCLICK RETURN 1 ELIF !(STRCMPI(,Cheap Restore Health) FINDID.P_RESTORE_HEALTH_C.DCLICK RETURN 1 ELIF !(STRCMPI(,Standard Restore Health) FINDID.P_RESTORE_HEALTH_S.DCLICK RETURN 1 ELIF !(STRCMPI(,Quality Restore Health) FINDID.P_RESTORE_HEALTH_Q.DCLICK RETURN 1 ELIF !(STRCMPI(,Exclusive Restore Health) FINDID.P_RESTORE_HEALTH_E.DCLICK RETURN 1 ELIF !(STRCMPI(,Bargain Restore Mana) FINDID.P_RESTORE_MANA_B.DCLICK RETURN 1 ELIF !(STRCMPI(,Cheap Restore Mana) FINDID.P_RESTORE_MANA_C.DCLICK RETURN 1 ELIF !(STRCMPI(,Standard Restore Mana) FINDID.P_RESTORE_MANA_S.DCLICK RETURN 1 ELIF !(STRCMPI(,Quality Restore Mana) FINDID.P_RESTORE_MANA_Q.DCLICK RETURN 1 ELIF !(STRCMPI(,Exclusive Restore Mana) FINDID.P_RESTORE_MANA_E.DCLICK RETURN 1 ELIF !(STRCMPI(,Bargain Restore Stamina) FINDID.P_RESTORE_STAMINA_B.DCLICK RETURN 1 ELIF !(STRCMPI(,Cheap Restore Stamina) FINDID.P_RESTORE_STAMINA_C.DCLICK RETURN 1 ELIF !(STRCMPI(,Standard Restore Stamina) FINDID.P_RESTORE_STAMINA_S.DCLICK RETURN 1 ELIF !(STRCMPI(,Quality Restore Stamina) FINDID.P_RESTORE_STAMINA_Q.DCLICK RETURN 1 ELIF !(STRCMPI(,Exclusive Restore Stamina) FINDID.P_RESTORE_STAMINA_E.DCLICK RETURN 1 ``` -------------------------------- ### Configure Item Placement and Attributes (UO Script) Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/Item_Misc_v31/sandretreat1.txt These snippets define parameters for placing items, including their coordinates (MOREX, MOREY, MOREZ), item ID (SRC.NEWITEM), and attributes (SRC.ACT.ATTR, SRC.ACT.P). They are commonly used in Ultima Online scripting for building or modifying game environments. The values are typically set relative to a base position. ```UO Script MOREX= - 3 MOREY= - 7 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ab //Roof Row 3 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 3 MOREY= - 7 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=0167 //Roof Banister SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 3 MOREY= - 8 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04b0 //Roof Row 3 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 5 MOREY= MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ae //Roof Row 5 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 5 MOREY= - 1 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ab //Roof Row 5 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 5 MOREY= - 2 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ac //Roof Row 5 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 5 MOREY= - 3 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04aa //Roof Row 5 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 5 MOREY= - 4 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04a9 //Roof Row 5 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 5 MOREY= - 5 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ab //Roof Row 5 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 5 MOREY= - 6 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ac //Roof Row 5 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 5 MOREY= - 7 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04aa //Roof Row 5 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 5 MOREY= - 8 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04b0 //Roof Row 5 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 7 MOREY= MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ae //Roof Row 7 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 7 MOREY= - 1 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ac //Roof Row 7 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 7 MOREY= - 2 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04a9 //Roof Row 7 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 7 MOREY= - 3 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ab //Roof Row 7 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 7 MOREY= - 4 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04aa //Roof Row 7 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 7 MOREY= - 5 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ac //Roof Row 7 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 7 MOREY= - 6 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04aa //Roof Row 7 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 7 MOREY= - 7 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04a9 //Roof Row 7 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 7 MOREY= - 8 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04b0 //Roof Row 7 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 4 MOREY= MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ae //Roof Row 4 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 4 MOREY= - 1 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ab //Roof Row 4 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 4 MOREY= - 2 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ac //Roof Row 4 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 4 MOREY= - 3 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ab //Roof Row 4 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 4 MOREY= - 4 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ac //Roof Row 4 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 4 MOREY= - 5 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ab //Roof Row 4 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 4 MOREY= - 6 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ac //Roof Row 4 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 4 MOREY= - 7 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04ab //Roof Row 4 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 4 MOREY= - 8 MOREZ= + 30 SRC.HOME= SRC.NEWITEM=04b0 //Roof Row 4 SRC.ACT.ATTR=8010 SRC.ACT.P= ``` ```UO Script MOREP= MOREX= - 6 ``` -------------------------------- ### UO Scripting: Replacer Functionality and Trigger Aliases (Release 6) Source: https://github.com/kaktaknet/awesome-uo-scripts/blob/main/ultima_online_scripts/Items_Equipment/PySphere_1/PySphere/Changes.htm The 'replacer' functionality in UO scripting is now enabled by default starting from Release 6. It also handles trigger aliases, such as converting 'on=@userdclick' to 'on=@dclick' for 55i compatibility. This streamlines trigger definitions and ensures consistency across different system versions. ```uosc on=@userdclick ``` ```uosc on=@dclick ```