에라마왕 개조판 1.00

지뢰탐지기 | 통합팩 | 조회 수 674 | 2019.11.09. 08:57

3줄 요약

 

1. 비번은 늘 그렇듯이 3글자

2. NTR 및 임신 구상 추가

3. 다음 추가 예정 구상은 용사 노출대 구문

 

 

NTR 구상 추가, 마오 구상 미세하게 추가, 노출대에서 임신 확인 및 출산 구상 추가했습니다.

임신 확인에서 개개인 문구는 추가하다가 아이디어 고갈로 '악녀 인간 구상' 같은 내용이 나올수도 있을겁니다.

저런 구문에 추가할 아이디어라든지 아니면 다른 곳에 쓸 구상 아이디어는 언제든지 환영합니다.

 

다음에 추가될 것은 노출대에 매달려 있을시, 미궁 밖에서 그걸 보며 자위하는 것과

노출대에서 버티는 용사의 구문이 추가될 겁니다.

묶여있는 용사는 구문을 그냥 여러가지로 나눌 예정이지만

밖에있는 용사는 조금씩 타락해서 자위만 하던걸 주위 동료를 건드리거나

몸을 팔게 하는 모습을 보여주고 싶은데,

주위 동료를 찾으려면 어떻게 해야하는지 모르겠습니다...

그래서 도움이 필요합니다.

CFLAG:533이 파티 리더 관련 함수이고, :532, :531이 맴버 관련인데

이걸 어떻게 넣어야지 맞는 파티 맴버를 찾을 수 있을지 모르겠습니다...

아시는 분 있다면 알려주세요.

 

IF RAND:100 > 50

 1번 선택

ELSE IF RAND:100 >25

 2번 선택

ELSE

 3번 선택

ENDIF

 

이렇게 적으면

1번 선택이 50%, 2번 선택이 25%, 나머지 25% 이렇게 되는지

아니면 각기 계산을 따로해서 1번 50%, 2번은 12.5%(남은 50%의 25%), 3번은 37.5%가 되는지 알고 싶습니다.

이 RAND를 제대로 이해해야 나중에 확률형 함정 발동률을 확실히 마스터할 수 있을 것 같아서 물어봅니다.

  1. 에라마왕 개조판 1.00.zip (File Size:2.96MB/Download:187)
댓글 쓰기
파일 첨부

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

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

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

선택지의 경우 1번50% 2번37.5% 3번12.5%입니다.

그냥 순서대로 비교한다고 보시면 됩니다. 처음 50%확률 실패하면 ELSE IF를 판정하고 여기서도 실패하면 ELSE로 들어갑니다.

지뢰탐지기 at 2019.11.09. 22:27

제가 생각한 두번째 방법이긴 했는데 계산을 잘못 해버린거군요...

그럼 나중에 확률형 기술 같은걸 복잡하게 짜게 된다면 엄청 고생할 것 같은데...

 

예를 들어 DICE = RAND:100 이라고 정의한 후에

IF DICE >50

ELSEIF DICE > 25

ELSE

ENDIF

라고 해도 말씀하신것처럼 개별 비교를 통해 1번 50%, 2번 37.5%, 3번 12.5%가 되는건가요?

...... at 2019.11.10. 06:46

아니요. 1번50% 2번25% 3번25%가 됩니다.

지뢰탐지기 at 2019.11.10. 10:13

만약 DICE 같이 하나의 함수를 고정시키면 값도 고정이 된다는 말씀이시군요.

알겠습니다. 더 이제 확률형 기술/함정을 확실히 적용시킬 수 있겠습니다.

답변 감사합니다!

ㅇㅇ at 2019.11.11. 00:17

파티 관련해서 뭐가 모르시겠다는 건지 잘 이해가 안가네요.

정확히 써주시면 찾아봐서 답변해 드리겠습니다.

 

파티 맴버를 찾고 싶다는 뜻이신가요?

 

파티맴버를 찾는건 잘 찾으신것 같은데요... 가령 3, 4, 5 이렇게 3명이서 파티면서 리더가 3번인 경우

CFLAG:3:533 = 3

CFLAG:4:533 = 3

CFLAG:5:533 = 3
 
이렇게 파티 리더를 찾을 수있고요.
파티 리더 기준으로 
CFLAG:3:533 = 3
CFLAG:3:532 = 4
CFLAG:3:531 = 5
 
대충 이렇게 세팅 됍니다.
그러면 4번이라는 애로 모든 파티원을 찾고 싶으면 대충 이렇게 집어 넣으면 나옵니다.
 

CFLAG:(CFLAG:4:533):533 = 3
CFLAG:(CFLAG:4:533):532 = 4
CFLAG:(CFLAG:4:533):531 = 5
 
이렇게요. 
 
해당 자리에 아무도 없으면 0으로 세팅되고요.
 
그럼 대충 이렇게 로직을 만들 수 있습니다.
 
if CFLAG:캐릭번호:533 == 캐릭번호
--- 캐릭번호는 파티장
else if CFLAG:(CFLAG:캐릭번호:533):532 == 캐릭번호
-- 캐릭번호는 1파티원

else if CFLAG:(CFLAG:캐릭번호:533):531 == 캐릭번호

-- 캐릭번호는 2파티원

 

혹시 찾고 계신 내용이 이게 아니라면 구체적으로 질문해주시면 답변드리겠습니다.

지뢰탐지기 at 2019.11.11. 09:08

정확하게 말하자면 그 캐릭터가 리더인 경우, 아니면 그냥 파티 맴버인 경우 둘 다 있을 수 있어서 그렇습니다.

그리고 저 구문 자체가 한 캐릭터가 아닌 공용 구문 안에 써 넣을 예정인데,

그러다 보니 캐릭 번호를 사용하지 못 한다고 보시면 됩니다.

지금 써 놓은 문구를 가져와서 예를 들어보겠습니다.

 

IF CFLAG:(ARG:0):532 == 0 && CFLAG:(ARG:0):531 == 0

PRINTFORM 동료A는 이상한 소리의 근원지를 찾다 수정구를 보며 자위하는 %조사선택(SAVESTR:(ARG:0),"를")% 발견했다.

PRINTFORM 수정구에서 비춰지는 음란한 모습과 자신들을 이끄는 %SAVESTR:(ARG:0)%의 자위 모습을 보며 자신도 모르게 자위하기 시작했다……

PRINTFORML %SAVESTR:(ARG:0)% 자위 경험 +{ABL:(ARG:0):31 + 1} 

EXP:(ARG:0):10 += ABL:(ARG:0):31 + 1

PRINTFORML %SAVESTR:(ARG:0)% %PALAMNAME:0%의 구슬+{(ABL:(ARG:0):0 + 1) * 10} 

JUEL:(ARG:0):0 += ABL:(ARG:0):0 * 10

PRINTFORML %SAVESTR:(ARG:0)% %PALAMNAME:5%의 구슬+{(ABL:(ARG:0):11 + 1) * 10} 

JUEL:(ARG:0):1 += ABL:(ARG:0):11 * 10

PRINTFORML %동료A% 자위 경험 +{ABL:동료A:31 + 1} 

EXP:동료A:10 += ABL:동료A:31 + 1

PRINTFORML %동료A% %PALAMNAME:0%의 구슬+{(ABL:동료A:0 + 1) * 10} 

JUEL:동료A:0 += ABL:동료A:0 * 10

PRINTFORML %동료A% %PALAMNAME:5%의 구슬+{(ABL:동료A:11 + 1) * 10} 

JUEL:동료A:1 += ABL:동료A:11 * 10

 

저기 동료 A의 이름을 찾고 동료 A의 경험 및 구슬을 증가시키려고 하는데

동료A라고 쓴 곳에 넣을 수 있는 로직을 만드는 방법을 모르겠습니다.

ㅇㅇ at 2019.11.11. 12:17

이미 질문안에 답변이 있는 것 같네요.

(ARG:0)가 수정구를 보며 자위하는 캐릭터 번호로 인자를 받은 상태아닌가요? 그러면 다음과 같이 처리하시면 됍니다.

 

 

IF CFLAG:(ARG:0):533 == ARG:0  ; ARG:0가 파티리더인 경우
---IF CFLAG:(ARG:0):532 == 0 && CFLAG:(ARG:0):531 == 0 ; 동료가 없는 용사
------ RETURN ; RETURN 을 하시던지, 알아서 처리
---ELSEIF CFLAG:(ARG:0):532!=0&& CFLAG:(ARG:0):531 == 0 ; 532에만 동료가 있는경우
------LOCAL:0=CFLAG:(ARG:0):532
---ELSEIF CFLAG:(ARG:0):532==0&& CFLAG:(ARG:0):531 != 0 ; 531에만 동료가 있는경우
------LOCAL:0=CFLAG:(ARG:0):531
---ELSEIF CFLAG:(ARG:0):532!=0&& CFLAG:(ARG:0):531 != 0 ;동료가 2명인 경우
------LOCAL:0=CFLAG:(ARG:0):532

------LOCAL:1=CFLAG:(ARG:0):531

---ENDIF

ELSEIF CFLAG:(ARG:0):533 != ARG:0 ARG:0가 파티 리더가 아니면 동료가 최소 1명(파티 리더)라도 있음.

---LOCAL:0=CFLAG:(ARG:0):533 ; 찾은 동료(파티장) 중 하나를 LOCAL:0에 넣는다

---; 532번 자리가 자기자리가 아니고 동료가 있으면

---IF CFLAG:(CFLAG:(ARG:0):533 ):532!= ARG:0&&CFLAG:(CFLAG:(ARG:0):533 ):532!= 0

------LOCAL:1=CFLAG:(CFLAG:(ARG:0):533 ):532 ; 찾은 동료중 하나를 LOCAL:1에 넣는다

---; 531번 자리가 자기자리가 아니고 동료가 있으면

---ELSEIF CFLAG:(CFLAG:(ARG:0):533 ):531!= ARG:0&&CFLAG:(CFLAG:(ARG:0):533 ):531!= 0
------LOCAL:1=CFLAG:(CFLAG:(ARG:0):533 ):531 
---ENDIF
ENDIF
;위의 작업이 끝나면 LOCAL:0 과 LOCAL:1에 동료가 들어갑니다. 동료가 1명인 경우에는 LOCAL:1은 0이고요.
IF LOCAL:1==0; 동료가 1명이면 타겟으로 쓸 LOCAL:2에 LOCAL:0을 넣습니다.
---LOCAL:2=LOCAL:0
ELSE ; 동료가 2명인경우 그냥 랜덤으로 선택합니다.
---LOCAL:2=LOCAL:(RAND:2)
ENDIF
 
여기까지 작업이 끝나면 LOCAL:2를 동료A의 캐릭 번호로 쓰시면됍니다. 솔직히 더 깔끔하게 짤 수도 있는데 일부러 로직을 보여드릴려고 ELSE도 안썼습니다. 이해가 되셨으면 좋겠네요.
지뢰탐지기 at 2019.11.11. 13:30

저 ARG:0은 제가 쓴게 아니라 이미 써져있는 구문에서 가져온거라 ARG지정이라든지 LOCAL 지정법을 아예 모르는 상태입니다.

그래서 저걸 쓰면서도 이걸 쓰면 지정이 된다는 것만 알고 있지

특정 지정을 하는 법을 모른다는게 가장 큰 이유인 것 같네요.

지금 거의 10번 가까이 읽어서 거의 이해가 간 상황입니다.

그래도 이제 어느정도 감을 잡게 되었습니다. 감사합니다!

 

그래도 4가지 질문을 드리고 싶습니다.

 

마지막의 LOCAL:2 지정은 하지 않고 그냥 구문 안에 RAND를 사용해서 

LOCAL:0과 LOCAL:1을 직접 사용해도 될까요?

이유가 나중에 2명 있는 경우에는 2명 다 출연시키고 싶거든요.

 

두번째는 제가 IF LOCAL:0 == 0 라고 적으면 동료가 하나도 없는 경우 맞겠죠?

 

세번째는 저걸 적용시킨 후에 내용 작성까지 다 했다면 가장 밑에 RETURN 0을 적는게 맞을까요?

그리고 가장 처음에 RETURN을 적으라고 한 곳은 RETURN 1이 맞을까요?

 

마지막으로는 같은 파일 안에 LOCAL:1이라고 정의된 것이 상단 부분에 적혀 있는데,

(복사해서 적은 제 구상 안에는 없음)

LOCAL:X의 값을 바꿔야하나요?

ㅇㅇ at 2019.11.11. 13:56

0. ARG 지정은 그냥 함수에 인자로 전달된겁니다. 정의 부분에 ARG가 정의되어 있고 호출 부분에서 어떤 변수 값이든 넣으면 그냥 그대로 쓰면됍니다. LOCAL은 지역 변수라 어차피 함수 끝나면 날라가니 그냥 알아서 쓰시면 되고요.

 

1. 질문 자체를 이해하기가 쉽지 않네요.   LOCAL:2 은 그냥 동료를 명확히 선택하기 위해서 쓰는거고 둘다 쓰고 싶으시면 LOCAL:0, LOCAL:1 그대로 쓰시면 됍니다. 함수가 끝나지 않는이상 값은 날라가지 않아요.

혹시 함수로 만드시고 싶으셔서 물어보시는 건가요? 그럼 그냥 RESULT에 넣으시면 됍니다.

RESULT:1=LOCAL:0 

RESULT:2=LOCAL:1 

RETURN LOCAL:2 

이렇게요. 그럼 해당 함수를 호출하면 고정된 선택 동료 1은 RESULT에 담기고 

그냥 동료 2명을 보는건 RESULT:1,RESULT:2로 리턴되는 함수를 구현할 수있는겁니다.

 

2. 위에 코드를 실행 시키시면 LOCAL:0가 0인 경우는 동료가 없는 경우가 맞죠. 하지만 동료가 없는 경우 RETURN해 버린다면 동료가 없는 경우는 없을 겁니다. 함수가 끝날테니까요.

 

3. 말그대로 예시입니다. 어디에 해당 코드를 넣으실지에 따라 달라요. 다른 판정도 확인해야하는데 동료가 없다는 이유만으로 다른 로직이 실행이 안되게 할 수는 없겠죠? 그리고  RETURN 0이든  RETURN 1이든 차이가 없습니다. 그냥  RETURN 0이면 해당 함수를 호출한 코드에서 RESULT를 0으로 받고  RETURN 1이면 RESULT를 1로 받는 정도의 차이입니다. 만약 해당 함수를 호출한 곳에서 RESULT를 사용한다면 그에 따른 결과를 리턴해 줘야 하지요.

 

4.  상황에 따라 다릅니다. 위에서 LOCAL:1 변수를 사용한 후 아래서도 사용한다면 당연 바꿔줘야하는거고 아니면 LOCAL:1=0으로 다시 세팅한 이후 사용하시면됩니다.

지뢰탐지기 at 2019.11.11. 14:25

0. 이해 했습니다.

 

1. 넵. 그대로 쓰려고 한 거였는데 LOCAL:0과 1을 LOCAL:2를 지정한 후에도 사용할 수 있는지는 몰랐네요.

그럼 저 LOCAL을 완벽하게 끝내려면 RETURN을 사용해야하는건가요?

 

2, 3. 그럼 없는 경우는 뭘 안 적어 놓는게 좋겠군요.

 

4. 위에 적혀있는데 아래에서도 사용되고 있으니 그냥 다른 값을 부여하는게 더 편할 것 같네요.

 

계속 귀찮게 질문했지만 자세한 답변 해주셔서 감사합니다.

덕분에 이번 노출대 구상은 무사히 마칠 수 있을 것 같습니다.

ㅇㅇ at 2019.11.11. 14:32 new

1. 맞습니다. 정확히는 RETURN을 사용하는게 아니고 함수가 끝나면 사라지는겁니다.

제가 예전에 작업할때 기억으로는 RETURN을 안써도 함수가 끝나는 경우가 있던걸로 기억합니다.

2,3 뭘 안적는다기 보다는 동료가 없을때의 처리를 하시면됩니다. 나중에 LOCAL:0가 0인 경우를 동료가 업다고 판단하실거면 해당 분기 자체를 지우셔도 상관없겠죠.

참고로 잘 모르시는것 같아서 말씀 드리는데 LOCAL:0이랑 LOCAL은 같은 변수입니다. 위에서 LOCAL을 쓰는지도 확인 하셔야 돼요.

지뢰탐지기 at 2019.11.11. 14:35 new

1. 함수도 마찬가지로 자주 듣긴 했는데 정확히 시작하는게 @나 #로 시작해야하나요

아니면 이번처럼 그냥 막 해도 함수라고 볼 수 있는건가요?

 

2,3 .아... 감사합니다. 위에 이미 LOCAL은 ARG:0의 애인으로 구문이 짜여 있습니다.

그럼 2, 3, 4로 짜야겠네요.

ㅇㅇ at 2019.11.11. 15:14 new

1. 아직 변수랑 함수 개념이 덜잡히신것 같네요.

일단 에라 문법으로는 함수는 @로 정의하고 변수는 #DIM으로 정의합니다.

 

함수의 끝이라는걸 구체적 정의로 말씀드리면 일단 기본 지식이 필요한 전공지식입니다.

그냥 전공에서 말하는 함수의 끝이라는건 런타임에서 메모리영역에서 스택 포인터와 프레임 포인터의 영역이 리턴되어 프레임 포인터가 스택 포인터로 변하는 구간이 함수의 끝이라고 정의할수 있죠.

 

정의가 아니고 그냥 코드만 보자면 함수가 RETURN되거나 코드가 끝나는게 함수의 끝이라고 할 수 있겠습니다만은...

혹시 다른 프로그래밍 언어 하시는거 있으신가요? 솔직히 ERA 코드로 프로그래밍을 배우는건 별로 추천드리고 싶지 않네요.

구조는 어느쪽이냐면... 어셈블리어에 가까운 문법을 가지고 있는 언어입니다.

솔직히 단순하지만 보고 배우기엔 바람직하지 않아요...

 

수학에서 정의를 생각하시면 됩니다. f(x)는 함수지요? 여기서 f가 함수이름이고 x는 인자이면서 변수입니다.

가령 f(x)가 x를 +1하면서 PRINT 하는 함수라면 

@f, ARG --- 이런느낌으로 정의할 수 있을테고

내용은 대략

PRINT (ARG +1)

RETURN (ARG +1)

이렇게 정의할 수 있을겁니다.

 

호출할 때는 

CALL f, x 이렇게 호출하고 

해당 함수가 끝나면 바로 아래 라인부터는 RESULT가 x+1로 할당되어있겠죠.

 

수학적으로도 정의할 수 있는 함수입니다. f(x)=x+1 이렇게요. 그냥 이런 느낌이라고 생각하시면돼요.

지뢰탐지기 at 2019.11.11. 15:30 new

수학적 정의라고 하니까 머리에 와 꽂히네요.

그리고 프로그래밍 배우는게 아니라 그냥 구상 적다보니 원하는 상황에 맞춰 적으려다가

원하는 인자 및 함수쪽에 손을 뻗어가는겁니다.

배우고 싶냐고 하면 배우고는 싶지만... 어떻게 될지는 나중에 생각해봐야겠죠.

 

어쨋든 이해 했습니다!

나중에 또 물어볼게 있으면 적도록 하겠습니다.

자세한 설명 감사드립니다!

kkkm at 2019.11.11. 13:46

ntr 구상 최고에요!

지뢰탐지기 at 2019.11.11. 13:50

추가하고 싶은 구상이 있다면 언제든지 적어주세요.

물론 너무 두리뭉실하게 적으면 저도 적기 힘드니

최대한 자세히 적어주신다면 수정될 확률이 높습니다.

번호 분류 제목 날짜 글쓴이 최근 수정일 조회 수
공지 이메일 적지 마세요 제발! [6] 18.11.07. 파라디클로로.. 19.05.26. 7298
공지 정보글 [9] 18.06.16. 파라디클로로.. 19.06.10. 19725
공지 에라판 이용안내 18.05.14. 파라디클로로.. 18.12.31. 10786
공지 eraTHYMKR 20191028 [26] 18.05.14. ㅇㄹ 19.10.28. 33367
2865 개발현황 [에라마왕] 답이 없어서 그냥 2가지 방향으로 나눠서 제작할 예정입니다. [3] update 19.11.08. 지뢰탐지기 22:50 167
2864 팁, 정보 TW 연인 수 제한 해제 (4.730) new 22:34 SubRoutineUser 22:35 11
2863 에러발생 Sqr 추가 오류발생 [1] file 02:23 ㅇㅇ 02:33 33
2862 통합팩 eraTWKR 1.20u7 [7] file 19.07.30. SubRoutineUser 19.11.11. 5528
2861 개별팩 191111 eraTW 일판 CSV 캐릭터명, 악보 번역+지역명 유저사전 [1] file 19.09.11. Refine 19.11.11. 1036
» 통합팩 에라마왕 개조판 1.00 [16] file 19.11.09. 지뢰탐지기 19.11.11. 674
2859 개별팩 [메가텐] 번역, 모드개발 추가 [3] file 19.11.10. ㅇㅇ 19.11.11. 172
2858 개별팩 TW 한판 구상 대필 file 19.10.08. wtnah425 19.11.11. 974
2857 개별팩 (YM)10월 28일자 버전에 환상향의 왕 모드 추가한것 그 8번째! file 19.11.10. 모스부호 19.11.10. 96
2856 에러발생 에라 타입문으로 처음 해보고 있는데 무한로딩 오류 해결법 있나요? [1] file 19.10.16. 19.11.10. 90
2855 팁, 정보 그랑블루k 사용자 사전 file 19.11.10. ㅇㅇ 19.11.10. 89
2854 에러발생 TW 앨리스 A 처녀 & 아나타 동정일때 세이브 file 19.11.10. ㅈㅈ 19.11.10. 54
2853 통합팩 SQF, SQR, 홍마관NTR0.34 번역 [6] file 19.11.07. ㅇㅇ 19.11.10. 690
2852 개별팩 (메가텐)REV 122용 잡다한 번역 파일들. file 19.11.09. 모스부호 19.11.09. 82
2851 에러발생 Era sqr오류 발생 [1] file 19.11.09. ㅇㅇ 19.11.09. 31
2850 에러발생 에라 홍마관 0.034 냄새관련 해서 오류나는데 이거 해결어떻게 하나요 [1] file 19.11.09. ㅇㅇ 19.11.09. 36
2849 개별팩 TW 일판 -> 한판 구상 및 잡다 한판 수정파일들 모음 [3] file 19.10.24. wtnah425 19.11.08. 833
2848 질문 [에라마왕] 구문 추가 및 시스템 수정을 하려고 하는데 코딩 관련해서 질문 있습니다. [1] 19.11.08. 지뢰탐지기 19.11.08. 42
2847 질문 페이트 토오사카 린 질문좀 형들 [4] 19.11.07. 부힛 19.11.08. 243
2846 에러발생 era홍마관 NTR 0.034 에러 제보합니다 [1] 19.11.08. ㅇㅇ 19.11.08. 74