• Daum
  • |
  • 카페
  • |
  • 테이블
  • |
  • 메일
  • |
  • 카페앱 설치
 
카페정보
카페 프로필 이미지
Europa Universalis
 
 
 
카페 게시글
Crusader Kings CK2 [MOD] 하아... 어렵군요.
tacitus 추천 0 조회 482 15.04.09 00:54 댓글 20
게시글 본문내용
 
다음검색
댓글
  • 삭제된 댓글 입니다.

  • 작성자 15.04.09 14:40

    맨날 버럭버럭하긴 하지만, 버그에 관한 한 대놓고 욕하기가 힘듭니다.. orz

  • 15.04.09 11:38

    읽어봤는데 알고 작성하긴 좀 빡센 부분이 있네요. 전 아직도 ROOT PREV 이런 게 힘들거든요...

  • 작성자 15.04.09 14:39

    백지에서 완전히 새로운 내용을 작성하는 건 특히 CB라면 어려운 일입니다. 그건 저보고 하라고 해도 못 합니다.
    원하는 것과 가장 가까운 기존 CB를 복사/붙여넣기 한 후에 이것을 입맛에 맞게 수정하는 것이 훨씬 쉽고, 그 자체를 이해하는 데도 도움이 됩니다.
    (개인적으로 기본 베이스로 쓰기에 제일 만만한 게, 인베이전 CB와 파간의 주변 백작령 따먹기 CB 인 것 같아요. 성전 CB들은 너무 복잡하고...)
    스코프에 관해서는 최근에 완전히 글을 다시 써서 수정본을 올렸는데, 전보다는 글이 조금 쉬워졌다고 생각합니다. (이전 글은 너무 처음부터 어려운 예시를 든데다, 순서도 좀 부적절한 느낌이 있었어요.)

  • 15.04.09 15:35

    @tacitus 혹시 답해주신 김에 이거 답해주실 수 있나요. 제가 어떤 사람(A)에게 아무 음모나 걸고 그 상태에서 디시전으로 제가 만든 이벤트에 들어가 plot_target_char를 통해 A의 사생아를 만들어 주는 작업을 하고 있거든요. 그럼 새로 생긴 사생아의 종교,문화 등을 따라가게 하려고 할 때 A를 지칭하는 스코프는 FROM/ROOT/PREV중에 어떤걸까요??

  • 15.04.09 15:39

    @조매생 character_event = { id = HT.101
    picture = GFX_evt_scandal
    is_triggered_only = yes
    trigger = { ai = NO }
    title = ""
    DESC = ""
    option = { name = ""

    plot_target_char = {

    create_character = {
    random_traits = no
    race = FROM
    female = no
    age = 2
    trait = legit_bastard

    }
    new_character = {

    dynasty = PREV
    set_father = PREV
    religion = PREV
    culture = PREV

    }


    }

    }
    option = { name = ""
    character_event = { id = HT.101 }
    }

  • 15.04.09 15:41

    @조매생 여기서 race = 이라는 구문을 통해 아비의 graphical_culture를 따라가게 하고 싶은데 스코프가 뭔지 모르겠어서용...

  • 작성자 15.04.09 16:04

    @조매생 ROOT/FROM 과 PREV/THIS 는 함께 묶일 성질의 것이 아닙니다. 하나의 이벤트 내에서 ROOT/FROM 은 불변이지만 PREV 는 위치에 따라서 계속 변화하니까요.
    지금 이게 어떤 식으로 흘러서 여기까지 왔는지는 모르겠지만, 여기까지는 모두 오류 없이 올바르게 왔다고 치고, 새로 생긴 사생아에 맞춰줄 것이 plot_target_char 스코프에 걸린 캐릭터인 거죠?
    붙여넣기 하신 이벤트도 두 개 이상의 이벤트를 구분 없이 붙여넣기 하신 느낌이지만 그 부분은 일단 그렇다 치고...

  • 15.04.09 16:04

    @tacitus 네 지금 그래피칼 컬쳐 빼곤 플롯타겟캐릭터 아들이 탄생돼용

  • 작성자 15.04.09 16:07

    @조매생 race = FROM 으로 되어 있는데, FROM 을 한번 THIS 로 바꿔 보시고 결과를 알려주세요.

  • 15.04.09 16:30

    @tacitus 되긴 되는데 제가 원하는 결과는 나오지 않네요... ㅠ race 혹은 set_graphical_culture 명령어를 통해 외양은 이베리안이지만 문화는 웨일즈인인 아버지를 그대로 따라가게 하고 싶은데 그냥 외양과 문화 모두 웨일즈인이 되어서 나와 버립니다.. 그리고 두 개 이상의 이벤트를 붙여넣기 한 거 맞습니다.! 두 개 이상의 이벤트로 만든 이유는 plot_target_char의 스코프가 안 나와서 어쩔 수 없이 PREV를 쓰기 위해 부득이 치타모드의 이벤트를 뒤져서 짬뽕시킨 겁니다.ㅠㅠ

  • 작성자 15.04.09 16:34

    @조매생 잠시만요. 뭔가 지금 이상한데요. 저는 외양과 문화를 모두 같은 사람에게 맞추는 것으로 생각하고 답을 드린 건데, 서로 다른 거였나요?

  • 15.04.09 16:46

    @tacitus 같은 사람이긴 한데 그 사람이 카스티야사람으로 태어났는데 교육을 통해 웨일즈 인이 된 상황이죠. 그럼 그 사람은 얼굴은 카스티얀이지만 그가 갖고 있는 문화는 웰시가 된 거죠. 이 상황에서 저 이벤트를 사용하면 얼굴도 문화도 웰시가 태어나서요.. 아버지 얼굴은 분명 카스티얀인데 말이죠.. 말씀하신 THIS는 다 먹히는데 set_father는 new_character 구문 안에 넣어줘야 동작이 되네요...

  • 작성자 15.04.09 16:53

    @조매생 같은 사람 맞나보군요. 그럼 일단 문제는 다 해결된 건가요? 아니면 여전히 문제가 해결이 안 된 건가요?
    그리고 set_father 는 당연히 new_character 안에 넣으면 안 되죠. new_character = { } 구문 내에서 아버지/어머니를 설정하려면 set_father/set_mother 가 아니라 father/mother 를 사용해야 합니다.

  • 15.04.09 16:52

    @tacitus 네, 답변해주셔서 고맙습니다.

  • 작성자 15.04.09 16:59

    @조매생 저도 원본 코드를 보면서 알고 싶었던 게, 처음에 알려주신 코드대로라면 캐릭터 생성 당시에는 race 만 입력이 되어 있고 문화가 설정 안 되어 있는 상태에서 new_character = { } 스코프를 통해서 문화가 설정이 된 거잖아요. 그런데 어떤 경우에도 캐릭터에 문화가 설정되지 않는 경우는 없습니다. 그래서 만약 코드에서 문화를 설정하지 않으면 디폴트 값을 따라가게 마련인데, 그 디폴트 값이 주군인 plot_target_char = { } 값인지, 아니면 지역 설정의 값인지가 궁금해진 거죠. 사실 저는 캐릭터 설정 시 race 를 별도로 설정이 가능하다는 것도 이 답을 드리면서 처음 알았습니다. 항상 종교와 문화만 신경을 쓰다 보니.. ^^

  • 작성자 15.04.09 17:03

    @조매생 만약에 THIS 로 설정했을 때에도 문제가 발생했던 것이, culture 를 설정하고 race 를 설정하지 않았을 때에 race 가 culture 값을 따라가기 때문에, 혹은 반대이기 때문에 문제가 발생한 것이 원인이라면 이를 동시에 설정하거나 아니면 설정의 순서를 변경해주는 방법으로 문제를 피해갈 수 있는 가능성이 있거든요.

  • 15.04.09 17:06

    @tacitus 아니에요.. ck2 wiki 파라미터 안에 race가 있길래 때려 넣은거지 지금 제 실력으로는 race가 무슨 동작을 하는지 확인이 안됐어요.ㅠㅠ 문화 설정을 plot_target에 맞추는 건 create character 구문 안에선 테이시투스님이 말씀하신THIS 구요. new_character 안에선 PREV를 넣어야 되더라구요.

  • 작성자 15.04.09 17:11

    @조매생 아. 이거까지 설명을 드려야겠네요. 생각 못한 부분인데.. create_character = { } 는 중괄호 { } 로 묶여있긴 합니다만 이건 Clause 를 값으로 받는 명령어이지 스코프가 아닙니다. 따라서 여전히 스코프는 plot_target_char = { } 의 스코프이니 현재 스코프의 캐릭터와 같은 값을 넣어야 하므로 THIS 로 지칭합니다. 그러나 new_character = { } 는 방금 전 생성된 캐릭터를 의미하는 스코프 지시자이기 때문에 그 안에서는 plot_target_char = { } 스코프가 아니라 new_character = { } 스코프인 겁니다. 따라서 THIS 가 아니라, 중첩된 바로 상위 스코프인 PREV 로 지칭을 해야 하는 거죠. 그런 차이입니다.

  • 작성자 15.04.09 17:15

    @조매생 예시해주신 option = { } 섹션 내에서, 스코프의 중첩 구조가 (기본 스코프) -> plot_target_char -> new_character 의 순서로 순차중첩되어 있는 상태이기 때문에, new_character 스코프 내에서 바로 윗 단계인 plot_target_char 스코프를 가리키려면 PREV 를 써야 한다.. 이런 의미입니다. 여러 개의 스코프가 깊이를 달리하여 겹쳐있는 경우 무조건 바로 윗 단계 스코프를 가리키는 게 PREV, 무조건 현재 스코프를 그대로 가리키는 게 THIS 라고 생각하시면 됩니다. 어렵지 않아요. (단, THIS 는 ROOT/FROM 스코프 안에서 쓰이는 경우 스코프 변경이 안 된다는 점은 유의하세요.)

  • 15.04.09 17:16

    아 고맙습니다. 이제 좀 알겠네요...

최신목록