사이트 로그인
2016.04.21 22:34
위치 - 분홍색
검색 - 파랑색
추가 - 빨강색
주석 - 초록색
구분선 - 보라색(신경안쓰셔두됨)
============================================================================================
우선 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] ![]() | 로스트사가 | 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 |
혈맹창고내역
![]() | 오징어소녀 | 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 소스 노 컴파일입니다.
![]() | 조안로페즈 | 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 |