Wedding: error! player not attatched!

deviruzy

New member
Messages
67
Points
0
function SF_StartCeremony {

 mes "mm.";

 set $wed_bride_progress,5;

 set $wed_groom_progress,5;

 set $@msg$,$wed_groom$;

 if (strcharinfo(0) == $wed_groom$)

set $@msg$,$wed_bride$;

 if (marriage($@msg$) == 0) {

next;

mes "["+@name$+"]";

mes $@msg$+"mm.";

close;

 }

 set $wed_bride_progress,6;

 set $wed_groom_progress,6;

 close2;

 initnpctimer;

 if ($@wedding_effect == 1)

attachnpctimer $wed_bride$;

 if ($@wedding_effect == 2)

attachnpctimer $wed_groom$;

 end;

//}

OnTimer1000:

 npctalk "mm "+$wed_bride$+", mm "+$wed_groom$+"mm?";

 end;

OnTimer3000:

 npctalk "mmm.";

 end;

OnTimer6000:

 npctalk "mm "+$wed_groom$+"mm "+$wed_bride$+"mmm!";

 SF_wed_end();

 wedding;

// stopnpctimer;

 if ($@wedding_effect)

detachnpctimer;

 end;

}
Good day.

When my wedding script reaches that red part which starts with OnTimer6000:, map server gives me an error. Strange thing is that players do get married some how....'-'

The error message is this:

[Error]: scripts_rid2sd: fatal error! player not attached!

[Debug]: Function: wedding <no parameters>

[Debug]: Source <NPC>: "current NPC's name" at prt_church <100,123>
I first tried to make wedding; part to wedding(); didn't work. I just did it I didn't know what I was doing and then I chagned the location of '}'. from above OnTimer1000: to below all the way down to the end of OnTimer6000: but map server stil gave me an error.

What should I do to fix this error?

Would you be kind and teach me please?

Thank you.

P.s. I changed all the message part because it was in korean. Below is the actual script just in case. I hope the korean part doesn't bother you
default_sad.png


//////////////////////////////////////////////////////////

// 결혼 스크립트   //

//////////////////////////////////////////////////////////

//

//=====eAthena Script====================================

// Wedding Script

//=====By================================================

// AppleGirl and Evera(version 1.0)

//=====Current Version===================================

// 2.7

//=====Compatible With:==================================

// eAthena Version SVN-R4287 and up; RO Episode 6+

//=====Description=======================================

// Fully working wedding script for all kind of weddings

//=====Additional Comments:==============================

// Lesbian and Gay Weddings by ShadowLady (version 1.1)

// Complete Rewrite by Skotlex (version 2.0->2.5)

//=======================================================

// 

//번역  :  모준

// Configuration Variables:

- script marriage_init -1,{

OnInit:

 set $@wed_allow, 1; //만약 1로 설정하면 동성결혼이 불가능합니다(반대로 0은 동성결혼 가능입니다)

 set $@wed_veil, 1; //0으로 설정시 신부가 면사포를 썻는지 체크하지 않습니다(반대로 1은 체크하는것입니다)

//Id of the item that is traded for the wedding ring (use 0 to disable):

 set $@wed_ring, 2613;

 set $@wed_groom_reg, 1300000; //신랑의 결혼자금설정

 set $@wed_bride_reg, 1200000; //신부의 결혼자금설정

 set $@wed_divorce_fee, 50000; //이혼 비용

 set $@wedding_effect, 1; //On who to display the FX: 0: Priest, 1: Bride, 2: Groom

 end;

}

// Other Configuration:

// Line 59,60: 신부의 위치.

// Line 430,431: 메리수녀의 위치.

// Line 803,804: 리사수녀의 위치.

// Variable Notes:

// $wed_progress Signals that there is a wedding in progress

// $wed_groom$ - 신랑의 이름 변수

// $wed_groom_sex - 신랑의 성(Sex) 변수 (동성결혼시 링체크를 위해 필요)

// $wed_bride$ - 신부의 이름 변수

// $wed_bride_sex - 신부의 성(Sex) 변수 (동성결혼시 링체크를 위해 필요)

// $wed_groom_progress - 신랑의 진행도 변수

// $wed_bride_progress - 신부의 진행도 변수

// 0: 진행하지 않았다. 1: 등록했다. 2: 파트너가 등록했다. 3: 링을

// 준비 하였다. 4: 반지를 교환했다. 5: 모든절차를 밟았다. 6: 결혼할 준비

// 가 모두 완료되었다.

//

// $divorce_progress 이혼 진행도

// $@divorcer$ 이혼 대상자 이름 변수

// $@divorcee 누가 돈을 내야 되는지 파트너의 아이디 변수.

//The Priest

prt_church.gat,100,123,4 script 프레드릭 2세 60,{

 set @name$,"프레드릭 2세";

 function SF_wed_end;

 function SF_equip_check;

 function SF_Groom;

 function SF_Bride;

 function SF_AcceptGroom;

 function SF_AcceptBride;

 function SF_RetrieveRingM;

 function SF_RetrieveRingF;

 function SF_RingsAccepted;

 function SF_StartCeremony;

 if (getpartnerid() > 0) {

mes "["+@name$+"]";

mes "아름다운 결혼생활 되시길 바랍니다.";

close;

 }

 if ($wed_progress == 0) {

mes "["+@name$+"]";

mes "안녕하세요. 당신께서 살고있는 삶은 어떠한가요?";

close;

 }

 if (strcharinfo(0) == $wed_groom$) {

SF_Groom();

end;

 }

 if (strcharinfo(0) == $wed_bride$) {

SF_Bride();

end;

 }

 mes "["+@name$+"]";

 if ($wed_groom_progress == 0 || $wed_bride_progress == 0) {

mes "이미 예정된 결혼식이 있습니다. 죄송합니다..";

close;

 }

 if ($wed_groom_progress == 6) {

mes $wed_groom$+"님과 "+$wed_bride$+"님은 너무 늦었습니다. 다시 시작 해주세요.";

close;

 }

 mes $wed_groom$+"님과 "+$wed_bride$+"님의 결혼식을 시작하려합니다.";

 mes "하객 여러분들도 아름다운 여정을 시작하는 이 두분에게 축복이 내리도록 기도해 주십시오.";

 close;

function SF_Groom {

 if ($wed_bride_progress == 0) {

mes "["+@name$+"]";

mes "신부분이 아직 등록이 안된것 같군요.";

close;

 }

 if (SF_equip_check() == 0)

close;

 switch($wed_groom_progress) {

 case 1:

SF_AcceptBride;

break;

 case 2:

mes "["+@name$+"]";

mes "상대방의 결정을 기다리고 있습니다..";

close;

 case 3:

SF_RetrieveRingM();

break;

 case 4:

mes "["+@name$+"]";

mes "상대방의 결혼반지가 아직 회수되지 않았습니다..";

close;

 case 5:

mes "["+@name$+"]";

SF_StartCeremony();

break;

 default:

mes "["+@name$+"]";

mes "방해하지 말아주세요.";

close;

 }

}

function SF_Bride {

 if ($wed_groom_progress == 0) {

mes "["+@name$+"]";

mes "신랑분이 아직 등록이 안된것같군요.";

close;

 }

 if (SF_equip_check() == 0)

close;

 switch ($wed_bride_progress) {

 case 1:

SF_AcceptGroom();

break;

 case 2:

mes "["+@name$+"]";

mes "상대방의 결정을 기다리고 있습니다...";

close;

 case 3:

SF_RetrieveRingF();

break;

 case 4:

mes "["+@name$+"]";

mes "상대방의 결혼반지가 아직 회수되지 않았습니다.";

close;

 case 5:

mes "["+@name$+"]";

SF_StartCeremony();

break;

 default:

mes "["+@name$+"]";

mes "방해하지 말아주세요.";

close;

 }

}

function SF_AcceptGroom {

 mes "["+@name$+"]";

 mes $wed_bride$+"님, "+$wed_groom$+"님이 당신의 신랑이 되기를 바라고있습니다. 받아들이시겠습니까?";

 mes "^ff0000신중하게 선택하시기 바랍니다 취소할경우 처음부터 다시 시작하셔야합니다";

 next;

 switch(select("생각할 시간이 필요하군요.","아니요! 받아들이지 않겠어요.","예! 받아들일께요.")) {

 case 1:

mes "["+@name$+"]";

mes "자신의 결정에 확신을 가질 수 있을 때 까지 신중하게 생각해 주세요.";

emotion e_ag;

close;

 case 2:

mes "["+@name$+"]";

mes "안타깝군요.";

close2;

emotion e_omg;

npctalk ""+$wed_bride$+"님이 "+$wed_groom$+"님과의 결혼을 거절했습니다!";

SF_wed_end();

break;

 case 3:

set $wed_bride_progress,2;

if ($wed_groom_progress == 2) {

 SF_RingsAccepted();

 break;

}

emotion e_ok;

mes "["+@name$+"]";

mes "신랑분이 찬성하신 후에 결혼식을 거행하겠습니다..";

close;

 }

}

function SF_AcceptBride {

 mes "["+@name$+"]";

 mes $wed_groom$+"님, "+$wed_bride$+"님이 당신의 신부가 되기를 바라고있습니다. 받아들이시겠습니까?";

 mes "^ff0000신중하게 선택하시기 바랍니다 취소할경우 처음부터 다시 시작하셔야합니다";

 next;

 switch(select("생각할 시간이 필요하군요.","아니요! 받아들이지 않겠어요.","예! 받아들일께요.")) {

 case 1:

mes "["+@name$+"]";

mes "자신의 결정에 확신을 가질 수 있을 때 까지 신중하게 생각해 주세요.";

emotion e_ag;

close;

 case 2:

mes "["+@name$+"]";

mes "안타깝군요.";

emotion e_omg;

close2;

npctalk ""+$wed_groom$+"님이 "+$wed_bride$+"님과의 결혼을 거절했습니다!";

SF_wed_end();

break;

 case 3:

set $wed_groom_progress,2;

if ($wed_bride_progress == 2) {

 SF_RingsAccepted();

 break;

}

emotion e_ok;

mes "["+@name$+"]";

mes "신랑분이 찬성하신 후에 결혼식을 거행하겠습니다...";

close;

 }

}

function SF_RingsAccepted {

 mes "["+@name$+"]";

 mes "신랑, 신부님께서는 앞으로 나오셔서 상대방의 반지를 주시길 바랍니다.";

 set $wed_bride_progress,3;

 set $wed_groom_progress,3;

 announce $wed_groom$+"님과 "+$wed_bride$+"님의 결혼식이 프론테라 대성당에서 거행되겠습니다!",bc_all;

 close2;

 emotion e_lv;

 npctalk "반지 교환을 위해 신랑, 신부께서는 앞으로 나와주시겠습니까?";

}

function SF_RetrieveRingM {

 mes "["+@name$+"]";

 if ($@wed_ring && countitem($@wed_ring) < 1) {

mes "당신의 "+getitemname($@wed_ring)+"는 어디있나요? 식을 거행하기 위해선 필요합니다!";

close;

 }

 set @item, 2634; //Bride's wedding ring

 if ($wed_bride_sex)

set @item, 2635; //Groom's wedding ring

 if (getnameditem(@item,$wed_bride$) == 0) {

mes "결혼반지를 가지고 있을 충분한 공간이 없으신 것 같군요.";

close;

 }

 mes "여기 신랑를 위한 결혼반지입니다.";

 if ($@wed_ring) delitem $@wed_ring,1;

 set $wed_groom_progress,4;

 if ($wed_bride_progress == 4)

SF_StartCeremony();

 else {

mes "신부님께서 반지를 받으시면, 결혼식이 시작됩니다.";

close;

 }

}

function SF_RetrieveRingF {

 mes "["+@name$+"]";

 if ($@wed_ring && countitem($@wed_ring) < 1) {

mes "당신의 "+getitemname($@wed_ring)+"는 어디있나요? 식을 거행하기 위해선 필요합니다!";

close;

 }

 set @item, 2634; //Bride's wedding ring

 if ($wed_groom_sex)

set @item, 2635; //Groom's wedding ring

 if (getnameditem(@item,$wed_groom$) == 0) {

mes "결혼반지를 가지고 있을 충분한 공간이 없으신 것 같군요.";

close;

 }

 mes "여기 신부를 위한 결혼반지입니다.";

 if ($@wed_ring) delitem $@wed_ring,1;

 set $wed_bride_progress,4;

 if ($wed_groom_progress == 4)

SF_StartCeremony();

 else {

mes "신랑님께서 반지를 받으신다면, 결혼식이 시작됩니다.";

close;

 }

}

function SF_StartCeremony {

 mes "지금부터 결혼식을 시작하겠습니다.";

 set $wed_bride_progress,5;

 set $wed_groom_progress,5;

 set $@msg$,$wed_groom$;

 if (strcharinfo(0) == $wed_groom$)

set $@msg$,$wed_bride$;

 if (marriage($@msg$) == 0) {

next;

mes "["+@name$+"]";

mes $@msg$+"님는 어디있습니까?? 한분이라도 계시지 않으면 결혼식을 진행할 수 없습니다.";

close;

 }

 set $wed_bride_progress,6;

 set $wed_groom_progress,6;

 close2;

 if ($@wedding_effect == 1)

attachnpctimer $wed_bride$;

 if ($@wedding_effect == 2)

attachnpctimer $wed_groom$;

 initnpctimer;

 end;

//}

OnTimer1000:

 npctalk "신부 "+$wed_bride$+", 신랑 "+$wed_groom$+"님은 서로를 남편, 아내로 맞이하며 평생동안 사랑하겠습니까?";

 end;

OnTimer3000:

 npctalk "오늘 이 자리에서 두 사람의 영혼을 이어 드립니다. 불멸의 사랑을 만드시길 바랍니다.";

 end;

OnTimer6000:

 npctalk "이시간부로 "+$wed_groom$+"님과 "+$wed_bride$+"님은 부부가 되었음을 선포합니다!";

 SF_wed_end();

 wedding;

// stopnpctimer;

 if ($@wedding_effect)

detachnpctimer;

 end;

}

//Subfunction: Checks that the groom/bride is still wearing their stuff.

function SF_equip_check {

 if (Sex && getequipid(2) != 7170) {

mes "["+@name$+"]";

mes "당신, "+getitemname(7170)+"을 잊지 마세요.";

emotion e_dots;

return 0;

 }

 if (Sex == 0 && getequipid(2) != 2338) {

mes "["+@name$+"]";

mes "이런.. "+getitemname(2338)+"을 결혼식동안 입고 있으셔야합니다.";

emotion e_dots;

return 0;

 }

 if (Sex == 0 && $@wed_veil && getequipid(1) != 2206) {

mes "["+@name$+"]";

mes "아직 "+getitemname(2206)+"을 벗으시면 안됩니다.";

emotion e_dots;

return 0;

 }

 return 1;

}

//Subfunction: Resets wedding variables.

function SF_wed_end {

 set $wed_groom$,"";

 set $wed_groom_sex, 0;

 set $wed_bride$,"";

 set $wed_bride_sex, 0;

 set $wed_groom_progress,0;

 set $wed_bride_progress,0;

 set $wed_progress,0;

}

OnInit:

 if ($wed_groom_progress==6) {

SF_wed_end();

 }

 end;

}

//Registration & Status

prt_church.gat,106,99,3 script 메리 수녀 67,{

 set @name$,"메리 수녀";

 if (getpartnerid() > 0) {

mes "["+@name$+"]";

mes "결혼 생활은 즐거우세요?";

close; 

 }

 function SF_WedProgress;

 function SF_Principles;

 function SF_Procedure;

 function SF_Register;

 function SF_TryRegister;

 if ($wed_progress) {

SF_WedProgress();

end;

 }

 do {

set @menu, select(

 "결혼용품을 구입",

 "결혼하는 방법을 설명해주세요.",

 "결혼 절차좀 설명해주세요.",

 "전 누군가와 결혼하고 싶습니다."

);

switch (@menu) {

case 1: //Quit

 callshop "결혼상점",0;

 close;

case 2: //Principles

 SF_Principles();

 break;

case 3: //Procedure

 SF_Procedure();

 break;

case 4: //Register

 SF_Register();

 break;

}

 } while (@menu > 1);

 end;

function SF_Register {

 if ($@wed_allow) { //Role select

mes "["+@name$+"]";

mes "어느 지위로 등록하시겠어요??";

next;

set @submenu, select("신랑","신부","취소");

 } else if (Sex) { //Groom

mes "["+@name$+"]";

mes "신랑으로 등록하시겠어요?";

next;

if (select("네","마음을 바꿨어요.")==1)

 set @submenu, 1;

else

 set @submenu, 3;

 } else { //Bride

mes "["+@name$+"]";

mes "신부로 등록하시겠어요?";

next;

if (select("네","마음을 바꿨어요.")==1)

 set @submenu, 2;

else

 set @submenu, 3;

 }

 switch (@submenu) {

 case 1: //Groom

SF_TryRegister(0);

setoption Option_Wedding,0;

set $wed_progress,1;

mes "["+@name$+"]";

mes "지금 신랑으로 등록되었습니다.";

mes "가능한 빨리 신부분께도 등록해달라고 말씀해주세요."; 

emotion e_hmm;

initnpctimer;

close;

 case 2: //Bride

SF_TryRegister(1);

setoption Option_Wedding,1;

set $wed_progress,1;

mes "["+@name$+"]";

mes "지금 신부로 등록되었습니다.";

mes "가능한 빨리 신랑분께도 등록해달라고 말씀해주세요.";

emotion e_hmm;

initnpctimer; 

close;

 default: //Cancel

mes "["+@name$+"]";

mes "준비가 되었을때 다시오세요.";

close;

 }



function SF_WedProgress {

 if (strcharinfo(0) == $wed_groom$) {

mes "["+@name$+"]";

if ($wed_bride_progress > 0)

 mes "신부님께서는 다른 결혼식을 진행중이십니다.";

else

 mes "신부에게 등록해달라고 말씀하세요. 시간이 다 되어 갑니다.";

close;

 }

 if (strcharinfo(0) == $wed_bride$) {

mes "["+@name$+"]";

if ($wed_groom_progress > 0)

 mes "신부님께서는 남은 결혼식절차를 진행중이십니다.";

else

 mes "신랑에게 등록해달라고 말씀하세요. 시간이 다 되어 갑니다.";

close;

 }

 if (($wed_groom_progress == 0) && (Sex == 1 || $@wed_allow == 1)) {

mes "["+@name$+"]";

mes $wed_bride$+"님은 지금 신랑의 등록을 기다리고 있습니다. 당신이 신랑인가요?";

next;

if (select("예, 접니다.","죄송합니다, 사람을 잘못보신것 같군요.") == 1) {

 SF_TryRegister(0);

 stopnpctimer;

 set $wed_groom_progress,1;

 mes "["+@name$+"]";

 mes "잘됐네요, 지금 신부님께 가셔서 서약을 재확인 하시면 결혼식이 시작될겁니다.";

 emotion e_no1;

 close2;

 npctalk "등록이 완료되었습니다. "+$wed_groom$+"님과 "+$wed_bride$+"님, 두분의 서약을 신부님께 재확인 해주세요.";

 emotion e_no1;

 end;

} else {

 mes "["+@name$+"]";

 mes "알겠습니다. 제가 방해한것 같군요. 죄송합니다.";

 close;

}

 }

 if (($wed_bride_progress == 0) && (Sex == 0 || $@wed_allow == 1)) {

mes "["+@name$+"]";

mes $wed_groom$+"님은 지금 신부의 등록을 기다리고 있습니다. 당신이 신부인가요?";

next;

if(select("예, 접니다.","죄송합니다, 사람을 잘못보신것 같군요.") == 1) {

 SF_TryRegister(1);

 stopnpctimer;

 mes "["+@name$+"]";

 mes "잘됐네요, 지금 신부님께 가셔서 서약을 재확인 하시면 결혼식이 시작될겁니다.";

 emotion e_no1;

 close2;

 npctalk "등록이 완료되었습니다. "+$wed_groom$+"님과 "+$wed_bride$+"님, 두분의 서약을 신부님께 재확인 해주세요.";

 emotion e_no1;

 end;

} else {

 mes "["+@name$+"]";

 mes "알겠습니다. 제가 방해한것 같군요. 죄송합니다";

 close;

}

 }

 mes "["+@name$+"]";

 mes "진행중인 결혼식이 있습니다.";

 mes "결혼식의 진행과정을 글로써 보시겠습니까?";

 next;

 if (select("네","아니요") != 1) {

mes "["+@name$+"]";

mes "결혼식을 즐겨주세요.";

close;

 }

 //Display Progress

 mes "["+@name$+"]";

 switch ($wed_groom_progress) {

 case 0:

mes "신랑이 아직 등록하지 않았습니다.";

break;

 case 1:

mes "신랑인 "+$wed_groom$+"님은 아직 신부를 받아들이지 않았습니다.";

break;

 case 2:

mes "신랑인 "+$wed_groom$+"님은 신부의 승낙을 기다리고 있습니다.";

break;

 case 3:

mes "신랑인 "+$wed_groom$+"님은 아직 결혼반지를 회수하지 않았습니다.";

break;

 case 4:

mes "신랑인 "+$wed_groom$+"님은 신부가 결혼반지를 회수하는 것을 기다리고 있습니다.";

break;

 }

 switch ($wed_bride_progress) {

 case 0:

mes "신부가 아직 등록하지 않았습니다.";

break;

 case 1:

mes "신부인 "+$wed_bride$+"님은 아직 신랑을 받아들이지 않았습니다.";

break;

 case 2:

mes "신부인 "+$wed_bride$+"님은 신랑의 승낙을 기다리고 있습니다.";

break;

 case 3:

mes "신부인 "+$wed_bride$+"님은 아직 결혼반지를 회수하지 않았습니다.";

break;

 case 4:

mes "신부인 "+$wed_bride$+"님은 신랑의 결혼반지 회수를 기다리고 있습니다."; 

break;

 case 5:

mes "우리는 "+$wed_groom$+"님과 "+$wed_bride$+"님은 결혼식 진행을 기다리고 있습니다.";

break;

 case 6:

mes $wed_groom$+"님과 "+$wed_bride$+"님의 결혼식은 이미 순조롭게 진행되고 있습니다.";

break;

 }

 mes "결혼식의 뒷풀이를 즐겨주세요.";

 close;

}

OnInit:

 if ($wed_groom_progress + $wed_bride_progress == 1)

initnpctimer;

 end;

OnTimer60000:

 //Registration failed.

 if ($wed_bride_progress == 1)

set $@msg$, $wed_bride$;

 else

set $@msg$, $wed_groom$;

 npctalk "등록 기간이 지났습니다. "+$@msg$+"씨와 결혼하고 싶은사람이 아무도 없는겁니까..?";

 emotion e_hmm;

 set $wed_groom$,"";

 set $wed_groom_sex, 0;

 set $wed_bride$,"";

 set $wed_bride_sex, 0;

 set $wed_groom_progress,0;

 set $wed_bride_progress,0;

 set $wed_progress,0;

 stopnpctimer;

 end;

//Subfunction SF_TryRegister (int bride)

function SF_TryRegister {

 set @bride, getarg(0);

 set @type$, "신랑";

 if (@bride)

set @type$, "신부";

 mes "["+@name$+"]";

 mes @type$+"(으)로 등록하기전에, 모든 요구사항이 충족되는지 체크해보겠습니다...";

 next;

 if (Upper == 2) {

mes "["+@name$+"]";

mes "오 이런, 당신은 너무 어려서 결혼을 생각할수 없어욧!";

emotion e_gasp;

close;

 }

 if (Sex)

set @item, 7170;

 else

set @item, 2338;

 if (getequipid(2) != @item) {

mes "["+@name$+"]";

mes "결혼하시길 원하신다면 "+getitemname(@item)+"를 입으셔야 합니다.";

close;

 }

 if (Sex == 0 && $@wed_veil && getequipid(1) != 2206) {

mes "["+@name$+"]";

mes getitemname(2206)+"를 써주세요.";

close;

 }

 if ($@wed_ring && countitem($@wed_ring) < 1) {

mes "["+@name$+"]";

mes "반지 교환을 위해 "+getitemname($@wed_ring)+"이 필요합니다.";

close;

 }

 if (@bride)

set @cost, $@wed_bride_reg;

 else

set @cost, $@wed_groom_reg;

 if (Zeny < @cost) {

mes "["+@name$+"]";

mes "죄송합니다, 등록하실 요금이 부족하군요.";

mes @cost+"제니를 모으신후에 다시와주세요.";

close;

 }

 set Zeny,Zeny-@cost;

// sc_start SC_WEDDING,360000,1; //Start Wedding Effect (SC_WEDDING)

 if (@bride) {

set $wed_bride_progress,1;

set $wed_bride$,strcharinfo(0);

set $wed_bride_sex, Sex;

 } else {

set $wed_groom_progress,1;

set $wed_groom$,strcharinfo(0);

set $wed_groom_sex, Sex;

 }

}

//Explain wedding principles...

function SF_Principles {

 mes "["+@name$+"]";

 mes "주임 목사님께서 이 결혼식의 주례를 보실겁니다. 모든 이에게 자신의 고귀한 말씀으로 축복하시기 위해서죠.";

 next;

 mes "["+@name$+"]";

 mes "프로포즈는 반드시 엄숙하고 신중하게 이루어져야 합니다.";

 mes "혼인이 이루어진 뒤에는 무효화할 수 없기 때문입니다.";

 next;

 mes "["+@name$+"]";

 mes "결혼으로 맺어진 두 사람은 이 세상을 떠날때까지 반드시 서로 함께해야 합니다.";

 next;

 mes "["+@name$+"]";

 if ($@wed_allow == 1)

mes "그리고, 남자와 여자, 여자와 남자만이 결혼할 수 있습니다..";

 else

mes "이성/동성 결혼 모두 허가되었습니다.";

 next;

 mes "["+@name$+"]";

 mes "만약에 당신이 삶에서 함께하고 싶은 특별한 이를 만나면, 부끄러워하지 말고 프로포즈 하세요.";

 next;

 mes "["+@name$+"]";

 mes "오래오래 행복하게 살고 싶은 이들에게 축복이 있기를..";

 next;

}

//Explain the wedding procedure...

function SF_Procedure {

 mes "["+@name$+"]";

 mes "신랑, 신부님 두분께서 결혼 등록을 해 주셔야 합니다.";

 next;

 if ($@wed_allow == 1) {

mes "["+@name$+"]";

mes "등록요구사항은 다음과 같습니다:";

mes "- 남성은 "+getitemname(7170)+"를 입고 있어야한다.";

mes "- 여성은 "+getitemname(2338)+"를 입고 있어야한다.";

if ($@wed_veil) mes "- 여성은 또한 "+getitemname(2206)+"를 쓰고 있어야 한다.";

if ($@wed_ring) mes "- 두사랑은 각각의 "+getitemname($@wed_ring)+"를 가지고 있어야한다.";

if ($@wed_groom_reg > 0) mes "- 신랑의 등록금은 "+$@wed_groom_reg+"제니이다.";

if ($@wed_bride_reg > 0) mes "- 신부의 등록금은 "+$@wed_bride_reg+"제니이다.";

 } else {

mes "["+@name$+"]";

mes "신랑측 필요물품:";

mes "- 결혼식에 입을 "+getitemname(7170)+" 1개.";

if ($@wed_ring) mes "- 서약을 증명할 "+getitemname($@wed_ring)+" 1개.";

if ($@wed_groom_reg > 0) mes "- 결혼식 비용 "+$@wed_groom_reg+"z.";

next;

mes "["+@name$+"]";

mes "신부측 필요물품:";

mes "- 결혼식에 입을 "+getitemname(2338)+" 1개.";

if ($@wed_veil) mes "- 신부를 곱게 해줄 "+getitemname(2206)+" 1개.";

if ($@wed_ring) mes "- 서약을 증명할 "+getitemname($@wed_ring)+".";

if ($@wed_bride_reg > 0) mes "- 결혼식 비용 "+$@wed_bride_reg+"z.";

 }

 next;

 mes "["+@name$+"]";

 mes "이건 왠만해서는 말하고싶지는 않지만, 양자는 너무 어려서 결혼을 할 수 없습니다.";

 mes "신랑과 신부는 각각 정해진 시간내에 등록을 해야합니다. 그렇지 않으면 결혼식은 취소됩니다. 그러므로 두분은 확실히 준비를 하시고 미리 등록요구사항을 충족시켜 놓으세요.";

 next;

 mes "["+@name$+"]";

 mes "두분이 저에게 등록을 하신후에, 두분은 서약을 하기위해 목사님께 가셔서 승인을 받아야 합니다. 만약 당신이 상대측과 등록하는것을 거절할 이유가 있다면, 결혼식은 취소됩니다...";

 next;

 mes "["+@name$+"]";

 mes "두분이 결혼하시기를 결정하시면 결혼식이 시작될 것입니다.";

 if ($@wed_ring) {

mes "하지만 먼저, 미리 반지를 준비해놓으세요.";

next;

mes "["+@name$+"]";

mes "한번더 목사님과 얘기를 하시면 목사님께서 "+getitemname($@wed_ring)+"를 결혼반지로 바꿔 주실겁니다. 두분께서 교환을 위한 결혼반지를 받으신 후에, 결혼식이 시작될 것입니다. ";

 }

 next;

 mes "["+@name$+"]";

 mes "만약 결혼하기는 희망하는 커플이 여러명 있다면, 목사님께서는 한번에 한커플만 결혼식을 진행하실수 있기 때문에 순서를 기다리셔야합니다.";

 next;

}

}

prt_church.gat,94,99,4 script 리사 수녀 79,{

 set @name$,"리사 수녀";

 function SF_DivorceEnd;

 function SF_InProgress;

 if ($@divorce_progress==1) {

SF_InProgress;

end;

 }

 do {

mes "["+@name$+"]";

mes "이혼은 너무나도 슬픈일이죠...";

if (getpartnerid() == 0) {

 mes "타인과 얕은 맹세를 하는건 정말 있어서는 안되는일이에요... 당신도 그렇게 생각하죠?";

 close;

}

mes "혹시.... 이혼을 원하시는건 아니죠?";

next;

set @menu, select(

 "저는 지금 행복합니다.",

 "이혼에 대해 설명해주세요.",

 "이혼절차를 설명해주세요.",

 "이혼하고 싶습니다."

);

switch (@menu) {

case 1:

 mes "["+@name$+"]";

 mes "반가운 소리군요^^.";

 close;

case 2: //Explanation

 mes "["+@name$+"]";

 mes "당신과 아무리 노력해도 맞지 않는다면 이혼하는것이 바람직하겠지요.";

 next;

 break;

case 3: //Requirement

 mes "["+@name$+"]";

 mes "이혼서류를 작성하기 위해 부부의 동의가 필요합니다.";

 mes "서류를 작성하신 후에, 배우자에게 동의를 위한 1분의 시간이 주어집니다, 그러고 나면 이혼하시게 됩니다.";

 if ($@wed_divorce_fee > 0) mes "수수료는 "+$@wed_divorce_fee+"제니이고 이혼을 신청하신분이 아닌 이혼을 확인하신분이 지불합니다.";

 next;

 break;

case 4: //Divorce

 mes "["+@name$+"]";

 mes "당신의 인생은 당신이 결정합니다.";

 mes "정말 이혼을 하시겠습니까?";

 next;

 if (select("잠시만요... 생각할 시간을 주세요.","이혼을 하겠습니다.") != 2) {

mes "["+@name$+"]";

mes "충분히 생각하셔야 합니다.";

close;

 }

 mes "["+@name$+"]";

 set $@divorcee,getpartnerid();

 set $@divorcer$,strcharinfo(0);

 set $@divorce_progress,1;

 initnpctimer;

 mes "좋습니다. 배우자의 확인을 받은후에 이혼서류 수수료를 받겠습니다.";

 close;

}

 } while (@menu > 1);

end;

function SF_InProgress {

 if (strcharinfo(0) == $@divorcer$) {

mes "["+@name$+"]";

mes "...저는 여전히 당신의 배우자가 이혼절차를 확인하길 기다리고 있습니다.";

close;

 }

 if (getcharid(0) != $@divorcee) {

mes "["+@name$+"]";

mes $@divorcer$+"님의 이혼절차를 진행하고 있습니다.";

mes "혹시 그분의 배우자가 누구인지 아세요?";

close;

 }

 //Confirm...

 mes "["+@name$+"]";

 mes $@divorcer$+"님께서 당신과의 이혼을 요청하셨습니다. 당신이 이혼을 받아들이시고 "+$@wed_divorce_fee+"제니를 내신다면, 저는 두분의 이혼절차를 수행할것입니다.";

 mes "이혼에 동의하시겠습니까?";

 next;

 if (select("전 이혼을 원하지 않아요....","예 저도 동의합니다.")!=2) {

mes "["+@name$+"]";

mes "두분이 갈라서는일이 없었으면 좋겠군요.";

emotion e_pat;

callfunc SF_DivorceEnd;

close;

 }

 if (Zeny < $@wed_divorce_fee) {

mes "["+@name$+"]";

mes "음... 이혼서류를 작성하기 위한 수수료가 부족합니다. 배우자분에게 조금 빌리시는게 어떠신가요?";

close;

 }

 if (!(divorce())) {

mes "["+@name$+"]";

mes $@divorcer$+"님께서 안계시군요. 두분이 계시질 않으면 이혼하실수 없습니다...";

emotion e_swt2;

close;

 }

 set Zeny,Zeny-$@wed_divorce_fee;

 announce $@divorcer$+"님께서는 "+strcharinfo(0)+"님과 이혼하셨습니다...",bc_map;

 mes "["+@name$+"]";

 mes "이혼서류작성이 완료되었습니다. 두분은 더 이상 부부가 아닙니다.";

 emotion e_sob;

 SF_DivorceEnd;

 close;

}

function SF_DivorceEnd {

 stopnpctimer;

 set $@divorce_progress,0;

 set $@divorcee,0;

 set $@divorcer$,"";

}

OnTimer60000:

 npctalk "이혼확인의 시간이 지났습니다. "+$@divorcer$+"님의 배우자분께서는 어디로 가버리신건지...";

 emotion e_what;

 SF_DivorceEnd();

 end;

}

- shop 결혼상점 -1,2338:50000,7170:50000,745:10000,2613:100000,2206:50000
 
Last edited by a moderator:
Code:
prontera,156,184,5 script kjfhksdjf 100,{attachnpctimer;initnpctimer;end;OnTimer1000:dispbottom "pass 1"; // OKstopnpctimer;end;}prontera,159,184,5 script kjfhksdjf2 100,{initnpctimer;attachnpctimer;end;OnTimer1000:dispbottom "pass 2"; // attachrid errorend;}
to use attachnpctimer, this command must execute when the timer is not running

https://github.com/HerculesWS/Hercules/blob/master/doc/script_commands.txt#L6195

.

.

initnpctimer;if ($@wedding_effect == 1)attachnpctimer $wed_bride$;if ($@wedding_effect == 2)attachnpctimer $wed_groom$;
change into

if ($@wedding_effect == 1)attachnpctimer $wed_bride$;if ($@wedding_effect == 2)attachnpctimer $wed_groom$;initnpctimer;
AARRGGHHHH stupid {code} break ... fix it yourself <.<

.

.

.

---- offtopic ----

test

set $@haha, 1;$@haha = 1;
set $@haha, 1;

$@haha = 1;
set $@msg$,$wed_groom$;
how come your post got the mailto: stuffs ?
 
Last edited by a moderator:
prontera,156,184,5 script kjfhksdjf 100,{attachnpctimer;initnpctimer;end;OnTimer1000:dispbottom "pass 1"; // OKstopnpctimer;end;}prontera,159,184,5 script kjfhksdjf2 100,{initnpctimer;attachnpctimer;end;OnTimer1000:dispbottom "pass 2"; // attachrid errorend;}to use attachnpctimer, this command must execute when the timer is not runninghttps://github.com/HerculesWS/Hercules/blob/master/doc/script_commands.txt#L6195

.

.

initnpctimer;if ($@wedding_effect == 1)attachnpctimer $wed_bride$;if ($@wedding_effect == 2)attachnpctimer $wed_groom$;change into
Code:
if ($@wedding_effect == 1)attachnpctimer $wed_bride$;if ($@wedding_effect == 2)attachnpctimer $wed_groom$;initnpctimer;
AARRGGHHHH stupid {code} break ... fix it yourself <.<.

.

.

---- offtopic ----

test

set $@haha, 1;$@haha = 1;
set $@haha, 1;

$@haha = 1;
>>set $@msg$,$wed_groom$;
how come your post got the mailto: stuffs ?

AnnieRuru, You are a genius! I mean a Genius, literally! Thank you. you just post one, and my problem that I've been dealing for hours is solved! Thank you so much! Thank you!!

I don't know why mailto: is added. I must have clicked something by mistake. sorry about that.

 
Last edited by a moderator:
Back
Top