본문 바로가기
콘솔게임

Stone Story RPG 데드우드 폭포 자동화, 정신의 돌 사용법 번역

by 문어굽기 2023. 3. 25.
반응형

스톤 스토리 RPG 스톤 스크립트 (Stone script) 개요 번역

원본:

 

Introduction to the Mind Stone

Get started with the Mind Stone, one of the most powerful relics in Stone Story RPG.

stonestoryrpg.com

 

공식 사이트. 코드는 영어로 봐야하고 설명은 한국어로 봐야하는데 번역툴을 사용하면 냅다 다 한글로 바꿔놔서... 번역해서 옮겨둡니다.

 

 

데드우드 폭포를 어떻게 자동화 할 수 있는지 설명하는 내용입니다.

따라하다보면 스톤 스크립트가 어떤 방식으로 작동하는 언어인지 기초적인 부분을 확인해 볼 수 있습니다.

모바일 버전에서는 작동하지 않거나/활용하기 어려운 예제가 많으니 참고해주세요.

 

별로 관련없는 내용이지만 제가 쓴 리뷰도 있어요...

[모바일게임추천]Stone Story RPG +간단팁 (★★★★)


목차

1. 시작하기 전에


2. 데드우드 폭포 자동화


3. 추가 정보


· ·:·: 정신의 돌에 대한 설명 :·:· ·

-시작하기 전에-

 

이 튜토리얼에서 배울 수 있는 것

-> 정신의 돌로 데드우드 폭포를 파밍하는 방법

 

습득하는 데 걸리는 시간

-> 20분 정도

 

필요한 사전 준비

-> 보스 나가라자(신전 맵) 클리어.

-> 던전 진행 중에 왜 장비를 바꿔 들어야하는지 이해하고 있을 것.

-> 솥을 만들었을 것, 그리고 물약 사용법을 이해하고 있을 것.

-> 우로보로스의 돌이 작동하는 방식에 대해 이해하고 있을 것.

  +) 간단한 영단어 지식, 혹은 영어사전.

 

필요한 아이템

- 최소 4성 이상의 검, 방패, 석궁

- 포션에 사용될 80개의 타르

- 솥에서 자동 보충 옵션 켜두기

 


 

 

  정신의 돌은 엄청나게 강력한 유물입니다. 이 돌을 활용하면 던전 진행 중 무기를 변경하거나, 물약을 사용하는 등의 행동을 자동으로 실행할 수 있습니다. 여러분이 입력한 코드는 게임 내 AI에 전달되어 캐릭터가 어떤 행동을 실행해야 할 지 결정하도록 합니다. 스톤 스크립트를 올바르게 활용한다면, 게임 내 변화에 캐릭터가 즉각적으로 반응할 수 있게 됩니다.

 

  이 유물은 스톤 스토리 RPG의 커스터마이징 및 장식에 활용되기도 합니다. 다른 플레이어가 만든 장식을 활용할 수도 있고, 여러분만의 장식을 만들어볼 수도 있습니다. 애완동물, 모자, 개인 인터페이스, 추가적인 미니게임 컨텐츠 등 가능성은 무궁무진합니다. 여기에서 코스메틱과 모딩에 대해 더 알아보세요.

 

  정신의 돌의 코드는 모든 사람들이 쉽게 사용할 수 있도록 설계된 Stonescript로 작성되었습니다. 어떤 환경이든 타이핑 할 수 있다면 Stonescript도 활용할 수 있습니다. 프로그래밍 학위 없이도요. 그러나 더 자세히 알아보고 싶다면, 사용 가능한 모든 코드가 예제와 함께 자세히 나열되어 있는 Stonescript 설명서를 참조하세요.

 

  도움이 필요하신가요? 아니면 스크립트 공동작업을 원하시나요? Discord를 방문하세요.

 

자, 시작해볼까요!

반응형

-데드우드 폭포 자동화-

· : · : · 1. 정신의 돌 초기화 하기 · : · : ·

 

  정신의 돌에 기본적으로 입력되어있는 모든 텍스트를 선택하고 삭제하세요. 물론 원한다면 머리글을 현자 베제라의 메모로 유지할 수도 있습니다.

 

// 로 시작되는 모든 텍스트는 정신의 돌에 영향을 주지 않으며, AI에서 무시되는 주석입니다.

 

힌트: 모든 텍스트를 선택하려면 Ctrl + A 를 입력하세요.

 


· : · : · 2. 회복 · : · : ·

  )(

(~≈)

 ¯¯

  코드는 우리가 알고있는 상식을 AI가 이해할 수 있는 내용으로 변환하는 것입니다. 예를 들어, 죽기 직전이라면 치유 물약을 사용하는 것이 합리적이겠죠?

 

치유 물약을 사용하는 커맨드는 다음과 같습니다.

activate potion

 

  이것이 AI에게 어떤 행동을 취해야 하는지 알려주는 방식입니다. 이 코드가 활성화되면, AI는 여러분이 지역에 방문했을 때 매 프레임마다 지속적으로 물약을 사용하려고 시도할겁니다. 체력을 잃자마자 성공적으로 활성화되겠죠. 하지만 행운의 물약처럼 치유효과가 없는 물약의 경우에는 지역에 입장하자마자 즉시 물약의 효과가 활성화됩니다. 우리가 원하는 결과는 아니죠. 개선해봅시다.

 

  어쩌면 다음과 같이 더 완전한 명령을 생각해볼 수도 있습니다.

내 체력이 낮을 때 포션을 사용해 줘

 

앞서 말한 문장을 스톤 스크립트로 변환하면, 다음과 같습니다.

?hp < 7
   activate potion

  첫 번째 줄인 "?hp<7" 은 " 내 체력이 7보다 낮은지?" 에 대한 질의입니다. 인간이 사용하는 자연어와 달리, 스톤 스크립트에서 질문할 때에는 줄의 첫 번째 글자에 물음표를 넣어야 합니다. 이렇게 하면 AI는 이 문장이 질문임을 바로 인식하고 나머지를 어떻게 읽어야 하는지 이해할 수 있습니다.

(¿약간 스페인어같죠?)

 

그리고 activate potion 앞에 삽입된 공백에 주목해야합니다. 앞쪽에 공백이 입력된 문장은 그 윗 줄을 따라서 종속되기 때문에 중요합니다. 이렇게 하면 hp<7이라는 질문의 답이 " 네 " 인 경우에만 아래 문장이 활성화됩니다.

 

반응형

· : · : · 3. 플레이 · : · : ·

    \ |'    / ´  ,

  ` |      /    ,

   /  \   /     `-´-

  \ò   ó`   / ´

   |       , (

  '  ¡  ' ! |   |

  | - '  ´    _' - .

¯ '_/ `  ´  ·  \    `

 

  정신의 돌의 전원을 켠 뒤, 방금 만든 물약을 가지고 적에게 피해입는 모습을 지켜보세요. 체력이 7 미만으로 떨어지면 물약이 자동으로 활성화될겁니다.

 

힌트: 던전 진행 중 정신의 돌을 확인하려면 'M'을 누르세요. 작업실로 돌아갈 필요가 없습니다. 정신의 돌을 닫고 던전을 다시 진행하면, 스크립트가 다시 로드되고 새로 작성한 코드가 적용됩니다.

 


· : · : · 4. 무기 · : · : ·

│ O __

┼/ |  )_)

  /   \

  하지만 우리의 목표는 데드우드 폭포를 자동화하는 것이죠. 검+방패 조합은 일부 난이도에서 던전을 클리어하기에 충분한 조합입니다.

 

  정신의 돌 하단에 다음을 추가하세요.

equipL sword
equipR shield

  장비(equip) 명령어는 보이는 그대로의 기능을 합니다. 바로 인벤토리에서 무기를 찾아 장착하는 거죠.

명령어의 오른쪽에 있는 텍스트는 입력한 코드에 대한 세부사항 역할을 합니다. L과 R은 각각 무기를 집을 방향(왼쪽, 오른쪽)을 나타냅니다.

또, 인벤토리에 많은 검이 있을 수 있으므로 장착할 무기를 지정하기 위해 또 다른 정보를 추가할 수도 있습니다. 예를 들어, *7 을 추가하면 7성 무기임을 나타냅니다. (: equipL sword *7)

 

  세부 정보가 없다면 AI가 무기들 중 가장 좋은 성능의 무기를 자동으로 찾아서 장비해줄 겁니다. 특수한 상황이 아니라면 괜찮은 선택입니다.

 


 

     | / )

  o. -._

´   / | ` - `

   `  '

  검과 방패 조합은 괜찮은 조합이지만, 모기를 상대할 때에는 석궁을 장착하는 편이 좋을 수 있습니다. 모기는 매우 낮은 체력을 가졌지만 무리를 지어 공격해오기 때문이죠.

 

다음 코드를 추가하세요.

?foe = mosquito
   equip crossbow

적(foe)이라는 키워드를 사용하면 현재 AI가 목표로 삼고있는 적을 확인하여 어떤 종류의 적인지에 따라서 결정을 내립니다.

 

이 장비 명령에는 L 또는 R 이라는 위치 지정 명령이 없습니다. 석궁의 경우 세부 사항 없이 AI가 최선의 결정을 하도록 내버려 두세요. 지금은 간단한 코드로도 충분합니다.

 

반응형

 

 

   여기까지 잘 따라오셨다면 여러분의 전체 코드는 다음과 같을겁니다.

?hp < 7
  activate potion

equipL sword
equipR shield
?foe = mosquito
  equip crossbow

 

스크립트는 위에서 아래로, 순차적으로 실행됩니다.

 

따라서 지금 코드를 해석해보자면

 

1) 먼저 체력을 확인한다음,

2) 검과 방패를 장착하고,

3) 마지막으로, 모기를 만나면 석궁을 장착합니다.

 

전체 스크립트는 초당 30회 실행됩니다.

 

  데드우드 폭포로 이동하여 모든 코드가 올바르게 작동하는지 확인해보세요. 스크립트에 문제가 없고, 현재 무기에 너무 어려운 난이도를 선택하지 않았다면 우로보로스의 돌을 사용하여 데드우드 폭포를 계속 반복할 수 있어야 합니다.

 


· : · : · 5. 나무 · : · : ·

     \|
      |,  |/
  \|  |    /-'
`-─\  |  /_/─,
     \ ' / /
   '\ }  {
     {  }
     }  {
   / / \` \

  던전 진행 중에 데드우드 폭포의 나무를 수확하고 싶으실 겁니다.

스크립트 맨 아래에 다음과 같은 코드를 추가해보세요.

?harvest.distance < 10
   equip hatchet

 

  손도끼는 어차피 오른쪽에만 장착할 수 있기 때문에 L이나 R과 같은 방향 정보를 지정할 필요가 없습니다.

 

다시 데드우드에 방문해서 코드를 확인해보세요!

 

반응형

· : · : · 6. 더 많은 회복 · : · : ·

        ____,
     _ . - · ´  o/`___
   ,  ´    _.-._\¯¯` - . `.
  /     ,´                   `.  `.
|    :                         |   :
|    : .                     . '   ;
 \     ` ' : . , , , , , . .·  ´ ,´
   ` - . _                _,-´
            ¯ ¯ ¯ ¯ ¯

  여기까지 따라오셨을 때, 코드는 작동하더라도 장비 수준이나 던전 난이도에 따라 적이 입히는 피해가 너무 아프게 느껴지실 수 있습니다. 장착하면 천천히 회복하는 효과를 가진 우로보로스의 돌을 장착하여 코드를 개선해봅시다.

 

다음 코드를 추가해보세요:

?foe ! boss & foe.distance > 8
   equipL ouroboros

 

이 질문은 앞서 보여드린 코드에 비해 더 복잡하므로 설명해드리겠습니다.

 

  1행의 첫 번째 부분인 " ? foe ! boss" 는  " 보스가 아닌 적 "을 뜻합니다. 여기서 느낌표! 는 등호=의 반대 역할을 합니다.

 

  1행의 두 번째 부분인 " foe.distance > 8 " 은 " 플레이어와 적 사이의 거리가 8보다 큽니까? " 라는 뜻입니다. 1행의 두 질문은 "AND" 를 의미하는 "&" 기호를 통해 하나의 질문으로 결합되어 있습니다.

 

  전체 코드를 해석하자면 다음과 같습니다.

 

다음에 만날 적이 보스가 아니고, 플레이어와의 거리가 8보다 멀다면 왼손에 우로보로스의 돌을 장착하세요.

 

반응형

힌트: 적과의 거리를 8로 설정하면 우로보로스의 돌이 무기로 사용됩니다. 장비 레벨이 낮을 때는 유용합니다. 만약 8 대신 17을 사용하면 우로보로스의 돌이 전투에 사용되지 않기 때문에 루프 시간이 빨라집니다. 이는 우로보로스의 돌이 가진 공격범위가 17이기 때문입니다.

 


· : · : · 7. 수집 · : · : ·

   ,
 _/-'

  진행 속도를 늦추는 원인 중 하나는 나뭇가지나 돌과 같은 잡템을 줏어드는 데 걸리는 시간입니다. 데드우드 폭포의 경우에는 나무 조각이 되겠죠. 별의 돌은 장착 시 모든 잡템을 끌어들이고 이동속도를 높여줍니다.

 

다음 코드를 추가해보세요.

?pickup.distance < 10
  equipL star

적과의 거리를 활용한 코드였던 foe.distance와 비슷하게, 이 명령어는 다음 잡템이 플레이어로부터 10 미만 거리 내에 존재하는지 확인하는 코드입니다. 잡템이 확인되면, 왼손에 별의 돌을 장착합니다.

  별(star)이라는 이름을 사용하는 다른 아이템이 없기 때문에 star만 추가해도 충분합니다.

 


· : · : · 8. 총정리 · : · : ·

 

  데드우드 폭포에 대한 코드가 완성되었습니다! 그러나 이 상태에선 코드가 지역 구분 없이 모든 위치에서 실행될겁니다. 우리는 지역별로 다른 전략을 실행해야하므로 코드를 그룹화할 필요가 있습니다.

 

현재 위치를 확인하려면 loc 명령어를 활용할 수 있습니다.

 

지금까지 작성한 스크립트 최상단에 다음 코드를 추가하세요.

?loc = deadwood

 

그리고 그 이후의 모든 줄 앞에 공백을 추가하여 이 코드에 종속되도록 하세요. 그렇게 해야 데드우드 폭포에서만 실행되는 코드가 완성됩니다.

 

전체 코드는 다음과 같아야합니다.

?loc = deadwood
  ?hp < 7
    activate potion

  equipL sword
  equipR shield
  ?foe = mosquito
    equip crossbow

  ?harvest.distance < 10
    equip hatchet

  ?foe ! boss & foe.distance > 8
    equipL ouroboros

  ?pickup.distance < 10
    equipL star

힌트: 이 가이드, 혹은 다른 플레이어의 스크립트를 Ctrl+C / Ctrl+V 단축키로 정신의 돌에 복사/붙여넣기 할 수 있습니다.

반응형

 


· : · : · 추가 정보 · : · : ·

 

       . - .
       \   ´     . - .
, - .    )       \   ´
' -  ` - / ¯ \ - ´
 . ·   / ` ° ´ \  · .
 ` - ´          ` - ´

 

하단의 외부 자료나 미니 튜토리얼을 확인해보세요.

 

 

-링크

이 튜토리얼에 문제가 있습니까? 다른 지역에 대한 도움이 필요하십니까? Discord를 방문하세요.

 

Stone Story 커뮤니티에서 만든 재미있는 장식품과 미니 게임을 확인해보세요.

더 깊이 알아볼 준비가 되셨나요? Stonescript 매뉴얼에서 모든 것을 배워보세요.


흡혈

  좋은 용력 속성 검(dL)이 있다면 HP를 관리하는 데 검을 사용할 수 있습니다. 이렇게 하면 생존 가능성이 크게 향상되고, 타르도 절약됩니다.

 

?hp < maxhp & foe.distance < 7
  equipL sword dL

  독 무기(dP)를 사용하면 대부분의 피해를 줄일 수 있습니다. 생존 가능성을 높이고, 물약 의존성을 낮추는 전략이죠. 이를 통해 최소한의 장비로 더 높은 난이도의 위치에 도달할 수 있습니다.

 

?foe = boss & foe.debuffs.count = 0
  equipR dp

이 코드에서는 디버프가 남아있는 동안 다시 독 데미지를 입히지 않도록, 남은 디버프량을 확인하는 질문이 추가되어있습니다.

 


유동성

  어떤 플레이어들은 돌진 방패, 트리스켈리온의 돌, 심지어는 육척봉 스킬까지 활용하여 플레이타임을 절약합니다.

 

-주석

1) 돌진방패: 근처의 적들에게 돌진합니다.

2) 트리스켈리온의 돌: 이동속도 +1

3) 육척봉: 짧은 돌진 공격으로 적들을 기절시킵니다.

 

예를 들어서:

?foe.distance >= 11 & foe.distance <= 16
  equipR dashing

 

반응형

스킬 활성화

  이 단계부터는 아주 복잡해집니다. 정신의 돌로 무기 스킬을 활용하고자 하는 것은 당연한 일이죠. 손도끼나 몰락신의 칼날 같은 경우에는 비교적 간단하지만, 플레이어들의 멘탈을 파괴하는 주범은 '바디시'입니다.

 

?foe = boss & foe.distance <= 10 &
^item.GetCooldown("bardiche") <= 0 |
^item.GetCooldown("bardiche") > 870 equip bardiche activate R

^ 은 이전 행을 이어서 서술하게 해주는 기호입니다.

| 는 "OR", 즉 "또는" 을 의미합니다.

 

  이 예제에서는 범위 내에 보스가 있을 때 바디시를 장착한 다음, R을 활성화하여 보스에게 바디시의 스킬을 사용하고 있습니다. 또, item.GetCooldown() 명령어를 활용하여 바디시의 스킬 쿨다운을 조건으로 활용했습니다.

 

  쿨타임 정보를 활용하면 스킬쿨타임이 돌았을 때에만 바디시의 장착 상태를 유지할 수 있습니다. 즉시 활성화되는 일부 능력과 달리 바디시에는 "캐스트" 시간이 있으며, 그 동안 장착 상태를 유지해야 스킬이 명중합니다. 물론 스킬 발동 모션 동안에도 다른 아이템을 장착할 수 있지만, 그러면 스킬이 헛나가고 쿨타임만 돌아가게 됩니다. 이런 상황을 방지하기 위해서 870이라는 값이 활용되었습니다.

  쿨다운 값은 프레임에 표시됩니다. 1초는 30프레임입니다. 바디시는 900프레임=30초의 재사용 대기시간을 가졌고, 약 1초인 시전 시간을 제외하면 870입니다.

 

  바디시에서 일어나는 사건 변수를 시각화하려면 다음 코드를 추가해보세요.

var cd
cd = item.GetCooldown("bardiche")
>`0,0,Bardiche cooldown = @cd@

이 코드는 왼쪽 상단 모서리에 장비 쿨타임을 표기해줍니다. 바디시의 스킬을 사용한 뒤, 이 값이 900에서 0으로 줄어드는 모습을 확인해보세요.


 

 

반응형

 

 

가벼운 마음으로 시작한 번역이었는데 쉽지 않았네요....

 

스톤 스크립트 자동화 구현에 도움이 되었길 바랍니다

 

그럼 안녕~

 

[다른 글 같이보기]

[모바일게임추천] DATA WING 데이터 윙 리뷰 +간단팁(★★★★)

[게임추천] 그로우:송 오브 더 에버트리 리뷰 Grow: Song of The EverTree (★★★) +간단팁

[모바일게임추천] 왕국의 운명이 당신에게! 가이더스(★★★☆) +간단팁

반응형
반응형

댓글