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

220 분해 스크립트

2017.06.25 08:52

복엄 조회 수:48

importPackage(Packages.constants);
importPackage(Packages.server.items);
importPackage(Packages.tools.RandomStream);
var status = 0;
var invs = Array(1, 5);
var invv;
var selected;
var slot_1 = Array();
var slot_2 = Array();
var statsSel;
var jw_85 = Randomizer.rand(1,10);
var jw_105 = Randomizer.rand(1,10);
var jw_125 = Randomizer.rand(1,10);
var jw_150 = Randomizer.rand(1,10);
var gage = Randomizer.rand(5,25);
var pi = Randomizer.rand(1,10);
var chances_hd = Math.floor(Math.random()*100+1);
var chance_hd = Randomizer.rand(1,3);
var chances_hp = Math.floor(Math.random()*100+1);
var chance_hp = Randomizer.rand(1,3);
var chance_fv = Randomizer.rand(1,10);
function start() {
    action(1,0,0);
}

function action(mode, type, selection) {
    if (mode != 1) {
        cm.dispose();
        return;
    }
    status++;
    if (status == 1) {
        var percent = getFever() == -1 ? 0 : getFever()
        var show = getFever() >= 10 && getFever() < 20 ? "■□□□□□□□□□" : 
        getFever() >= 20 && getFever() < 30 ? "■■□□□□□□□□" : 
        getFever() >= 30 && getFever() < 40 ? "■■■□□□□□□□" :
        getFever() >= 40 && getFever() < 50 ? "■■■■□□□□□□" :
        getFever() >= 50 && getFever() < 60 ? "■■■■■□□□□□" :
        getFever() >= 60 && getFever() < 70 ? "■■■■■■□□□□" :
        getFever() >= 70 && getFever() < 80 ? "■■■■■■■□□□" :
        getFever() >= 80 && getFever() < 90 ? "■■■■■■■■□□" :
        getFever() >= 90 && getFever() < 100? "■■■■■■■■■□" : "□□□□□□□□□□";
        var txt = "이 곳에서 아이템을 분해할 수 있는 것 같다. 분해기 아래에는 작은 메모가 표시되어 있다.\r\n\r\n#r";
        txt += " #fs12#①#fs11# Lv.75 이상의 장비 아이템만 분해 가능.\r\n";
        txt += " #fs12#②#fs11# Lv.105제 이상 아이템 분해시 일정 확률로 #e#z4001715##n 획득!\r\n";
        txt += " #fs12#③#fs11# Lv.160제 이상 아이템 분해시 일정 확률로 #e#z4310071##n 획득!\r\n#b";
        txt += " #fs12#ⓞ#fs11# #e피버 보너스 게이지 : #fs12##n#b"+show+" #fs11#("+percent+"%)#fs12##k";
        txt += "\r\n\r\n어떻게 할까? 아이템을 분해해 볼까?\r\n";
        txt += "#b#L1#음…. 지금 당장 분해를 시작해보자.\r\n";
        txt += "#L2#느낌이 좋지 않아. 지금은 분해할 때가 아니야.";
        cm.sendSimpleS(txt, 2);
    } else if (status == 2) {
        var ok = false;
        var selStr = "분해할 아이템을 선택하자. #b75레벨 이상의 장비 아이템#k만 가능하다. 아이템 이름위에 마우스를 올려 놓으면 툴팁을 볼 수 있다.\r\n";
        for (var x = 0; x < invs.length; x++) {
            var inv = cm.getInventory(invs[x]);
            for (var i = 0; i <= inv.getSlotLimit(); i++) {
                if (x == 0) {
                    slot_1.push(i);
                } else {
                    slot_2.push(i);
                }
                var it = inv.getItem(i);
                if (it == null) {
                    continue;
                }
                if (cm.isCash(it.getItemId())){
                var itemid = 0;
                }else{
                var itemid = it.getItemId();
                }
                
                if (selection == 1){
                if (!GameConstants.isEquip(itemid)) {
                    continue;
                }
                }else if (selection == 2){
                    continue;
                }
                ok = true;
                selStr += "#L" + (invs[x] * 1000 + i) + "##v" + itemid + "# #z" + itemid + "##l\r\n";
            }
        }
        if (!ok && selection == 1) {
            cm.sendOkS("맞다…. 나 장비 아이템을 가지고 있지 않았지…!", 2);
            cm.dispose();
            return;
        }
         if (selection == 1){
        cm.sendSimpleS(selStr + "#k", 2);
        }else if (selection == 2){
        cm.sendOkS("그래. 이건 완전 도박같은 행위야. 나중에 해봐야겠다.", 2);
        cm.dispose();
        }
    } else if (status == 3) {
        invv = selection / 1000;
        selected = selection % 1000;
        var inzz = cm.getInventory(invv);
        if (invv == invs[0]) {
            statsSel = inzz.getItem(slot_1[selected]);
        } else {
            statsSel = inzz.getItem(slot_2[selected]);
        }
        if (statsSel == null) {
            cm.sendOk("Error, please try again.");
            cm.dispose();
            return;
        }
        var item = statsSel.getItemId();
        if(cm.isCash(item)){
        cm.sendOkS("캐시 아이템은 분해할 수 없군...", 2);
        cm.dispose();
        } else if (ItemInformation.getInstance().getReqLevel(item) < 75) {
        cm.sendOk("착용 레벨이 75 미만인 아이템은 분해할 수 없다는 메시지가 나온다.");
        cm.dispose();
        }else{
        cm.sendNextS("#b#i"+statsSel.getItemId()+"# #z"+statsSel.getItemId()+"##k 아이템을 정말로 분해할까? 아이템의 옵션에 상관 없이 결과는 똑같이 나올테고, 결과를 번복할 순 없겠지….", 2);
        }
    } else if (status == 4) {
        var item = statsSel.getItemId();
        var list = "4310036,4001519,3994013,3994001,3994009,4310038"
        var list_fv  = "4310036,4001519,3994013,3994001,3994009,4310038"
        var list_85  = list.split(",")[Math.floor(Math.random()*6)];
        var list_105 = list.split(",")[Math.floor(Math.random()*6)];
        var list_125 = list.split(",")[Math.floor(Math.random()*6)];
        var list_150 = list.split(",")[Math.floor(Math.random()*6)];
        var list_fvr = list_fv.split(",")[Math.floor(Math.random()*6)];
        setFever(getFever() + gage)
        var extract = "#b#i"+statsSel.getItemId()+"# #z"+statsSel.getItemId()+"##k 아이템을 분해하여 아래의 결과물이 나왔다.";
        extract += "\r\n\r\n#e#b #fs12#ⓞ#fs11# #e분해 후 피버 보너스 게이지 : #r"+getFever()+"% #b("+gage+"% 상승)#n#fs12##k";
        extract += "\r\n\r\n#fUI/UIWindow.img/QuestIcon/4/0#\r\n";
            extract += "#b#i"+list_85+"# #z"+list_85+"# "+jw_85+"개\r\n";
            if(ItemInformation.getInstance().getReqLevel(item) >= 105) {
            extract += "#b#i"+list_105+"# #z"+list_105+"# "+jw_105+"개\r\n";
            }
            if(ItemInformation.getInstance().getReqLevel(item) >= 125) {
            extract += "#b#i"+list_125+"# #z"+list_125+"# "+jw_125+"개\r\n";
            }
            if(ItemInformation.getInstance().getReqLevel(item) >= 150) {
            extract += "#b#i"+list_150+"# #z"+list_150+"# "+jw_150+"개\r\n";
            }
            if(ItemInformation.getInstance().getReqLevel(item) >= 105 && chances_hd < 5) {
            extract += "#b#i4310071# #z4310071# "+chance_hd+"개\r\n";
            }
            if(ItemInformation.getInstance().getReqLevel(item) >= 160 && chances_hp < 5) {
            extract += "#b#i4310071# #z4310071# "+chance_hp+"개\r\n";
            }

            cm.gainItem(list_85, jw_85);
            if(ItemInformation.getInstance().getReqLevel(item) >= 105) {
            cm.gainItem(list_105, jw_105);
            }
            if(ItemInformation.getInstance().getReqLevel(item) >= 125) {
            cm.gainItem(list_125, jw_125);
            }
            if(ItemInformation.getInstance().getReqLevel(item) >= 150) {
            cm.gainItem(list_150, jw_150);
            }
            if(ItemInformation.getInstance().getReqLevel(item) >= 105 && chances_hd < 5) {
            cm.gainItem(4310071, chance_hd)
            }
            if(ItemInformation.getInstance().getReqLevel(item) >= 160 && chances_hp < 5) {
            cm.gainItem(4310071, chance_hp)
            }
        if (getFever() >= 100) {
            setFever(0);
            extract += "\r\n\r\n#fUI/UIWindow.img/QuestIcon/4/0# #e#r[피버 보너스]#k#n\r\n";
            extract += "#b#i"+list_fvr+"# #z"+list_fvr+"# "+chance_fv+"개\r\n";
            cm.gainItem(list_fvr, chance_fv);        
        };

        cm.gainItem(statsSel.getItemId(),-1);
        cm.sendOkS(extract, 2);        
        cm.dispose();
    }
}

function getFever() {
    return cm.getPlayer().getKeyValue2("fever");
}

function setFever(i) {
    cm.getPlayer().setKeyValue2("fever", i);
}

 

 

 

 

참고로 only 스크립트 

번호 제목 글쓴이 날짜 조회 수
» 220 분해 스크립트 복엄 2017.06.25 48
481 219 CT [1] file 람댕 2017.06.24 48
480 벨 리디렉터 file 네바 2017.06.23 59
479 211버전 CT [1] file Gc빌리 2017.06.18 62
478 214버전 ct file Gc빌리 2017.06.18 5
477 1.2.200CT file Gc빌리 2017.06.17 34
476 1.2.219 CT file Gc빌리 2017.06.17 24
475 1.2.118 트레이너 file Gc빌리 2017.06.17 101
474 1.2.95 CT file Gc빌리 2017.06.17 97
473 process file Gc빌리 2017.06.17 13
472 버전모르는 코드 file Gc빌리 2017.06.17 22
471 1.2.65트레이너 [2] file Gc빌리 2017.06.17 167
470 1.2.187 코드모음 file Gc빌리 2017.06.17 9
469 리패커 3.5버전 file Gc빌리 2017.06.17 33
468 리패커 3.1버전 file Gc빌리 2017.06.17 11
467 메이플 220트레이너 [1] file Gc빌리 2017.06.17 93
466 상위버전 암호화키값 따는 프로그램 file 신앙 2017.06.11 200
465 220ct입니다 [1] file 포커하트 2017.06.11 139
464 118 탬생성 ct [4] file 배19223 2017.06.06 324
463 1.2.65 ct [3] file 의로운의중이 2017.06.06 149
462 220 핵쉴드 옛날버전 [1] file 배19223 2017.06.05 107
461 리워드 스크롤 [1] file 벽꿍 2017.06.03 51
460 65기준 구축준비물 file jkmins 2017.06.02 137
459 어스프메 접기만들기 프로그램ㅇ니빈다 file 벽꿍 2017.05.30 160
458 시툴 접속기메이커 file 벽꿍 2017.05.30 94
457 윈도우 10 핵쉴드 [1] file 벽꿍 2017.05.30 129
456 KMS 1.2.65 80~100제 무기,장비 SQL file 벽꿍 2017.05.28 65
455 샵에디터 file 벽꿍 2017.05.28 21
454 KMS 1.2.219 코드 file 벽꿍 2017.05.27 41
453 벨 리디 file alstjr99223 2017.05.26 20
452 네오 v90 file alstjr99223 2017.05.26 13
451 1029 리디 file alstjr99223 2017.05.26 131
450 [위드] 맵에디터(MapEditor) file 머더래빗 2017.05.16 165
449 메이플 스킬 변환 file stalagmite 2017.05.15 102
448 리디렉터 [1] file ekrmtm 2017.05.14 177
447 95리패커 file jkmins 2017.05.13 48
446 20170509정상작동 본메 ct [1] file pagapps 2017.05.09 179
445 하리페커 한글 (윈7 64빗 적용됨) file cas3311 2017.05.08 50
444 리붓기 file 구츅몬 2017.05.06 24
443 상점메이커 file 구츅몬 2017.05.06 42
442 맵에디터 file 구츅몬 2017.05.06 54
441 드롭메이커 file 구츅몬 2017.05.06 30
440 퀘스트메이커 [1] file 구츅몬 2017.05.06 42
439 메이플 맵 에뮬레이터 [1] file 구츅몬 2017.05.06 58
438 mapleshark2.0 file 구츅몬 2017.05.06 42
437 헤어페이스 덤퍼 file 구츅몬 2017.05.06 25
436 넷빈 8.2 7.4 7.2 file 봉준이 2017.04.28 50
435 맵 에디터입니다 file fled 2017.04.25 45
434 만능엔피씨/피나(캐쉬교환)/택시(이동) file 사텐 2017.04.23 48
433 메이플 접속기 메이커+모음 [1] file 좋은의미 2017.04.22 215