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

도약몬스터

2016.03.30 07:37

가을이야기 조회 수:157

도약몬스터 관련 예제

 

mob 발투란서장군 {
 set @id, objid();
 set @target, obj_getfront;

 if(mob_checkmagicid(@id, name2spellid("침묵"))) end;
 if(mob_checkmagicid(@id, name2spellid("경직"))) end;

 if(istype(@id) == 2)
 {
  if(get_mobhp(@id) < 80000000)
  {
   effect @id, 65;
   sound @id, 0, 559;
   heal_hp @id, get_mobhp(@id) / 100;
  }
 }

 if(@target > 0 && istype(@target) == 1)
 {
  set @target_sd, id2sd(@target);
  set @back_damage, get_maxhp(@target_sd) / 4;
 
  effect @target, 396;
  sound @target, 0, 568;
  set @Mob_Name$, "발투란서장군";
  set @M_Name$, "발투란격투술";
  if(istype(@target) != 0 ) callfunc "DEFEN_Magic", @target;
  if(istype(@target) != 0 ) callfunc "M_damage", @id, @target, @back_damage;
  end;
 }
 else
 {
  set @ture_target, get_mobtarget(@id);
  set @target, 0;

  if(@ture_target > 0 && istype(@ture_target) == 1)
  {
   set @target_sd, id2sd(@ture_target);
   runscript @target_sd, "Prio";
   sleep 100;
   if(istype(@ture_target) == 1)
    set @target, get_uservar_i(@target_sd, "$mob_target");
  }

  if(@target == 0) end;

  if(istype(@target) == 1)
  {
   set_mobtarget @id, @target;
   set @target_sd, id2sd(@target);
   runscript @target_sd, "Canmove";
   callfunc "M_도약", @id, @target;
  }
 }
}

script Prio {
 set @sd, mysd();
 set @id, myid();

 set @x1, get_x(@id) - 7;
 set @x2, get_x(@id) + 7;
 set @y1, get_y(@id) - 7;
 set @y2, get_y(@id) + 7;

 if (@x1 < 0) { set @x1, 0; }
 if (@x2 > get_mapwidth(@sd) -1) { set @x2, get_mapwidth(@sd) -1; }
 if (@y1 < 0) { set @y1, 0; }
 if (@y2 > get_mapheight(@sd)-1) { set @y2, get_mapheight(@sd) -1; }

 for(set @i, @x1; @i < @x2; set @i, @i + 1)
 {
  for(set @j, @y1; @j < @y2; set @j, @j + 1)
  {
   set @target, obj_getxy(@i, @j);
   if(@target > 0 && @target != @id)
   {
    if(istype(@target) == 1)
    {
     set @target_sd, id2sd(@target);
     if(get_state(@target_sd) != 1 && get_job(@target_sd) == 4)
     {
      set $mob_target, @target;
      end;
     }
    }
   }
  }
 }
 set $mob_target, @id;
}

script Canmove {
 set @sd, mysd();
 set @id, myid();

 set @mapid, get_mapid(@sd);

 set @x, get_x(@id);
 set @y, get_y(@id);

 set @xyck, obj_getxy(@x, @y-1);
 if(@xyck == 0)
  set $can0, canmove(@mapid, @x, @y-1);
 else
  set $can0, -1;

 set @xyck, obj_getxy(@x+1, @y);
 if(@xyck == 0)
  set $can1, canmove(@mapid, @x+1, @y);
 else
  set $can1, -1;

 set @xyck, obj_getxy(@x, @y+1);
 if(@xyck == 0)
  set $can2, canmove(@mapid, @x, @y+1);
 else
  set $can2, -1;

 set @xyck, obj_getxy(@x-1, @y);
 if(@xyck == 0)
  set $can3, canmove(@mapid, @x-1, @y);
 else
  set $can3, -1;
}

func M_도약 {
 set @id, getarg(0);
 set @target, getarg(1);
 if(istype(@target) == 1) set @target_sd, id2sd(@target);
 else end;

 set @mapid, get_mapid(@target_sd);
 if(@mapid != get_mapid(@target_sd)) end;

 set @x, get_x(@target);
 set @y, get_y(@target);

 set @can0, get_uservar_i(@target_sd, "$can0");
 set @can1, get_uservar_i(@target_sd, "$can1");
 set @can2, get_uservar_i(@target_sd, "$can2");
 set @can3, get_uservar_i(@target_sd, "$can3");

 if(0  <= @y-1 && @can0 != -1)
 {
  set_xy @id, @x, @y-1;
 }

 if(0  <= @x+1 && @can1 != -1)
 {
  set_xy @id, @x+1, @y;
 }

 if(0  <= @y+1 && @can2 != -1)
 {
  set_xy @id, @x, @y+1;
 }

 if(0  <= @x-1 && @can3 != -1)
 {
  set_xy @id, @x-1, @y;
 }

 say @id, 0, "발투란이동술";

 return;
}

 

By. zz (바람박스)

번호 제목 글쓴이 날짜 조회 수
42 [CR] [스크립트] '스크립트'의 가장 기초적인 설명 로이로이로이로이 2016.10.25 260
41 [CR] were92 // CR을 업그레이드 하는방법 file 행복e 2016.08.01 267
40 [CR] 애매한 함수들의 13가지 비밀 [1] 행복e 2016.08.01 406
39 [CR] 마법 중복사용 제한 행복e 2016.07.28 183
38 [CR] zz // OnPCKill 그룹 관련 행복e 2016.07.28 121
37 [CR] 주작 // [초급] goto문 강의 행복e 2016.07.28 90
36 [CR] 몬스터 추가( mob_db.txt )강의 행복e 2016.07.28 170
35 [CR] (입문) 제4장 * 스크립트 문법의 정의 행복e 2016.07.27 113
34 [CR] (입문) 제2장 * CR 스크립트의 종류를 알고 넘어가자! 행복e 2016.07.27 244
33 [CR] (입문) 제1장 * 우리가 알고 있는 스크립트란? 행복e 2016.07.27 137
32 [CR] (입문) 제3장 * 스크립트의 문법 및 정리법 행복e 2016.07.27 169
31 [CR] 아이템 추가( item_db.txt ) 강의보기 행복e 2016.07.27 348
30 [CR] 아이템 조합( itemmix_db.txt ) 강의보기 행복e 2016.07.27 128
29 [CR] cr에서 숫자값을 저장할 수 있는 함수 행복e 2016.07.27 67
28 [CR] 해컴 // @value 와 .@value의 차이 안전한 함수 만들기에 대해. 행복e 2016.07.27 71
27 [CR] hollyengel // 임팩트 있는 이펙트 만들기! 행복e 2016.07.27 130
26 [CR] zz // get_mobstate 함수 행복e 2016.07.27 85
25 [CR] switch 문 이해하기 [1] file 행복e 2016.07.27 74
24 [CR] zz // OnPCKill 그룹 관련 행복e 2016.07.27 91
23 [CR] 몬스터 부활( mob_revival.txt )에 대한 강의 행복e 2016.07.27 84
22 [CR] 은신 계정변수 초기화 관련 행복e 2016.07.27 95
21 [CR] CR 무장 팁 행복e 2016.07.27 200
20 [CR] 맵 연결/포트연결( warp_db.txt ) 강의 보기 [1] 행복e 2016.07.27 209
19 [CR] 반복문( For문 )에 대한 지식익히기 [2] 행복e 2016.07.27 115
18 [CR] 간단한 3가지의 변수 임시,계정,서버변수에 대한 정보. 행복e 2016.07.27 202
17 [CR] 게임 운영자 명령어( 비밀명령어 포함* ) 강의 행복e 2016.07.27 917
16 몬스터 추가( mob_db.txt )강의 Joy 2016.04.23 253
15 몬스터 부활( mob_revival.txt )에 대한 강의 Joy 2016.04.23 112
14 가장 기본적인 함수 '메뉴창 list'에 대한 정보 [1] Joy 2016.04.23 132
13 마법 추가( magic_db.txt ) 강의 Joy 2016.04.23 441
12 아이템 조합( itemmix_db.txt ) 강의 Joy 2016.04.23 162
11 아이템 추가( item_db.txt ) 강의 [1] Joy 2016.04.23 482
10 복사방지에 대한 스크립트 이해 가을이야기 2016.03.30 379
» 도약몬스터 가을이야기 2016.03.30 157
8 CR 기본 구축방법 (링크) [1] 가을이야기 2016.03.30 923
7 CR 숫자값을 저장할 수 있는 함수 가을이야기 2016.03.30 107
6 delitem 함수 가을이야기 2016.03.30 121
5 get_mobstate 함수 가을이야기 2016.03.30 183
4 Chapter. 1-2 통합파일의 구조체 [1] 가을이야기 2016.03.30 447
3 Chapter. 1-1 CR이라는 구동기에 대한 이해 가을이야기 2016.03.30 541
2 [CR]프바 GM 설정하는방법 시크릿 2016.02.21 1424
1 프바CR구축법[링기반] [4] 시크릿 2016.02.21 3788