XML:BINA/OBJC/PATR: Difference between revisions

+ temp + cat
m (Iritscen moved page OBD talk:BINA/OBJC/PATR to XML:BINA/OBJC/PATR without leaving a redirect)
(+ temp + cat)
Line 1: Line 1:
=[[OBD:BINA/OBJC/PATR|BINA/OBCJ/PATR]]: patrol paths=
{{XML_OBJC_Header | type=PATR | prev=PART | next=PWRU | name=Patrol Path collection }}


{{Template:XMLModdingHints}}
{| border=0 cellspacing=20 cellpadding=0 align=center
| The xml code on this page is based on onisplit '''v0.9.61.0'''
|}


'''general information'''
===general information===
* The xml code on this page is based on onisplit '''v0.9.61.0'''
* '''BINACJBOPatrol Path.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* '''BINACJBOPatrol Path.oni''' is level specific. (It can be found in edition/GameDataFolder/level''XX''_... )
* A path can have at most 64 points.
* if an update is needed extract '''[http://paradox.oni2.net/OniGalore/BINACJBOPatrol%20Path.oni this]''' file
;Corrupting BSL code in patrolscripts
:I suspect that ''instantly'' played BSL code breaks patrol paths.
:example:
::patrolscript0001 contains a sleep command and patrolscript0002 will be played.
::But if you remove the sleep command the patrol path will break.
::(This was tested in level 1 SP1 with A_t48 and his patrol_48.) --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 17:47, 10 November 2012 (CET)
XML code - patrolscript points:
<Points>
    <ScriptId ScriptId="1" />
    <ScriptId ScriptId="2" />
    <ScriptId ScriptId="3" />
</Points>
BSL code:
func patrolscript0001
{
dmsg "1"
chr_animate 0 KONOKOpowerup
sleep 1
}
func patrolscript0002
{
dmsg "2"
}
func patrolscript0003
{
dmsg "3"
}




'''BSL support'''
===BSL support===
* <font color="#777777">ai2_showpaths = 1</font>
* <font color="#777777">ai2_showpaths = 1</font>
* ai2_dopath ''ai_name path_name''
* ai2_dopath ''ai_name path_name''




'''XML structure'''
===file structure===
 
  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
  <Oni>
  <Oni>
Line 57: Line 89:




* table content compatible with onisplit 0.9.61.0
{| class="wikitable" width="100%"
* if an update is needed extract '''[http://paradox.oni2.net/OniGalore/BINACJBOPatrol%20Path.oni this]''' file
!width=400px| XML tag
 
!width=100px| content type
{{Table}}
! description
!XML tag
!flags / values
!description
|-
|-
|<PATR Id="...">
| <PATR Id="...">
|positive integer
| integer
|actually the Id doesn't matter in collections
| Id doesn't matter
|-
|-
|<Flags>
| <Flags>
|
| flag
|should be unimportant
| whatever this is good for ...
|-
|-
|<Position>
| <Position>
|
| float x3
|should be unimportant
| x y z position, useless here
|-
|-
|<Rotation>
| <Rotation>
|
| float x3
|should be unimportant
| x y z  rotation, useless here
|-
|-
|<Name>
| <Name>
|string
| string
|for BSL command "ai2_dopath"
| for BSL command "ai2_dopath"
|-
|-
|<PatrolId>
| <PatrolId>
|positive integer
| integer
|used in [[OBD:BINA/OBJC/CHAR|BINA/OBJC/CHAR]]
| used in [[XML:BINA/OBJC/CHAR|BINA/OBJC/CHAR]]
|-
|-
|valign=top|<ReturnToNearest>
|valign=top| <ReturnToNearest>
|
|valign=top| flag
:1
|
:0
: 1 (Yes)
|valign=top|1 = Yes; 0 = No
: 0 (No)
|-
|-
|<Points>
| <Points>
|
| -
|holds actual patrol content
| Holds actual patrol content, a path can have at most 64 points.
|-
|-
|<MoveToFlag FlagId="..." />
| <MoveToFlag FlagId="..." />
|positive integer
| integer
|
|
|-
|-
|<Stop />
| <Stop />
|
| -
|
|
|-
|-
|<Pause Frames="..." />
| <Pause Frames="..." />
|positive integer
| integer
|
|
|-
|-
|<LookAtFlag FlagId="..." />
| <LookAtFlag FlagId="..." />
|positive integer
| integer
|
|
|-
|-
|<LookAtPoint X="..." Y="..." Z="..." />
| <LookAtPoint X="..." Y="..." Z="..." />
|integer
| float x3 ?
|
|
|-
|-
|<MoveAndFaceFlag FlagId="..." />
| <MoveAndFaceFlag FlagId="..." />
|positive integer
| integer
|
|
|-
|-
|<Loop>...</Loop>
| <Loop>...</Loop>
|
|
|Patrol path tags can be enclosed by that loop tag.
| Patrol path tags can be enclosed by that loop tag.
|-
|-
|valign=top|<MovementMode Mode="..." />
|valign=top| <MovementMode Mode="..." />
|
|valign=top| flag
:ByAlertLevel
:Stop
:Crouch
:Creep
:WalkNoAim
:Walk
:RunNoAim
:Run
|
|
: ByAlertLevel
: Stop
: Crouch
: Creep
: WalkNoAim
: Walk
: RunNoAim
: Run
|-
|-
|<MoveToPoint X="..." Y="..." Z="..." />
| <MoveToPoint X="..." Y="..." Z="..." />
|integer
| float x3 ?
|
|  
|-
|-
|valign=top|<LockFacing Facing="..." />
|valign=top| <LockFacing Facing="..." />
|
|valign=top| flag
:Forward
:Backward
:Left
:Right
:Stopped
|
|
: Forward
: Backward
: Left
: Right
: Stopped
|-
|-
|<MoveThroughFlag FlagId="..." Distance="..." />
| <MoveThroughFlag FlagId="..." Distance="..." />
|positive integer
| integer, float ?
|
|
|-
|-
|valign=top|<MoveThroughPoint X="..." Y="..." Z="..." Distance="..." />
|valign=top| <MoveThroughPoint X="..." Y="..." Z="..." Distance="..." />
|X, Y, Z = positive integer; Distance = integer
| float x4 ?
|
|
|-
|-
|<StopLooking />
| <StopLooking />
|
| -
|
|
|-
|-
|<FreeFacing />
| <FreeFacing />
|
| -
|
|
|-
|-
|<GlanceAtFlagFor FlagId="..." Frames="..." />
| <GlanceAtFlagFor FlagId="..." Frames="..." />
|positive integer
| integer x2
|
|
|-
|-
|<MoveNearFlag FlagId="..." Distance="..." />
| <MoveNearFlag FlagId="..." Distance="..." />
|
| integer, float ?
|
|
|-
|-
|<Scan Frames="..." Rotation="..." />
| <Scan Frames="..." Rotation="..." />
|
| integer, float ?
|
|
|-
|-
|<StopScanning />
| <StopScanning />
|
| -
|
|
|-
|-
|<MoveToFlagLookAndWait Frames="..." FlagId="..." Rotation="..." />
| <MoveToFlagLookAndWait Frames="..." FlagId="..." Rotation="..." />
|
| integer x2, float ?
|
|
|-
|-
|valign=top|<CallScript ScriptId="..." />
|valign=top| <CallScript ScriptId="..." />
|
| integer
|Calls a BSL function by Id. For example if Id is 1 then BSL function is named "patrolscript0001"
|Calls a BSL function by Id. For example if Id is 1 then BSL function is named "patrolscript0001"
|-
|-
|valign=top|<ForkScript ScriptId="..." />
|valign=top| <ForkScript ScriptId="..." />
|
| integer
|Forks a BSL function by Id. For example if Id is 2 then BSL function is named "patrolscript0002"
|Forks a BSL function by Id. For example if Id is 2 then BSL function is named "patrolscript0002"
|-
|-
|valign=top|<IgnorePlayer Value="..." />
|valign=top| <IgnorePlayer Value="..." />
|
|valign=top| flag
:No
:Yes
|
|
: No
: Yes
|-
|-
|<FaceToFlagAndFire FlagId="..." Frames="..." Spread="..." />
| <FaceToFlagAndFire FlagId="..." Frames="..." Spread="..." />
|
| integer x2, float ?
|
|
|}
|}
{{XML}}
8,018

edits