게시판 제목 잘보고 올리세요 일반게시판에 홍보글 보이면 바로 회원 차단입니다

1.63 자동사냥 법사 소스좀 봐주실분~~

컨텐츠 정보

본문

안녕하세요~ 자동사냥에서 법사가 계속 이렵선을 쏘길래 엠피 90까지

이걸 30%나 20% 랜덤으로 바꿔보고싶은데 처리문이나 방법좀 아실분 계실까요?




if (pc.getClassType() == Lineage.LINEAGE_CLASS_WIZARD) {


int mp = SkillDatabase.find(45).getMpConsume();

if (mp > 0 && pc.getNowMp() > mp && pc.getNowMp() > 90) {

if (SkillController.find(pc) != null) {

for (Skill s : SkillController.find(pc)) {

if (s.getName().equalsIgnoreCase("이럽션")) {

object o = pc.findInsideList(target.getObjectId());

if (o != null && Util.isDistance(pc, o, 3) && SkillController.isMagic(pc, SkillDatabase.find(45), true)) {

EnergyBolt.toBuff(pc, o, SkillDatabase.find(45), Lineage.GFX_MODE_SPELL_DIRECTION, SkillDatabase.find(45).getCastGfx(), 0);

return;



관련자료

댓글 15
profile_image

소스마스터님의 댓글의 댓글

그러닌깐 질문이 30%나 20%로 확률되는거요 소스를 몰라서 올린거예요 ㅠ..
90같은경우는 마나 90까지 이럽션 쏘라는것도 알겟고용 ㅠㅠ
이거 90을 랜덤이나 퍼센트로 먹는 명령어있을까요? ㅎㅎ
profile_image

워드님의 댓글

캐릭터자바에
getNowMpPercent 메소드 있나봐보세요 없음.
자바맨밑에
public int getNowMpPercent() {
return (int) (((double) getNowMp() / (double) getTotalMp()) * 100.0);
}
추가하시고

본문소스에
if (mp > 0 && pc.getNowMp() > mp && pc.getNowMp() > 90) {
대신
if (mp > 0 && getNowMpPercent() <= 20) {
넣어주심됩니다.
profile_image

소스마스터님의 댓글의 댓글

자바 소스는 깔끔이 잘 먹히는데요 빌드까지요

겜상 접속해서 해보면 20%확률로도 안나가고 100%로 나가네요 ㅠㅠ;
그리고 엠피 0될때까지 계속 쏘는데 다른 방법 없을까엽 `ㅡ`?..
profile_image

워드님의 댓글

오잉 제가잘못이해햇나보네요 엠피퍼센트로나눠서 50하면 엠피50%까지 계속쓰는건데
확률로 발동이라면 랜덤값을 넣어주면될텐데

if (util.random(0,99) <50){ 같이 확률을 넣어보세요
profile_image

리니지one님의 댓글

if (pc.getClassType() == Lineage.LINEAGE_CLASS_WIZARD) {
    int mp = SkillDatabase.find(45).getMpConsume();

    if (mp > 0 && pc.getNowMp() > mp && pc.getNowMp() > 90) {
        if (SkillController.find(pc) != null) {
            for (Skill s : SkillController.find(pc)) {
                if (s.getName().equalsIgnoreCase("이럽션")) {
                    object o = pc.findInsideList(target.getObjectId());

                    if (o != null && Util.isDistance(pc, o, 3) && SkillController.isMagic(pc, SkillDatabase.find(45), true)) {
                      Random random = new Random();
                        int chance = random.nextInt(100);

                        if (chance < 30 && chance >= 20) {
                            EnergyBolt.toBuff(pc, o, SkillDatabase.find(45), Lineage.GFX_MODE_SPELL_DIRECTION, SkillDatabase.find(45).getCastGfx(), 0);
                            return;
                        }
                    }
                }
            }
        }
    }
}
그대로 붙여넣기 하고 맨위에 쭉 올리면 import 모여있는데다 import java.util.Random; 넣으세요
profile_image

리니지one님의 댓글의 댓글

무슨소리신지... 그건 이럽션 mp소모량이랑 마나지팡이 흡수량을 확인해보셔야죵 ㅋㅋ 이 소스상에선 조건이 마나가 최소 90은 남아야 한다니까 엠피가 90남기전까진 20~30프로 확률로 이럽을 쏘는거구요..
profile_image

리니지one님의 댓글

손수 컨트롤할땐 마나가 흡수되는데 자사엔 흡수가 안되는건 자사 소스가 잘못된겁니다. pc 객체를 상속받아 정보를 불러온 상태에서 작동하도록 수정해야할듯 싶네요.
profile_image

소스마스터님의 댓글의 댓글

옙 ! 귓뜸 감사드리옵니다! 어떻게든 이번건 해봐야겠네욥 ㅎㅎ 즐거운 하루되시고요 원님! ^-^
전체 35 / 2 페이지
번호
제목
이름

포인트 랭킹


알림 0