Random Generated events: Difference between revisions

From PSwiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
*** <skillsinrange name="Sword" min="10" max="20" range="10"> (works as skill but checks all the players in range and sum up their skills). If the name is empty it sums up the total skills of all players in range.
*** <skillsinrange name="Sword" min="10" max="20" range="10"> (works as skill but checks all the players in range and sum up their skills). If the name is empty it sums up the total skills of all players in range.
* Script for the event (random_events.script)
* Script for the event (random_events.script)
Example:
    <nowiki><time seconds="0">
        <spawnnpc id="1" name="MelareSon" lastname="Berrol" race="1|4|12" invulnerable="yes" hp="400" mana="400" loot_category="22" locx="1" locy="1" locz="0" traits="4|5|22">
          <inventory>
            <item name="Small Battle Axe" location="righthand"/>
            <item name="Falchion" location="bulk1" quantity="65"/>
            <item name="Chainmail Legs Armor" location="legs"/>
          </inventory>
          <skills>
            <skill name="Sword" value="50"/>
          </skills>
          <stats str="80" agi="70" end="60" int="75" wil="55" cha="90"/>
          <kas>
            <ka name="Merchant" priority="1"/>
          </kas>
          <specifickas>
            <trigger trigger="greetings" response1="Hello" response2="How are you?"/>
          </specifickas>
          <merchant>
            <category name="Weapons"/>
            <category name="Armor"/>
          </merchant>
          <factions>
            <faction name="orcs" value="50"/>
          </factions>
          <variables>
            <variable name="scale" value="1.5"/>
          </variables>
          <npctype name="performer" parent="Fighter" >
              <behavior name="start_show" completion_decay="0" growth="0" initial="0">
                <emote cmd="/bow" />
                <talk text="Welcome to my show" target="false" />
                <busy/>
              </behavior>
              <behavior name="show" completion_decay="0" growth="0" initial="0">
                <wait duration="30" anim="play" />
              </behavior>
              <behavior name="showidle">
                    <idle />
              </behavior>
          </npctype>
        </spawnnpc>
        <spawnitem id="2" name="Long Bow" pickup="yes">
          <location x="1" y="1" z="0"/>
        </spawnitem>
    </time>
    <time seconds="10">
        <trigger behavior="start_show" npc="1"/>
    </time>
    <time seconds="15">
        <trigger behavior="show" npc="1"/>
    </time>
    <time seconds="60">
        <trigger behavior="showidle" npc="1"/>
    </time>
    <time seconds="120">
        <destroy id="1"/>
        <destroy id="2"/>
    </time></nowiki>

Revision as of 16:37, 30 September 2020

A new capability has been added to PSUnreal about generating random events in the game.

Database structure:

  • random_events table

Scripting:

  • Prerequisites (random_events.prerequisite)
    • The same syntax of quest prerequisites can be used with the following additions:
      • <skillsinrange name="Sword" min="10" max="20" range="10"> (works as skill but checks all the players in range and sum up their skills). If the name is empty it sums up the total skills of all players in range.
  • Script for the event (random_events.script)

Example:

   <time seconds="0">
        <spawnnpc id="1" name="MelareSon" lastname="Berrol" race="1|4|12" invulnerable="yes" hp="400" mana="400" loot_category="22" locx="1" locy="1" locz="0" traits="4|5|22">
          <inventory>
             <item name="Small Battle Axe" location="righthand"/>
             <item name="Falchion" location="bulk1" quantity="65"/>
             <item name="Chainmail Legs Armor" location="legs"/>
          </inventory>
          <skills>
             <skill name="Sword" value="50"/>
          </skills>
          <stats str="80" agi="70" end="60" int="75" wil="55" cha="90"/>
          <kas>
             <ka name="Merchant" priority="1"/>
          </kas>
          <specifickas>
             <trigger trigger="greetings" response1="Hello" response2="How are you?"/>
          </specifickas>
          <merchant>
            <category name="Weapons"/>
            <category name="Armor"/>
          </merchant>
          <factions>
            <faction name="orcs" value="50"/>
          </factions>
          <variables>
            <variable name="scale" value="1.5"/>
          </variables>
          <npctype name="performer" parent="Fighter" >
              <behavior name="start_show" completion_decay="0" growth="0" initial="0">
                <emote cmd="/bow" />
                <talk text="Welcome to my show" target="false" />
                <busy/>
              </behavior>
              <behavior name="show" completion_decay="0" growth="0" initial="0">
                <wait duration="30" anim="play" />
               </behavior>
               <behavior name="showidle">
                    <idle />
               </behavior>
           </npctype>
        </spawnnpc>
        <spawnitem id="2" name="Long Bow" pickup="yes">
           <location x="1" y="1" z="0"/>
        </spawnitem>
    </time>
    <time seconds="10">
         <trigger behavior="start_show" npc="1"/>
    </time>
    <time seconds="15">
         <trigger behavior="show" npc="1"/>
    </time>
    <time seconds="60">
         <trigger behavior="showidle" npc="1"/>
    </time>
    <time seconds="120">
        <destroy id="1"/>
        <destroy id="2"/>
    </time>