Encore님이 제공해 주셨습니다. ^^
내구도를 아래와 같이 확인할 수 있습니다.
내구도가 30프로 이하일 때 아래와 같이 표시되며,
내구도가 30프로 이상일 때는
아래와 같이 표시됩니다.
기존 스크립에 합치시려면 아래 문구를 추가하시고
딜레이를 길게 주시면 큰 무리 없이 사용이 가능합니다. ^^
Orion.Exec('Durability_watcher', true);
function Durability_watcher() {
// author : Encore
// 수정가능이라고 작성된 부분은 수정하여 사용 가능합니다.
var delay = 3; // 수정가능 : 몇 초 마다 업데이트할지
var percent_yellow = 30; // 수정가능 : 내구도가 이 숫자(%)보다 낮으면 노란색
var percent_red = 10; // 수정가능 : 내구도가 이 숫자(%)보다 낮으면 빨간색
var show_all_items = false; // 수정가능 : true -> 내구도 높은 아이템도 다 보여줌 / false -> 내구도 높은 아이템 숨김
var space_between_lines = 17; // 수정가능 : 글자 행간
// Create the gump
var gump = Orion.CreateCustomGump(72);
while (true) {
if (!Player.Dead()) {
var d = 60; // Initial vertical position of the text
var y = 90; // Initial height of the gump
var items = [];
for (var i = 1; i < 25; i++) {
if (Orion.ObjAtLayer(i)) {
var item = Orion.ObjAtLayer(i);
var properties = item.Properties();
if (Orion.Contains(item.Properties(), 'Durability') || Orion.Contains(item.Properties(), '내구도')) {
var properties = item.Properties();
var matches = /(Durability|내구도) (\d+)\s\/\s(\d+)/.exec(properties);
if (matches && matches.length > 2) {
var durability = Number(matches[2]);
var maxDurability = Number(matches[3]);
var textColor = '0x09C1';
// 색깔 지정
if ((durability / maxDurability * 100) < percent_red) {
textColor = '0x0025';
} else if ((durability / maxDurability * 100) < percent_yellow) {
textColor = '0x0035';
}
else
{
if(!show_all_items)
{
continue;
}
}
var itemName = item.Name();
if(itemName.length > 30 && Orion.Contains(item.Properties(), 'Durability'))
{
itemName = itemName.substring(0,30) + "...";
}
else if(itemName.length > 15)
{
itemName = itemName.substring(0,15) + "...";
}
items.push({'name':itemName, 'color':textColor, 'dura':durability, 'max':maxDurability});
}
y += space_between_lines;
Orion.Wait(10);
}
Orion.Wait(10);
}
}
gump.Clear();
gump.AddResizepic(0, 0, '302', 320, y);
gump.AddResizepic(0, 0, '302', 320, 50);
gump.AddText(130, 15, '40', '내 구 도');
gump.AddTilePic(90, 12, '0x0FB5');
gump.AddTilePic(190, 12, '0x1414');
// 실제 출력
for (i in items) {
gump.AddText(25, d, items[i].color, items[i].name);
gump.AddText(240, d, items[i].color, items[i].dura + "/" + items[i].max);
d += space_between_lines;
}
if(items.length == 0)
{
gump.AddText(18, 55, '0x0111', '모든 장비의 내구도가 '+ percent_yellow +'%가 넘습니다.');
}
gump.Update();
}
Orion.Wait(delay * 1000);
}
}
'서드파티 & 매크로 > Orion 사용법 & 스크립트' 카테고리의 다른 글
[Orion] 공공의 적[Enemy Of One] 걸어주기 (0) | 2024.05.21 |
---|---|
[Orion] 장비에 각종 염색약 적용해 보기 (0) | 2024.05.21 |
[Orion] 따라가기 (0) | 2024.05.16 |
[Orion] 붕대질(Bandage) (0) | 2024.05.16 |
[Orion] 공격(명예 제외) (0) | 2024.05.16 |