erb 에러 질문 드립니다

월요일 9시 강의 죽어라 | 에러발생 | 조회 수 237 | 2016.03.31. 18:42

이제는 쌩 기초적인 에러는 시향착오를  통해 고치고 있습니다만

그렇게 걸러내도 에러들이 나오네요(...)

 

이번에 질문 드릴 애들은 if를 넣어야 겠다는 것은 알겠는데,

if를 어디에 넣어야 할지,

정말 다른 거 안쓰고 if만 쓰면 되는 건지 에 대하여 질문 드립니다

 

캡처58.PNG

 

캡처63.PNG

 

 

같은 erb의 다른 endif elseif 부분을 살펴보니 

캡처60.PNG

 

캡처61.PNG

 

if뒤에도 뭔가 구문이 나와있어서 질문 드립니다 

 

+ 8301행과 8326행을

    IF PRINTFORM %CALLNAME: MASTER%

로 바꿔봤더니 다른 오류는 없어졌으나 

8301, 8326행이 오류가 생겼습니다ㅠㅠ

  1. 캡처58.PNG (File Size:129.4KB/Download:11)
  2. 캡처59.PNG (File Size:27.2KB/Download:16)
  3. 캡처60.PNG (File Size:14.4KB/Download:11)
  4. 캡처61.PNG (File Size:19.5KB/Download:9)
  5. 캡처63.PNG (File Size:17.5KB/Download:8)
댓글 쓰기
파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
취소
말 던지기전에 10초만 고민하고, 자기가 쓴 글을 다시 한번만 읽어보셈.
그 10초가 다음 대화의 방향을 크게 바꿀 수 있을지도 모름.
파라디클로로벤젠 at 2016.03.31. 21:20

ELSEIF~ELSE 는 IF ~ ENDIF 사이에만 쓸 수 있는 명령구임.

쓸 경우 제일 마지막으로 제시되어 활성화된(즉, ENDIF가 아직 나오지 않은 IF) IF의 조건을 충족하지 못했을때 (not)

endif로 가기전에 한번 더 조건을 제시해서 판별하는 명령구야.

 

좀 쉽게 예문을 하나 적어주자면,

 

IF MASTER:TALENT:0 > 1

PRINTFORMW 플레이어블 캐릭터에게 소질 0번이 존재할경우 나오는 텍스트

ELSEIF MASTER:TALENT:120 > 1

PRINTFORMW 플레이어블 캐릭터에게 소질 0번이 없고, 120번의 유무를 확인해서 있을경우 나오는 텍스트

MASTER:TLAENT:0 = 1

PRINTFORMW 플레이어블 캐릭터에게 소질 0번도 없고, 120번의 유무를 확인해서 없을경우 0번을 추가하고 나오는 텍스트

ELSE

PRINTFORMW 플레이어블 캐릭터에게 소질 0번도, 120번도 존재하지 않을경우 나오는 텍스트.

ENDIF

PRINTFORMW 보편적으로 나오는 텍스트.

 

※ PRINTF = PRINTFORM . F는 FORM의 약자임.

 

CSTR:n = 명령구는 CFLAG:n 명령구와 같아.

치환가능한 문자열을 저장해놓을때 CSTR을 쓰고,

치환가능한 수열을 저장해놓을때 CFLAG를 쓰지.

즉 CSTR:n = ~~ 꼴은 대부분 호칭이나, 이명같은걸 저장해놓을때 쓰는거야.

N번 세이브 데이터에 저장해놓은게 ~~인거지.

얘도 예문을 좀 적어주자면,

 

CSTR:6 = 개

CSTR:17 = 소

사전에 이런식으로 치환할 문자열을 정해놓는다.

그리고 텍스트가 나오는 부분에서 ( FORM 빼면 작동안하니까 FORM 넣는거 잊지말고.)

 

PRINTF %CSTR:6%네. 그치?

PRINTF %CSTR:17% 아니야?

PRINTF %CSTR:6%잖아.

PRINTF %CSTR:6%같은 소리 하지마. %CSTR:17%이잖아.

 

이런식으로 쓸 수 있지. 실제로는 아래와 같이 표시됨 ( *는 클릭대기)

 -

개네. 그치?

소아니야?

개잖아.

개같은 소리 하지마. 소 이잖아.

-

결과만 말하자면 지금 친구가 머리썩히고 있는 구문은, 호칭을 정하기 위해 조건을 설정하는 부분인거.

지금은 여기까지만 설명하는걸로. 좀더 고민해보고 힘들면 물어봐.

 

그리고, 이 문제도 역시 원본이랑 비교해서 IF 위치랑 ELSEIF위치랑 ELSE 위치랑 ENDIF 위치를 잘 비교해서 빠진 곳에 제대로 넣어주면 된다.

월요일 9시 강의 죽어라 at 2016.04.01. 02:14

헐 대박 고쳤습니다

에러난 행은 원본에서 아예 존재하지를 않아서 

위에 유사한 행을 보고 규칙성을 찾았습니다

IF CFLAG:125 == 숫자 인건 알겠는데 

원본이 없어서 이게 무슨 숫자인지 몰라서 이미 있는 숫자들 빼고 넣어서

첫 번째, 두번째 에러 다 13을 넣어서 바로 에러가 없어졌습니다!

감사합니다~~~

파라디클로로벤젠 at 2016.04.01. 02:54

clfag:125번이 대체 어떤 flag인지 erb파일 따서 확인해봐야 할것 같은데.

애초부터 에러 두개 다 IF가 없어서 생긴 문제지, IF에 숫자가 들어가냐 안들어가냐로 생긴 문제가 아님.

 

그러니까 구조상으로만 맞으면 아무런 문제가 없다는듯이 기동하지만,

결국 플레이하면서 원래 의도와는 맞지 않는 버그가 나타날 수도 있음.

이부분 염두에 두셈.

 

뭐. 그렇다고. 호호.

ㅇㄹ at 2016.04.01. 03:07

CFLAG:125가 무슨 역할인지 알아야 되요 안그러면 거기서 예기치 않은 버그가 발생활 확률 99%

월요일 9시 강의 죽어라 at 2016.04.01. 05:24

히이익 사망 플레그네요..

죠셉(무려 죠셉입니다!) erb라 플레이 안할 수도 없고....

솔직히 무슨 말인지도 이해가 안가는데 이게 참...

하아...

티끌만큼이라도 도움이 될지는 모르겠지만,

 일단 CFLAG:125 (c망 flag)가 있는 부분을 스샷 찍어 올립니다

제 미천한 실력에 이걸 저 혼자 보고 있어봤자

제 정신만 덜덜 갈려나가고 아무런 소득이 없을 것 같으니까요 ㄷㄷ

캡처67.PNG

 

캡처68.PNG

 

캡처69.PNG

 

캡처70.PNG

 

캡처71.PNG

 

ㅇㄹ at 2016.04.01. 06:41

지금 번역하시는 에라가 저번에 올린 0.119 맞죠? 저런 구문은 보이지가 않는데...

월요일 9시 강의 죽어라 at 2016.04.01. 08:45

아 저건 새로 업데이트된 조셉 구상입니다

파라디클로로벤젠 at 2016.04.01. 08:00

CFLAG:125번을 조건으로 쓰는 명령구말고,

CFLAG:125번 값을 바꾸는 명령구부분을 확인 해봐야 해.
 

그러니까, 저게 칭호와 관련된 플래그문인건 잘 알겠는데,

친구가 고칠때 넣은 13번이 실제로 구상내에서 변화가능한 값인지, 아닌지 확인해봐야하니까.

아닐경우 옳은값으로 맞게 채워넣으면 됨.

 

실은, 지금상태로 방치해도 됨ㅋ 나머지는 다른사람이 고치겠지.

타로즈 at 2016.03.31. 21:25

ERB의 해당 대화 전체를 긁어주시거나 파일을 올려주셔야 보기 좋은데...일단 적당히 보자면.

 

1. 경고Lv2 들을 보니 IF~ENDIF 밖에 ELSEIF 가 써져 있다고 나옴

= 이 경우 ENDIF가 너무 일찍 하나 더 추가 되어 발생했을 가능성이 높습니다.

 

2. 대응하는 IF가 없는 ENDIF

= 비슷한 경우입니다. 번역하면서 실수로 ENDIF하나를 없애셨거나 IF위치가 바뀐 경우 발생.

 

팁/정보 란에 제가 올린 ERB편진 관련 대표 에러 중 1하고 2에 해당되는 내용이라 보심 됩니다.

 

 

추가적으로 IF밑에 IF가 있는 경우에 대해 물어보셨는데 이건 그냥 필요에 의해서 그렇게 쓸 수는 있습니다.

 

예시) 조교 시작

 

IF TIME == 0
;아침 전용 / 아침 이벤트랑 겹치지 않게...하려는데 어렵네;
    IF RAND:3 == 0
        PRINTFORML 산뜻한 표정으로 얼굴을 내민 %CALLNAME%은 눈을 감더니 무언가를 기다리는 모양이다.
        PRINTFORML 장난 칠 생각으로 잠깐 그대로 두자 얼굴이 살짝 달아오르더니 민망함에 몸을 떨기 시작한다.
        PRINTFORML 그대로 있기 멋쩍어진 모양인지 혀를 빼꼼 내밀며 눈을 살짝 뜨려는 타이밍에 맞춰 오똑한 콧등에 입술을 맞추자
        PRINTFORML 뭐가 그리 부끄러운 모양인지 후다닥 몸을 빼면서 「아...」니「우...」니 애매한 소리와 함께 벽에 달라붙었다.
    ELSEIF RAND:2 == 0
        PRINTFORML 「오늘은 어디로갈까요?」
        PRINTFORML 언제 준비를 끝냈는지 %CALLNAME%이 한손에 든 창을 갈무리하며 나타난다.
        PRINTFORML 오늘의 목적지는...하고 말을 하려는 찰나 %CALLNAME:MASTER%의 말을 경청하기 위해 귓가에 흘러내리는 머리를 쓸어넘기는 그녀의 손동작에 시선이 쏠린다.
        PRINTFORML 「...%CSTR:12%? 꺗!?」
        PRINTFORML 손을 붙잡고 막무가내로 침실로 향하자 %CALLNAME%은 당황하면서도 굳이 발을 멈추려고 들진 않았다.
    ELSE
    ;...아이디어 고갈.
        PRINTFORML 5분만 더...를 중얼거리며 이불 위에서 뒤척이는 %CALLNAME:MASTER%의 귀에 붕붕 거리는 소리가 들린다.
        PRINTFORML 슬쩍 밖을 내다보니 아침 연무에 힘쓰고 있던 %CALLNAME%이 당신의 시선을 눈치채고 인사한다.
        PRINTFORML %CALLNAME:MASTER%는 대꾸도 없이 멍하니 바라보고 있다가 이쪽으로 오라는 눈빛을 보냈다.
    ENDIF

 

이런식으로....위의 예문의 경우는 맨 위의 IF TIME == 0 (메가텐 기준 아침시간)때 또다시 분기를 넣은 셈이고

마지막 줄의 ENDIF는 아침에 발생하는 분기를 끝낸다는 이야기가 되지요. 물론 이대로만 쓰면 에러가 뜨므로 IF TIME == 0에 대한 ENDIF가 추가되어야 합니다.

번호 분류 제목 날짜 글쓴이 최근 수정일 조회 수
공지 이메일 적지 마세요 제발! [6] 18.11.07. 파라디클로로.. 19.05.26. 10672
공지 정보글 [9] 18.06.16. 파라디클로로.. 19.06.10. 29551
공지 에라판 이용안내 18.05.14. 파라디클로로.. 18.12.31. 14785
공지 eraTHYMKR 20191028 [29] 18.05.14. ㅇㄹ 20.04.28. 43892
412 팁, 정보 특수문자 쉽게 쓰는 툴 [1] 16.04.27. 이런게 있었.. 16.04.27. 371
411 개발현황 pyera 프로젝트 경과 2 [4] 16.04.27. ink 16.04.27. 471
410 개발정보 에라번역 2152 [1] file 16.04.27. ㅇㄹ 16.04.27. 408
409 질문 에라메가텐 설치 에러 [2] file 16.04.27. 메가테엔 16.04.27. 735
408 개발정보 pyera 프로젝트 경과 1 [3] 16.04.26. ink 16.04.26. 464
407 질문 이건 뭐하는 줄이죠 [1] 16.04.26. ㅇㄹ 16.04.26. 376
406 에러발생 에라번역 2150 에러입니다 [5] file 16.04.26. 월요일 9시.. 16.04.26. 328
405 질문 Chara**.csv 만들려하는데 일어가 깨짐.. [6] 16.04.25. 각 CSV .. 16.04.26. 682
404 개발정보 에라번역 v2151 [28] file 16.04.22. ㅇㄹ 16.04.26. 819
403 에러발생 메가텐 에라 번역 에러 [7] file 16.04.25. 도와주세요 16.04.25. 327
402 팁, 정보 통합자 지망자들을 위한 글. [5] 15.12.28. 질문파괴자 16.04.24. 2148
401 에러발생 메가텐 에라번역 에러 [7] file 16.04.24. 도와주세요 16.04.24. 268
400 개발정보 맨 땅 헤딩 에라 기초 1 IF 사용법 [8] 16.04.23. 시벌 누구든.. 16.04.24. 432
399 질문 PRINT구문 이스케이프 문자가 %뿐인가요? [3] 16.04.23. ㅇㄹ 16.04.24. 148
398 개발정보 맨 땅 헤딩 에라 @, CALL 구별 16.04.23. 설명에 익숙.. 16.04.23. 291
397 에러발생 에라번역 2130과 2131 공통적으로 발생한 오류입니다 +2132도 발생합니다(...) [4] file 16.04.23. 월요일 9시.. 16.04.23. 137
396 에러발생 에라번역 2.1.0.2 에러발생했습니다 [5] file 16.04.22. 월요일 9시.. 16.04.22. 125
395 질문 [메가텐] 딸내미 이름지을때 16.04.22. AAA 16.04.22. 383
394 개발정보 에라번역 2.1.0.2 [12] file 16.04.21. ㅇㄹ 16.04.22. 791
393 질문 또 번역하고 싶은 에라가 있는데... [4] 16.04.21. 번역은노가다 16.04.22. 400