itemlog 메시지의 색깔바꿔보기
분류
봇관련
조회 수
2,522
추천 수
12

안녕하세요 저는 자바프로그래머를 꿈꾸는 고3학생입니다..ㅋ 질답 게시판에 이거에대해서 질문을 올리신분이 계셔서 대충찾다가 정보공유도할겸 팁에 올려봅니다.
일단 사진을 보시면 유니크링을 아이템줍기에서 빨간색, 아이템로그에서 빨간색으로 표기하게끔 설정했습니다.
상수변경만해주면되니 꾀나쉬운작업이더군요... 오히려 봇이 먹게해서 확인하는작업이 힘들었습니다...ㅠ
일단 설정해줘야할 파일은 scripts\libs\common\ntcommon.ntl 파일입니다 이파일을 메모장으로 열게되면
var NTC_ItemQualityToName = new Array(9);
NTC_ItemQualityToName[0] = "None";
NTC_ItemQualityToName[1] = "Low Quality";
NTC_ItemQualityToName[2] = "Normal";
NTC_ItemQualityToName[3] = "Superior";
NTC_ItemQualityToName[4] = "Magic";
NTC_ItemQualityToName[5] = "Set";
NTC_ItemQualityToName[6] = "Rare";
NTC_ItemQualityToName[7] = "Unique";
NTC_ItemQualityToName[8] = "Crafted";
var NTC_ItemQualityToD2Color = new Array(9);
NTC_ItemQualityToD2Color[0] = "ÿc8";
NTC_ItemQualityToD2Color[1] = "ÿc0";
NTC_ItemQualityToD2Color[2] = "ÿc0";
NTC_ItemQualityToD2Color[3] = "ÿc0";
NTC_ItemQualityToD2Color[4] = "ÿc4";
NTC_ItemQualityToD2Color[5] = "ÿc2";
NTC_ItemQualityToD2Color[6] = "ÿc9";
NTC_ItemQualityToD2Color[7] = "ÿc1";
NTC_ItemQualityToD2Color[8] = "ÿc8";
var NTC_ItemQualityToMGRColor = new Array(9);
NTC_ItemQualityToMGRColor[0] = "ÿc8";
NTC_ItemQualityToMGRColor[1] = "ÿc6";
NTC_ItemQualityToMGRColor[2] = "ÿc6";
NTC_ItemQualityToMGRColor[3] = "ÿc6";
NTC_ItemQualityToMGRColor[4] = "ÿc4";
NTC_ItemQualityToMGRColor[5] = "ÿc2";
NTC_ItemQualityToMGRColor[6] = "ÿc9";
NTC_ItemQualityToMGRColor[7] = "ÿc1";
NTC_ItemQualityToMGRColor[8] = "ÿc8";
이런식으로 color에 관한 두개의 배열변수와 아이템퀄리티에관한 한개의 배열변수를 보시게될겁니다.
설명을 드리자면
NTC_ItemQualityToMGRColor[0] = "ÿc8";
아이템퀄리티 0에해당하는것은 d2매니저 itemlog에 ÿc8 색상으로 적어라 라는 뜻정도됩니다
NTC_ItemQualityToD2Color[0] = "ÿc8";
이것은 디아창에보면 아이템줍기 : 아이템이름 나오는데 여기서의 아이템이름의 색상을 8번 색상으로하라는뜻입니다.,
ÿc1 빨간색
ÿc2 초록(셋트)
ÿc3 파란(매직)
ÿc4 유니크색상
ÿc5 회색(에테,소켓)
ÿc6 검은색
ÿc8 오렌지(크랲)
ÿc9 노랑색(레어)
아이템 순서는
0 = "None"; - 정확히 어느것을 말하는지 모르겟습니다
1 = "Low Quality"; - 로우퀄리티
2 = "Normal"; - 노말 노슈페인듯합니다.
3 = "Superior"; - 슈페리어
4 = "Magic"; - 매직
5 = "Set"; - 셋트
6 = "Rare"; - 레어
7 = "Unique"; - 유니크
8 = "Crafted"; - 크랲
만약 유니크아이템을 줏었을때 itemlog에 검은색깔로 적고싶다 그럼
NTC_ItemQualityToMGRColor[7] = "ÿc1";
이 부분을
NTC_ItemQualityToMGRColor[7] = "ÿc6";
으로 수정하시면됩니다.
여기까지는 퀄리티별로 수정하는방법이었습니다.
-------------------------------------------------------
밑에서는 mgrcolor 상수를 변경해서 itemlog 에 색상을 바꿧는데요 좀더 뜯어본결과 type번호로도 가능하더군요.
즉 주얼색깔따로 스몰참색깔따로 라지참색깔따로 이렇게 변경이가능하며 양식도 변경이 가능합니다.
기존에는 시간 보관)장소 아이템이름 (아이템레벨) 인듯합니다만 이것을 팔라무기는 팔라무기)아이템이름 이런식으로 변경도가능합니다.
일단먼저 itemtype 에 대해서알아야겠네요
좀더 알아내게되면 classID로도 가능할듯합니다 type에는 무기,참 이런거고 classID는 (콜로서스블레이드) 이런식입니다.
_NTIPAliasType["shield"]=2;
_NTIPAliasType["armor"]=3;
_NTIPAliasType["gold"]=4;
_NTIPAliasType["bow quiver"]=5;
_NTIPAliasType["crossbow quiver"]=6;
_NTIPAliasType["playerbodypart"]=7;
_NTIPAliasType["herb"]=8;
_NTIPAliasType["potion"]=9;
_NTIPAliasType["ring"]=10;
_NTIPAliasType["elixir"]=11;
_NTIPAliasType["amulet"]=12;
_NTIPAliasType["charm"]=13;
_NTIPAliasType["notused"]=14;
_NTIPAliasType["boots"]=15;
_NTIPAliasType["gloves"]=16;
_NTIPAliasType["notused"]=17;
_NTIPAliasType["book"]=18;
_NTIPAliasType["belt"]=19;
_NTIPAliasType["gem"]=20;
_NTIPAliasType["torch"]=21;
_NTIPAliasType["scroll"]=22;
_NTIPAliasType["notused"]=23;
_NTIPAliasType["scepter"]=24;
_NTIPAliasType["wand"]=25;
_NTIPAliasType["staff"]=26;
_NTIPAliasType["bow"]=27;
_NTIPAliasType["axe"]=28;
_NTIPAliasType["club"]=29;
_NTIPAliasType["sword"]=30;
_NTIPAliasType["hammer"]=31;
_NTIPAliasType["knife"]=32;
_NTIPAliasType["spear"]=33;
_NTIPAliasType["polearm"]=34;
_NTIPAliasType["crossbow"]=35;
_NTIPAliasType["mace"]=36;
_NTIPAliasType["helm"]=37;
_NTIPAliasType["missilepotion"]=38;
_NTIPAliasType["quest"]=39;
_NTIPAliasType["bodypart"]=40;
_NTIPAliasType["key"]=41;
_NTIPAliasType["throwingknife"]=42;
_NTIPAliasType["throwingaxe"]=43;
_NTIPAliasType["javelin"]=44;
_NTIPAliasType["weapon"]=45;
_NTIPAliasType["meleeweapon"]=46;
_NTIPAliasType["missileweapon"]=47;
_NTIPAliasType["thrownweapon"]=48;
_NTIPAliasType["comboweapon"]=49;
_NTIPAliasType["anyarmor"]=50;
_NTIPAliasType["anyshield"]=51;
_NTIPAliasType["miscellaneous"]=52;
_NTIPAliasType["socketfiller"]=53;
_NTIPAliasType["secondhand"]=54;
_NTIPAliasType["stavesandrods"]=55;
_NTIPAliasType["missile"]=56;
_NTIPAliasType["blunt"]=57;
_NTIPAliasType["jewel"]=58;
_NTIPAliasType["classspecific"]=59;
_NTIPAliasType["amazonitem"]=60;
_NTIPAliasType["barbarianitem"]=61;
_NTIPAliasType["necromanceritem"]=62;
_NTIPAliasType["paladinitem"]=63;
_NTIPAliasType["sorceressitem"]=64;
_NTIPAliasType["assassinitem"]=65;
_NTIPAliasType["druiditem"]=66;
_NTIPAliasType["handtohand"]=67;
_NTIPAliasType["orb"]=68;
_NTIPAliasType["voodooheads"]=69;
_NTIPAliasType["auricshields"]=70;
_NTIPAliasType["primalhelm"]=71;
_NTIPAliasType["pelt"]=72;
_NTIPAliasType["cloak"]=73;
_NTIPAliasType["rune"]=74;
_NTIPAliasType["circlet"]=75;
_NTIPAliasType["healingpotion"]=76;
_NTIPAliasType["manapotion"]=77;
_NTIPAliasType["rejuvpotion"]=78;
_NTIPAliasType["staminapotion"]=79;
_NTIPAliasType["antidotepotion"]=80;
_NTIPAliasType["thawingpotion"]=81;
_NTIPAliasType["smallcharm"]=82;
_NTIPAliasType["mediumcharm"]=83;
_NTIPAliasType["largecharm"]=84;
_NTIPAliasType["amazonbow"]=85;
_NTIPAliasType["amazonspear"]=86;
_NTIPAliasType["amazonjavelin"]=87;
_NTIPAliasType["assassinclaw"]=88;
_NTIPAliasType["magicbowquiv"]=89;
_NTIPAliasType["magicxbowquiv"]=90;
_NTIPAliasType["chippedgem"]=91;
_NTIPAliasType["flawedgem"]=92;
_NTIPAliasType["standardgem"]=93;
_NTIPAliasType["flawlessgem"]=94;
_NTIPAliasType["perfectgem"]=95;
_NTIPAliasType["amethyst"]=96;
_NTIPAliasType["diamond"]=97;
_NTIPAliasType["emerald"]=98;
_NTIPAliasType["ruby"]=99;
_NTIPAliasType["sapphire"]=100;
_NTIPAliasType["topaz"]=101;
_NTIPAliasType["skull"]=102;
먼저 위에 상수들이 선언되어있군요 아이템로그에 write되게하는 type의 범위는 2~74 81~쭉 인것같습니다.
이 if문을 조금손봐주면 되는데요 일단 수정해야되는파일은
스크립트-libs-common-mysngit.ntl 파일입니다. 이파일을 보게되면
if (_checkedItem.Status < 2 && (_item.itemtype < 76 || _item.itemtype > 81))
{
switch (MySI_NTIPCheckItem(_item, 0))
{
case -1:
MyIL_WriteLogAreaName(_item, _areaName);
break;
case 1:
NTC_SendLogToOOG(NTC_LOG_ITEM, "보관 [" + _areaName + "] " +
NTC_ItemQualityToMGRColor[_item.quality] +
_item.name.split("\n")[0] + " (" +
_item.itemlevel + ");" +
MyIL_GetItemDesc(_item, 2));
MyIL_WriteLog(_item, "보관(" + _areaName + ")");
이 if문이 2~74 81~쭉 범위들의 템을먹을경우 log를 작성하는 소스입니다. 이소스위에 보석색깔만 따로바꿔보겠습니다.
if (_checkedItem.Status < 2 && (_item.itemtype > 90)) // 90이상의 타입을 먹을때
{
NTC_SendLogToOOG(NTC_LOG_ITEM, "보석보관 [" + _areaName + "] " +
NTC_ItemQualityToMGRColor[4] + //유니크색으로바꿔보겠습니다 mgrcolor 색상은 밑에글에 보시면있어요
_item.name.split("\n")[0] + " (" +
_item.itemlevel + ");" +
MyIL_GetItemDesc(_item, 2));
MyIL_WriteLog(_item, "보관(" + _areaName + ")");}
이 소스를 위에작성해주시면 아마 보석을 먹을경우 2개가써질겁니다 그래서 위에소스도좀 수정해야되요
if (_checkedItem.Status < 2 && (_item.itemtype < 76 || _item.itemtype > 81)) 이 if문을
if (_checkedItem.Status < 2 && (_item.itemtype < 76 || _item.itemtype > 81 && _item.itemtype < 91)) 이렇게 수정해주시면됩니다.
지금 안좋은컴으로 쓰고있는터라 정확한 실험을 해보진못했습니다 하지만 스크립트상 이렇게 수정하면될듯하군요 만약 다른기능이 필요하시거나 하시면 글올려주세요