Skip to content

자유게시판

d2nt 40차로 작성 하였습니다.

참고로 NTMap으로 로드 할때만 동작 됩니다.


1. 방제 불러오기

d2nt_40\scripts 폴더에 보시면 NTMap.ntj 이라는 파일이 있습니다.

메모장으로 열고, 기존 내용 다 지우시고, 아래 내용 붙여 넣기 하세요.

==================================================================

function NTMain()
{

 Include("libs/controlInfo.ntl");
 var _control   = new controlInfo();
 var _controlId = -1;
 var lastgame = "";
 var create_b, join_b, ladder_b, help_b, quit_b, jg_b;
 
 Delay(1000);
 var _ingame = false;

 while(1)
 {
  if(me.ingame)
  {
   if(!_ingame)
   {
    RunGC();

    if(Load("NTMap/NTMapGame.ntj"))
     _ingame = true;
   }

   Delay(1000);
  }
  else
  {
   if(_ingame)
    _ingame = false;


   join_b = _control.get(_control.controls.lobby.button.join);
   if (join_b && join_b.pressed)
   {
    var _fh = FileOpen("room_" + me.charname + ".txt", 0);
    if (_fh)
    {
     lastgame = _fh.ReadLine();
     _fh.Close();
    }

    if (lastgame != "")
    {
     _control.setText(_control.controls.lobby.join.editBox.gameName, lastgame);
    }

    Delay(500);
    while(1)
    {
     create_b = _control.get(_control.controls.lobby.button.create);
     if (create_b && create_b.pressed)
      break;
     ladder_b = _control.get(_control.controls.lobby.button.ladder);
     if (ladder_b && ladder_b.pressed)
      break;
     help_b = _control.get(_control.controls.lobby.button.help);
     if (help_b && help_b.pressed)
      break;
     quit_b = _control.get(_control.controls.lobby.button.quit);
     if (quit_b && quit_b.pressed)
      break;
     if(me.ingame)
     {
      if(!_ingame)
      {
       RunGC();
       if(Load("NTMap/NTMapGame.ntj"))
        _ingame = true;
      }
      Delay(1000);
      break;
     }
    Delay(500);
    }
   }
   Delay(500);
  }
 }
}


======================================================================================

원리는 방에 들어가면 해당 방의 이름을 d2nt_40\scripts 폴더에 'room_케릭명.txt' 파일 안에 방 이름을 적어 놓습니다.

그 파일을 불러다가 방이름에 자동으로 입력되게 하는 겁니다.

방제는 한번에 못 불러 올수도 있으니, create, ladder, channel 버튼등 Join 버튼 외에 다른 버튼 누르시고 Join 버튼 누르시면 방제가 나타날겁니다.




2. 방이름 저장, 치킨 On/Off 키

d2nt_40\scripts\NTMap 폴더에 'NTMapGame.ntj' 파일을 메모장으로 열고 내용 다 지운 후에 아래 내용을 붙여 넣기 하세요.

==========================================================================================

var NTConfig_LifeChicken;
var NTConfig_ManaChicken;
var NTConfig_AutoParty;

function NTMain()
{
    Delay(1000);
    Include("libs/common/MyCommon.ntl");

    MyCommon.IncludeLibs();
    MyCommon.IncludeConfig("NTMap/char_configs", false, false);

    var _fh = FileOpen("room_" + me.charname + ".txt", 1); //방제 로그파일 작성
    if(_fh)
    {
        _fh.WriteLine(me.gamename);
        _fh.Close();
    }

    var _count = 0;
    var _LifeMax, _ManaMax;
    var _player, _mypartyid;

    NT_LoadConfig();

    RegisterEvent(EVENT_KEYDOWN, NT_KeyEvents);

    SetUIState(0x0A, true);

    _LifeMax = me.hpmax;
    _ManaMax = me.mpmax;

    if(NTConfig_LifeChicken > 0)
        me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100);

    if(NTConfig_ManaChicken > 0)
        me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100);

    SetStatusText(" [IP:" + me.gameserverip + "][Out:" + me.chickenhp + "][P:" + NTConfig_AutoParty + "]" );

    while(1)
    {
        if(!MyUnit.IsTown())
        {
            if(_LifeMax != me.hpmax)
            {
                _LifeMax = me.hpmax;

                if(NTConfig_LifeChicken > 0)
                    me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100);
            }

            if(_ManaMax != me.mpmax)
            {
                _ManaMax = me.mpmax;

                if(NTConfig_ManaChicken > 0)
                    me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100);
            }
        }

        if(_count++ > 10)
        {
            if(NTConfig_AutoParty)
            {
                _player = GetPlayerUnit();

                if(_player)
                {
                    _mypartyid = _player.partyid;

                    while(_player.GetNext())
                    {
                        if(_player.partyid == 65535 || _player.partyid != _mypartyid)
                        {
                            if(_player.partyflag == 2)
                            {
                                me.ClickParty(_player, 2);
                                break;
                            }

                            if(_player.partyid == 65535)
                            {
                                if(_player.partyflag == 4)
                                    break;

                                me.ClickParty(_player, 2);
                                Delay(MyMove_DELAY_FRAME);

                                if(_player.partyflag == 4 || (_player.partyid != 65535 && _player.partyid == _mypartyid))
                                    break;
                            }
                        }
                    }
                }
            }

            _count = 0;
        }

        Delay(200);
    }
}

function NT_KeyEvents(keycode)
{
    var _LifeMax = me.hpmax; // 치킨위해 변수 재설정
    switch(keycode)
    {
    case 109: // show or hide enemy - keypad '-'
        if(me.showenemyonautomap)
        {
            me.showenemyonautomap = false;
            SetStatusText(" [IP:" + me.gameserverip + "][Out:" + me.chickenhp + "][P:" + NTConfig_AutoParty + "]" );
            Print("Enemy on Automap : Off");
        }
        else
        {
            me.showenemyonautomap = true;
            SetStatusText(" [IP:" + me.gameserverip + "][Out:" + me.chickenhp + "][P:" + NTConfig_AutoParty + "]" );
            Print("Enemy on Automap : On");
        }
        break;
    case 107: // show or hide missile - keypad '+'
        if(me.showmissileonautomap)
        {
            me.showmissileonautomap = false;
            Print("Missile on Automap : Off");
        }
        else
        {
            me.showmissileonautomap = true;
            Print("Missile on Automap : On");
        }
        break;
    case 106: // auto party on/off - keypad '*'
        if(NTConfig_AutoParty)
        {
            NTConfig_AutoParty = false;
            Print("Auto Party : Off");
        }
        else
        {
            NTConfig_AutoParty = true;
            Print("Auto Party : On");
        }
        break;
    case 111: // LifeChiken on/off - keypad '/'
        if (me.chickenhp > 0)
        {
            me.chickenhp = 0;
            SetStatusText(" [IP:" + me.gameserverip + "][Out:" + me.chickenhp + "][P:" + NTConfig_AutoParty + "]" );
            Print("Chicken : Off // HP : " + me.chickenhp);
        }
        else
        {
            me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100);       
            SetStatusText(" [IP:" + me.gameserverip + "][Out:" + me.chickenhp + "][P:" + NTConfig_AutoParty + "]" );
            Print("Chicken : On // HP : " + me.chickenhp);
        }
        break;
    }
}


===============================================================================================

우선 상단에 보이는 내용을 IP, 치킨 HP, 오토파티 True, False로 보이게끔 바꿨습니다.

그리고 방에 들어가면 1번항목에서 필요한 방제를 남기기 위해 'room_케릭명.txt'라는 텍스트 파일을 만들고,

그 안에 방제를 남기도록 했습니다.

알다시피 오토파티 On/Off 키는 NumLock 쪽의 * 입니다.

추가로 치킨 On/Off키를 NumLock쪽의 / 로 할당했습니다.


궁금하신거 있으시면 댓글 주세요.


방갑습니다.
오랜만에 복귀해서 디아2를 다시 해보려고 합니다.
잘부탁합니다.

자유게시판

친목/자유/사담 게시판

번호 제목 글쓴이 날짜 조회
공지 게시판 푸시 알림 / 통합 앱 서비스 36 file 트디개발자 2023.09.20 966.0k
공지 트레디아 경험치를 올리는 방법 78 트디개발자 2022.10.27 64.1k
공지 맨땅 초보자 가이드 621 file 뮤리아 2020.10.16 1019.0k
공지 카카오톡 1:1 채팅방 만드는 법 108 트디개발자 2018.05.20 431.4k
6576 출첵 6 별명묻지마소 2016.06.04 127
6575 출첵이요 6 kdinmm 2016.06.04 116
6574 출첵합니다 6 니꼬라지 2016.06.04 288
6573 출석합니다 6 트랑고 2016.06.04 233
6572 출첵합니다 6 구들장 2016.06.04 281
6571 출첵이여 6 이누카미 2016.06.04 269
6570 헬 바바 바할 재거 부탁드립니다 3 킴킴 2016.06.03 371
6569 say 출췍!! 3 꼬마콩은지 2016.06.03 184
> 방제 저장&불러오기, 치킨 On/Off 기능 추가 ( 자료를 올릴만한데가 없네요;; ) 3 달려라유령 2016.06.03 343
6567 첵첵첵 출첵합니다 6 니꼬라지 2016.06.03 276
6566 출첵 합니다. 6 엠반장 2016.06.03 264
6565 출첵합니다~ 6 chqhwk2 2016.06.03 346
6564 안녕하세요 5 장비 2016.06.03 241
6563 출석체크합니다 6 동산팔라딘 2016.06.03 358
6562 출첵합니다 6 pxpala 2016.06.02 185
6561 24시간출 장 짜 릿한만남 즐겨보실오 빠들 여기로오세요~ 3 aksmekd 2016.06.02 261
6560 안녕하세요. 출첵합니다~ 6 BaeKi 2016.06.02 356
6559 출첵합니다 5 니꼬라지 2016.06.02 322
6558 아시아1 레더 40이상 나메~헬 버스타실분 3 deppp 2016.06.02 306
6557 아시아1스탠입니다 4 아방아방샤넬 2016.06.01 355