• SEARCH

    통합검색
  • GAMEZONE
    • 커뮤니티
      • 공지사항
      • 유저게시판
        • 등업게시판
        • 출석체크
        • 정회원 무료자료실
      • 스크린샷
      • 인증자료실
    • 리니지
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 메이플스토리
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 바람의나라
      • 자유게시판
      • 홍보게시판
      • 자료게시판
        • 유틸자료실
        • 소스자료실
        • 클라이언트
        • 팩 자료실
      • 연구게시판
        • 개발내역
        • 질문과답변
        • 기타
      • 강의게시판
        • DR
        • CR
        • 구버전
        • 클라이언트 개조
        • 노하우 게시판
        • 게임공략 & 팁
    • 다크에덴
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 믹스마스터
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 라그나로크
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 기타게임
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 게임강의
    • 비베&포토샵
      • 자유게시판
      • 자료실
        • 일반자료실
        • 포인트 자료실
      • 노하우게시판
      • 포토샵게시판
    • 모바일
      • 게임공략
      • 포인트 자료실
      • 유틸자료실
      • 자유게시판
  • 라그나로크 소스자료실
    • 라그나로크 소스자료실 ()
    • rAthena 아이템을 경험치로 교환하는 NPC

      • Nille
      • 2016.03.12 - 08:35 91

    morocc,162, 35,1    script    경험치 자판기    564,{

        //반드시 주석의 설명에 따라 설정해 주세요.

        //교환할 아이템은 반드시 !!하나 이상!! 그리고 아래와 같은 형식으로 작성해 주세요.
        //교환 아이템 ID 01, 아이템 갯수 01, 교환 아이템 ID 02, 아이템 갯수 02, ... , 베이스 경험치, 잡 경험치;
        setarray .@exchangeItem0[0], 909,10, 713, 5, 5000, 5000;    //젤로피, 10개, 빈병, 5개, 베이스 경험치 5000, 잡 경험치 5000
        setarray .@exchangeItem1[0], 913,10, 10000, 9000;    //박쥐의 이빨, 10개, 베이스 경험치 10000, 잡 경험치 10000
        setarray .@exchangeItem2[0], 914,10, 915, 5, 919, 5, 20000, 20000;    //솜털, 10개, 번데기 껍질, 5개, 동물의 가죽, 5개, 베이스 경험치 20000, 잡 경험치 20000
        setarray .@exchangeItem3[0], 935, 5, 938, 15, 955, 10, 30000, 25000;    //단단한 껍질, 5개, 끈적끈적한 액체, 15개, 벌레의 등껍질, 10개, 베이스 경험치 30000, 잡 경험치 25000
        
        //교환 아이템을 더 추가하려면 위의 변수명에 있는 숫자를 하나 증가시켜서 원하는 만큼 작성합니다.
        //ex)
        //setarray .@exchangeItem4[0], 501, 10, 1000, 0;
        //setarray .@exchangeItem5[0], 501, 10, 1000, 0;
        //setarray .@exchangeItem6[0], 501, 10, 1000, 0;
        //...
        //위의 변수명에 있는 숫자가 증가함에 유의하시고, 아이템 ID, 아이템 수량, ... , 베이스 경험치, 잡 경험치 구조로 작성하세요.

    start:
        mes "[^0000FF" + strnpcinfo(1) + "^000000]";
        mes "사냥하면서 얻은 아이템을 경험치로 교환해 드립니다.";

        set .@choose$, "교환 아이템 목록:교환 가능 목록:닫기";
        
        while(1)
        {
            switch(select(.@choose$))
            {
                case 1:
                    next;
                    mes "[^0000FF" + strnpcinfo(1) + "^000000]";
                    for(.@i = 0;  getd(".@exchangeItem" + .@i + "[0]") != 0; .@i++)
                    {
                        .@itemList$ = "";

                        copyarray .@items[0], getd(".@exchangeItem" + .@i + "[0]"), getarraysize(getd(".@exchangeItem" + .@i));

                        for(.@j = 0; .@j < getarraysize(.@items); .@j++)
                        {
                            if(.@j == (getarraysize(.@items)-2))
                            {
                                //보상 경험치 메시지 부분
                                .@itemList$ = .@itemList$ + "▷ ^009900" + .@items[.@j] + "^000000/^009900" + .@items[.@j++] + "^000000 Base/Job Exp";
                                break;
                            } else {
                                //요구 아이템 메시지 부분
                                .@itemList$ = .@itemList$ +  "[^FF0000" + getitemname(.@items[.@j]) + "^000000 ^0000FF" + .@items[.@j++] + "^000000개] ";
                            }
                        }
                        deletearray .@items[0],getarraysize(.@items);
                        mes .@itemList$;
                        dispbottom .@itemList$, ox000000, getcharid(0);
                    }
                    break;

                case 2:
                    mes "아래의 교환 가능 목록을 선택하면 경험치로 바로 교환합니다.";
                    goto exchangeList;
                    break;
                    
                default:
                    goto bye;
                    break;
            }
        }
        
    exchangeList:    
        while(1)
        {
            set .@exchangeList$, "";
            .@k=1;
            for(.@i = 0;  getd(".@exchangeItem" + .@i + "[0]") != 0; .@i++)
            {
                .@itemList$ = "";

                copyarray .@items[0], getd(".@exchangeItem" + .@i + "[0]"), getarraysize(getd(".@exchangeItem" + .@i));

                for(.@j = 0; .@j < (getarraysize(.@items) - 2); .@j++)
                {
                    if((countitem(.@items[.@j]) >= .@items[.@j+1]))
                    {
                        .@itemList$ = .@itemList$ +  "[^FF0000" + getitemname(.@items[.@j]) + "^000000^0000FF" + countitem(.@items[.@j]) + "^000000/" + .@items[.@j++] + "개]";
                    }
                    else
                    {
                        .@itemList$ = "";
                        break;
                    }
                }
                deletearray .@items[0],getarraysize(.@items);
                if(.@itemList$ != "")
                {
                    .@exchangeList$ = .@exchangeList$ + .@itemList$ + ":";
                    .@exchange[.@k]=.@i;
                    .@k++;
                }
            }
            if(.@exchangeList$ == "")
            {
                mes "", "교환 가능 아이템 없음";
                next;
                goto start;
            }

            .@choice = prompt(.@exchangeList$);
            if(.@choice == 255)
                goto start;

            .@j = getarraysize(getd(".@exchangeItem" + .@exchange[.@choice]));
            for(.@i = 0; .@i < (.@j - 2); .@i++)
                delitem getd(".@exchangeItem" + .@exchange[.@choice] + "[" + .@i + "]"), getd(".@exchangeItem" + .@exchange[.@choice] + "[" + (.@i++) + "]"); 

            BaseExp = BaseExp + getd(".@exchangeItem" + .@exchange[.@choice] + "[" + (.@j-2) + "]");
            JobExp = JobExp + getd(".@exchangeItem" + .@exchange[.@choice] + "[" + (.@j -1) + "]");
            message strcharinfo(0), "경험치가 " + getd(".@exchangeItem" + .@exchange[.@choice] + "[" + (.@j-2) + "]") + "/" + getd(".@exchangeItem" + .@exchange[.@choice] + "[" + (.@j -1) + "]") + "만큼 증가하였습니다.";

            deletearray .@exchange[0],getarraysize(.@exchange);
        }

    bye:
        next;
        mes "[^0000FF" + strnpcinfo(1) + "^000000]";
        mes "이용해주셔서 감사합니다.";
        close;
        end;
    }

    이 게시물을..
    N
    0
    0
    • 도작도우미 npc파크시티
    • 6
      Nille

    Nille 님의 최근 글

    ccc 2016 06.23 ccc 2016 06.22 cc 2016 06.07 Func 시스템 스크립 질문이요 87 1 2016 05.17 ㅊㅊㅊ 2016 05.17

    Nille 님의 최근 댓글

    확인~ 2019 09.21 rt 2016 05.08 감사 2016 05.02 실행안된다 2016 04.30 받아볼깨여 2016 04.24
    글쓴이의 서명작성글 감추기 
    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • 도작도우미 npc
    • 목록
      view_headline
    × CLOSE
    기본 (166) 제목 날짜 수정 조회 댓글 추천 비추
    분류 정렬 검색
    • 소스자료는 직접 올려주세요
      2017.06.06 - 16:15 301
    166
    상수와 변수
    a74654 2025.09.24 - 19:59 16
    165
    전쟁중에혈해체 못하게
    인존 2024.03.04 - 09:52 44
    164
    운영자 버프
    인존 2024.03.04 - 09:29 88
    163
    BlackCipher64.ct
    우2우2 2023.06.10 - 21:23 160
    162
    Hercules 용 한번에 무기 10강화 해주는 NPC
    noBrand 2020.08.30 - 04:27 664
    161
    배율 이벤트 스크립트입니다.
    비트 2020.08.28 - 10:18 380
    160
    맵이름 한글화 함수 스크립트
    suazzang 2020.07.08 - 02:09 389
    159
    @잡 소스를 대체하는 스크립트 명령어
    suazzang 2020.07.08 - 02:05 268
    158
    월드이용권npc
    아이도나 2020.01.15 - 09:54 407
    157
    보스 출현 던전 및 필드가 추가된 텔레포터(자작)
    맴찢 2019.11.22 - 12:25 518
    156
    포인트샵
    asdasvw 2019.09.11 - 02:51 455
    155
    파티홍보존
    asdasvw 2019.09.05 - 03:44 335
    154
    계정매니저
    asdasvw 2019.09.05 - 03:42 290
    153
    길드랭커오라
    asdasvw 2019.09.05 - 03:41 206
    152
    힐러 엔피씨
    민민 2019.02.16 - 00:01 327
    151
    초기화 엔피씨
    민민 2019.02.16 - 00:01 254
    150
    랭크엔피시
    민민 2019.02.15 - 23:58 217
    149
    오크의 습격! (이벤트성)
    비트 2018.06.03 - 10:29 387
    148
    주사위놀이입니다.
    비트 2018.06.03 - 10:27 247
    147
    전체감정입니다.
    비트 2018.06.03 - 10:27 285
    146
    블랙 잭입니다.
    비트 2018.06.03 - 10:25 242
    145
    포링레이스
    비트 2018.06.03 - 10:25 201
    144
    타뷸라의 늑대
    비트 2018.06.03 - 10:23 229
    143
    농축제련
    이지 2018.01.29 - 16:32 324
    142
    옛고성
    이지 2018.01.29 - 16:31 260
    141
    마왕모로크 번역
    이지 2018.01.29 - 16:31 258
    140
    전직도우미
    이지 2018.01.29 - 16:30 305
    139
    스타일리스트 스크립트
    이지 2018.01.29 - 16:30 200
    138
    시간의부츠 스크립트
    이지 2018.01.29 - 16:30 171
    137
    엔들리스타워
    이지 2018.01.29 - 16:29 121
    136
    아이템디비 허큘
    이지 2018.01.29 - 16:29 160
    135
    바포미션퀘스트
    이지 2018.01.29 - 16:29 84
    134
    캐쉬스크립트
    이지 2018.01.29 - 16:27 222
    133
    이벤트명령어추가
    이지 2018.01.29 - 16:26 133
    132
    시계탑 한글화
    이지 2018.01.29 - 16:26 116
    131
    월드드랍
    이지 2018.01.29 - 16:25 115
    130
    자동제련
    이지 2018.01.29 - 16:25 165
    129
    투표도우미
    이지 2018.01.29 - 16:24 49
    128
    아이템삭제스크립트
    이지 2018.01.29 - 15:34 96
    127
    MvP 래더 게임
    이지 2018.01.29 - 15:33 58
    126
    니플헤임퀘스트
    이지 2018.01.29 - 15:32 67
    125
    아이템 이름새기기
    이지 2018.01.29 - 15:31 76
    124
    바포잡기퀘스트입니다.
    이지 2018.01.29 - 15:31 62
    123
    정착지원 엔피시
    이지 2018.01.29 - 15:30 124
    122
    힐 딜레이 힐량 변경법
    이지 2018.01.29 - 15:28 106
    121
    쉐도우장비+일반장비 제련 npc
    파크시티 2018.01.10 - 01:53 155
    120
    환생 npc
    파크시티 2018.01.10 - 01:52 122
    119
    결투장 npc
    파크시티 2018.01.10 - 01:51 77
    118
    도작도우미 npc
    파크시티 2018.01.10 - 01:50 112
    117
    서버에 접속했을때 대화창으로 알려주는 npc
    파크시티 2018.01.10 - 01:50 86
    • 1 2 3 .. 4
    • / 4 GO
  • GAMEZONE
 GAMEZONE all rights reserved.
by OrangeDay