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

위치 - 분홍색

검색 - 파랑색

추가 - 빨강색

주석 - 초록색

구분선 - 보라색(신경안쓰셔두됨)

============================================================================================

우선 DB에 필드 추가

============================================================================================

나비켓에 들어가셔서

skills 테이블로 들어갑니다

그후 필드추가 Ctrl + D  또는  파일 -> 테이블 설계하기 누르시고 설계 하시면됩니다.

이름 criticalgfx, 타입 int, 길이 10, 십진법 0, 제로 허용 체크해제, 디폴트 0, 서명하지않음 체크

해주시구요~

============================================================================================

이제 코딩부분으로 넘어가서

============================================================================================

l1j.server.server.datatables.SkillsTable.java

============================================================================================

l1skills.setCastGfx(rs.getInt("castgfx"));

l1skills.setCastGfx2(rs.getInt("castgfx2"));

l1skills.setSysmsgIdHappen(rs.getInt("sysmsgID_happen"));
l1skills.setSysmsgIdStop(rs.getInt("sysmsgID_stop"));
l1skills.setSysmsgIdFail(rs.getInt("sysmsgID_fail"));

/**크리이펙트추가-KCH**/

l1skills.setCriticalGfx(rs.getInt("criticalgfx"));

/**크리이펙트추가-KCH**/

 

 

============================================================================================

l1j.server.server.templates.L1Skills.java

============================================================================================

private int _castGfx;

private int _castGfx2;
private int _sysmsgIdHappen;

private int _sysmsgIdStop;

private int _sysmsgIdFail;

/**크리이펙트추가-KCH**/

private int _criticalGfx;

/**크리이펙트추가-KCH**/

.

.

.

.

 public int getSysmsgIdHappen() {
  return _sysmsgIdHappen;
 }

 public void setSysmsgIdHappen(int i) {
  _sysmsgIdHappen = i;
 }

 public int getSysmsgIdStop() {
  return _sysmsgIdStop;
 }

 public void setSysmsgIdStop(int i) {
  _sysmsgIdStop = i;
 }

 public int getSysmsgIdFail() {
  return _sysmsgIdFail;
 }

 public void setSysmsgIdFail(int i) {
  _sysmsgIdFail = i;
 }

/**크리이펙트추가-KCH**/

public int getCriticalGfx() {
  return _criticalGfx;
 }

 public void setCriticalGfx(int i) {
  _criticalGfx = i;
 }

/**크리이펙트추가-KCH**/

 

============================================================================================

l1j.server.server.model.L1Magic.java

============================================================================================

 

double criticalCoefficient = 1.4;
  int rnd = random.nextInt(100) + 1;
  if (_calcType == PC_PC || _calcType == PC_NPC) {
   switch (skillId) { // 6레벨 이하 광역마법 제외한 공격마법
   case ENERGY_BOLT:
   case ICE_DAGGER:
   case WIND_CUTTER:
   case CHILL_TOUCH:
   case SMASH:
   case FIRE_ARROW:
   case STALAC:
   case VAMPIRIC_TOUCH:
   case CONE_OF_COLD:
   case CALL_LIGHTNING:
   case SUNBURST:
   case DISINTEGRATE:
    int propCritical =  (CalcStat.calcBaseMagicCritical(
      _pc.getType(), _pc.ability.getBaseInt()) + 15);
    if (_calcType == PC_PC || _calcType == PC_NPC) {
     if (_pc.getSkillEffectTimerSet().hasSkillEffect(LIND_MAAN)
       || _pc.getSkillEffectTimerSet().hasSkillEffect(
         SHAPE_MAAN) // 형상의 마안 - 일정확률로 마법치명타+1
       || _pc.getSkillEffectTimerSet().hasSkillEffect(
         LIFE_MAAN)) { // 생명의 마안 - 일정확률로 마법치명타+1
      propCritical += 1; // 마안에 의한 마법치명타 +1
     }
    }
    if (criticalOccur(propCritical)) {
     magicDamage *= 1.3;      

/**크리이펙트추가-KCH**/

if (l1skills.getCriticalGfx() != 0) // 크리이펙이 디비에 추가되어있다면
       L1SkillUse.CRITICAL_GFX = true;
/**크리이펙트추가-KCH**/


    break;
   }
  } else if (_calcType == NPC_PC || _calcType == NPC_NPC) {
   if (rnd <= 15) {
    magicDamage *= criticalCoefficient;
   }
  }

 

 

============================================================================================

l1j.server.server.model.skill.L1SkillUse.java

============================================================================================

 

public static final int TYPE_NORMAL = 0;

 public static final int TYPE_LOGIN = 1;

 public static final int TYPE_SPELLSC = 2;

 public static final int TYPE_NPCBUFF = 3;

 public static final int TYPE_GMBUFF = 4;

/**크리이펙트추가-KCH**/

 public static boolean CRITICAL_GFX = false;

/**크리이펙트추가-KCH**/

.

.

.

.

 

private void sendGrfx(boolean isSkillAction) {
  int actionId = _skill.getActionId();
  int castgfx = _skill.getCastGfx();

/**크리이펙트추가-KCH**/

  int criticalgfx = _skill.getCriticalGfx(); // 크리 이펙트 이미지 변수
  
  if(CRITICAL_GFX == true){  //크리티컬시
   castgfx = criticalgfx; //캐스트그라운드이미지는 크리티컬 그라운드이미지로 변경
  }
  CRITICAL_GFX = false;//크리티컬이미지 계속 나오지안도록 false

/**크리이펙트추가-KCH**/


  
  if (castgfx == 0) {
   return;
  }
  
  if (castgfx == 1) {
   return;
  }
  
  /** 황금닷지 리뉴얼-KCH **/
  if (_skillId == UNCANNY_DODGE) {
   if (_player.getAC().getAc() <= -100)  castgfx = criticalgfx;
  }

/** 황금닷지 리뉴얼-KCH **/

.

.

.

.

.

if (castgfx != _skill.getCastGfx()) { //검색 and 주석 or 변경
   return; // 그래픽 번호가 다르다.
  }

 

/**크리이펙트추가-KCH**/

if (castgfx != _skill.getCastGfx() && castgfx != _skill.getCriticalGfx()) { //변경

/**크리이펙트추가-KCH**/


   return; // 그래픽 번호가 다르다.
  }

 

출처-팝존

번호 제목 글쓴이 날짜 조회 수
공지 소스자료는 직접 올려주세요 게임존 2017.06.06 550
109 참 시스템 이드1 2016.04.26 186
108 채금시 전체공지로 보기 이드1 2016.04.26 32
107 소모성아이템 실시간시간보기 이드1 2016.04.26 66
106 몬스터 피통보이기 이드1 2016.04.26 114
105 단풍막대 변신몹추가 이드1 2016.04.26 107
104 보스몹 리젠 멘트띄우기 이드1 2016.04.26 142
103 마법연속으로죽지않을때 이드1 2016.04.26 27
102 올스킬 반지 이드1 2016.04.26 156
101 운영자 누구 귓말 친추 차단 이드1 2016.04.26 45
100 세이룬 [펌] 이드1 2016.04.26 70
99 둘리팩 디스스턴 중첩막기 이드1 2016.04.26 77
98 적주변에 있을시 외창금지 이드1 2016.04.26 59
97 힐량 체크하기 본섭화 [2] 로스트사가 2016.04.25 119
96 마법 중복으로 못배우게 하기 본섭화 로스트사가 2016.04.25 77
95 명령어로 아지트 지급하기!! 테스트완료 이해인 2016.04.25 98
94 린드 가호 본섭화 로스트사가 2016.04.25 97
93 신규혈 일정렙이상 자동탈퇴부분!! [1] 이해인 2016.04.25 69
92 스킬아이콘 순서 & 스킬창 28자리 8진수 로스트사가 2016.04.25 231
91 [본섭화]수호탑근처가면투명해제 로스트사가 2016.04.25 44
90 혈맹버프 아이콘 패킷부분임 로스트사가 2016.04.24 69
89 뻥튀기 소스 외부화 및 설정. 멘토 2016.04.24 68
88 경험치 지급단 레벨 수정 내멋 2016.04.23 137
87 유저 버프 추가 내멋 2016.04.23 191
86 제작 npc 만들기 내멋 2016.04.23 438
85 2.7버전 트레이저박스 인챈트 표시 내멋 2016.04.23 148
84 에바일팩(3.63 공성소스) 웨롭지않아 2016.04.22 157
83 장비에 버프효과 아이콘표기 로스트사가 2016.04.22 153
82 이벤트용 강제 변신무기 만들기(에바일팩소스) 웨롭지않아 2016.04.21 78
» 마법크리이펙트(에바일팩소스) 웨롭지않아 2016.04.21 115
80 홀,짝. 주사위 , 소막 겜블 소스 [3] file 로스트사가 2016.04.20 189
79 속성방어 본섭화??? 로스트사가 2016.04.20 73
78 드래곤볼소스 오징어소녀 2016.04.19 107
77 보스이동주문서. 오징어소녀 2016.04.19 218
76 보스리스폰 멘트 띄우기 오징어소녀 2016.04.19 138
75 클래스 변경물약 [3] 오징어소녀 2016.04.17 118
74 엔피씨에게 호칭주기 오징어소녀 2016.04.17 97
73 한계정내 두군대혈 가입못하게하는소스 오징어소녀 2016.04.17 55
72 랭커들 아이템 지급하기 오징어소녀 2016.04.17 144
71 혈맹창고내역 file 오징어소녀 2016.04.17 52
70 10렙당 추타 1 부여하기 오징어소녀 2016.04.17 111
69 쇼크 스턴 본섭화입니다. 이상 무 ~ LoseF 2016.04.17 179
68 혈맹 미가입시 상점이용제한 [1] 오징어소녀 2016.04.17 66
67 사망경험치 본섭화 소스 로스트사가 2016.04.16 60
66 데스나이트의 불검 본섭화 로스트사가 2016.04.16 151
65 젠틀님의 요청으로 인해 올립니다 [같은 계정 다른혈맹 중복가입 불가능] [1] SNIKUDO 2016.04.15 60
64 1.82 소스 노 컴파일입니다. file 조안로페즈 2016.04.15 144
63 앱솔루트 블레이드 수정본입니다. [4] LoseF 2016.04.13 147
62 [본섭화] 공성선포시 혈맹원이 공성존 안에있다면 마을로 베르 로스트사가 2016.04.11 62
61 아이콘찾기 출처*팝존* jpark33 2016.04.08 173
60 아이템 옵션 바꾸기 출처*팝존* [1] jpark33 2016.04.08 621