CR 결혼소스
script 결혼시스템 {
set @mysd, mysd();
set @myid, myid();
set @list, list1("안녕하세요?\n결혼도우미 입니다.\n결혼을 하실려면 결혼을 눌러주시기 바랍니다.", "결혼","이혼할래요..");
if(@list == 1) {
set #rufghsrjwjf, 0;
if ($dbqn == 1) { set @pos, dialog(0,0,0, "이미 배우자가 있습니다."); end; }
if(get_equipitem(@mysd, 1) != 2194 && get_equipitem(@mysd, 1) != 2161) {
set @pos, dialog(0,0,0, "결혼할 준비가 안되신분이네요.\n예복을 입고 다시 말을 걸어주세요.");
end;
}
set @pos, dialog(0, 0, 1, "결혼을 하시기 원하시면 신랑\n신부가 함께 오셔야 합니다.");
if (@pos == 0) end;
if (get_gender(@mysd) == 0){
set @pos, dialog(0, 1, 1, "이제 신랑분께 결혼할 준비가\n되셨는지 묻겠습니다.");
if (@pos == 0) end;
set @list, list1("당신은 신부와 함께 왔습니까?", "예. 제 옆에 서있습니다.","이런.. 어디갔지? 제 신부 못보셨나요?");
if(@list == 1) {
set @pos, dialog(0, 1, 1, "결혼이란 정말 신중하게 결정\n을 하여야 한답니다.");
if (@pos == 0) end;
set @list, list1("당신은 진심으로 신부를 사랑하시고, 결혼하길 원하십니까?", "예. 전 이 여자 없인 못 삽니다.","전 아직 자유롭고 싶습니다.");
if(@list == 1) {
set @pos, dialog(0, 1, 1, "두분의 사랑이 그처럼 확고하\n시다니, 그럼 정식으로 결혼\n신청을 받겠습니다.");
if (@pos == 0) end;
a01:
set @pos, input2(@id$, 0, 20, "당신이 결혼하길 원하는 신부의 이름을 말씀하세요.", "예. 신부의 이름은", "입니다.");
if (@pos == 0) end;
set @target_id, name2id(@id$);
set @target_sd, id2sd(@target_id);
if (@id$ == "") {
set @pos, dialog(0,0,1, "아이디를 입력해주세요.");
goto a01; end;
}
if (@target_sd == 0 ) {
set @pos, dialog (0, 0, 1, "상대방이 접속하지 않았습니다.");
goto a01; end;
}
if (get_gender(@target_sd) == get_gender(@mysd) ) {
set @pos, dialog(0, 1, 1, "결혼할 배우자와 성별이 같습니다.");
goto a01; end;
}
if (get_mapid(@target_sd) != get_mapid(@mysd) ) {
set @pos, dialog(0, 0, 1, "상대방이 이 자리에 없습니다.");
goto a01; end;
}
else{
set @pos, dialog(0, 1, 1, "신부되시는분께 확인을 받겠습니다.");
if (@pos == 0) end;
effect @myid, 386;
sound @myid, 0, 131;
set #honey1, @mysd;
set #honey2, @target_sd;
sleep 5000;
if (@target_sd == 0 ) {
set @pos, dialog (0, 0, 1, "상대방이 접속하지 않았습니다.");
end;
}
runscript @target_sd, "결혼시스템2";
end;
}
}else{end;}
}else{end;}
}else{
set @pos, dialog(0, 1, 1, "이제 신부분께 결혼할 준비가\n되셨는지 묻겠습니다.");
if (@pos == 0) end;
set @list, list1("당신은 신랑과 함께 왔습니까?", "예. 제 옆에 서있습니다.","어머나. 어딜 갔지? 제 신랑 못보셨나요?");
if(@list == 1) {
set @pos, dialog(0, 1, 1, "결혼이란 정말 신중하게 결정\n을 하여야 한답니다.");
if (@pos == 0) end;
set @list, list1("당신은 진심으로 신랑을 사랑하시고, 결혼하길 원하십니까?", "예. 전 저 남자 없인 못 살아요.","흑흑. 전 아직 자유롭고 싶어요.");
if(@list == 1) {
set @pos, dialog(0, 1, 1, "두분의 사랑이 그처럼 확고하\n시다니, 그럼 정식으로 결혼\n신청을 받겠습니다.");
if (@pos == 0) end;
a02:
set @pos, input2(@id$, 0, 20, "당신이 결혼하길 원하는 신랑의 이름을 말씀하세요.", "네. 신랑의 이름은", "입니다.");
if (@pos == 0) end;
set @target_id, name2id(@id$);
set @target_sd, id2sd(@target_id);
if (@id$ == "") {
set @pos, dialog(0,0,1, "아이디를 입력해주세요.");
goto a02; end;
}
if (@target_sd == 0 ) {
set @pos, dialog (0, 0, 1, "상대방이 접속하지 않았습니다.");
goto a02; end;
}
if (get_gender(@target_sd) == get_gender(@mysd) ) {
set @pos, dialog(0, 1, 1, "결혼할 배우자와 성별이 같습니다.");
goto a02; end;
}
if (get_mapid(@target_sd) != get_mapid(@mysd) ) {
set @pos, dialog(0, 0, 1, "상대방이 이 자리에 없습니다.");
goto a02; end;
}
else{
set @pos, dialog(0, 1, 1, "신랑되시는분께 확인을 받겠습니다.");
if (@pos == 0) end;
effect @myid, 386;
sound @myid, 0, 131;
set #honey2, @mysd;
set #honey1, @target_sd;
sleep 5000;
if (@target_sd == 0 ) {
set @pos, dialog (0, 0, 1, "상대방이 접속하지 않았습니다.");
end;
}
runscript @target_sd, "결혼시스템2";
}
}else{end;}
}
else{end;}
}
}
if(@list == 2) {
if ($dbqn == 0) { set @pos, dialog(0,0,0, "결혼도 안하신분이 어떻게 이혼을 하실려고 하죠?."); end; }
set @list, list1("정말 이혼하시겠습니까?", "네 이 사람하곤 못살아요..","아니오 다시 한번 생각해보겠습니다.");
if(@list == 1) {
set $dbqn, 0;
set @pos, dialog(0, 0, 1, "이혼해드렸습니다.");
end;
}
if(@list == 2) {
set @pos, dialog(0, 0, 1, "성급하게 생각하지마세요.");
end;
}
}
}
script 결혼시스템2 {
set @mysd, mysd();
set @myid, myid();
if (get_gender(@mysd) == 0){
set @target_sd, #honey2;
}
else{
set @target_sd, #honey1;
}
if(get_equipitem(@mysd, 1) != 2194 && get_equipitem(@mysd, 1) != 2161) {
if (@target_sd == 0 ) {
set @pos, dialog (0, 0, 1, "상대방이 접속하지 않았습니다.");
end;
}
runscript @target_sd, "결혼시스템4";
end;
}
set @pos, dialog(0, 0, 1, get_name(@target_sd) + "님께서 " + get_name(@mysd) + "님과 결혼을 원하십니다.");
if (! @pos) end;
set @list, list1("결혼 하시겠습니까?","네", "아니오");
if(@list == 1) {
set @pos, dialog (1, 0, 0, "결혼을 축하드립니다!");
additem @mysd, name2itemid("사랑호출기"), 1;
addlegend @mysd, 8, 1, 1, get_name(@target_sd) +"와(과) 결혼하다!";
if (@target_sd == 0 ) {
set @pos, dialog (0, 0, 1, "상대방이 접속하지 않았습니다.");
end;
}
runscript @target_sd, "결혼시스템3";
message @mysd, 3, get_name(@target_sd) +"와(과) 결혼하다!!";
broadcast 0, 11, get_name(@mysd) +"님이 " + get_name(@target_sd) +"님과 결혼하셨습니다. 축하드립니다!", 0;
set $ghcnf, @target_sd;
set $dbqn, 1;
end;
}
if(@list == 2 ) {
set @pos, dialog(1, 0, 0, "상대방에게 거절메세지를 보냈습니다.");
set #rufghsrjwjf, 1;
if (@target_sd == 0 ) {
set @pos, dialog (0, 0, 1, "상대방이 접속하지 않았습니다.");
end;
}
runscript @target_sd, "결혼시스템3";
}
}
script 결혼시스템3 {
set @mysd, mysd();
set @myid, myid();
if(#rufghsrjwjf == 1){
set @pos, dialog(1, 0, 0, "상대방이 결혼하기를 거부했습니다.");
end;
}
if (get_gender(@mysd) == 0){
set @target_sd, #honey2;
}
else{
set @target_sd, #honey1;
}
additem @mysd, name2itemid("사랑호출기"), 1;
addlegend @mysd, 8, 1, 1, get_name(@target_sd) +"와(과) 결혼하다!";
message @mysd, 3, get_name(@target_sd) +"와(과) 결혼하다!!";
set $ghcnf, @target_sd;
set $dbqn, 1;
end;
}
script 결혼시스템4 {
set @mysd, mysd();
set @myid, myid();
if(get_gender(@mysd) == 0){
set @pos, dialog(1, 0, 0, "결혼할 상대가 웨딩드레스를 입고 있지 않습니다.");
end;
}
else{
set @pos, dialog(1, 0, 0, "결혼할 상대가 망또를 입고 있지 않습니다.");
end;
}
}
script 결혼상인되라고 {
set @mysd, mysd();
set @list, list1("결혼도우미 입니다.\n혼례용품을 구입해보세요!", "물건 사기");
if(@list == 1) {
set @pos, list2(@list_2,0,0, "망또와 드레스를 사실려면 망또와 드레스를 클릭해주세요!", "망또와 드레스","사랑호출기","관복과 활옷");
if(@list_2 == 1) {
call_shop 0,78;
}
if(@list_2 == 2) {
call_shop 0,6;
}
if(@list_2 == 3) {
call_shop 0,109;
}
}
}

솔직이 님의 최근 댓글
공개하신 팩 덕분에 공부 많이하고있어요. 2023 02.17 ㄳ 2023 02.15 우리들이 엔피씨 스크립트를 만들때, 가장 기본적으로 사용하는 함수는 두개가 있습니다. list - 메뉴창 함수 dialog - 대화창 함수 그리고 함수를 이용할때 사용하는 임시변수( @ )가 있습니다. 가장 중요한것은, 함수가 어떤 용도로 사용되며, 함수 기능을 사용할시 어떤 조건이 생성이 되는지, 알야아 합니다. 우선 예를든 스크립트를 만들어보도록 하겠습니다. set @menu, list1("어떤 버튼을 누르실껀가요?","버튼1","버튼2"); if(@menu == 1) { 이벤트 영역 1 } else if(@menu == 2) { 이벤트 영역 2 } 우리는 우선, 임시저장소를 '선언'또는 만들었습니다. 어떤 임시저장소를 만들었냐구요? 바로 ' m '이라는 임시 저장소를 만들었습니다. 우리가 list1("어떤 버튼을 누르실껀가요?","버튼1","버튼2"); 에서 버튼 1을 누르면, @m 이라는 임시변수/저장소는 1의 숫자를 갖게 됩니다. 그러므로 우리가 버튼1을 누르면 if(@menu == 1) { 이벤트 영역 1 } 이 이벤트 영역 1을 사용할 수 있는것입니다. 버튼 2를 누르면 else if(@menu == 2) { 이벤트 영역 2 } 이벤트 영역 2를 사용할 수 있게되는거죠, 그냥 간단하고 쉽게 이해하세요. set @menu, list1("어떤 버튼을 누르실껀가요?","버튼1","버튼2"); < < 버튼 1을 누른것은 set @menu, 1; < < 1과 같다. set @menu, list1("어떤 버튼을 누르실껀가요?","버튼1","버튼2"); < < 버튼 2를 누른것은 set @menu, 2; < < 2와 같다. list1은 '작은 기본 메뉴창'을 불러오는 함수이며, 게임에서는 엔피씨를 눌럿을때 볼 수 있는 메뉴창을 말합니다. 그냥 메뉴창에서 버튼을 누르면, 간단하게 선언한 변수에 버튼의 누름에 따라 선언되어있는 변수에 숫자가 들어간다, 안들어간다 라고 생각할 수 있습니다. 가장 간단하게 이해를 하는 방법중에 하나는, 위에서 언급한것이고 두번째로는 금전에 빗대어 이해를할 수 있습니다. set @money, 10000; if(@money < 10000) { 이벤트 영역 1 } else if(@money > 10000) { 이벤트 영역 2 } else { 이벤트 영역 3 } 위에서는 아주 간단한 if 문이 설정 되어있습니다. 맨위에는 set @money, 10000; 이라는 임시변수 선언문이 나와있습니다. 인즉 @money 라는곳에, 10000이라는 조건이 들어가 있는것입니다. 그럼 이것을 실제로 스크립트에 적용시켜서, 우리가 엔피씨를 눌럿을때 어떤 영역을 우리가 사용가능할까요? set @money, 10000; if(@money < 10000) { 이벤트 영역 1 } else if(@money > 10000) { 이벤트 영역 2 } else { 이벤트 영역 3 } 정답은 이벤트 영역 3입니다. 첫번째 if문에서는, @money 라는 임시변수가 10000보다 적을때를 나타내고 있으며, 두번째 else if 문에서는, @money 라는 임시변수가 10000보다 높을때를 나타내고 있습니다. 그러니 아무런곳에도 포함되지않기때문에, 이벤트 영역3 에 들어갈 수 있는것입니다. 어렵지 않아요. 천천히 이해를 해보도록 하세요. 2022 08.11 고맙읍니다 2022 08.10 선생님께서 올려주신 통파일덕분에 공부 많이하고 있습니다 고마움을 어떻게 표현해야할지 모르겠습니다. 2022 07.03