사이트 로그인
2024.04.07 19:36
소스위치
/src/l1j/server/server/clientpackets/C_RequestItemUse.java
인형들 맨 밑에다가 추가.
} else if (itemId == 50001) { // 그렘린 마법인형
int petcost = 0;
Object[] petlist = pc.getPetList().values().toArray();
for (Object pet : petlist) {
petcost += ((L1NpcInstance) pet).getPetcost();
}
if(petcost == 0) {
L1Npc npcId = NpcTable.getInstance().getTemplate(200001);
L1DollInstance doll = new L1DollInstance(npcId , pc);
pc.sendPackets(new S_SkillSound(doll.getId(), 5935));
doll.setPetcost(1);
pc.sendPackets(new S_SystemMessage("\\fY그렘린마법 인형이 당신을 도와 공격합니다."));
}
else if (petcost >= 1){
Object[] petList = pc.getPetList().values().toArray();
for (Object petObject : petList) {
if (petObject instanceof L1DollInstance)
{
L1DollInstance doll = (L1DollInstance) petObject;
pc.sendPackets(new S_SkillSound(doll.getId(), 5936));
doll.setDead(true);
doll.setCurrentHp(0);
doll.delete();
pc.sendPackets(new S_SystemMessage("\\fY그렘린마법 인형은 이미 소환중 입니다."));
}
}
}
여기까지는 기존의 인형소스와 동일 합니다. getTemplate(200001); 바뀐부분은 여기의 200001 이것이 바뀌었는데
이것은 그렘린인형 엔피씨 코드 번호입니다.
소스위치
/src/l1j/server/server/model/L1Attack.java
늑대인형 밑에다가 추가
if (_pc.getInventory().checkItem(50001)) { //그렘린 마법인형
Object[] petlist = _pc.getPetList().values().toArray();
for (Object pet : petlist) {
if (pet instanceof L1DollInstance) // 서먼몬스터
{
L1DollInstance doll = (L1DollInstance) pet;
if (doll.getGfxId() == 1154 && doll_chance < 9) { //이팩 날릴 확률 알아서...
dmg += 40 + random.nextInt(55); // 그것 같고 //이팩데미지 설정은 알아서..
_pc.sendPackets(new S_SkillSound(_targetId, 1815));
String chat = "빛의창 소환!";
_pc.sendPackets(new S_NpcChatPacket(doll, chat, 0));
//_pc.sendPackets(new S_SystemMessage("그렘린이 적을향해 빛의창을 던졌습니다."));
}
}
}
}
여기서 늑대인형소스를 따서 만든것이고 틀린것은 getGfxId() == 1154 여기 1154는 그렘린 이미지 코드번호 입니다.
그리고 한가지더 틀린점은 (_targetId, 1815)); 이부분이 중요합니다. _pc.getId() 이렇게 하면 이팩이 피씨에게 가죠.
그것을 저는 _targetId 이걸로 교체하여 몹한테로 이팩이 나가도록 바꿔준 것입니다. 그리고 1815는 디스 이미지 코드번호
입니다.
이제 나비켓 부분입니다.
디비 위치
/l1jdb/Npc.sql
200001 마법인형 : 그렘린 L1Npc 1 1 0 0 0 0 0 0 0 0 0 0 small 0 0 0 0 0 6 0 0 0 320 0 0 0 0 1154 1046 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 -1 0 0 0 0 0 -1 0 0 0 0
/l1jdb/etcitem.sql
50001 마법인형 : 그렘린 scroll 1000 normal paper 0 10000 1 2703 5926 마법인형 : 그렘린 0 0 0 0 0 0 0 1 0 0 0 0
나비켓 부분은 팩마다 틀리니 이미지 코드번호만 따서 만드시면 됩니다.