Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module "standard.s";
- ///////////////////////////////////////////////////////////////
- //// ////
- //// 발록 원정대 스크립트 ////
- //// ////
- ///////////////////////////////////////////////////////////////
- // 필드셋 종료후 NPC 변수 초기화
- function balog_clearReg {
- field = Field( 105100100 );
- quest = FieldSet( "BalogEnter" );
- quest.setVar( "enter", "" );
- quest.setVar( "dName", "" );
- npc = 1061014;
- master = field.getNpcStrVar( npc, "master" );
- field.setNpcVar( npc, "lastmaster", master );
- // 원정대원 리스트 초기화
- for ( i = 0..13 ) {
- var = "in" + string( i );
- if ( i < 10 ) var = "in0" + string( i );
- field.setNpcVar( npc, var, "" );
- }
- field.setNpcVar( npc, "master", "" );
- field.setNpcVar( npc, "list", "00000000000000" );
- // 블랙 리스트 초기화
- for ( j = 0..9 ) {
- var2 = "noin" + string( j );
- if ( j < 10 ) var = "noin0" + string( j );
- field.setNpcVar( npc, var2, "" );
- }
- field.setNpcVar( npc, "nolist", "0000000000" );
- }
- //easy 모드용
- function easy_balog_clearReg {
- field = Field( 105100100 );
- quest = FieldSet( "BalogEnter" );
- quest.setVar( "Eenter", "" );
- quest.setVar( "EdName", "" );
- npc = 1061014;
- master = field.getNpcStrVar( npc, "Emaster" );
- field.setNpcVar( npc, "Elastmaster", master );
- // 원정대원 리스트 초기화
- for ( i = 0..4 ) {
- var = "Ein0" + string( i );
- field.setNpcVar( npc, var, "" );
- }
- field.setNpcVar( npc, "Emaster", "" );
- field.setNpcVar( npc, "Elist", "00000000000000" );
- // 블랙 리스트 초기화
- for ( j = 0..2 ) {
- var2 = "Enoin0" + string( j );
- field.setNpcVar( npc, var2, "" );
- }
- field.setNpcVar( npc, "Enolist", "0000000000" );
- }
- // 마스터 체크
- function balog_master {
- name = target.sCharacterName;
- if ( self.getStrReg( "master" ) == name ) {
- return;
- } else {
- self.say( "이미 원정대장의 권한을 상실했습니다." );
- end;
- }
- return;
- }
- //easy 모드용
- function easy_balog_master {
- name = target.sCharacterName;
- if ( self.getStrReg( "Emaster" ) == name ) {
- return;
- } else {
- self.say( "이미 원정대장의 권한을 상실했습니다." );
- end;
- }
- return;
- }
- // 원정대 참가 가능 체크
- function balog_entercheck2 {
- quest = FieldSet( "BalogEnter" );
- if ( quest.getVar( "enter" ) == "1" ) {
- self.say( "이미 입장이 결정되었습니다." );
- end;
- }
- return;
- }
- //easy 모드용
- function easy_balog_entercheck2 {
- quest = FieldSet( "BalogEnter" );
- if ( quest.getVar( "Eenter" ) == "1" ) {
- self.say( "이미 입장이 결정되었습니다." );
- end;
- }
- return;
- }
- // 필드셋 리셋
- function balog_reset {
- quest = FieldSet( "BalogEnter" );
- eTime = quest.getQuestTime;
- // target.message( string( eTime ));
- if ( eTime > 302 ) {
- if ( quest.getVar( "reset" ) != "1" ) {
- balog_clearReg;
- quest.setVar( "reset", "1" );
- }
- }
- return;
- }
- // 이지모드 용
- function easy_balog_reset {
- quest = FieldSet( "BalogEnter" );
- eTime = quest.getQuestTime;
- // target.message( string( eTime ));
- if ( eTime > 302 ) {
- if ( quest.getVar( "Ereset" ) != "1" ) {
- easy_balog_clearReg;
- quest.setVar( "Ereset", "1" );
- }
- }
- return;
- }
- //이미 신청했는지 체크
- function( integer ) balog_check( string cName ) {
- for ( i = 0..13 ) {
- reg = "in" + string( i );
- if ( i < 10 ) reg = "in0" + string( i );
- if ( self.getStrReg( reg ) == cName ) {
- return 1;
- end;
- }
- }
- return 0;
- }
- //easy 모드용
- function( integer ) easy_balog_check( string cName ) {
- for ( i = 0..4 ) {
- reg = "Ein0" + string( i );
- if ( self.getStrReg( reg ) == cName ) {
- return 1;
- end;
- }
- }
- return 0;
- }
- //밴 리스트 체크
- function( integer ) balog_bancheck( string cName ) {
- for ( i = 0..9 ) {
- reg = "noin" + string( i );
- if ( i < 10 ) reg = "noin0" + string( i );
- if ( self.getStrReg( reg ) == cName ) {
- return 1;
- end;
- }
- }
- return 0;
- }
- //easy 모드용
- function( integer ) easy_balog_bancheck( string cName ) {
- for ( i = 0..2 ) {
- reg = "Enoin0" + string( i );
- if ( self.getStrReg( reg ) == cName ) {
- return 1;
- end;
- }
- }
- return 0;
- }
- // 이름 가져오기
- function balog_getname {
- cList = "";
- rNum = 0;
- master = self.getStrReg( "master" );
- num = self.getStrReg( "list" );
- for ( i = 0..13 ) {
- if ( substring( num, i, 1 ) == "1" ) rNum++;
- }
- cList = "1번 : #b" + master + "#k (원정대장)" + "\r\n2번 : " + self.getStrReg( "in00" ) + "\r\n3번 : " + self.getStrReg( "in01" ) + "\r\n4번 : " + self.getStrReg( "in02" ) + "\r\n5번 : " + self.getStrReg( "in03" ) + "\r\n6번 : " + self.getStrReg( "in04" ) + "\r\n7번 : " + self.getStrReg( "in05" ) + "\r\n8번 : " + self.getStrReg( "in06" ) + "\r\n9번 : " + self.getStrReg( "in07" ) + "\r\n10번 : " + self.getStrReg( "in08" ) + "\r\n11번 : " + self.getStrReg( "in09" ) + "\r\n12번 : " + self.getStrReg( "in10" ) + "\r\n13번 : " + self.getStrReg( "in11" ) + "\r\n14번 : " + self.getStrReg( "in12" ) + "\r\n15번 : " + self.getStrReg( "in13" );
- self.say( "총 신청자 수는 #b" + ( rNum + 1 ) + "명#k 이며, 신청자 리스트는 다음과 같습니다.\r\n" + cList );
- }
- //easy 모드용
- function easy_balog_getname {
- cList = "";
- rNum = 0;
- master = self.getStrReg( "Emaster" );
- num = self.getStrReg( "Elist" );
- for ( i = 0..4 ) {
- if ( substring( num, i, 1 ) == "1" ) rNum++;
- }
- cList = "1번 : #b" + master + "#k (원정대장)" + "\r\n2번 : " + self.getStrReg( "Ein00" ) + "\r\n3번 : " + self.getStrReg( "Ein01" ) + "\r\n4번 : " + self.getStrReg( "Ein02" ) + "\r\n5번 : " + self.getStrReg( "Ein03" ) + "\r\n6번 : " + self.getStrReg( "Ein04" );
- self.say( "총 신청자 수는 #b" + ( rNum + 1 ) + "명#k 이며, 신청자 리스트는 다음과 같습니다.\r\n" + cList );
- }
- //입장 신청
- function balog_in( string cName ) {
- cList = self.getStrReg( "list" );
- num = 0;
- empty = 0;
- for ( j = 0 .. 13 ) {
- if ( substring( cList, j, 1 ) == "0" ) empty++;
- }
- if ( empty == 0 ) {
- self.say( "이미 신청 가능한 인원이 초과되어 더 이상 신청할 수 없습니다." );
- end;
- }
- for ( i = 0 .. 13 ) {
- if ( substring( cList, i, 1 ) == "0" ) {
- num = i;
- break;
- }
- }
- if ( num == 0 ) {
- self.setStrReg( "in00", cName );
- self.setStrReg( "list", "1" + substring( cList, 1, 13 ) );
- } else if ( num == 13 ) {
- self.setStrReg( "in13", cName );
- self.setStrReg( "list", substring( cList, 0, 13 ) + "1" );
- } else {
- var = "in" + string( num );
- if ( num < 10 ) var = "in0" + string( num );
- self.setStrReg( var, cName );
- self.setStrReg( "list", substring( cList, 0, num ) + "1" + substring( cList, (num+1), (13-num) ));
- }
- master = self.getStrReg( "master" );
- say = cName + "님이 원정대에 참가하였습니다." ;
- self.sendMessage( master, say );
- self.say( "발록 원정대에 등록되었습니다." );
- return;
- }
- //easy 모드용
- function easy_balog_in( string cName ) {
- cList = self.getStrReg( "Elist" );
- num = 0;
- empty = 0;
- if ( target.nLevel > 70 or target.nLevel < 50 ) {
- self.say("레벨조건이 맞지 않아 원정대에 등록할 수 없습니다. 이지모드 발록 원정대는 레벨 50에 70사이 캐릭터만 참여할 수 있습니다.");
- end;
- }
- for ( j = 0 .. 4 ) {
- if ( substring( cList, j, 1 ) == "0" ) empty++;
- }
- if ( empty == 0 ) {
- self.say( "이미 신청 가능한 인원이 초과되어 더 이상 신청할 수 없습니다." );
- end;
- }
- for ( i = 0 .. 4 ) {
- if ( substring( cList, i, 1 ) == "0" ) {
- num = i;
- break;
- }
- }
- if ( num == 0 ) {
- self.setStrReg( "Ein00", cName );
- self.setStrReg( "Elist", "1" + substring( cList, 1, 4 ) );
- } else if ( num == 4 ) {
- self.setStrReg( "Ein04", cName );
- self.setStrReg( "list", substring( cList, 0, 4 ) + "1" );
- } else {
- var = "Ein0" + string( num );
- self.setStrReg( var, cName );
- self.setStrReg( "Elist", substring( cList, 0, num ) + "1" + substring( cList, (num+1), (4-num) ));
- }
- master = self.getStrReg( "Emaster" );
- say = cName + "님이 원정대에 참가하였습니다." ;
- self.sendMessage( master, say );
- self.say( "발록 원정대에 등록되었습니다." );
- return;
- }
- //본인이 취소
- function balog_out( string cName ) {
- cList = self.getStrReg( "list" );
- for ( i = 0..13 ) {
- var = "in" + string( i );
- if ( i < 10 ) var = "in0" + string( i );
- if ( self.getStrReg( var ) == cName ) {
- if ( i == 0 ) {
- self.setStrReg( var, "" );
- self.setStrReg( "list", "0" + substring( cList, 1, 13 ) );
- }
- else if ( i == 13 ) {
- self.setStrReg( var, "" );
- self.setStrReg( "list", substring( cList, 0, 13 ) + "0" );
- }
- else {
- self.setStrReg( var, "" );
- self.setStrReg( "list", substring( cList, 0, i ) + "0" + substring( cList, (i+1), (13-i) ) );
- }
- break;
- }
- }
- master = self.getStrReg( "master" );
- say = cName + "님이 원정대에서 탈퇴하였습니다.";
- self.sendMessage( master, say );
- self.say( "원정대에서 탈퇴하였습니다." );
- return;
- }
- //easy 모드용
- function easy_balog_out( string cName ) {
- cList = self.getStrReg( "Elist" );
- for ( i = 0..4 ) {
- var = "Ein0" + string( i );
- if ( self.getStrReg( var ) == cName ) {
- if ( i == 0 ) {
- self.setStrReg( var, "" );
- self.setStrReg( "Elist", "0" + substring( cList, 1, 4 ) );
- }
- else if ( i == 4 ) {
- self.setStrReg( var, "" );
- self.setStrReg( "Elist", substring( cList, 0, 4 ) + "0" );
- }
- else {
- self.setStrReg( var, "" );
- self.setStrReg( "Elist", substring( cList, 0, i ) + "0" + substring( cList, (i+1), (4-i) ) );
- }
- break;
- }
- }
- master = self.getStrReg( "Emaster" );
- say = cName + "님이 원정대에서 탈퇴하였습니다.";
- self.sendMessage( master, say );
- self.say( "원정대에서 탈퇴하였습니다." );
- return;
- }
- //벤시킬때 리스트 관리
- function balog_ban2( string name ) {
- if ( self.getStrReg( "nolist" ) == "1111111111" ) {
- self.say( "제재 대상은 최대 10명까지 지정할 수 있습니다." );
- end;
- }
- quest = FieldSet( "BalogEnter" );
- quest.setVar( "dName", name );
- v1 = self.askYesNo( "#b" + name + "#k님을 제재 대상에 등록하시겠어요? 제재 대상이 된 캐릭터는 원정대장의 허가가 있기 전에는 다시 신청할 수 없습니다." );
- balog_reset;
- balog_master;
- if ( v1 == 0 ) {
- return;
- } else {
- cList2 = self.getStrReg( "nolist" );
- if ( substring( cList2, 0, 1 ) == "0" ) {
- self.setStrReg( "noin00", name );
- self.setStrReg( "nolist", "1" + substring( cList2, 1, 9 ) );
- } else if ( substring( cList2, 1, 1 ) == "0" ) {
- self.setStrReg( "noin01", name );
- self.setStrReg( "nolist", substring( cList2, 0, 1 ) + "1" + substring( cList2, 2, 8 ) );
- } else if ( substring( cList2, 2, 1 ) == "0" ) {
- self.setStrReg( "noin02", name );
- self.setStrReg( "nolist", substring( cList2, 0, 2 ) + "1" + substring( cList2, 3, 7 ) );
- } else if ( substring( cList2, 3, 1 ) == "0" ) {
- self.setStrReg( "noin03", name );
- self.setStrReg( "nolist", substring( cList2, 0, 3 ) + "1" + substring( cList2, 4, 6 ) );
- } else if ( substring( cList2, 4, 1 ) == "0" ) {
- self.setStrReg( "noin04", name );
- self.setStrReg( "nolist", substring( cList2, 0, 4 ) + "1" + substring( cList2, 5, 5 ) );
- } else if ( substring( cList2, 5, 1 ) == "0" ) {
- self.setStrReg( "noin05", name );
- self.setStrReg( "nolist", substring( cList2, 0, 5 ) + "1" + substring( cList2, 6, 4 ) );
- } else if ( substring( cList2, 6, 1 ) == "0" ) {
- self.setStrReg( "noin06", name );
- self.setStrReg( "nolist", substring( cList2, 0, 6 ) + "1" + substring( cList2, 7, 3 ) );
- } else if ( substring( cList2, 7, 1 ) == "0" ) {
- self.setStrReg( "noin07", name );
- self.setStrReg( "nolist", substring( cList2, 0, 7 ) + "1" + substring( cList2, 8, 2 ) );
- } else if ( substring( cList2, 8, 1 ) == "0" ) {
- self.setStrReg( "noin08", name );
- self.setStrReg( "nolist", substring( cList2, 0, 8 ) + "1" + substring( cList2, 9, 1 ) );
- } else if ( substring( cList2, 9, 1 ) == "0" ) {
- self.setStrReg( "noin09", name );
- self.setStrReg( "nolist", substring( cList2, 0, 9 ) + "1" );
- }
- say = "원정대장이 귀하를 원정대 제재 대상에 등록하였습니다.";
- self.sendMessage( name, say );
- }
- quest.setVar( "dName", "" );
- return;
- }
- //easy 모드용
- function easy_balog_ban2( string name ) {
- if ( self.getStrReg( "Enolist" ) == "111" ) {
- self.say( "제재 대상은 최대 3명까지 지정할 수 있습니다." );
- end;
- }
- quest = FieldSet( "BalogEnter" );
- quest.setVar( "EdName", name );
- v1 = self.askYesNo( "#b" + name + "#k님을 제재 대상에 등록하시겠어요? 제재 대상이 된 캐릭터는 원정대장의 허가가 있기 전에는 다시 신청할 수 없습니다." );
- easy_balog_reset;
- easy_balog_master;
- if ( v1 == 0 ) {
- return;
- } else {
- cList2 = self.getStrReg( "Enolist" );
- if ( substring( cList2, 0, 1 ) == "0" ) {
- self.setStrReg( "Enoin00", name );
- self.setStrReg( "Enolist", "1" + substring( cList2, 1, 2 ) );
- } else if ( substring( cList2, 1, 1 ) == "0" ) {
- self.setStrReg( "Enoin01", name );
- self.setStrReg( "Enolist", substring( cList2, 0, 1 ) + "1" + substring( cList2, 2, 1 ) );
- } else if ( substring( cList2, 2, 1 ) == "0" ) {
- self.setStrReg( "Enoin02", name );
- self.setStrReg( "Enolist", substring( cList2, 0, 2 ) + "1" );
- }
- say = "원정대장이 귀하를 원정대 제재 대상에 등록하였습니다.";
- self.sendMessage( name, say );
- }
- quest.setVar( "EdName", "" );
- return;
- }
- //대장이 밴시키기
- function balog_ban {
- val = self.getStrReg( "list" );
- name00 = self.getStrReg( "in00" );
- name01 = self.getStrReg( "in01" );
- name02 = self.getStrReg( "in02" );
- name03 = self.getStrReg( "in03" );
- name04 = self.getStrReg( "in04" );
- name05 = self.getStrReg( "in05" );
- name06 = self.getStrReg( "in06" );
- name07 = self.getStrReg( "in07" );
- name08 = self.getStrReg( "in08" );
- name09 = self.getStrReg( "in09" );
- name10 = self.getStrReg( "in10" );
- name11 = self.getStrReg( "in11" );
- name12 = self.getStrReg( "in12" );
- name13 = self.getStrReg( "in13" );
- master = self.getStrReg( "master" );
- cList = "";
- if ( name00 != "" ) cList = cList + "\r\n#L0#2번 : " + name00 + "#l";
- if ( name01 != "" ) cList = cList + "\r\n#L1#3번 : " + name01 + "#l";
- if ( name02 != "" ) cList = cList + "\r\n#L2#4번 : " + name02 + "#l";
- if ( name03 != "" ) cList = cList + "\r\n#L3#5번 : " + name03 + "#l";
- if ( name04 != "" ) cList = cList + "\r\n#L4#6번 : " + name04 + "#l";
- if ( name05 != "" ) cList = cList + "\r\n#L5#7번 : " + name05 + "#l";
- if ( name06 != "" ) cList = cList + "\r\n#L6#8번 : " + name06 + "#l";
- if ( name07 != "" ) cList = cList + "\r\n#L7#9번 : " + name07 + "#l";
- if ( name08 != "" ) cList = cList + "\r\n#L8#10번 : " + name08 + "#l";
- if ( name09 != "" ) cList = cList + "\r\n#L9#11번 : " + name09 + "#l";
- if ( name10 != "" ) cList = cList + "\r\n#L10#12번 : " + name10 + "#l";
- if ( name11 != "" ) cList = cList + "\r\n#L11#13번 : " + name11 + "#l";
- if ( name12 != "" ) cList = cList + "\r\n#L12#14번 : " + name12 + "#l";
- if ( name13 != "" ) cList = cList + "\r\n#L13#15번 : " + name13 + "#l";
- if ( self.getStrReg( "list" ) != "00000000000000" ) {
- v0 = self.askMenu( "원정대원 중 누구를 탈퇴시키겠어요?\r\n" + cList );
- balog_reset;
- balog_master;
- } else {
- self.say( "신청한 대원이 없습니다." );
- end;
- }
- cList2 = self.getStrReg( "list" );
- if ( v0 == 0 ) {
- name50 = self.getStrReg( "in00" );
- if ( name50 != name00 ) {
- self.say( name00 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- //칸에서 삭제
- self.setStrReg( "list", "0" + substring( cList2, 1, 13 ) );
- //이름삭제
- self.setStrReg( "in00", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name00, say );
- //밴리스트 등록
- balog_ban2( name00 );
- }
- } else if ( v0 == 1 ) {
- name51 = self.getStrReg( "in01" );
- if ( name51 != name01 ) {
- self.say( name01 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list" , substring( cList2, 0, 1 ) + "0" + substring( cList2, 2, 12 ) );
- self.setStrReg( "in01", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name01, say );
- balog_ban2( name01 );
- }
- } else if ( v0 == 2 ) {
- name52 = self.getStrReg( "in02" );
- if ( name52 != name02 ) {
- self.say( name02 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 2 ) + "0" + substring( cList2, 3, 11 ));
- self.setStrReg( "in02", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name02, say );
- balog_ban2( name02 );
- }
- } else if ( v0 == 3 ) {
- name53 = self.getStrReg( "in03" );
- if ( name53 != name03 ) {
- self.say( name03 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 3 ) + "0" + substring( cList2, 4, 10 ) );
- self.setStrReg( "in03", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name03, say );
- balog_ban2( name03 );
- }
- } else if ( v0 == 4 ) {
- name54 = self.getStrReg( "in04" );
- if ( name54 != name04 ) {
- self.say( name04 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 4 ) + "0" + substring( cList2, 5, 9 ) );
- self.setStrReg( "in04", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name04, say );
- balog_ban2( name04 );
- }
- } else if ( v0 == 5 ) {
- name55 = self.getStrReg( "in05" );
- if ( name55 != name05 ) {
- self.say( name05 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 5 ) + "0" + substring( cList2, 6, 8 ) );
- self.setStrReg( "in05", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name05, say );
- balog_ban2( name05 );
- }
- } else if ( v0 == 6 ) {
- name56 = self.getStrReg( "in06" );
- if ( name56 != name06 ) {
- self.say( name06 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 6 ) + "0" + substring( cList2, 7, 7 ) );
- self.setStrReg( "in06", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name06, say );
- balog_ban2( name06 );
- }
- } else if ( v0 == 7 ) {
- name57 = self.getStrReg( "in07" );
- if ( name57 != name07 ) {
- self.say( name07 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 7 ) + "0" + substring( cList2, 8, 6 ) );
- self.setStrReg( "in07", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name07, say );
- balog_ban2( name07 );
- }
- } else if ( v0 == 8 ) {
- name58 = self.getStrReg( "in08" );
- if ( name58 != name08 ) {
- self.say( name08 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 8 ) + "0" + substring( cList2, 9, 5 ) );
- self.setStrReg( "in08", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name08, say );
- balog_ban2( name08 );
- }
- } else if ( v0 == 9 ) {
- name59 = self.getStrReg( "in09" );
- if ( name59 != name09 ) {
- self.say( name09 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 9 ) + "0" + substring( cList2, 10, 4 ) );
- self.setStrReg( "in09", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name09, say );
- balog_ban2( name09 );
- }
- } else if ( v0 == 10 ) {
- name60 = self.getStrReg( "in10" );
- if ( name60 != name10 ) {
- self.say( name10 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 10 ) + "0" + substring( cList2, 11, 3 ) );
- self.setStrReg( "in10", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name10, say );
- balog_ban2( name10 );
- }
- } else if ( v0 == 11 ) {
- name61 = self.getStrReg( "in11" );
- if ( name61 != name11 ) {
- self.say( name11 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 11 ) + "0" + substring( cList2, 12, 2 ) );
- self.setStrReg( "in11", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name11, say );
- balog_ban2( name11 );
- }
- } else if ( v0 == 12 ) {
- name62 = self.getStrReg( "in12" );
- if ( name62 != name12 ) {
- self.say( name11 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 12 ) + "0" + substring( cList2, 13, 1 ) );
- self.setStrReg( "in12", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name12, say );
- balog_ban2( name12 );
- }
- } else if ( v0 == 13 ) {
- name63 = self.getStrReg( "in13" );
- if ( name63 != name13 ) {
- self.say( name13 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "list", substring( cList2, 0, 13 ) + "0" );
- self.setStrReg( "in13", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name13, say );
- balog_ban2( name13 );
- }
- }
- return;
- }
- //easy 모드용
- function easy_balog_ban {
- val = self.getStrReg( "Elist" );
- name00 = self.getStrReg( "Ein00" );
- name01 = self.getStrReg( "Ein01" );
- name02 = self.getStrReg( "Ein02" );
- name03 = self.getStrReg( "Ein03" );
- name04 = self.getStrReg( "Ein04" );
- master = self.getStrReg( "Emaster" );
- cList = "";
- if ( name00 != "" ) cList = cList + "\r\n#L0#2번 : " + name00 + "#l";
- if ( name01 != "" ) cList = cList + "\r\n#L1#3번 : " + name01 + "#l";
- if ( name02 != "" ) cList = cList + "\r\n#L2#4번 : " + name02 + "#l";
- if ( name03 != "" ) cList = cList + "\r\n#L3#5번 : " + name03 + "#l";
- if ( name04 != "" ) cList = cList + "\r\n#L4#6번 : " + name04 + "#l";
- if ( self.getStrReg( "Elist" ) != "00000000000000" ) {
- v0 = self.askMenu( "원정대원 중 누구를 탈퇴시키겠어요?\r\n" + cList );
- easy_balog_reset;
- easy_balog_master;
- } else {
- self.say( "신청한 대원이 없습니다." );
- end;
- }
- cList2 = self.getStrReg( "Elist" );
- if ( v0 == 0 ) {
- name50 = self.getStrReg( "Ein00" );
- if ( name50 != name00 ) {
- self.say( name00 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- //칸에서 삭제
- self.setStrReg( "Elist", "0" + substring( cList2, 1, 4 ) );
- //이름삭제
- self.setStrReg( "Ein00", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name00, say );
- //밴리스트 등록
- easy_balog_ban2( name00 );
- }
- } else if ( v0 == 1 ) {
- name51 = self.getStrReg( "Ein01" );
- if ( name51 != name01 ) {
- self.say( name01 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "Elist" , substring( cList2, 0, 1 ) + "0" + substring( cList2, 2, 3 ) );
- self.setStrReg( "Ein01", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name01, say );
- easy_balog_ban2( name01 );
- }
- } else if ( v0 == 2 ) {
- name52 = self.getStrReg( "Ein02" );
- if ( name52 != name02 ) {
- self.say( name02 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "Elist", substring( cList2, 0, 2 ) + "0" + substring( cList2, 3, 2 ));
- self.setStrReg( "Ein02", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name02, say );
- easy_balog_ban2( name02 );
- }
- } else if ( v0 == 3 ) {
- name53 = self.getStrReg( "Ein03" );
- if ( name53 != name03 ) {
- self.say( name03 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "Elist", substring( cList2, 0, 3 ) + "0" + substring( cList2, 4, 10 ) );
- self.setStrReg( "Ein03", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name03, say );
- easy_balog_ban2( name03 );
- }
- } else if ( v0 == 4 ) {
- name54 = self.getStrReg( "Ein04" );
- if ( name54 != name04 ) {
- self.say( name04 + "님은 이미 탈퇴한 유저입니다." );
- end;
- } else {
- self.setStrReg( "Elist", substring( cList2, 0, 4 ) + "0" );
- self.setStrReg( "Ein04", "" );
- say = "원정대장이 귀하를 원정대에서 추방하였습니다,";
- self.sendMessage( name04, say );
- easy_balog_ban2( name04 );
- }
- }
- return;
- }
- function balog_banned( string cName ) {
- if ( self.getStrReg( "noin00" ) == cName or self.getStrReg( "noin01" ) == cName or self.getStrReg( "noin02" ) == cName or self.getStrReg( "noin03" ) == cName or self.getStrReg( "noin04" ) == cName or self.getStrReg( "noin05" ) == cName or self.getStrReg( "noin06" ) == cName or self.getStrReg( "noin07" ) == cName or self.getStrReg( "noin08" ) == cName or self.getStrReg( "noin09" ) == cName ) {
- self.say( cName + "님은 원정대장의 제재 대상이므로 참여하실 수 없습니다." );
- end;
- }
- return;
- }
- //easy 모드용
- function easy_balog_banned( string cName ) {
- if ( self.getStrReg( "Enoin00" ) == cName or self.getStrReg( "Enoin01" ) == cName or self.getStrReg( "Enoin02" ) == cName) {
- self.say( cName + "님은 원정대장의 제재 대상이므로 참여하실 수 없습니다." );
- end;
- }
- return;
- }
- function balog_noban {
- cList = "";
- name00 = self.getStrReg( "noin00" );
- if ( name00 != "" ) {
- cList = cList + "\r\n#b#L0#" + name00 + "#l#k";
- }
- name01 = self.getStrReg( "noin01" );
- if ( name01 != "" ) {
- cList = cList + "\r\n#b#L1#" + name01 + "#l#k";
- }
- name02 = self.getStrReg( "noin02" );
- if ( name02 != "" ) {
- cList = cList + "\r\n#b#L2#" + name02 + "#l#k";
- }
- name03 = self.getStrReg( "noin03" );
- if ( name03 != "" ) {
- cList = cList + "\r\n#b#L3#" + name03 + "#l#k";
- }
- name04 = self.getStrReg( "noin04" );
- if ( name04 != "" ) {
- cList = cList + "\r\n#b#L4#" + name04 + "#l#k";
- }
- name05 = self.getStrReg( "noin05" );
- if ( name05 != "" ) {
- cList = cList + "\r\n#b#L5#" + name05 + "#l#k";
- }
- name06 = self.getStrReg( "noin06" );
- if ( name06 != "" ) {
- cList = cList + "\r\n#b#L6#" + name06 + "#l#k";
- }
- name07 = self.getStrReg( "noin07" );
- if ( name07 != "" ) {
- cList = cList + "\r\n#b#L7#" + name07 + "#l#k";
- }
- name08 = self.getStrReg( "noin08" );
- if ( name08 != "" ) {
- cList = cList + "\r\n#b#L8#" + name08 + "#l#k";
- }
- name09 = self.getStrReg( "noin09" );
- if ( name09 != "" ) {
- cList = cList + "\r\n#b#L9#" + name09 + "#l#k";
- }
- // cList = "#L0#1번 : #b\r\n" + self.getStrReg( "noin00" ) + "#l\r\n#L1#2번 : " + self.getStrReg( "noin01" ) + "#l\r\n#L2#3번 : " + self.getStrReg( "noin02" ) + "#l\r\n#L3#" + self.getStrReg( "noin03" ) + "#l\r\n#L4#" + self.getStrReg( "noin04" ) + "#l\r\n#L5#" + self.getStrReg( "noin05" ) + "#l\r\n#L6#" + self.getStrReg( "noin06" ) + "#l\r\n#L7#" + self.getStrReg( "noin07" ) + "#l\r\n#L8#" + self.getStrReg( "noin08" ) + "#l\r\n#L9#" + self.getStrReg( "noin09" ) + "#k#l";
- if ( self.getStrReg( "nolist" ) != "0000000000" ) {
- v0 = self.askMenu( "누구를 신청 허가해 주시겠어요?." + cList );
- balog_reset;
- balog_master;
- } else {
- self.say( "제재 대상인 유저가 없습니다." );
- end;
- }
- cList2 = self.getStrReg( "nolist" );
- if ( v0 == 0 ) {
- self.setStrReg( "nolist", "0" + substring( cList2, 1, 9 ) );
- self.sendMessage( name00, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin00", "" );
- } else if ( v0 == 1 ) {
- self.setStrReg( "nolist" , substring( cList2, 0, 1 ) + "0" + substring( cList2, 2, 8 ) );
- self.sendMessage( name01, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin01", "" );
- } else if ( v0 == 2 ) {
- self.setStrReg( "nolist", substring( cList2, 0, 2 ) + "0" + substring( cList2, 3, 7 ));
- self.sendMessage( name02, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin02", "" );
- } else if ( v0 == 3 ) {
- self.setStrReg( "nolist", substring( cList2, 0, 3 ) + "0" + substring( cList2, 4, 6 ) );
- self.sendMessage( name03, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin03", "" );
- } else if ( v0 == 4 ) {
- self.setStrReg( "nolist", substring( cList2, 0, 4 ) + "0" + substring( cList2, 5, 5 ) );
- self.sendMessage( name04, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin04", "" );
- } else if ( v0 == 5 ) {
- self.setStrReg( "nolist", substring( cList2, 0, 5 ) + "0" + substring( cList2, 6, 4 ) );
- self.sendMessage( name05, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin05", "" );
- } else if ( v0 == 6 ) {
- self.setStrReg( "nolist", substring( cList2, 0, 6 ) + "0" + substring( cList2, 7, 3 ) );
- self.sendMessage( name06, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin06", "" );
- } else if ( v0 == 7 ) {
- self.setStrReg( "nolist", substring( cList2, 0, 7 ) + "0" + substring( cList2, 8, 2 ) );
- self.sendMessage( name07, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin07", "" );
- } else if ( v0 == 8) {
- self.setStrReg( "nolist", substring( cList2, 0, 8 ) + "0" + substring( cList2, 9, 1 ) );
- self.sendMessage( name08, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin08", "" );
- } else if ( v0 == 9 ) {
- self.setStrReg( "nolist", substring( cList2, 0, 9 ) + "0" );
- self.sendMessage( name09, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "noin09", "" );
- }
- return;
- }
- //easy 모드용
- function easy_balog_noban {
- cList = "";
- name00 = self.getStrReg( "Enoin00" );
- if ( name00 != "" ) {
- cList = cList + "\r\n#b#L0#" + name00 + "#l#k";
- }
- name01 = self.getStrReg( "Enoin01" );
- if ( name01 != "" ) {
- cList = cList + "\r\n#b#L1#" + name01 + "#l#k";
- }
- name02 = self.getStrReg( "Enoin02" );
- if ( name02 != "" ) {
- cList = cList + "\r\n#b#L2#" + name02 + "#l#k";
- }
- if ( self.getStrReg( "Enolist" ) != "0000000000" ) {
- v0 = self.askMenu( "누구를 신청 허가해 주시겠어요?." + cList );
- easy_balog_reset;
- easy_balog_master;
- } else {
- self.say( "제재 대상인 유저가 없습니다." );
- end;
- }
- cList2 = self.getStrReg( "Enolist" );
- if ( v0 == 0 ) {
- self.setStrReg( "Enolist", "0" + substring( cList2, 1, 2 ) );
- self.sendMessage( name00, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "Enoin00", "" );
- } else if ( v0 == 1 ) {
- self.setStrReg( "Enolist" , substring( cList2, 0, 1 ) + "0" + substring( cList2, 2, 1 ) );
- self.sendMessage( name01, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "Enoin01", "" );
- } else if ( v0 == 2 ) {
- self.setStrReg( "Enolist", substring( cList2, 0, 2 ) + "0");
- self.sendMessage( name02, "원정대장이 제재를 해제하였습니다. 다시 신청할 수 있습니다." );
- self.setStrReg( "Enoin02", "" );
- }
- return;
- }
- //입장후 단원들에게 메시지 보내기
- function balog_enterMsg {
- msg = "원정대장이 맵에 입장하였습니다. 원정대 조직 시간이 종료되기 전에 맵에 입장해 주세요.";
- name = self.getStrReg( "in00" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in01" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in02" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in03" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in04" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in05" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in06" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in07" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in08" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in09" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in10" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in11" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in12" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "in13" );
- if ( name != "" ) self.sendMessage( name, msg );
- return;
- }
- //easy 모드용
- function easy_balog_enterMsg {
- msg = "원정대장이 맵에 입장하였습니다. 원정대 조직 시간이 종료되기 전에 맵에 입장해 주세요.";
- name = self.getStrReg( "Ein00" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "Ein01" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "Ein02" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "Ein03" );
- if ( name != "" ) self.sendMessage( name, msg );
- name = self.getStrReg( "Ein04" );
- if ( name != "" ) self.sendMessage( name, msg );
- return;
- }
- function( integer ) balog_partycheck {
- num = 0;
- for( i = 0 .. 5 ) {
- nLevel = target.getPartyMemberLevel( i );
- if ( nLevel != 0 ) {
- num++;
- if ( nLevel < 50 ) {
- self.say( "파티에 레벨 50이 되지 않는 캐릭터가 있습니다. 레벨을 맞춰 주세요." );
- return -1;
- }
- }
- }
- return num;
- }
- //easy 모드용
- function( integer ) easy_balog_partycheck {
- num = 0;
- for( i = 0 .. 5 ) {
- nLevel = target.getPartyMemberLevel( i );
- if ( nLevel != 0 ) {
- num++;
- if ( nLevel < 50 or nLevel > 70 ) {
- self.say( "파티에 레벨 50이 되지 않거나, 70을 초과한 캐릭터가 있습니다. 레벨을 맞춰 주세요." );
- return -1;
- }
- }
- }
- return num;
- }
- function( integer ) balog_dateCheck {
- qr = target.questRecord;
- lastDate = qr.getEx( 7221, "lastDate" );
- if ( lastDate == "" ) lastDate = "00/00/00";
- cTime = currentTime;
- cDate = substring( cTime, 0, 8 );
- if ( lastDate != cDate ) qr.setEx( 7221, "eNum", "0" );
- eNum = integer(qr.getEx( 7221, "eNum" ));
- return eNum;
- }
- script "ReactorBalog" {
- rest = FieldSet( "Balog" );
- r = 0 ;
- if ( rest.getReactorState( 0, "center" ) != 1){
- field = Field( 105100300 );
- field.notice( 6, "일반 공격으로 제단을 때려서 체력을 회복하고 있는 발록을 나오게 해야 합니다." );
- r = random( 0, 2 );
- if ( r == 0) rest.setReactorState( 0, "totem1", 1, 0 );
- else if (r == 1) rest.setReactorState( 0, "totem2", 1, 0 );
- else rest.setReactorState( 0, "totem3", 1, 0 );
- rest.setReactorState( 0, "center", 1, 0 );
- }
- }
- // 이지모드 리액터 용
- script "Easy_ReactorBalog" {
- rest = FieldSet( "Easy_Balog" );
- r = 0 ;
- if ( rest.getReactorState( 0, "center" ) != 1){
- field = Field( 105100400 );
- field.notice( 6, "일반 공격으로 제단을 때려서 체력을 회복하고 있는 발록을 나오게 해야 합니다." );
- r = random( 0, 2 );
- if ( r == 0) rest.setReactorState( 0, "totem1", 1, 0 );
- else if (r == 1) rest.setReactorState( 0, "totem2", 1, 0 );
- else rest.setReactorState( 0, "totem3", 1, 0 );
- rest.setReactorState( 0, "center", 1, 0 );
- }
- }
- function( integer ) SelectMode {
- if ( serverType == 1 ) {
- // 노말모드 : 5,10 채널
- // 이지모드 : 나머지 채널 -> 2009.07 변경
- // 개발섭용 0(1채) 이지모드, 1(20세이상) 노말모드
- if ( channelID == 5 or channelID == 10 ) mode = 1;
- else mode = 0;
- }
- else if ( serverType == 2 ) {
- // 테섭, 1채 이지모드 0, 20세채 노말모드
- mode = 1;
- if ( channelID == 2 ) mode = 1;
- else if ( channelID == 0) mode = 0;
- else mode = -1;
- }
- return mode;
- }
- script "balog_accept_" {
- quest = FieldSet( "BalogEnter" );
- qr = target.questRecord;
- val = qr.getState( 2239 );
- field = self.field;
- /*
- if ( target.nLevel <= 200 ) {
- rest = FieldSet( "Balog" );
- t = rest.enter( target.nCharacterID, 0 );
- if ( t == 0 ) {
- eNum = balog_dateCheck;
- target.message( "" + eNum + "" ); // 테스트
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- // rest.setReactorState( 1, "mainReactor", 0, 0 );
- }
- end;
- }
- if ( val == 0 and target.nJob != 900 ) {
- val2 = qr.getState( 2235 );
- if ( val2 == 0 ) self.say( "지금은 발록 원정대에 참가할 수 없어요. 일단 페리온에 계신 만지 스승님과 이야기를 나눠보세요." );
- else self.say( "지금은 발록 원정대에 참가할 수 없어요. 일단 제 얘기를 들어봐 주세요." );
- end;
- }
- */
- if ( target.nLevel < 50 ) {
- self.say( "레벨 50 이상의 유저만이 발록 원정대에 참가할 수 있습니다." );
- end;
- }
- // 이지 모드 발록 선택 추가 (2009.05)
- Mode = SelectMode;
- if ( Mode == 0 ) {
- if ( serverType == 2 ) {
- self.say("현재 계신 채널에서는 #bEasy Mode 발록 원정대#k 참여가 가능합니다. 다른 모드에 참여하고 싶으시면 알맞은 채널로 이동해 주세요.\r\n\r\n#b#i3994115# 5 채널, 10 채널 / 50 ~ 70 레벨 / 3 ~ 6명\r\n#b#i3994116# 15 채널 / 50 레벨 이상 / 6 ~ 15명");
- } else {
- self.say("현재 계신 채널에서는 #bEasy Mode 발록 원정대#k 참여가 가능합니다. 다른 모드에 참여하고 싶으시면 알맞은 채널로 이동해 주세요.\r\n\r\n#b#i3994116# 5, 10 채널 / 50 레벨 이상 / 6 ~ 15명\r\n#b#i3994115# 그 외 전 채널 / 50 ~ 70 레벨 / 3 ~ 6명");
- }
- easy_balog_reset;
- master = self.getStrReg( "Emaster" );
- if ( master == "" ) {
- fNum = FieldSet( "Easy_Balog" ).getUserCount;
- if ( fNum > 0 ) {
- self.say( "이미 먼저 구성된 발록원정대가 발록을 저지하고 있습니다. 여기서 기다리세요." );
- end;
- }
- if ( target.nLevel >= 50 ) {
- if ( target.isPartyBoss == 1 ) {
- ch = easy_balog_check( target.sCharacterName );
- if ( ch == 1 ) {
- easy_balog_reset;
- }
- lastmaster = self.getStrReg( "Elastmaster" );
- if ( target.sCharacterName == lastmaster ) {
- self.say ( "연속으로 원정대장이 될 수 없습니다." );
- end;
- } else {
- eNum = balog_dateCheck;
- if ( eNum < 7 ) {
- v0 = self.askYesNo( "발록 원정대장이 되시겠습니까?" );
- if ( v0 == 0 ) {
- self.say( "원정대장이 되시려면 다시 말을 걸어주세요." );
- end;
- } else {
- result = easy_balog_partycheck;
- if ( result == -1 ) end;
- else if ( result >= 3 ) { //파티원수 체크(원정대장 포함)
- aftermaster = self.getStrReg( "Emaster" );
- if ( aftermaster != "" ) {
- self.say( "이미 " + aftermaster + "님이 원정대장으로 임명되었습니다." );
- end;
- } else {
- quest = FieldSet( "BalogEnter" );
- res = quest.startManually;
- if ( res == 0 ) {
- self.say( "아직 원정대를 조직할 준비가 되지 않았습니다. 잠시 후 다시 시도해 주세요." );
- end;
- }
- quest.resetQuestTime;
- quest.setVar( "Ereset", "" );
- newmaster = target.sCharacterName;
- self.setStrReg( "Emaster", newmaster );
- say = newmaster + "님이 발록 원정대장이 되었습니다. 원정대에 참여하실 분은 지금 신청해 주세요.";
- field.notice( 6, say );
- self.say( "발록 원정대장이 되셨습니다. 5분 이내에 원정대 조직을 마치고, 모든 대원이 입장하여야 합니다." );
- end;
- }
- } else {
- self.say( "3인 이상 파티의 파티장만이 원정대장이 될 수 있습니다." );
- end;
- }
- }
- } else {
- self.say( "발록 원정대는 하루에 7회만 참가하실 수 있습니다. 오늘은 이미 7번 참여하신 것 같네요." );
- end;
- }
- }
- }
- else {
- self.say( "원정대장은 파티장이 신청할 수 있습니다." );
- end;
- }
- } else {
- self.say( "레벨 50 ~ 70, 3인 이상 파티의 파티장만이 원정대장이 될 수 있습니다." );
- end;
- }
- } else {
- if ( target.sCharacterName == master ) {
- quest = FieldSet( "BalogEnter" );
- if ( quest.getVar( "Eenter" ) == "1" ) {
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- qr.set( 7222, "0" );
- registerTransferField( 105100400, "" );
- end;
- }
- if ( quest.getVar( "EdName" ) != "" ) {
- quest.setVar( "EdName", "" );
- }
- v0 = self.askMenu( "발록 원정대장님 무엇을 하시겠습니까? \r\n#b#L0# 원정대 리스트 보기#l\r\n#L1# 원정대에서 추방하기#l\r\n#L2# 제재 유저 허가하기#l\r\n#r#L3# 원정대 결정하고 입장하기#l#k" );
- easy_balog_reset;
- easy_balog_master;
- if ( v0 == 0 ) {
- cList = self.getStrReg( "Elist" );
- start = 0;
- for ( i = 0 .. 4 ) {
- if ( substring( cList, i, 1 ) == "1" ) {
- start = 1;
- break;
- }
- }
- if ( start == 1 ) easy_balog_getname;
- else {
- self.say( "원정대에 신청한 유저가 없습니다." );
- end;
- }
- } else if ( v0 == 1 ){
- cList = self.getStrReg( "Elist" );
- start = 0;
- for ( i = 0 .. 4 ) {
- if ( substring( cList, i, 1 ) == "1" ) {
- start = 1;
- break;
- }
- }
- if ( start == 1 ) easy_balog_ban;
- else {
- self.say( "원정대에 신청한 유저가 없습니다." );
- end;
- }
- } else if ( v0 == 2 ) {
- cList = self.getStrReg( "Enolist" );
- start = 0;
- for ( i = 0 .. 2 ) {
- if ( substring( cList, i, 1 ) == "1" ) {
- start = 1;
- break;
- }
- }
- if ( start == 1 ) easy_balog_noban;
- else {
- self.say( "원정대에 신청한 유저가 없습니다." );
- end;
- }
- } else if ( v0 == 3 ) {
- num = 0;
- list = self.getStrReg( "Elist" );
- for ( i=0 .. 4 ) {
- if ( substring( list, i, 1 ) == "1" ) num++;
- }
- if ( num >= 2 ) { // num(파티원수) + 1(원정대장포함)
- setParty = FieldSet( "Easy_Balog" );
- res = setParty.enter( target.nCharacterID, 0 );
- if ( res == -1 ) self.say( "알 수 없는 이유로 입장할 수 없습니다. 잠시 후에 다시 시도해 주십시오." );
- else if ( res == 1 ) self.say( "파티를 맺어야만 도전할 수 있습니다." );
- else if ( res == 2 ) self.say( "최소 3인 이상의 파티가 퀘스트를 시작할 수 있습니다." );
- else if ( res == 3 ) self.say( "파티원의 레벨이 50이상 80 이하이어야 합니다." );
- else if ( res == 4 ) self.say( "이미 다른 파티가 안으로 들어가 퀘스트 클리어에 도전하고 있는 중입니다." );
- else {
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- easy_balog_enterMsg;
- easy_balog_entercheck2;
- quest = FieldSet( "BalogEnter" );
- quest.setVar( "Eenter", "1" );
- qr.set( 7222, "0" );
- }
- } else {
- self.say( "원정대가 3인 이상이어야 입장할 수 있습니다." );
- end;
- }
- }
- //원정대장이 아닐경우
- } else {
- easy_balog_banned ( target.sCharacterName );
- quest = FieldSet( "BalogEnter" );
- if ( quest.getVar( "Eenter" ) == "1" ) {
- result1 = easy_balog_check( target.sCharacterName );
- if ( result1 == 1) {
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- qr.set( 7222, "0" );
- registerTransferField( 105100400, "" );
- } else {
- self.say( "발록 원정대원이 아니어서 입장할 수 없습니다." );
- end;
- }
- } else {
- master = self.getStrReg( "Emaster" );
- v0 = self.askMenu( "무엇을 하시겠습니까?\r\n#b#L0# 발록 원정대에 참가한다#l\r\n#L1# 발록 원정대에서 탈퇴한다#l\r\n#L2# 원정대원 리스트를 본다.#k" );
- //NPC변수 리셋
- easy_balog_entercheck2;
- easy_balog_reset;
- aftermaster = self.getStrReg( "Emaster" );
- if ( master != "" and master != aftermaster ) {
- self.say( "지난 원정대 신청은 이미 종료되었습니다." );
- end;
- }
- if ( v0 == 0 ) {
- eNum = balog_dateCheck; // 발록 입장 횟수 확인
- if ( eNum >= 7 ) {
- self.say( "발록 원정대는 하루에 7회만 참가하실 수 있습니다. 오늘은 이미 7번 참여하신 것 같네요." );
- end;
- }
- name = target.sCharacterName;
- if ( quest.getVar( "EdName" ) == name ) {
- self.say( "현재 원정대장님이 귀하의 제재 여부를 결정하고 있습니다. 잠시 후 다시 시도해 주세요." );
- end;
- }
- result1 = easy_balog_check( name );
- result2 = easy_balog_bancheck( name );
- if ( result1 != 1 and result2 != 1 ) easy_balog_in( target.sCharacterName );
- else if ( result2 == 1 ) {
- self.say( "#b" + name + "#k님은 원정대장으로부터 참가를 거부당하셨습니다." );
- end;
- }
- else {
- self.say( "이미 원정대에 참여하고 있습니다" );
- end;
- }
- } else if ( v0 == 1 ) {
- result1 = easy_balog_check( target.sCharacterName );
- result2 = easy_balog_bancheck( target.sCharacterName );
- if ( result1 == 1 and result2 != 1) easy_balog_out( target.sCharacterName );
- else if ( result2 == 1 ) {
- self.say ( "원정대장으로 부터 참가를 거부당하였습니다. 원정대장의 허가가 있어야 참가할 수 있습니다." );
- end;
- }
- else {
- self.say( "원정대에 참여하고 있지 않아서 탈퇴할 수 없습니다." );
- end;
- }
- } else if ( v0 == 2 ) {
- easy_balog_getname;
- }
- }
- }
- }
- }
- // 노말 모드 발록
- if ( Mode == 1 ) {
- if ( serverType == 2 ) {
- self.say("현재 계신 채널에서는 #bNormal Mode 발록 원정대#k 참여가 가능합니다. 다른 모드에 참여하고 싶으시면 알맞은 채널로 이동해 주세요.\r\n\r\n#b#i3994115# 5 채널, 10 채널 / 50 ~ 70 레벨 / 3 ~ 6명\r\n#b#i3994116# 15 채널 / 50 레벨 이상 / 6 ~ 15명");
- } else {
- self.say("현재 계신 채널에서는 #bNormal Mode 발록 원정대#k 참여가 가능합니다. 다른 모드에 참여하고 싶으시면 알맞은 채널로 이동해 주세요.\r\n\r\n#b#i3994116# 5, 10 채널 / 50 레벨 이상 / 6 ~ 15명\r\n#b#i3994115# 그 외 전 채널 / 50 ~ 70 레벨 / 3 ~ 6명");
- }
- balog_reset;
- master = self.getStrReg( "master" );
- if ( master == "" ) {
- fNum = FieldSet( "Balog" ).getUserCount;
- if ( fNum > 0 ) {
- self.say( "이미 먼저 구성된 발록원정대가 발록을 저지하고 있습니다. 여기서 기다리세요." );
- end;
- }
- if ( target.nLevel >= 50 ) {
- if ( target.isPartyBoss == 1 ) {
- ch = balog_check( target.sCharacterName );
- if ( ch == 1 ) {
- balog_reset;
- }
- lastmaster = self.getStrReg( "lastmaster" );
- if ( target.sCharacterName == lastmaster ) {
- self.say ( "연속으로 원정대장이 될 수 없습니다." );
- end;
- } else {
- eNum = balog_dateCheck;
- // target.message( "" + eNum + "" ); // 테스트
- if ( eNum < 7 ) {
- v0 = self.askYesNo( "발록 원정대장이 되시겠습니까?" );
- if ( v0 == 0 ) {
- self.say( "원정대장이 되시려면 다시 말을 걸어주세요." );
- end;
- } else {
- result = balog_partycheck;
- if ( result == -1 ) end;
- // else if ( result >= 1 ) {//개발서버
- else if ( result >= 3 ) {
- aftermaster = self.getStrReg( "master" );
- if ( aftermaster != "" ) {
- self.say( "이미 " + aftermaster + "님이 원정대장으로 임명되었습니다." );
- end;
- } else {
- quest = FieldSet( "BalogEnter" );
- res = quest.startManually;
- if ( res == 0 ) {
- self.say( "아직 원정대를 조직할 준비가 되지 않았습니다. 잠시 후 다시 시도해 주세요." );
- end;
- }
- quest.resetQuestTime;
- quest.setVar( "reset", "" );
- newmaster = target.sCharacterName;
- self.setStrReg( "master", newmaster );
- say = newmaster + "님이 발록 원정대장이 되었습니다. 원정대에 참여하실 분은 지금 신청해 주세요.";
- field.notice( 6, say );
- self.say( "발록 원정대장이 되셨습니다. 5분 이내에 원정대 조직을 마치고, 모든 대원이 입장하여야 합니다." );
- end;
- }
- } else {
- self.say( "3인 이상 파티의 파티장만이 원정대장이 될 수 있습니다." );
- end;
- }
- }
- } else {
- self.say( "발록 원정대는 하루에 7회만 참가하실 수 있습니다. 오늘은 이미 7번 참여하신 것 같네요." );
- end;
- }
- }
- }
- else {
- self.say( "원정대장은 파티장이 신청할 수 있습니다." );
- end;
- }
- } else {
- self.say( "레벨 50이 넘는 3인 이상 파티의 파티장만이 원정대장이 될 수 있습니다." );
- end;
- }
- } else {
- if ( target.sCharacterName == master ) {
- quest = FieldSet( "BalogEnter" );
- if ( quest.getVar( "enter" ) == "1" ) {
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- qr.set( 7222, "0" );
- registerTransferField( 105100300, "" );
- end;
- }
- if ( quest.getVar( "dName" ) != "" ) {
- quest.setVar( "dName", "" );
- }
- v0 = self.askMenu( "발록 원정대장님 무엇을 하시겠습니까? \r\n#b#L0# 원정대 리스트 보기#l\r\n#L1# 원정대에서 추방하기#l\r\n#L2# 제재 유저 허가하기#l\r\n#r#L3# 원정대 결정하고 입장하기#l#k" );
- balog_reset;
- balog_master;
- if ( v0 == 0 ) {
- cList = self.getStrReg( "list" );
- start = 0;
- for ( i = 0 .. 13 ) {
- if ( substring( cList, i, 1 ) == "1" ) {
- start = 1;
- break;
- }
- }
- if ( start == 1 ) balog_getname;
- else {
- self.say( "원정대에 신청한 유저가 없습니다." );
- end;
- }
- } else if ( v0 == 1 ){
- cList = self.getStrReg( "list" );
- start = 0;
- for ( i = 0 .. 13 ) {
- if ( substring( cList, i, 1 ) == "1" ) {
- start = 1;
- break;
- }
- }
- if ( start == 1 ) balog_ban;
- else {
- self.say( "원정대에 신청한 유저가 없습니다." );
- end;
- }
- } else if ( v0 == 2 ) {
- cList = self.getStrReg( "nolist" );
- start = 0;
- for ( i = 0 .. 9 ) {
- if ( substring( cList, i, 1 ) == "1" ) {
- start = 1;
- break;
- }
- }
- if ( start == 1 ) balog_noban;
- else {
- self.say( "원정대에 신청한 유저가 없습니다." );
- end;
- }
- } else if ( v0 == 3 ) {
- num = 0;
- list = self.getStrReg( "list" );
- for ( i=0 .. 13 ) {
- if ( substring( list, i, 1 ) == "1" ) num++;
- }
- if ( num >= 5 ) {
- setParty = FieldSet( "Balog" );
- res = setParty.enter( target.nCharacterID, 0 );
- if ( res == -1 ) self.say( "알 수 없는 이유로 입장할 수 없습니다. 잠시 후에 다시 시도해 주십시오." );
- else if ( res == 1 ) self.say( "파티를 맺어야만 도전할 수 있습니다." );
- else if ( res == 2 ) self.say( "최소 3인 이상의 파티가 퀘스트를 시작할 수 있습니다." );
- else if ( res == 3 ) self.say( "파티원의 레벨은 최소 80 이상이어야 합니다." );
- else if ( res == 4 ) self.say( "이미 다른 파티가 안으로 들어가 퀘스트 클리어에 도전하고 있는 중입니다." );
- else {
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- balog_enterMsg;
- balog_entercheck2;
- quest = FieldSet( "BalogEnter" );
- quest.setVar( "enter", "1" );
- qr.set( 7222, "0" );
- }
- } else {
- self.say( "원정대가 6인 이상이어야 입장할 수 있습니다." );
- end;
- }
- }
- //원정대장이 아닐경우
- } else {
- balog_banned ( target.sCharacterName );
- quest = FieldSet( "BalogEnter" );
- if ( quest.getVar( "enter" ) == "1" ) {
- result1 = balog_check( target.sCharacterName );
- if ( result1 == 1) {
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- qr.set( 7222, "0" );
- registerTransferField( 105100300, "" );
- } else {
- self.say( "발록 원정대원이 아니어서 입장할 수 없습니다." );
- end;
- }
- } else {
- master = self.getStrReg( "master" );
- v0 = self.askMenu( "무엇을 하시겠습니까?\r\n#b#L0# 발록 원정대에 참가한다#l\r\n#L1# 발록 원정대에서 탈퇴한다#l\r\n#L2# 원정대원 리스트를 본다.#k" );
- //NPC변수 리셋
- balog_entercheck2;
- balog_reset;
- aftermaster = self.getStrReg( "master" );
- if ( master != "" and master != aftermaster ) {
- self.say( "지난 원정대 신청은 이미 종료되었습니다." );
- end;
- }
- if ( v0 == 0 ) {
- eNum = balog_dateCheck; // 발록 입장 횟수 확인
- if ( eNum >= 7 ) {
- self.say( "발록 원정대는 하루에 7회만 참가하실 수 있습니다. 오늘은 이미 7번 참여하신 것 같네요." );
- end;
- }
- name = target.sCharacterName;
- if ( quest.getVar( "dName" ) == name ) {
- self.say( "현재 원정대장님이 귀하의 제재 여부를 결정하고 있습니다. 잠시 후 다시 시도해 주세요." );
- end;
- }
- result1 = balog_check( name );
- result2 = balog_bancheck( name );
- if ( result1 != 1 and result2 != 1 ) balog_in( target.sCharacterName );
- else if ( result2 == 1 ) {
- self.say( "#b" + name + "#k님은 원정대장으로부터 참가를 거부당하셨습니다." );
- end;
- }
- else {
- self.say( "이미 원정대에 참여하고 있습니다" );
- end;
- }
- } else if ( v0 == 1 ) {
- result1 = balog_check( target.sCharacterName );
- result2 = balog_bancheck( target.sCharacterName );
- if ( result1 == 1 and result2 != 1) balog_out( target.sCharacterName );
- else if ( result2 == 1 ) {
- self.say ( "원정대장으로 부터 참가를 거부당하였습니다. 원정대장의 허가가 있어야 참가할 수 있습니다." );
- end;
- }
- else {
- self.say( "원정대에 참여하고 있지 않아서 탈퇴할 수 없습니다." );
- end;
- }
- } else if ( v0 == 2 ) {
- balog_getname;
- }
- }
- }
- }
- }
- if ( Mode == -1 ) {
- self.say("현재 계신 채널에서는 발록 원정대 참가가 불가능 합니다. 아래 안내를 참고 하셔서 원하시는 채널로 이동해 주세요.\r\n\r\n#b#i3994116# 5, 10 채널 / 50 레벨 이상 / 6 ~ 15명\r\n#b#i3994115# 그 외 전 채널 / 50 ~ 70 레벨 / 3 ~ 6명");
- end;
- }
- }
- // 발록 보너스맵 세팅
- script "balog_bonusSetting" {
- field = target.field;
- nField = field.id;
- if ( nField == 105100301 ) quest = FieldSet( "Balog" );
- else if ( nField == 105100401 ) quest = FieldSet( "Easy_Balog" );
- quest.resetTimeOut( 120 );
- // quest0 = FieldSet( "BalogEnter" );
- // quest0.setReactorState( 0, "balog_gate", 0, 0 );
- }
- // 주문서 랜덤
- function ( integer ) rn_Create ( integer Type ) {
- if ( Type == 0 ) {
- r = random( 0, 99 );
- if ( r >= 0 and r < 5 ) sn = 5;
- else if ( r >= 5 and r < 10 ) sn = 6;
- else if ( r >= 10 and r < 15 ) sn = 7;
- else if ( r >= 15 and r < 20 ) sn = 8;
- else if ( r >= 20 and r < 25 ) sn = 9;
- else if ( r >= 25 and r < 30 ) sn = 10;
- else if ( r >= 30 and r < 50 ) sn = 11;
- else sn = 12;
- }
- else if ( Type == 1 ) {
- r = random( 0, 99 );
- if ( r >= 0 and r < 5 ) sn = 1;
- else if ( r >= 5 and r < 10 ) sn = 2;
- else if ( r >= 10 and r < 15 ) sn = 3;
- else if ( r >= 15 and r < 20 ) sn = 4;
- else if ( r >= 20 and r < 32 ) sn = 5;
- else if ( r >= 32 and r < 44 ) sn = 6;
- else if ( r >= 44 and r < 56 ) sn = 7;
- else if ( r >= 56 and r < 68 ) sn = 8;
- else if ( r >= 68 and r < 80 ) sn = 9;
- else if ( r >= 80 and r < 92 ) sn = 10;
- else sn = 11;
- }
- else if ( Type == 2 ) {
- r = random( 0, 999 );
- if ( r >= 0 and r < 150 ) sn = 1;
- else if ( r >= 150 and r < 300 ) sn = 2;
- else if ( r >= 300 and r < 450 ) sn = 3;
- else if ( r >= 450 and r < 600 ) sn = 4;
- else if ( r >= 600 and r < 665 ) sn = 5;
- else if ( r >= 665 and r < 730 ) sn = 6;
- else if ( r >= 730 and r < 795 ) sn = 7;
- else if ( r >= 795 and r < 860 ) sn = 8;
- else if ( r >= 860 and r < 925 ) sn = 9;
- else if ( r >= 9250 and r < 990 ) sn = 10;
- else sn = 11;
- }
- else if ( Type == 3 ) {
- r = random( 0, 999 );
- if ( r >= 0 and r < 20 ) sn = 0;
- else if ( r >= 20 and r < 170 ) sn = 1;
- else if ( r >= 170 and r < 320 ) sn = 2;
- else if ( r >= 320 and r < 470 ) sn = 3;
- else if ( r >= 470 and r < 620 ) sn = 4;
- else if ( r >= 620 and r < 715 ) sn = 5;
- else if ( r >= 715 and r < 810 ) sn = 6;
- else if ( r >= 810 and r < 905 ) sn = 7;
- else sn = 8;
- }
- if ( sn == 12 ) item = 0;
- else if ( sn == 1 ) item = 2040728;
- else if ( sn == 2 ) item = 2040729;
- else if ( sn == 3 ) item = 2040730;
- else if ( sn == 4 ) item = 2040731;
- else if ( sn == 5 ) item = 2040732;
- else if ( sn == 6 ) item = 2040733;
- else if ( sn == 7 ) item = 2040734;
- else if ( sn == 8 ) item = 2040735;
- else if ( sn == 9 ) item = 2040736;
- else if ( sn == 10 ) item = 2040737;
- else if ( sn == 11 ) item = 2040738;
- else if ( sn == 0 ) item = 2040739;
- else item = 0;
- return item;
- }
- // 발록의 가죽으로 주문서 교환
- script "balog_scroll" {
- inven = target.inventory;
- v1 = self.askMenu( "또 왔어? 자주 보네? 꽤 한가한가봐? 나한테 부탁할게 있는 눈치네? 뭐 발록의 가죽이라도 구해 온거야?#b\r\n\r\n#L0#발록의 가죽조각으로 주문서를 만들어 주세요#l\r\n#L4#발록의 가죽조각 20개로 가죽신발을 만들어 주세요.#k" );
- if ( v1 == 4 ) {
- if ( inven.itemCount( 4001261 ) < 20 ) {
- self.say( "그런데 발록의 가죽조각을 충분히 가지고 있지 않은것 같은데... 재료가 모자르다고. 이래서야 어디 신발을 만들어볼 수나 있겠어?" );
- }
- else {
- ret = inven.exchange( 0, 4001261, -20, 1072375, 1 );
- if ( ret == 0 ) self.say( "재료를 제대로 가지고 있는지, 혹시 장비 창에 빈 칸이 부족한건 아닌지 확인해 보게." );
- else self.say( "어때 머진 신발이지? 보기엔 평범해 보여도 발록의 가죽으로 만든 신발이라서 굉장히 튼튼하다고." );
- }
- end;
- }
- // 인벤토리 칸 부족
- if ( inven.slotCount(2) <= inven.holdCount(2)) {
- self.say( "주문서를 받고 싶다면 소비칸을 한 칸 이상 비워놓으라고." );
- end;
- }
- if ( v1 == 0 ) {
- // item = rn_Create( 0 );
- // num = 1;
- // 원하는 주문서를 받을 수 있도록 변경
- v2 = self.askMenu( "어떤 주문서를 만들어줄까? 주문서의 종류에 따라 필요한 가죽의 갯수가 달라.#b\r\n\r\n#L12#잠시만요, 나중에 만들래요.#l\r\n#L0#발록의 가죽조각 5개 - #i2040734:# #t2040734##l\r\n#L1#발록의 가죽조각 5개 - #i2040735:# #t2040735##l\r\n#L2#발록의 가죽조각 5개 - #i2040736:# #t2040736##l\r\n#L3#발록의 가죽조각 5개 - #i2040737:# #t2040737##l\r\n#L4#발록의 가죽조각 5개 - #i2040738:# #t2040738##l\r\n#L5#발록의 가죽조각 10개 - #i2040728:# #t2040728##l\r\n#L6#발록의 가죽조각 10개 - #i2040729:# #t2040729##l\r\n#L7#발록의 가죽조각 10개 - #i2040730:# #t2040730##l\r\n#L8#발록의 가죽조각 10개 - #i2040731:# #t2040731##l\r\n#L9#발록의 가죽조각 10개 - #i2040732:# #t2040732##l\r\n#L10#발록의 가죽조각 10개 - #i2040733:# #t2040733##l\r\n#L11#발록의 가죽조각 10개 - #i2040739:# #t2040739##l" );
- if( v2 == 0 ) {
- item = 2040734;
- num = 5;
- }
- else if ( v2 == 1 ){
- item = 2040735;
- num = 5;
- }
- else if ( v2 == 2 ){
- item = 2040736;
- num = 5;
- }
- else if ( v2 == 3 ){
- item = 2040737;
- num = 5;
- }
- else if ( v2 == 4 ){
- item = 2040738;
- num = 5;
- }
- else if ( v2 == 5 ){
- item = 2040728;
- num = 10;
- }
- else if ( v2 == 6 ){
- item = 2040729;
- num = 10;
- }
- else if ( v2 == 7 ){
- item = 2040730;
- num = 10;
- }
- else if ( v2 == 8 ){
- item = 2040731;
- num = 10;
- }
- else if ( v2 == 9 ){
- item = 2040732;
- num = 10;
- }
- else if( v2 == 10 ){
- item = 2040733;
- num = 10;
- }
- else if( v2 == 11) {
- item = 2040739;
- num = 10;
- }
- else{
- self.say("변덕은...그래, 필요한 게 생각나면 다시 찾아오라구.");
- end;
- }
- }
- else if ( v1 == 1 ) {
- item = rn_Create( 1 );
- num = 7;
- }
- else if ( v1 == 2 ) {
- item = rn_Create( 2 );
- num = 20;
- }
- else if ( v1 == 3 ) {
- item = rn_Create( 3 );
- num = 30;
- }
- else {
- item = 0;
- num = 0;
- }
- // 재료 부족
- if ( inven.itemCount( 4001261 ) < num ) {
- self.say( "그런데 발록의 가죽조각을 충분히 가지고 있지 않은것 같은데... 재료가 모자르다고. 이래서야 어디 주문서를 만들어볼 수나 있겠어?" );
- end;
- }
- if ( item != 0 ) {
- ret = inven.exchange( 0, 4001261, -num, item, 1 );
- if ( ret == 0 ) self.say( "재료를 제대로 가지고 있는 건 맞아?" );
- else self.say( "#b#t" + item + "##k를 받았군. 성공하길 빌어주지." );
- }
- else {
- ret2 = inven.exchange( 0, 4001261, -num );
- self.say( "저런 꽝이군. 오늘은 운수가 별로 안 좋은가 보지?" );
- }
- }
- // 퀘스트맵 입장 시 발동
- script "tristan_questMap" {
- map = target.getFieldID;
- field = Field( map );
- field.registerOnMobCreate( "tristan_clear", 9300327 );
- field.weatherMsg( 5120000, "어둠 속에서 나타난 주니어발록을 물리쳐라!", 15 );
- }
- // 퀘스트맵에서 트리스탄의 영혼 소환용
- script "tristan_clear" {
- map = target.getFieldID;
- field = Field( map );
- field.summonNpc( 1061015, 0, 171 );
- }
- // 보스맵 입장 시, 보스 소환용 스크립트
- script "balog_summon" {
- field = Field( 105100300 );
- mob = field.getMobCount( 8830000 );
- if ( mob == 0 ) {
- field.summonMob( 400, 235, 2100132 );
- field.summonMob( 400, 235, 2100133 );
- // 기상효과 안내
- field.weatherMsg( 5120025, "무영의 말 : 제가 봉인의 힘을 다시 일깨울 때까지 여러분이 발록을 저지해 주세요!", 15 );
- }
- // 리액터 조작
- // quest = FieldSet( "BalogEnter" );
- // quest.setReactorState( 0, "balog_gate", 1, 0 );
- }
- // 보스맵 입장 시, 개인별로 버프 지급
- script "balog_buff" {
- lv = target.nLevel;
- inven = target.inventory;
- map = target.getFieldID;
- // 봉인 버프
- if ( lv > 70 ) {
- target.giveBuff( 2022536 );
- // target.message( "당신의 능력이 뛰어나서 지하신전 봉인의 기운이 당신의 능력을 억누르고 있습니다." );
- }
- have = inven.itemCount( 1302015 );
- take = target.isWear( 1302015 );
- if ( have == 1 or take == 1 ) {
- target.giveBuff( 2022537 );
- // target.message( "영웅의 글라디우스가 빛나기 시작하면서 당신에게 힘이 되어 주었습니다." );
- }
- if ( map == 105100400 ) logEvent( "EasyBalogStart_" + target.sCharacterName + "_" + target.nLevel + "_" + target.nJob + "_" + currentTime );
- }
- // 보너스맵에서 나오는 포탈용 스크립트
- script "balog_end" {
- inven = target.inventory;
- qr = target.questRecord;
- nField = target.getFieldID;
- if ( qr.get( 7222 ) == "1" ) {
- if ( inven.slotCount(4) > inven.holdCount(4)) {
- ret = inven.exchange( 0, 4001261, 1 );
- if ( ret == 0 ) target.message( "기타창에 빈 칸을 한 칸 이상 만드세요." );
- else {
- target.message( "땅에 떨어진 발록의 가죽조각을 주웠다." );
- // EXP지급 및 로그 기록
- if ( nField == 105100301 ) {
- target.incEXP( 48840, 0 );
- logEvent( "BalogEXP_" + target.sCharacterName + "_" + target.nLevel + "_" + target.nJob + "_" + target.getFieldID );
- // 레인보우 위크
- deExp = dayEvent( "boss", 48840 );
- if ( deExp != 0 ) {
- target.incEXP( deExp, 0 );
- target.message( "레인보우 위크:보라색 마법의 힘으로 추가 경험치를 획득했습니다." );
- }
- } else if ( nField == 105100401 ) {
- target.incEXP( 35520, 0 );
- logEvent( "EasyBalogClear_" + target.sCharacterName + "_" + target.nLevel + "_" + target.nJob + "_" + currentTime );
- // 레인보우 위크
- deExp = dayEvent( "boss", 35520 );
- if ( deExp != 0 ) {
- target.incEXP( deExp, 0 );
- target.message( "레인보우 위크:보라색 마법의 힘으로 추가 경험치를 획득했습니다." );
- }
- if ( serverType == 2 ) testerPointAdd (6);
- }
- qr.set( 7222, "0" );
- // 발록 퇴치 횟수 기록
- qr = target.questRecord;
- n = integer(qr.get( 7220 ));
- n++;
- qr.set( 7220, string( n ));
- // 버프 캔슬
- target.cancelBuff( 2022536 );
- target.cancelBuff( 2022537 );
- // 맵이동
- target.playPortalSE;
- registerTransferField( 105100100, "" );
- }
- }
- else target.message( "기타창에 빈 칸을 한 칸 이상 만드세요." );
- }
- }
- // 트리스탄의 무덤 상시 출입
- script "tristanEnter" {
- qr = target.questRecord;
- val = qr.getState( 2238 );
- v = qr.getState( 2634 );
- if( v == 1 ) {
- target.playPortalSE;
- registerTransferField( 105100101, "out00" );
- }
- if ( val == 2 ) {
- target.playPortalSE;
- registerTransferField( 105100101, "out00" );
- }
- else {
- target.message( "트리스탄의 영혼 : 아직 그대에게는 이곳을 지나갈 자격이 없다." );
- }
- }
- // 트리스탄의 후계자 훈장
- script "q2244e" {
- qr = target.questRecord;
- inven = target.inventory;
- n = integer(qr.get( 7220 ));
- if ( n >= 200 ){
- self.say( "발록의 봉인은 100번이나 제지하다니...나의 후계자가 될 조건이 충분하네. 지금부터 자네는 내 후계자일세.\r\n\r\n#i1142079:#" );
- ret = inven.exchange( 0, 1142079, 1 );
- if ( ret == 0 ) self.say( "장비칸이 한 칸 이상 비었는지 확인해 보게." );
- else {
- target.questEndEffect;
- qr.setState( 2244, 2 );
- }
- }
- else self.say( "나의 후계자가 되려면 아직 더 많은 노력이 필요하네. 더욱 정진하도록 하게.\r\n\r\n#b발록퇴치 횟수 : " + n + " / 200" );
- }
- // 지하신전 출입
- script "balogTemple" {
- qr = target.questRecord;
- val = qr.getState( 2235 );
- // if ( val == 1 or val == 2 ) {
- target.playPortalSE;
- registerTransferField( 105100000, "top00" );
- // }
- // else target.message( "위험한 기운에 가로막혀 들어갈 수 없습니다." );
- }
- // 보스맵안의 무영
- script "balog_InOut" {
- v1 = self.askYesNo( "포기하고 나가시겠어요?" );
- if ( v1 == 0 ) self.say( "조금만 더 힘내세요." );
- else {
- // 버프 캔슬
- target.cancelBuff( 2022536 );
- target.cancelBuff( 2022537 );
- target.playPortalSE;
- registerTransferField( 105100100, "" );
- }
- }
- // 하루 참가 횟수 기록
- script "balog_dateSet" { // 발록 참가 횟수 정보 기록
- qr = target.questRecord;
- /*
- eNum = integer(qr.getEx( 7221, "eNum" ));
- eNum++;
- qr.setEx( 7221, "eNum", string( eNum ));
- if ( target.isMaster == 1 ) target.message( "입장 횟수 : " + eNum + "" );
- cTime = currentTime;
- cDate = substring( cTime, 0, 8 );
- qr.setEx( 7221, "lastDate", cDate );
- */
- qr = target.questRecord;
- date = qr.getEx( 7221, "lastDate" );
- count = integer(qr.getEx( 7221, "eNum" ));
- cDate = substring( currentTime, 0, 8 );
- if ( date == cDate ) {
- count++;
- qr.setEx( 7221, "eNum", string(count) );
- }
- else {
- qr.setEx( 7221, "eNum", "1" );
- }
- qr.setEx( 7221, "lastDate", cDate );
- if ( target.isMaster == 1 ) target.message( "입장 횟수 : " + qr.getEx( 7221, "eNum" ) + "" );
- }
- script "outCase" {
- target.cancelBuff( 2022536 );
- target.cancelBuff( 2022537 );
- }
- script "Reactorfail" {
- }
- script "Reactorsuccess" {
- }
- // 이지모드 발록, 보스 맵 입장
- script "easy_balog_summon" {
- field = Field( 105100400 );
- mob = field.getMobCount( 8830007 );
- if ( mob == 0 ) {
- field.summonMob( 400, 235, 2100136 );
- field.summonMob( 400, 235, 2100137 );
- // 기상효과 안내
- field.weatherMsg( 5120025, "무영의 말 : 제가 봉인의 힘을 다시 일깨울 때까지 여러분이 발록을 저지해 주세요!", 15 );
- }
- }
- script "OutPerrion_1" {
- qr = target.questRecord;
- val = qr.get( 7223 );
- if ( val == "1" ) {
- qr.set( 7223, "0");
- target.playPortalSE;
- registerTransferField( 102000000, "st00" );
- } else {
- target.message("이 포탈을 이용하실 수 없습니다.");
- }
- }
- // 신전의 밑바닥 상층부 포탈용_ 페리온 통해서 온 유저 이동 제한
- script "OutPerrion_2" {
- qr = target.questRecord;
- val = qr.get( 7223 );
- if ( val == "1" ) {
- target.screenMessage("이 곳을 통해 이동 하실 수 없습니다. 왼쪽 가장 아래 있는 포탈로 이동하십시요.");
- } else {
- target.playPortalSE;
- registerTransferField( 105100000, "st00" );
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////////////////
- ////// ////////////////////////////////////////////////////////////////
- ///// 발록원정대(뉴) ////////////////////////////////////////////////////////////////
- //// ////////////////////////////////////////////////////////////////
- // 모드체크
- function (integer) balog_checkMode { // 0 = easy, 1 = normal
- mode = 0;
- /* if ( serverType == 1 ) { //2011.12.29 슬리피우드 개편, 발록 모드 통합
- if ( channelID == 5 or channelID == 10 ) mode = 1;
- }
- else {
- if ( channelID == 1 ) mode = 1;
- }
- */
- return mode;
- }
- // 엔터 필드 타임 체크
- function (integer) balog_enterFieldTime ( string FSname ) {
- quest = FieldSet( FSname );
- efTime = quest.getQuestTime;
- return efTime;
- }
- // 하루 입장 제한 체크
- function (integer) balog_dayEnterCount {
- qr = target.questRecord;
- date = qr.getEx( 7221, "lastDate" );
- count = integer(qr.getEx( 7221, "eNum" ));
- cDate = substring( currentTime, 0, 8 );
- if ( date == cDate ) return count;
- return 0;
- }
- // 입장 시, 입장 횟수 카운팅
- function balog_update_enterCount {
- qr = target.questRecord;
- date = qr.getEx( 7221, "lastDate" );
- count = integer(qr.getEx( 7221, "eNum" ));
- cDate = substring( currentTime, 0, 8 );
- if ( date == cDate ) {
- count++;
- qr.setEx( 7221, "eNum", string(count) );
- }
- else {
- qr.setEx( 7221, "eNum", "1" );
- }
- qr.setEx( 7221, "lastDate", cDate );
- return;
- }
- // 원정대원인지 확인하기
- function (integer) balog_check_ex {
- ex = target.getExpeditionMemberCount;
- check = 0;
- if ( ex > 0 ) check = 1;
- return check;
- }
- // 입장
- script "balog_accept" {
- qr = target.questRecord;
- field = self.field;
- waitFS = "BalogEnter";
- // 모드별 설정
- if ( balog_checkMode == 0 ) { // easy
- minLv = 45;
- maxLv = 200; //2011.12.29 슬리피우드 개편, 레벨 제한 변경
- minMember = 1;
- maxMember = 6;
- modeType = "이지";
- exIDval = "EexID";
- masterVal = "Emaster";
- lastMasterVal = "Elastmaster";
- enterMap = 105100400;
- bossFS = "Easy_Balog";
- exType = 2000;
- }
- else { // normal
- minLv = 50;
- maxLv = 200;
- minMember = 6;
- maxMember = 15;
- modeType = "노말";
- exIDval = "exID";
- masterVal = "master";
- lastMasterVal = "lastmaster";
- enterMap = 105100300;
- bossFS = "Balog";
- exType = 2001;
- }
- if ( target.isMaster == 1 ) minMember = 1;
- // 레벨 제한
- if ( target.nLevel < minLv or target.nLevel > maxLv ) {
- self.say( "이 안에 봉인되어 있는 발록은 너무나도 위험한 놈이기 때문에, 자격을 갖춘 용사만이 #e<발록 원정대>#n에 참가할 수 있습니다. \r\n" + minLv + "레벨 부터 " + maxLv + "레벨까지 참여할 수 있습니다." );
- end;
- }
- // 채널 안내
- //self.say("현재 계신 채널에서는 #b" + modeType + "모드 발록 원정대#k 참여가 가능합니다. 다른 모드에 참여하고 싶으시면 알맞은 채널로 이동해 주세요.\r\n\r\n#b 모든 채널 / 45레벨 이상 / 1 ~ 6명#k");
- // enter필드셋 시간 체크 및 변수 리셋
- efTime = balog_enterFieldTime( waitFS );
- if ( efTime > 302 ) {
- master = self.getStrReg( masterVal );
- if ( master != "" ) self.setStrReg( lastMasterVal, master );
- self.setStrReg( masterVal, "" );
- self.setStrReg( exIDval, "" );
- }
- // 1일 입장 횟수 제한
- if ( balog_dayEnterCount >= 7 ) {
- self.say( "오늘 하루 7번이나 입장했었네? 그렇다면 오늘은 더 이상 들어갈 수 없어. 내일 다시 시도해줘." );
- end;
- }
- // 원정대장일 때
- if ( target.isExpeditionMaster == 1 ) {
- menu = "#e<발록 원정대>#n\r\n이 너머에는 발록이 봉인되어 있어. 하지만 최근 발록의 봉인이 불안정해 졌어. 가능한 빨리 발록의 봉인을 강화시켜야해..\r\n(모든 채널 / 45레벨 이상 / 1 ~ 6명)\r\n#b";
- if ( efTime > 302 ) menu = menu + "\r\n#L0# 발록원정대 입장을 신청한다.#l";
- else if ( efTime <= 302 and self.getIntReg( exIDval ) == target.getExpeditionID ) menu = menu + "\r\n#L1# 재입장 한다.#l";
- else {
- self.say( "#e<발록 원정대>#n\r\n이 너머에는 발록이 봉인되어 있어. 하지만 최근 발록의 봉인이 불안정해 졌어. 가능한 빨리 발록의 봉인을 강화시켜야해.\r\n#b\r\n현재 접속한 채널에서는 다른 원정대가 입장을 하고 있어. 다른 채널에서 진행해줘." );
- end;
- }
- v0 = self.askMenu( menu );
- // 입장 신청
- if ( v0 == 0 ) {
- // 원정대 타입 확인
- Type = target.getExpeditionType;
- if ( exType != Type ) {
- self.say( "현재 #b#h0##k님이 구성하신 원정대는 " + modeType + " 모드 <발록 원정대>가 아닙니다. 다시 한번 확인해 주세요." );
- end;
- }
- // 연속해서 같은 원정대장이 입장을 시도할 때
- lastmaster = self.getStrReg( lastMasterVal );
- if ( target.sCharacterName == lastmaster ) {
- self.say ( "연속으로 원정대장이 될 수는 없어. 원정대장을 바꿔서 다시 신청해줘." );
- end;
- }
- // 원정대원의 숫자 확인
- exCount = target.getExpeditionMemberCount;
- if ( exCount < minMember ) {
- self.say( "원정대가 " + minMember + "명 이상으로 구성되어야 입장할 수 있어." );
- end;
- }
- // 입장 시도:필드셋 발동
- setParty = FieldSet( bossFS );
- res = setParty.enter( target.nCharacterID, 0 );
- // res = setParty.enter( target.nCharacterID, 1 );
- if ( res == -1 ) self.say( "알 수 없는 이유로 입장할 수 없습니다. 잠시 후에 다시 시도해 주십시오." );
- else if ( res == 1 ) self.say( "파티를 맺어야만 도전할 수 있습니다." );
- else if ( res == 2 ) self.say( "최소 " + minMember + "인 이상의 파티가 퀘스트를 시작할 수 있습니다." );
- else if ( res == 3 ) self.say( "파티원의 레벨은 최소 " + minLv + " 이상이어야 합니다." );
- else if ( res == 4 ) self.say( "이미 다른 원정대가 안으로 들어가 퀘스트 클리어에 도전하고 있는 중입니다." );
- else {
- quest = FieldSet( waitFS );
- res = quest.startManually;
- if ( res == 0 ) {
- self.say( "아직 원정대를 조직할 준비가 되지 않았습니다. 잠시 후 다시 시도해 주세요." );
- end;
- }
- quest.resetQuestTime;
- quest.setVar( "reset", "" );
- self.setStrReg( masterVal, target.sCharacterName );
- self.setIntReg( exIDval, target.getExpeditionID );
- // balog_update_enterCount;
- // 발록 전용
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- qr.set( 7222, "0" );
- self.announceToExpedition( target.getExpeditionID, "" + target.sCharacterName + "님이 원정대 입장을 선언하셨습니다. 원정대 조직 시간이 종료되기 전에 맵에 입장해 주세요." );
- }
- }
- // 재입장을 시도
- else if ( v0 == 1 ) {
- efTime = balog_enterFieldTime( waitFS );
- if ( efTime > 302 ) {
- self.say("재입장 가능 시간(5분)을 초과 하여 재입장 할 수 없습니다.");
- end;
- }
- if ( self.getIntReg( exIDval ) == target.getExpeditionID ) {
- if ( FieldSet( bossFS ).getUserCount >= maxMember ) {
- self.say( "입장할 수 있는 최대 인원수가 모드 들어갔어. 더 이상을 들여보내 줄 수가 없어." );
- end;
- }
- // 발록 전용
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- qr.set( 7222, "0" );
- // balog_update_enterCount;
- registerTransferField( enterMap, "" );
- end;
- }
- else self.say( "현재 입장을 진행 중인 원정대의 일원이 아닙니다." );
- }
- }
- // 원정대원일 때
- else if ( balog_check_ex == 1 ) {
- menu = "#e<발록 원정대>#n\r\n이 너머에는 발록이 봉인되어 있어. 하지만 최근 발록의 봉인이 불안정해 졌어. 가능한 빨리 발록의 봉인을 강화시켜야해..\r\n(모든 채널 / 45레벨 이상 / 1 ~ 6명)\r\n#b";
- if ( efTime > 302 ) {
- self.say( "#e<발록 원정대>#n\r\n이 너머에는 발록이 봉인되어 있어. 하지만 최근 발록의 봉인이 불안정해 졌어. 가능한 빨리 발록의 봉인을 강화시켜야해..\r\n(모든 채널 / 45레벨 이상 / 1 ~ 6명)\r\n#b\r\n원정대장을 통해서 진행해 줘." );
- end;
- }
- else if ( efTime <= 302 and self.getIntReg( exIDval ) == target.getExpeditionID ) menu = menu + "\r\n#L1# 입장한다.#l";
- else {
- self.say( "#e<발록 원정대>#n\r\n이 너머에는 발록이 봉인되어 있어. 하지만 최근 발록의 봉인이 불안정해 졌어. 가능한 빨리 발록의 봉인을 강화시켜야해.\r\n#b\r\n현재 접속한 채널에서는 다른 원정대가 입장을 하고 있어. 다른 채널에서 원정대장을 통해서 진행해 줘." );
- end;
- }
- v0 = self.askMenu( menu );
- // 입장한다
- if ( v0 == 1 ) {
- efTime = balog_enterFieldTime( waitFS );
- if ( efTime > 302 ) {
- self.say("입장 가능 시간(5분)을 초과 하여 더이상 입장 할 수 없어.");
- end;
- }
- if ( self.getIntReg( exIDval ) == target.getExpeditionID ) {
- if ( FieldSet( bossFS ).getUserCount >= maxMember ) {
- self.say( "입장할 수 있는 최대 인원수가 모드 들어갔어. 더 이상을 들여보내 줄 수가 없어." );
- end;
- }
- target.message( "발록의 강한 기운으로 내상을 입어 HP가 조금씩 감소합니다.");
- qr.set( 7222, "0" );
- // balog_update_enterCount;
- registerTransferField( enterMap, "" );
- end;
- }
- else self.say( "현재 입장을 진행 중인 원정대의 일원이 아닙니다." );
- }
- }
- // 원정대 소속이 아닐 때
- else {
- if ( efTime > 302 ) {
- self.say( "#e<발록 원정대>#n\r\n이 너머에는 발록이 봉인되어 있어. 하지만 최근 발록의 봉인이 불안정해 졌어. 가능한 빨리 발록의 봉인을 강화시켜야해.\r\n#b\r\n원정대에 가입한 후, 원정대장을 통해서 진행해 줘." );
- target.openUIWithOption( 7, 2 ); // 원정대찾기창 띄워주기
- end;
- }
- else {
- self.say( "#e<발록 원정대>#n\r\n이 너머에는 발록이 봉인되어 있어. 하지만 최근 발록의 봉인이 불안정해 졌어. 가능한 빨리 발록의 봉인을 강화시켜야해.\r\n#b\r\n현재 입장하고 있는 원정대는 " + self.getStrReg( masterVal ) + "의 원정대야.\r\n원정대에 가입한 후, 원정대장을 통해서 진행해 줘." );
- target.openUIWithOption( 7, 2 ); // 원정대찾기창 띄워주기
- end;
- }
- /* q0 = self.askMenu( "#e<발록 원정대 : " + modeType + "모드>#n\r\n이 너머에는 발록이 봉인되어 있어. 하지만 최근 발록의 봉인이 불안정해 졌어. 가능한 빨리 발록의 봉인을 강화시켜야해.\r\n#b\r\n원정대에 가입한 후, 원정대장을 통해서 진행해 줘.\r\n\r\n#b#L0# 원정대는 어떻게 결성하지?#l\r\n#L2# 원정대는 어떻게 관리하지?#l\r\n#L1# 원정대를 쉽게 구하는 방법은?#l" );
- // 원정대 구성 방법
- if ( q0 == 0 ) {
- self.say( "단축키[T]를 사용하여 원정대창을 연다.\r\n" );
- self.say( "만들고 싶은 원정대를 선택한다." );
- self.say( "UI창 왼쪽 하단에 있는 [만들기] 버튼을 클릭하여 원정대를 결성한다." );
- self.say( "만들어진 원정대를 확인할 수 있다." );
- }
- // 원정대를 관리하는 방법
- else if ( g0 == 2 ) {
- self.say( "원정대 내 파티 구성하는 방법" );
- slef.say( "원정대원 초대하기, 추방하기, 원정대장 위임" );
- }
- // 원정대를 구하는 방법
- else if ( q0 == 1 ) {
- self.say( "단축키[O]를 사용하여 원정대 찾기를 한다." );
- }*/
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement