close_btn
로그인, 회원가입후 더 많은 혜택을 누리세요 로그인 회원가입 닫기

sun 자동공성화

2017.11.27 03:46

추억 조회 수:257

/*/                배포 전 공성전에 관련된 기본 개념                 /*/
// 공성전의 시간설정은 script_time.txt 에서 하실 수 있으며 입장가능시간 이후 10분동안 입장이 가능
// 공성전 중간에 공성전으로의 입장은 불가능
// 공성은 30분간 진행하며 수정은 알아서
// 공성전 도중 로그아웃시 대기실로 좌표되게끔은 script.txt의 pclogout에서 직접 하시길
/*/ 죄송하게도 메모장가지고만 짠거라 테스트는 안되있을 뿐 아니라 좌표들도 엉망입니다. /*/
/*/ 임의로 설정되어 있으며 설정 가능하게 세팅해 뒀으니 직접 수정해서 사용하시면 됩니다. /*/
ONLOGIN {
 // 이 스크립트는 script.txt 내의 onlogin을 의미하며, 덮어서 사용하실 시 다른 부분에 오류가 발생할 수 있으니
 // 짜집기 해서 사용하시기를 바랍니다.
 set @sd, mysd();
 set @time, callfunc("NOWTIME");
 if($clan_clothes1_time + (86400*5) < @time)
 {
  if(get_equipitem(@sd, 1) == item2nameid("청룡의옷"))
  {
   set_unequipitem @sd, 1;
  }
  if(countitem(@sd, name2itemid("청룡의옷")) < 1)
  {
   broadcast 5, get_name(@sd) + "님의 아이템 정상회수 실패!";
   broadcast 5, get_name(@sd) + "이 세계후를 보신 분은 스크린샷을 꼭 찍어 게시판에 올려주세요!";
  }
  delitem @sd, name2itemid("청룡의옷"), 1;
  message @sd, 3, "청룡의옷 주었습니다.";
 }
}
  
청룡의성대기실워프 {
 set @sd, mysd();
 set @id, myid();
 if(#auto_fight == 0)
 {
  set @clanid, get_clanid(@sd);
  if(get_level(@sd) < 56 || get_clanname(@clanid) != #blue_dragon_clan$)
  {
   warp @sd, get_mapid(), get_x(@id), get_y(@id)+2;
   //북쪽으로 입장한다고 가정해서 캐릭터를 밑으로 내린거
   message @sd, 3, "감히 접근할 수 없습니다.";
  }
  //공성전이 전혀 진행중이지 않을 경우에는 성을 먹은 문파만 입장 가능
  if(get_clanname(@clanid) == #blue_dragon_clan$)
  {
   set @mapid, 0; // 청룡의성맵설정
   set @map_x, 0; // 청룡의성워프좌표
   set @map_y, 0;
   warp @sd, @mapid, @map_x, @map_y;
  }
 }
 else if(#auto_fight == 1)
 {
  set @mapid, 0; // 청룡의성대기실맵설정
  set @map_x, 0; // 청룡의성대기실워프될x좌표
  set @map_y, 0; // 청룡의성대기실워프될y좌표
  warp @sd, @mapid, @map_x, @map_y;
 }
 else if(#auto_fight == 2)
 {
  warp @sd, get_mapid(), get_x(@id), get_y(@id)+2;
  //북쪽으로 입장한다고 가정해서 캐릭터를 밑으로 내린거
  message @sd, 3, "현재 공성전이 진행중입니다. 진행중에는 입장하실 수 없습니다.";
 }
}
청룡의성입장 {
 set @sd, mysd();
 if(#auto_fight == 1)
 {
  set @pos, dialog(0, 0, 0, "정각부터 정상적으로 전장 입장이 가능합니다.\\n대기실을 벗어나시면 공성전에 참여하실 수 없으니 기다려 주시기 바랍니다.");
  end;
 }
 else if(#auto_fight == 2)
 {
  set @now_time, callfunc("NOWTIME");
  //function은 맨 아래에.. 현재 시간을 알아옵니다.
  timecount @sd, 2, #auto_fight_end_time - @now_time;
  //공성이 남은 시간만큼 타이머 걸어줍니다
  set @mapid, 0; // 청룡의성맵아디
  set @map_x, 0; // x좌표
  set @map_y, 0; // y좌표
  warp @sd, @mapid, @map_x, @map_y;
 }
}
청룡의성 {
 set @sd, mysd();
 set @clanid(@sd);
 if(#auto_fight != 0) end;
 if(get_clanname(@clanid) == #blue_dragon_clan$)
 {
  set @pos, list2(@list, 0, 0, "안녕하세요?\\n무엇을 도와드릴까요?", "청룡의옷을 받고 싶습니다.");
  if(@pos != 1) end;
  if(@list == 1)
  {
   setarray @blue_dragon_clothes$[0], #type1_clothes_1$, #type1_clothes_2$, #type1_clothes_3$, #type1_clothes_4$, #type1_clothes_5$;
   for(set @i, 0; @i < 5; set @i, @i+1)
   {
    if(@blue_dragon_clothes$[@i] == get_name(@sd)) goto next;
    else if(@blue_dragon_clotes$[@i] == "")
    {
     set @blue_dragon_clothes$[@i], get_name(@sd);
     additem @sd, name2itemid("청룡의옷"), 1;
     message @sd, 3, "청룡의옷 얻었습니다.";
     set $clan_clothes1_time, callfunc("NOWTIME");
     goto last;
    }
   }
   set @pos, dialog(0, 0, 0, "청룡의옷은 선착순 5명에 한해서 받으실 수 있습니다.");
   goto next;
  }
 }
last:
 set #type1_clothes_1$, @blue_dragon_clothes$[0];
 set #type1_clothes_2$, @blue_dragon_clothes$[1];
 set #type1_clothes_3$, @blue_dragon_clothes$[2];
 set #type1_clothes_4$, @blue_dragon_clothes$[3];
 set #type1_clothes_5$, @blue_dragon_clothes$[4];
next:
 deletearray @blue_dragon_clothes[0], getarraysize(@blue_dragon_clothes);
 end;
}
청룡의성말하기 {
 set @id, objid();
 if(#auto_fight == 1)
 {
 // 공성대기실의 입장을 알리는 변수
  if(#auto_fight_type == 1)
  {
  // 공성전장이 청룡의성임을 알리는 변수 ( 청룡, 현무, 주작, 백호 순 )
   set #auto_count, #auto_count + 1;
   if(#auto_count = 150) // 10분 후
   {
    set #auto_fight, 2;
    // 위의 변수가 2가 되면 공성전장으로 입장이 가능하며, 공성시작        
   )
   else if(#auto_count == 600) // 공성시작 30분후
   {
    set @winner_id, obj_getxy(15,15); // 옥좌좌표를 15, 15 로 임의로 설정
    if(@winner_id > 0)
    {
     set @target_sd, id2sd(@winner_id);
     set @clanid, get_clanid(@target_sd);
     
     broadcast 5, get_clanname(@clanid) + " 문파가 공성전에서 승리하였습니다!";
     set_money @target_sd, get_money(@target_sd) + 5000000;
     // 옥좌 점령자에게 500만전 지급
     set #blue_dragon_clan$, get_clanname(@clanid);
     // 위의 서버변수를 청룡의성을 소유한 문파의 이름을 저장한다고 가정
     broadcast 5, "공성전이 종료되었습니다.";
     broadcast 5, "공성전장의 사람들은 1분 후 주막으로 자동워프됩니다.";
    }
    else
    //시간이 지났음에도 옥좌에 아무도 없으면
    {
     callfunc "FIGHTEND";
     // function 은 맨 아래에..
     broadcast 5, "공성이 종료되었습니다.";
     // 공성종료
    }
   }
   else if(#auto_count == 615) // 공성승리 이후 1분 후
   {
    callfunc "FIGHTEND";
    // 공성전장을 20,50 짜리 맵으로 가정했을 경우 전체워프입니다
    for(set @x, 0; @x < 20; set @x, @x+1)
    {
     for(set @y, 0; @y <= 25; set @y, @y+1)
     {
      set @target_id, obj_getxy(@x, @y);
      if(@target_id > 0 && istype(@target_id) == 1)
      {
       set @target_sd, id2sd(@target_id);
       warp @target_sd, 15, rand(4,6), rand(4,6);
      }
     }
     for(set @y, 26; @y < 50; set @y, @y+1)
     {
      set @target_id, obj_getxy(@x, @y);
      if(@target_id > 0 && istype(@target_id) == 1)
      {
       set @target_sd, id2sd(@target_id);
       warp @target_sd, 15, rand(4,6), rand(4,6);
      }
     }
    }
   }
  }
 }
}
FUNC_FIGHTEND {
 set #auto_count, 0;
 set #auto_fight, 0;
 if(#auto_fight_type == 4)
 {
  set $auto_fight_type, 1;
 }
 else
 {
  set #auto_fight_type, #auto_fight_type + 1;
 }
 set #auto_fight_end_time, 0;
 return;
}
FUNC_NOWTIME {
 set @second, gettime(1,0);
 set @minute, gettime(2,0) * 60;
 set @hour, gettime(3,0) * 3600;
 set @day, gettime(4,0) * 86400;
 set @month, gettime(5,0);
 if(@month == 1 || @month == 3 || @month == 5 || @month == 7 || @month == 8 || @month == 10 || @month == 12)
 {
  set @month_time, @month * 2678400;
 }
 else if(@month == 2)
 {
  set @month_time, @month * 2505600;
 }
 else
 {
  set @month_time, @month * 2592000;
 }
 set @year, gettime(6,0) - 2010;
 set @year_time, @year * (365*86400);
 set @total, @second + @minute + @hour + @day + @month_time + @year_time;
 return @total;
}

번호 제목 글쓴이 날짜 조회 수
공지 소스자료실 안내입니다. 게임존 2017.06.06 579
411 CR 막대사탕엔피씨 토렐리리 2018.12.24 58
410 CR 용무기스크립트 토렐리리 2018.12.24 184
409 cr 얼음칼npc 토렐리리 2018.12.24 63
408 cr 야바위스크립트 토렐리리 2018.12.24 106
407 CR 소소스크립트입니다 토렐리리 2018.12.24 130
406 [DR] 이기어검 [흑룡의분노 발동] 화이트M 2018.12.01 219
405 동의소출비령 스크립트 akahsi 2018.11.20 72
404 CR 원격기능[물건 맡기기, 수리 등] 파도풀 2018.11.16 106
403 CR 상자아이템 소스 파도풀 2018.11.16 99
402 [CR]환생복구 file 이잉ㅇ 2018.10.20 90
401 CR 문파 만들기 소스 [1] 솔직이 2018.09.19 187
400 CR 왕퀘스트 소스 솔직이 2018.09.19 67
399 CR 생산소스 솔직이 2018.09.19 84
398 CR 결혼소스 솔직이 2018.09.19 66
397 감전상태 소스 달퐁 2018.07.13 106
396 스킬 딜줄이기 소스 달퐁 2018.07.13 262
395 매크로 방지 소스 [1] 달퐁 2018.07.13 293
394 스킬)사슬벼락 달퐁 2018.07.13 163
393 명인의목걸이(체템) 달퐁 2018.07.13 142
392 몹 드랍 함수 file 구가의섬 2018.06.24 159
391 펫 함수 [1] file 구가의섬 2018.06.24 111
390 [CR]F1 거래 수정 file 가가가가 2018.06.21 62
389 환수 뻥션 file 가가가가 2018.06.21 63
388 cr천명 스크립트 file 백금 2018.06.13 96
387 직접 짜본 환생시스템 입니다. file 백금 2018.06.13 164
386 함수팁 만수무강 2018.06.08 807
385 접속기 메이커 소스 file 만수무강 2018.05.29 190
384 로즈서버 구동기 소스 file troutking 2018.05.08 347
383 추억의 봉클 개조도구 [1] troutking 2018.05.08 196
382 [아이유기반][CR] 교환의책 기능 (간편 교환기능) file Sondia 2018.04.19 104
381 [CR] 직업변경 펑션 file Petal 2018.04.06 96
380 [DR] 자동체마사기 스크립트 [1] file Petal 2018.04.06 237
379 [CR] 보석아이템 스크립트 file Petal 2018.04.06 43
378 [CR] 인던스크립트 고대지하 file Petal 2018.04.06 68
377 [CR] 각인 스크립트 file Petal 2018.04.06 83
376 [CR] 천마전기 스크립트 file Petal 2018.04.06 26
375 [CR] 생산스크립트 file Petal 2018.04.06 49
374 간편퀘스트 [1] file Petal 2018.03.30 96
373 환전소 김희수띠 2018.03.27 76
372 서버배율에따른 경험치 (@apply_exp) 값 확인 엑셀 file 인연서버 2018.02.08 258
371 저주의목걸이 스크립트 file 황이 2018.01.27 133
370 조합안내 스크립트 [1] file 황이 2018.01.27 174
369 자동기원 스크립트 file 황이 2018.01.27 467
368 과거 GM세계후 file 황이 2018.01.27 134
367 [CR]자동저장기 [3] file 도됴 2017.12.04 165
366 [sun] 경험치 배율 설정 [1] 케이지김 2017.11.30 920
365 sun 용무기 수리 추억 2017.11.27 177
» sun 자동공성화 추억 2017.11.27 257
363 [CR]로또 file 로버트 2017.10.15 153
362 [ip탐색기] file skfj5612 2017.10.15 88