Builder/Builder and Denizen: Difference between revisions

From Citizens Wiki
No edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Examples of things to do combining Denizen and Builder


{{color|red|white|This page is for Denizen .7x and is out of date}}
== Continuous Rebuilding ==
If you want a builder to look busy and continuously rebuild and destroy a schematic, you would use a setup like this.


Create a Task script in any yml file the denizen scripts folder like the following.


==Harry's Home Constructions==
<pre>
 
Hire a Builder to build your house.
 
Coming soon!
 
{| class="wikitable collapsible collapsed"
! Joe the Builder Script and Assignment
|-
| <pre>
---- assignments.yml ----
 
---- script.yml ----
---- script.yml ----
 
Rebuild:
  Type: Task
  Script:
    - execute as_npc "builder <npc.id> build excavate oncomplete:Rebuild"
</pre>
</pre>
|}
==Janitor Jerry==


Jerry fixes up a building, replacing missing blocks or removing extra ones.
Now create a builder, load the desired schematic, set an origin, and call ''/builder build oncomplete:Rebuild''


This example uses the Activity engine to have a Denizen named Jerry try to rebuild a schematic every 5 minutes. For this to work the schematic should be saved from your world so the schematic origin is in the right place. You could also set Jerry's build origin where you want and remove the call to 'builder origin' in the script. Just be sure no one moves Jerry's origin.
The builder will build the schematic, and then run the task, which will build it again with the ''excavate'' option that will tear it down first, and the cycle will continue forever.
 
When you start your server, Jerry won't do anything until noon rolls around, then he will attempt to rebuild the myBuilding schematic every 5 minutes. Change the delay as you see fit with the DELAY: command. Or use REPEATS:0 to have him only rebuild once at noon.
 
{| class="wikitable collapsible collapsed"
! Jerry the Janitor Scripts and Assignment
|-
| <pre>
---- assignments.yml ----
Denizens:                       
  Jerry:
    Scheduled Activities:
    - 12:00 RebuildActivity
 
---- script.yml ----
 
RebuildActivity:
  Type: Activity
  Requirements:
    Mode: None
  Activities:
    List:
    - 1 TASK SCRIPT:RebuildTask DELAY:300
 
RebuildTask:
  Type: Task
  Script:
    - EXECUTE ASSERVER "builder <NPCID> load myBuilding"
    - EXECUTE ASSERVER "builder <NPCID> origin schematic"
    - EXECUTE ASSERVER "builder <NPCID> build"
</pre>
|}


[[Category:Denizen 0.7]]
You can use this script for as many builders/schematics you want without having to change anything.

Latest revision as of 02:10, 9 August 2013

Examples of things to do combining Denizen and Builder

Continuous Rebuilding

If you want a builder to look busy and continuously rebuild and destroy a schematic, you would use a setup like this.

Create a Task script in any yml file the denizen scripts folder like the following.

---- script.yml ----
Rebuild:
  Type: Task
  Script:
    - execute as_npc "builder <npc.id> build excavate oncomplete:Rebuild"

Now create a builder, load the desired schematic, set an origin, and call /builder build oncomplete:Rebuild

The builder will build the schematic, and then run the task, which will build it again with the excavate option that will tear it down first, and the cycle will continue forever.

You can use this script for as many builders/schematics you want without having to change anything.