PageSourceSearch

https://elmarathstudio.netlify.app/assets/js/c45c4211.b15b9de0.js

js elmarathstudio.netlify.app collected 2026-10-03 10:42:41 UTC 8,710 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkmy_website=self.webpackChunkmy_website||[]).push([[7474],{28453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>c});var i=n(96540);const o={},s=i.createContext(o);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),i.createElement(s.Provider,{value:t},e.children)}},46071:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>A,frontMatter:()=>a,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"Modular-Action-System/Decide Montages/How To Create And Use DecideMontages","title":"How To Create And Use Decide Montages?","description":"DecideMontageImage","source":"@site/docs/Modular-Action-System/Decide Montages/How To Create And Use DecideMontages.md","sourceDirName":"Modular-Action-System/Decide Montages","slug":"/Modular-Action-System/Decide Montages/How To Create And Use DecideMontages","permalink":"/docs/Modular-Action-System/Decide Montages/How To Create And Use DecideMontages","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2},"sidebar":"tutorialSidebar","previous":{"title":"What Are Decide Montages In MAS?","permalink":"/docs/Modular-Action-System/Decide Montages/WhatAreDecideMontages"},"next":{"title":"Anim Notify States To Your Montages","permalink":"/docs/Modular-Action-System/Anim-Notify-State-To-Your-Montages"}}');var o=n(74848),s=n(28453);const a={sidebar_position:2},c="How To Create And Use Decide Montages?",r={},d=[{value:"Decide Montage Function",id:"decide-montage-function",level:2},{value:"Inputs",id:"inputs",level:3},{value:"Outputs",id:"outputs",level:3}];function l(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"how-to-create-and-use-decide-montages",children:"How To Create And Use Decide Montages?"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"DecideMontageImage",src:n(85699).A+"",width:"64",height:"64"})}),"\n",(0,o.jsxs)(t.p,{children:["As actions they have a parent blueprint too. All the Decide Montage Assets should be be a child of ",(0,o.jsx)(t.strong,{children:"MAS_DecideMontage_Base"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Start by creating a child blueprint of this blueprint. After that give it a name that expains what does it do like ",(0,o.jsx)(t.em,{children:"DM_Attack"}),"*."]}),"\n",(0,o.jsxs)(t.p,{children:["If you take a look at this blueprint you will see that there is nothing but the ",(0,o.jsx)(t.code,{children:"GetMontage"})," function. Which is correct. It is your responsibility to give in the correct montage to this function by overring this function in the functions panel."]}),"\n",(0,o.jsx)(t.p,{children:"Start by creating a montage variable, so that you can change the value per instance. Additionally you can hold this montage variable inside lists or arrays to your needs."}),"\n",(0,o.jsxs)(t.p,{children:["After this, create a instnace of this data asset that you just created. Name it more specific like ",(0,o.jsx)(t.em,{children:"DM_Attack_Swing"})," and change the default value."]}),"\n",(0,o.jsxs)(t.p,{children:["That is it! Now you can populate this ",(0,o.jsx)(t.code,{children:"Montage Decider"})," of your related ",(0,o.jsx)(t.strong,{children:"Action"}),". And whenever that action gets called, your provided action will be played."]}),"\n",(0,o.jsx)(t.h2,{id:"decide-montage-function",children:"Decide Montage Function"}),"\n",(0,o.jsx)(t.p,{children:"As said this is the bread and butter of this asset."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"DecideMontageFunctionImage",src:n(65947).A+"",width:"1156",height:"500"})}),"\n",(0,o.jsx)(t.h3,{id:"inputs",children:"Inputs"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Input Character:"})," The character who tries plays the action. Generally this is the source of the selecting the correct montage."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Input Action Input:"})," Whenever an action input gets added to the queue, this input gets asked, so that you will have a access here. ",(0,o.jsx)(t.code,{children:"Action"})," is the Action Data assets that called this ",(0,o.jsx)(t.code,{children:"GetMontage"}),". Additional Info is just a name and object list, so that you have additional variables to work with."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Input Previous Action:"})," The previous action that got played before the action that called this DecideMontage asset. (Good for double tap input actions or basic combo systems etc)."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Input Phase of Previous Action:"})," The action phase that previos action got overriden."]}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"outputs",children:"Outputs"}),"\n",(0,o.jsxs)(t.p,{children:["Outputs are the same inputs of default Unreal Engine Node ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.a,{href:"https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Animation/Montage/PlayMontage/",children:"Play Montage"})}),"."]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"Play Rate"})," could be useful for playing montages at different speed according to the relevant character's attributes or equipment."]})})]})}function A(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},65947:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/T_DecideMontageFunction-b9d9f7ae184d505644f6d728ececf81e.png"}
1,85699:(e,t,n)=>{n.d(t,{A:()=>i});const i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAB7ZJREFUeF7tW89LVU8UPwZlBSmWKRVSb2FWBm6DBCsXtqlFpYQu1JUGJYS4KVIz7A+ooFpVCy36sbFNLswSI6FNQZqV0Q9IzMrIwsxAv3wOnMd549z7rvruPOPbwKO6d+6dOZ8553M+c+aWEolEZuh/3FL+AZAED1i7di3hl5WVRaOjo+x/AwMDSfFDpx4AoxsbG9l4s33+/JkuXrzoHAinAGzbto0B8GqXLl2iBw8eOPUEpwBg5c+fP+9p4LFjxwie4LL9A8B1FoAH2DgAq3748GGXi89jOfUADAgOABeYDbEPDnDdnAOwa9cuqq2tnWVnMgjQmQfo1Ofl/ib5gRBdNCce4LXqXga6DAcnAGDVi4qK2N7MzEzPhf3y5Qvfe/jwobN06AQAF6483zGcA+DFATDAtQhyRoJ6dcLSAeAZU0YD7HigOveAGzduJFwKyx7j9u3bhB8MP3jwIAkofvrCOQBheIDeZGHFzTDDVrulpcUKvHMAvJQgJr6Q3O/1Xli9qADw2hIvVAn67TSx+l4FF+cegBWBFEZ8SlvI6gNQMc4UXEGKLEkBQISRTB7ENdemiU6TX35+PoutoGIqdACk/hev5hckZQlwMFB70ELCJ3QADh06RPhJHGLiMACA4KeNMtMVPAQ/9EcB1dxGY+WDrrSXh4UOgJCerFI8EgRA/f39LGBMrhC1CKMXargAEjoAws46FdlSltQDYXRPTw97h3iPNnw+fOHHL6EDoFlfh4EuiujtL4TSnTt3WNZKCCTaaA1IaAAIS8P1xQvEUPz7yJEj0Zg2gVkIqc01m4QGAFYPRoq6M8lQDkkQ6yJTJTRclsdDA0BEibnqMBwGi2aX3ZqQo8tqUKjbYQFAqzwJBVl103hMyE+2ztW9g/QPzQPE5c2NiA0Y2SGKogsy8UT1CQ0AyeE2lwY4qBEKPwAAzQU246anp2liYoImJydpamqK/vz5Q7iGtmTJElq6dCktW7aMli9fTitXruRrQZozAETxSUrTFRyAJSoQXAAwJDxg7Pj4OP348SOIPdE+q1atorS0NAYlKTpAGF3c2qza2CYlfSQLjI2N0ffv36Ndscp79+6lHTt2UG5uLq1Zs4bvff36lV6/fk19fX1079499g5p6enptHr1ak8MQvMAAUByut6q2mJdS+QDBw4QSuS/f//miW/dupXq6uqosrKSVqxY4buiv379omvXrtG5c+foxYsX3Dc1NZX3EzZvmAVAkF1ZEF8UYrMBgOf1QaguZjx9+pT1g8R3a2srnThxImbIR48e0fPnz6Nfl2CjtH37dtq5c2dMv7Nnz9LJkyejPJGdnc0codssAPQxFjYlaIODgzyYjs14IAgA4s5a19uIEeNipWpqajjeMdn29nbas2cPD/Xq1Sv+tqCtrY2+fftmHT4jI4MqKiqYXDdv3sx97t+/T+Xl5fTp0ycmxnXr1sV4wiwA/IqWeKGQE/4EKAIO7uk9v1mm1p/H2KQu+j9+/JjfB+M7OzupoKCAjThz5ozvlyU2NKAnTp06xbeePXtGJSUlDAJAXr9+ffQRawigqoK2ZcsW3odLUSPeqscrbYmr274DQOyOjIzwEF1dXdGVLysro1u3bkWHrqqq4hQKwDZt2sTX5Tzg9OnTMWcDpaWldPPmzagnFBcX8981Mc6JBPXXXQAHTRcqTAAwSdTnEUo6zZnVIaS6jx8/8vt0zJvGv337Nmq012I0NzcTgJCmQdCcsGHDBg6FOQHg5wFSi9cnMTqcTImri5lIb4hxsL2AY3P7IABgjtXV1XT16tXodHU4YFxkB+gEZIaEAWADRxc+TABE/IDtP3z4QDMzM/yZHK4DjLy8vFmvFABgoLg+wuDKlSsxngHjpY+85OXLl0yM8ERkGbSNGzeGC4DkfnM/IIQItv758ycTK7wAogd5HtcvXLgwCwDEv15Z6dDU1ERwfWnghN27d8c8f/ToUc4i4BpwAMQS5hGqB3iFjKRaGArBg7S3b98+6ujo4Eeg3LxSne2dJgA2D0CKhLJE279/P929e5fDwDkAogeEMIeHh1nxCflB5BQWFvrRTcw9eFl3d3fMNZMI5WZvby+LJSFDpMTQATD1gJwOCwDv379n1Yd0Bca+fPmy9SMqGyI2423uL88i/iG0kFaRYSCMQgcA7g4OkF2gCQCIDU1yf1DRA/KTZ/1iXwMn2QDqUDSBEwAwCan7JQoAuL0+HXr37h1FIhHf0FmUAMwnBGyrn5KSEpc3khYCfh4wHxJEOgTzS8Pqm2nPhkZSSNA8HJWvxaUElog0GHfpiWjRpEFzsnMRQvIsQsCM/3j/z2BRCSENAlIgeAAtnhSW5xACkL9B2R/9kiKFba6p/8OEVIVzcnL4QDTeZmi+ACRtM2QDwEyD6FNfX09wUTS/7fB8AHC2HQ5CROhjAwBecf36dS53aVGEv5s1AVxDCKBAqkNA1wDkesILIkGN9OvnBQCyBep5Q0NDyS2JJcJI2zukYKLToD4Zwv0nT57Q8ePHeauatKJoGADYvgjR5TNdOUJZvKGhgU+DTE6QuYVaFk80AF7fBHkBgPHfvHnDewdUiNGcHoyEAQAKp2ZDSV1/4GgbFyGBAxBpf9XRWKKA/GsPRxMFgLwnrOPx/wC518wk4ph05wAAAABJRU5ErkJggg=="}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.