playXP

서브 메뉴

Page. 1 / 21 [내 메뉴에 추가]
글쓰기
작성자 아이콘 LlIiEe
작성일 2010-11-05 13:11:39 KST 조회 4,649
제목
카탈로그를 위한 XML분석 - 유닛 데이터
예제는 섬멸전 유닛 "사신"입니다.
유닛 데이터라서 카탈로그미리설정 "유닛"을 선택해주시면 됩니다.

    <CUnit id="Reaper">
-> 입력 : "Reaper"
        <DeathRevealRadius value="3"/>
-> 필드 경로 : "DeathRevealRadius", 소멸 보이기 반경
대부분 <필드이름 값="값">으로 된 XML은 필드이름을 그대로 쓰면 됩니다.
        <Race value="Terr"/>
        <Mob value="Multiplayer"/>
        <LifeStart value="50"/>
 -> 필드 경로 : "LifeStart", 생명력 시작값
        <LifeMax value="50"/>
 -> 필드 경로 : "LifeMax", 생명력 최대값
        <LifeArmorName value="Unit/LifeArmorName/TerranInfantryArmor"/>
        <Speed value="2.9531"/>
 -> 필드 경로 : "LifeMax", 생명력 최대값
        <Acceleration value="1000"/>
        <LateralAcceleration value="46.0625"/>
        <StationaryTurningRate value="999.8437"/>
        <TurningRate value="999.8437"/>
        <Height value="0.5"/>
        <Food value="-1"/>
        <CostCategory value="Army"/>
        <CostResource index="Minerals" value="50"/>
 -> 필드 경로 : "CostResource[Minerals]", 생산비용:미네랄
<필드이름 인덱스="인덱스" 값="값">은 배열로 생각하고 사용하시면 됩니다.
배열의 인덱스는 숫자 대신 인덱스 필드의 이름을 넣어주시면 됩니다.
        <CostResource index="Vespene" value="50"/>
 -> 필드 경로 : "CostResource[Vespene]", 생산비용:가스
        <RepairTime value="20"/>
        <AttackTargetPriority value="20"/>
        <DamageDealtXP value="1"/>
        <DamageTakenXP value="1"/>
        <KillXP value="20"/>
        <Radius value="0.375"/>
        <SeparationRadius value="0.375"/>
        <InnerRadius value="0.375"/>
        <CargoSize value="1"/>
        <ScoreMake value="100"/>
        <ScoreKill value="200"/>
        <ScoreResult value="BuildOrder"/>
        <SubgroupPriority value="14"/>
        <MinimapRadius value="0.375"/>
        <FlagArray index="PreventDestroy" value="1"/>
        <FlagArray index="UseLineOfSight" value="1"/>
        <FlagArray index="AIPressForwardDisabled" value="1"/>
        <PlaneArray index="Ground" value="1"/>
        <Collide index="Ground" value="1"/>
        <Collide index="ForceField" value="1"/>
        <Sight value="9"/>
        <AbilArray Link="stop"/>
 -> 필드 경로 : "AbilArray[0].Link", 능력 배열 0번
<필드이름Array Link="값">은 배열로 생각하고 사용하시면 됩니다.
배열의 인덱스는 위에서 부터 순서대로 0,1,2,3....n입니다.
        <AbilArray Link="attack"/>
 -> 필드 경로 : "AbilArray[1].Link", 능력 배열 1번
        <AbilArray Link="move"/>
 -> 필드 경로 : "AbilArray[2].Link", 능력 배열 2번
        <BehaviorArray Link="ReaperJump"/>
        <CardLayouts>
            <LayoutButtons Face="Move" Type="AbilCmd" AbilCmd="move,Move" Row="0" Column="0"/>
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[0].Face", 명령창 아이콘
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[0].Type", 명령창 종류
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[0].AbilCmd", 명령창 연결 능력
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[0].Row", 명령창 좌표 행
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[0].Column", 명령창 좌표 열
이런 형식이 가장 복잡합니다. <CardLayouts>필드 자체도 배열이며
그속의 <LayoutButtons ...>또한 배열입니다.
그리고 그속의 각각 필드="값"으로 된 데이터로 값을 가져오거나 쓸 수있습니다.
            <LayoutButtons Face="Stop" Type="AbilCmd" AbilCmd="stop,Stop" Row="0" Column="1"/>
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[1].Face", 명령창 아이콘
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[1].Type", 명령창 종류
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[1].AbilCmd", 명령창 연결 능력
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[1].Row", 명령창 좌표 행
 -> 필드 경로 : "CardLayouts[0].LayoutButtons[1].Column", 명령창 좌표 열
            <LayoutButtons Face="MoveHoldPosition" Type="AbilCmd" AbilCmd="move,HoldPos" Row="0" Column="2"/>
            <LayoutButtons Face="Attack" Type="AbilCmd" AbilCmd="attack,Execute" Row="0" Column="4"/>
            <LayoutButtons Face="MovePatrol" Type="AbilCmd" AbilCmd="move,Patrol" Row="0" Column="3"/>
            <LayoutButtons Face="JetPack" Type="Passive" AbilCmd="255" Row="1" Column="0"/>
        </CardLayouts>
        <Attributes index="Light" value="1"/>
        <Attributes index="Biological" value="1"/>
        <EditorCategories value="ObjectType:Unit,ObjectFamily:Melee"/>
        <GlossaryCategory value="Unit/Category/TerranUnits"/>
        <GlossaryPriority value="70"/>
        <GlossaryStrongArray value="Hydralisk"/>
 -> 필드 경로 : "GlossaryStrongArray[0]", 정보창 강한순서
<필드이름Array value="값">은 배열로 생각하고 사용하시면 됩니다.
배열의 인덱스는 위에서 부터 순서대로 0,1,2,3....n입니다.
        <GlossaryStrongArray value="Ghost"/>
 -> 필드 경로 : "GlossaryStrongArray[1]", 정보창 강한순서
        <GlossaryWeakArray value="SiegeTank"/>
        <GlossaryWeakArray value="Stalker"/>
        <GlossaryWeakArray value="Roach"/>
        <WeaponArray Link="P38ScytheGuassPistol"/>
        <WeaponArray Link="D8Charge"/>
        <Fidget>
            <ChanceArray index="Anim" value="33"/>
            <ChanceArray index="Idle" value="33"/>
            <ChanceArray index="Turn" value="33"/>
        </Fidget>
        <Mover value="CliffJumper"/>
        <!--
        <TauntDuration index="Cheer" value="2"/>
        <TauntDuration index="Dance" value="2"/>
        -->
    </CUnit>

오늘 알아본 XML형식은
<필드이름 Value="값"> -> 필드경로 : 필드이름
<필드이름 Index="인덱스" value="값"> -> 필드경로 : 필드이름[인덱스]
<필드이름Array Link="값"> -> 필드경로 : 필드이름Array[n].Link
<필드이름Array Value="값"> -> 필드경로 : 필드이름Array[n]
<필드이름1's>
  <필드이름2's Name="값" Type="값">
<필드이름1's>
-> 필드경로 : 필드이름1's[n].필드이름2's[n].Name
-> 필드경로 : 필드이름1's[n].필드이름2's[n].Type
이렇게 5가지가 되겠습니다.
XML을 조금 공부하시면 쉽게 필드경로를 유추하실 수 있습니다.

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
아이콘 SCIILiberty.555 (2010-11-05 14:54:26 KST)
0↑ ↓0
센스 이미지
그렇군요 !! 드디어 Behavior 비밀을 알아냄
아이콘 kerta (2010-12-20 06:07:48 KST)
0↑ ↓0
센스 이미지
FlagArray 안먹혀요;;
노래만큼은1등 (2011-01-09 20:33:44 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
collide 안먹혀요
노래만큼은1등 (2011-01-09 21:24:54 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
인덱스는 id가 아니라고 하더군요. sc2mapster에서 봤더니,.
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.