SRL Archive - MSI Suggestions

Blacklists - 99% Complete


Camaro'

2010-12-09 16:45:35

Items.simba

There was a problem, cause some items share a color and a blacklist (Rune through bronze hatchets all share with the dragon hatchet) but I fixed that, by instead of searching through each color in the color array, just using MSI_GetItemColor. This should fix the color issue. If the color issue does pop up again, all that would be needed to do is update the MSI_GetItemColor. Although, it shouldn't be a problem because DTM's are still being used as the first check.

What it currently does, for every Item(except dragon pickaxe, and the birds nest) is…. If it can not find the DTM, it will find it using blacklists.


Blacklist info: http://villavu.com/forum/showthread.php?t=57813

I revised that idea and used it as a backup, instead of replacing DTM's all together. I don't know really know the MSI like someone like NCDS, or Coh3n does. So I didn't want to start removing things.

Items.simba

MSI_GetItemBlackList

{******************************************************************************}
{ function MSI_GetItemBlackList(which: Integer): Integer; }
{ By: Camaro' }
{ Date: 8 December 2010 }
{ Description: Loads the item's (which) black list color }
{ // Means the blacklist is a duplicate. If no blacklist is known, use 1. }
{******************************************************************************}
function MSI_GetItemBlackList(which: Integer): Integer;
begin
case which of
HATCHET_BRONZE : Result := 76;
HATCHET_IRON : Result := 76;
HATCHET_STEEL : Result := 76;
HATCHET_MITHRIL: Result := 76;
HATCHET_ADAMANT: Result := 76;
HATCHET_RUNE : Result := 76;
HATCHET_DRAGON : Result := 1;

LOGS_NORMAL: Result := 85;
LOGS_OAK : Result := 85;
LOGS_WILLOW: Result := 85;
LOGS_MAPLE : Result := 85;
LOGS_YEW : Result := 85;
LOGS_MAGIC : Result := 85;

PICKAXE_BRONZE : Result := 98;
PICKAXE_IRON : Result := 98;
PICKAXE_STEEL : Result := 98;
PICKAXE_MITHRIL: Result := 98;
PICKAXE_ADAMANT: Result := 98;
PICKAXE_RUNE : Result := 98;
PICKAXE_DRAGON : Result := 1;

ORE_CLAY : Result := 62;
ORE_COPPER : Result := 170;
ORE_TIN : Result := 170;
ORE_IRON : Result := 170;
ORE_SILVER : Result := 170;
ORE_COAL : Result := 170;
ORE_GOLD : Result := 170;
ORE_MITHRIL : Result := 170;
ORE_ADAMANTITE: Result := 170;
ORE_RUNITE : Result := 170;

FISH_SMALLNET : Result := 177;
FISH_CAGE_CRAYFISH: Result := 70;//
FISH_ROD_BAIT : Result := 134;
FISH_BAIT : Result := 91;
FISH_ROD_FLY : Result := 119;//
FISH_HARPOON : Result := 70;//
FISH_POT_LOBSTER : Result := 80;//

FISH_RAW_SHRIMP : Result := 141;
FISH_RAW_CRAYFISH : Result := 115;
FISH_RAW_ANCHOVIE : Result := 141;
FISH_RAW_SARDINE : Result := 44;
FISH_RAW_HERRING : Result := 71;
FISH_RAW_TROUT : Result := 77;//
FISH_RAW_PIKE : Result := 77;//
FISH_RAW_SALMON : Result := 77;//
FISH_RAW_TUNA : Result := 77;//
FISH_RAW_LOBSTER : Result := 119;//
FISH_RAW_SWORDFISH : Result := 82;

FISH_COOKED_SHRIMP : Result := 141;
FISH_COOKED_CRAYFISH : Result := 115;
FISH_COOKED_ANCHOVIE : Result := 141;
FISH_COOKED_SARDINE : Result := 44;
FISH_COOKED_HERRING : Result := 71;
FISH_COOKED_TROUT : Result := 77;//
FISH_COOKED_PIKE : Result := 77;//
FISH_COOKED_SALMON : Result := 77;//
FISH_COOKED_TUNA : Result := 77;//
FISH_COOKED_LOBSTER : Result := 119;//
FISH_COOKED_SWORDFISH : Result := 82;

GEM_UNCUT_SAPPHIRE : Result := 66;
GEM_UNCUT_EMERALD : Result := 66;
GEM_UNCUT_RUBY : Result := 66;
GEM_UNCUT_DIAMOND : Result := 66;

MISC_BIRD_NEST : Result := 1;
MISC_FEATHER : Result := 104;

STAFF_AIR : Result := 68;
STAFF_WATER : Result := 68;
STAFF_EARTH : Result := 68;
STAFF_FIRE : Result := 68;

MSI_RUNE_AIR : Result := 80;
MSI_RUNE_BODY : Result := 80;
MSI_RUNE_MIND : Result := 80;
MSI_RUNE_EARTH : Result := 80;
MSI_RUNE_FIRE : Result := 80;
MSI_RUNE_WATER : Result := 80;
MSI_RUNE_CHAOS : Result := 80;
MSI_RUNE_LAW : Result := 80;
MSI_RUNE_COSMIC: Result := 80;
MSI_RUNE_DEATH : Result := 80;
MSI_RUNE_NATURE: Result := 80;
MSI_RUNE_BLOOD : Result := 80;
MSI_RUNE_SOUL : Result := 80;
MSI_RUNE_ASTRAL: Result := 80;

else
MSI_SubDebug('MSI_GetItemColor: Invalid item constant - '+IntToStr(Which));
end;
end;

MSI_LoadItem


{******************************************************************************}
{ function MSI_LoadItem(whichItem: Integer): Boolean; }
{ By: The MSI Team }
{ Date: 25 July 2010 }
{ Description: Loads the item whichItem into the MSI_Items array; should only }
{ be called in MSI_LoadAllITems }
{******************************************************************************}
function MSI_LoadItem(whichItem: Integer): Boolean;
begin
case whichItem of
{ HATCHETS =================================== ]
[============================================= }
HATCHET_BRONZE:
with MSI_Items[whichItem] do
begin
Name := 'Bronze Hatchet';
UpText := ['onze hat'];
Colors := [1649466, 1583415, 1715516];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

HATCHET_IRON:
with MSI_Items[whichItem] do
begin
Name := 'Iron Hatchet';
UpText := ['on hatch'];
Colors := [3618618, 3815996];
Tol := 4;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

HATCHET_STEEL:
with MSI_Items[whichItem] do
begin
Name := 'Steel Hatchet';
UpText := ['eel hatc'];
Colors := [5855581, 6118753, 6513511];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

HATCHET_MITHRIL:
with MSI_Items[whichItem] do
begin
Name := 'Mithril Hatchet';
UpText := ['thril ha'];
Colors := [4599598, 4468013];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(HATCHET_MITHRIL);
BlackList := MSI_GetItemBlackList(whichItem);
end;

HATCHET_ADAMANT:
with MSI_Items[whichItem] do
begin
Name := 'Adamant Hatchet';
UpText := ['amant ha'];
Colors := [3291698, 3423284];
Tol := 4;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

HATCHET_RUNE :
with MSI_Items[whichItem] do
begin
Name := 'Rune Hatchet';
UpText := ['ne hatch'];
Colors := [4932921, 5261885];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

HATCHET_DRAGON :
with MSI_Items[whichItem] do
begin
Name := 'Dragon Hatchet';
UpText := ['gon hat'];
Colors := [856663, 790865];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

{ LOGS ======================================= ]
[============================================= }
LOGS_NORMAL:
with MSI_Items[whichItem] do
begin
Name := 'Normal logs';
UpText := ['Logs'];
Colors := [2704989];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

LOGS_OAK:
with MSI_Items[whichItem] do
begin
Name := 'Oak logs';
UpText := ['logs'];
Colors := [3496567];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

LOGS_WILLOW:
with MSI_Items[whichItem] do
begin
Name := 'Willow logs';
UpText := ['illow', 'illow logs', 'low'];
Colors := [2509137];
Tol := 6;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

LOGS_MAPLE:
with MSI_Items[whichItem] do
begin
Name := 'Maple logs';
UpText := ['ple logs'];
Colors := [800853];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

LOGS_YEW:
with MSI_Items[whichItem] do
begin
Name := 'Yew logs';
UpText := ['ew l'];
Colors := [668228];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

LOGS_MAGIC:
with MSI_Items[whichItem] do
begin
Name := 'Magic logs';
UpText := ['gic lo'];
Colors := [9609010];
Tol := 2;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

{ PICKAXES =================================== ]
[============================================= }
PICKAXE_BRONZE:
with MSI_Items[whichItem] do
begin
Name := 'Bronze pickaxe';
UpText := ['onze pi'];
Colors := [5344186];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

PICKAXE_IRON:
with MSI_Items[whichItem] do
begin
Name := 'Iron pickaxe';
UpText := ['ron pi'];
Colors := [12040384];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

PICKAXE_STEEL:
with MSI_Items[whichItem] do
begin
Name := 'Steel pickaxe';
UpText := ['eel pi'];
Colors := [12435142];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

PICKAXE_MITHRIL:
with MSI_Items[whichItem] do
begin
Name := 'Mithril pickaxe';
UpText := ['ril pi'];
Colors := [11958905];
Tol := 4;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

PICKAXE_ADAMANT:
with MSI_Items[whichItem] do
begin
Name := 'Adamant pickaxe';
UpText := ['ant pi'];
Colors := [9743251];
Tol := 6;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

PICKAXE_RUNE:
with MSI_Items[whichItem] do
begin
Name := 'Rune pickaxe';
UpText := ['une pi'];
Colors := [12495486];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

PICKAXE_DRAGON:
with MSI_Items[whichItem] do
begin
Name := 'Dragon pickaxe';
UpText := ['agon pi'];
Colors := [725070];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

{ ORE ======================================== ]
[============================================= }
ORE_CLAY:
with MSI_Items[whichItem] do
begin
Name := 'Clay';
UpText := ['lay', 'Clay'];
Colors := [5274001];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

ORE_COPPER:
with MSI_Items[whichItem] do
begin
Name := 'Copper ore';
UpText := ['opper'];
Colors := [3762874];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

ORE_TIN:
with MSI_Items[whichItem] do
begin
Name := 'Tin ore';
UpText := ['in or'];
Colors := [6842476];
Tol := 2;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

ORE_IRON:
with MSI_Items[whichItem] do
begin
Name := 'Iron ore';
UpText := ['ron o'];
Colors := [1515574];
Tol := 2;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

ORE_SILVER:
with MSI_Items[whichItem] do
begin
Name := 'Silver ore';
UpText := ['ilver'];
Colors := [9538186];
Tol := 10;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

ORE_COAL:
with MSI_Items[whichItem] do
begin
Name := 'Coal ore';
UpText := ['oal'];
Colors := [1844261];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

ORE_GOLD:
with MSI_Items[whichItem] do
begin
Name := 'Gold ore';
UpText := ['Gold','old'];
Colors := [1675188];
Tol := 13;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

ORE_MITHRIL:
with MSI_Items[whichItem] do
begin
Name := 'Mithril ore';
UpText := ['ithril'];
Colors := [5519672];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

ORE_ADAMANTITE:
with MSI_Items[whichItem] do
begin
Name := 'Adamantite ore';
UpText := ['daman'];
Colors := [6517347];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

ORE_RUNITE:
with MSI_Items[whichItem] do
begin
Name := 'Runite ore';
UpText := ['unite'];
Colors := [5525056];
Tol := 8;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

{ FISH TOOLS ================================= ]
[============================================= }
FISH_SMALLNET:
with MSI_Items[whichItem] do
begin
Name := 'Small Fishing Net';
UpText := ['ishing net'];
Colors := [2569539];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_CAGE_CRAYFISH:
with MSI_Items[whichItem] do
begin
Name := 'Crayfish Cage';
UpText := ['rayfish cage'];
Colors := [5461079];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_ROD_BAIT:
with MSI_Items[whichItem] do
begin
Name := 'Fishing Rod';
UpText := ['Fishing'];
Colors := [5197651];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_BAIT:
with MSI_Items[whichItem] do
begin
Name := 'Fishing Bait';
UpText := ['ishing bait'];
Colors := [1605551];
Tol := 5;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_ROD_FLY:
with MSI_Items[whichItem] do
begin
Name := 'Fly Fishing Rod';
UpText := ['ly fishing'];
Colors := [3355445];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_HARPOON:
with MSI_Items[whichItem] do
begin
Name := 'Harpoon';
UpText := ['arpoon'];
Colors := [6052960];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_POT_LOBSTER:
with MSI_Items[whichItem] do
begin
Name := 'Lobster Pot';
UpText := ['obster pot'];
Colors := [6184546];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

{ FISH ======================================== ]
[============================================== }
FISH_RAW_SHRIMP:
with MSI_Items[whichItem] do
begin
Name := 'Raw shrimps';
UpText := ['aw shrimps'];
Colors := [1712955];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_CRAYFISH:
with MSI_Items[whichItem] do
begin
Name := 'Raw crayfish';
UpText := ['aw crayfish'];
Colors := [1914462];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_ANCHOVIE:
with MSI_Items[whichItem] do
begin
Name := 'Raw anchovies';
UpText := ['aw anchovies'];
Colors := [7696496];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_SARDINE:
with MSI_Items[whichItem] do
begin
Name := 'Raw sardines';
UpText := ['aw sardine', 'ine'];
Colors := [6466656];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_HERRING:
with MSI_Items[whichItem] do
begin
Name := 'Raw herring';
UpText := ['aw herring'];
Colors := [11053232];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_TROUT:
with MSI_Items[whichItem] do
begin
Name := 'Raw trout';
UpText := ['aw trout'];
Colors := [11843005];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_PIKE:
with MSI_Items[whichItem] do
begin
Name := 'Raw pike';
UpText := ['aw pike'];
Colors := [10269852];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_SALMON:
with MSI_Items[whichItem] do
begin
Name := 'Raw salmon';
UpText := ['aw salmon'];
Colors := [9606569];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_TUNA:
with MSI_Items[whichItem] do
begin
Name := 'Raw tuna';
UpText := ['aw tuna'];
Colors := [9408662];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_LOBSTER:
with MSI_Items[whichItem] do
begin
Name := 'Raw lobster';
UpText := ['aw lobster'];
Colors := [2046823];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_RAW_SWORDFISH:
with MSI_Items[whichItem] do
begin
Name := 'Raw swordfish';
UpText := ['aw swordfish'];
Colors := [9264774];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_SHRIMP:
with MSI_Items[whichItem] do
begin
Name := 'Cooked shrimps';
UpText := ['hrimps'];
Colors := [996713];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_CRAYFISH:
with MSI_Items[whichItem] do
begin
Name := 'Cooked crayfish';
UpText := ['rayfish'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_ANCHOVIE:
with MSI_Items[whichItem] do
begin
Name := 'Cooked anchovies';
UpText := ['nchovies'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_SARDINE:
with MSI_Items[whichItem] do
begin
Name := 'Cooked sardines';
UpText := ['ardine'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_HERRING:
with MSI_Items[whichItem] do
begin
Name := 'Cooked herring';
UpText := ['erring'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_TROUT:
with MSI_Items[whichItem] do
begin
Name := 'Cooked trout';
UpText := ['rout'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_PIKE:
with MSI_Items[whichItem] do
begin
Name := 'Cooked pike';
UpText := ['ike'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_SALMON:
with MSI_Items[whichItem] do
begin
Name := 'Cooked salmon';
UpText := ['almon'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_TUNA:
with MSI_Items[whichItem] do
begin
Name := 'Cooked tuna';
UpText := ['una'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_LOBSTER:
with MSI_Items[whichItem] do
begin
Name := 'Cooked lobster';
UpText := ['obster'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

FISH_COOKED_SWORDFISH:
with MSI_Items[whichItem] do
begin
Name := 'Cooked swordfish';
UpText := ['wordfish'];
Colors := [];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

{ GEMS ======================================== ]
[============================================== }
GEM_UNCUT_SAPPHIRE:
with MSI_Items[whichItem] do
begin
Name := 'Uncut sapphire';
UpText := ['ut sapp'];
Colors := [7475984];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

GEM_UNCUT_EMERALD:
with MSI_Items[whichItem] do
begin
Name := 'Uncut emerald';
UpText := ['ut emer'];
Colors := [1206543];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

GEM_UNCUT_RUBY:
with MSI_Items[whichItem] do
begin
Name := 'Uncut ruby';
UpText := ['ut rub'];
Colors := [791129];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

GEM_UNCUT_DIAMOND:
with MSI_Items[whichItem] do
begin
Name := 'Uncut diamond';
UpText := ['ut diamo'];
Colors := [9145233];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

{ MISC ITEMS ================================= ]
[============================================= }
MISC_BIRD_NEST:
with MSI_Items[whichItem] do
begin
Name := 'Bird''s nest';
UpText := ['s nest'];
Colors := [3489088];
Tol := 11;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MISC_FEATHER:
with MSI_Items[whichItem] do
begin
Name := 'Feather';
UpText := ['eather'];
Colors := [530952];
Tol := 5;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

{ STAFFS ===================================== ]
[============================================= }
STAFF_AIR:
with MSI_Items[whichItem] do
begin
Name := 'Staff of Air';
UpText := ['of air'];
Colors := [12235442, 13353922, 12564407];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

STAFF_WATER:
with MSI_Items[whichItem] do
begin
Name := 'Staff of Water';
UpText := ['of water'];
Colors := [11804186, 14427424, 13115933];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

STAFF_EARTH:
with MSI_Items[whichItem] do
begin
Name := 'Staff of Earth';
UpText := ['of earth'];
Colors := [3227223, 4874115, 4808066];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

STAFF_FIRE:
with MSI_Items[whichItem] do
begin
Name := 'Staff of Fire';
UpText := ['of fire'];
Colors := [1713844, 1977293, 2109145];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

{ RUNES ====================================== ]
[ ============================================ }
MSI_RUNE_AIR:
with MSI_Items[whichItem] do
begin
Name := 'Air rune';
UpText := ['Air', 'ir', 'ir r'];
Colors := [10296087];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MSI_RUNE_WATER:
with MSI_Items[whichItem] do
begin
Name := 'Water rune';
UpText := ['er ru'];
Colors := [10296087];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MSI_RUNE_EARTH:
with MSI_Items[whichItem] do
begin
Name := 'Earth rune';
UpText := ['th ru'];
Colors := [867676];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MSI_RUNE_FIRE:
with MSI_Items[whichItem] do
begin
Name := 'Fire rune';
UpText := ['ire ru'];
Colors := [1515933];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
end;

MSI_RUNE_MIND:
with MSI_Items[whichItem] do
begin
Name := 'Mind rune';
UpText := ['nd run'];
Colors := [2129366, 538424];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MSI_RUNE_BODY:
with MSI_Items[whichItem] do
begin
Name := 'Body rune';
UpText := ['ody r'];
Colors := [921102, 12656924];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MSI_RUNE_CHAOS:
with MSI_Items[whichItem] do
begin
Name := 'Chaos rune';
UpText := ['haos'];
Colors := [2137558, 13948126, 538424];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MSI_RUNE_DEATH:
with MSI_Items[whichItem] do
begin
Name := 'Death rune';
UpText := ['Death', 'eath rune', 'eat'];
Colors := [13948126, 921102];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MSI_RUNE_NATURE:
with MSI_Items[whichItem] do
begin
Name := 'Nature rune';
UpText := ['ture r'];
Colors := [1408531];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MSI_RUNE_COSMIC:
with MSI_Items[whichItem] do
begin
Name := 'Cosmic rune';
UpText := ['osmic'];
Colors := [2151638];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;

MSI_RUNE_LAW:
with MSI_Items[whichItem] do
begin
Name := 'Law rune';
UpText := ['aw ru'];
Colors := [14034208];
Tol := 3;
Stackable := True;
DTM := MSI_LoadDTM(whichItem);
BlackList := MSI_GetItemBlackList(whichItem);
end;
end;

Result := (MSI_Items[whichItem].Name <> '');
end;




MSI_FindItemBL, MSI_FindItemSlotsBL, MSI_FindTool



{******************************************************************************}
{ procedure MSI_FindItemBL(InvSlot, Count, Item: Integer): Boolean; }
{ By: Camaro' }
{ Date: 09 December 2010 }
{ Description: Finds item based on its blacklist(black pixels) }
{******************************************************************************}

function MSI_FindItemBL(InvSlot, Count, Item: Integer): Boolean;
var
b: TBox;
UTBool : Boolean;
I, x, y : Integer;
begin
b := InvBox(InvSlot);
UTBool := CountColor(SRL_OUTLINE_BLACK, b.x1, b.y1, b.x2, b.y2) = Count;
if (UTBool) then
// for i := 0 to High(MSI_Items[Item].Colors) do
if FindColorTolerance(x, y, MSI_GetItemColor(Item), b.x1, b.y1, b.x2, b.y2, 3) then
begin
Result := True;
Exit;
end;
end;

{******************************************************************************}
{ procedure MSI_FindItemSlotsBL(Item: Integer): TIntegerArray; }
{ By: Camaro' }
{ Date: 09 December 2010 }
{ Description: Finds item based on its blacklist(black pixels) , searchs the }
{ inv }
{******************************************************************************}

function MSI_FindItemSlotBL(count, item: Integer): Integer;
var
i, l: Integer;
begin
for i := 1 to 28 do
if MSI_FindItemBL(i, count, item) then
Result := i;
end;

{******************************************************************************}
{ function MSI_FindTool(Tool, WhichTab: Integer; var x, y: Integer): Boolean; }
{ By: Coh3n }
{ Date: 16 October 2010 }
{ Description: Finds the specified tool }
{******************************************************************************}
function MSI_FindTool(Tool, WhichTab: Integer; var x, y: Integer): Boolean;
var
X1, X2, Y1, Y2, ISP: Integer;//ISP is the slot of the found blacklist
s: string;
TP : TPoint;
begin
if (not LoggedIn) then
Exit;

GameTab(WhichTab);

if (WhichTab = TAB_INV) then
begin
s := 'Inventory';
// Edited inventory coords
X1 := 550; X2 := 735;
Y1 := 209; Y2 := 459;
end else begin
s := 'Equipment';
// Weapon equipment box
X1 := 570; X2 := 602;
Y1 := 289; Y2 := 322;
end;

MSI_AddHeader('MSI_FindTool - Gametab: ' + s);

if (FindDTM(MSI_Items[Tool].DTM, x, y, X1, Y1, X2, Y2)) then
begin
Result := True;
MSI_Debug('Found DTM: ' + MSI_Items[Tool].Name);

if (WhichTab = TAB_INV) then
MSI_AddException(Tool, CoordsToItem(x, y));
end else//If DTM is NOT found, then it is time to search for the BlackList
begin
MSI_Debug('Failed Finding DTM: ' + MSI_Items[Tool].Name +' : Attempting Blacklists');
MSI_Debug('Item Name = '+ToStr(MSI_Items[Tool].Name)+', Items Blacklist = '+ToStr(MSI_Items[Tool].BlackList)+'');
ISP := MSI_FindItemSlotBL(MSI_Items[Tool].BlackList, Tool);
if (ISP > 0)then
begin
Result := True;

MSI_Debug('Found Blacklist: ' + MSI_Items[Tool].Name);
TP := ItemCoords(ISP);
X := TP.x;
Y := TP.y;

if (WhichTab = TAB_INV) then
MSI_AddException(Tool, ISP);

end;
end;

MSI_CloseHeader('MSI_FindTool: ' + BoolToStr(Result))
end;




If you want to test, you just gotta jack up FindTool to not find the DTM's. I changed
if (FindDTM(MSI_Items[Tool].DTM, x, y, X1, Y1, X2, Y2)) then
to
if (FindDTM(MSI_Items[Tool].DTM, x, y, X1 + 100, Y1, X2, Y2)) then

Therefore it wouldn't find any DTM's and it would test the blacklists.

Just have your tool to use for your script ( hatchet for woodcutting ). Once the script starts walking look at the debug. :)

Boreas

2010-12-09 19:48:22

Is this a count of black pixels or a list of black pixel positions?

Camaro'

2010-12-09 19:55:11

This is something that uses blacklists to detect items if DTMS failed.


if findDTM(RunePick) then
begin
Result := True;
Exit;
end else
begin
if FindRunePickWithblacklists then
....

Sir R. M8gic1an

2010-12-09 20:24:07

I'm adding it as an extra to MSI, but this really has a long way to go…

Searching the whole inv spot by spot to find the item is far from being efficient……


{******************************************************************************}
{ procedure MSI_FindItemSlotsBL(Item: Integer): TIntegerArray; }
{ By: Camaro' }
{ Date: 09 December 2010 }
{ Description: Finds item based on its blacklist(black pixels) , searchs the }
{ inv }
{******************************************************************************}

function MSI_FindItemSlotBL(count, item: Integer): Integer;
var
i, l: Integer;
begin
{$IFNDEF Extra_BlackLists_Camaro}
exit;
{$ENDIF}

for i := 1 to 28 do
if MSI_FindItemBL(i, count, item) then
Result := i;
end;

~RM

nickrules

2010-12-09 20:28:42

I'm no master of my terms, so forgive me for not being able to say this any better, but anyway, why not get a TPA of all the black outlines, then split them into groups (the way phoenix searches for objects). Then check for the right number of colors?

Sir R. M8gic1an

2010-12-09 21:08:29

Added Blacklists to MSI.

http://villavu.com/repositories/msi/Extras/BlackLists_Camaro.simba

~RM

Camaro'

2010-12-09 21:20:13

What exactly are extras?

Edit: Never mind, but how does a user use an MSI Extra, the explanation thread said there was going to be detailed instructions, can't seem to find them :(

Also, can you hint me to a more efficient way?


From: nickrules
I'm no master of my terms, so forgive me for not being able to say this any better, but anyway, why not get a TPA of all the black outlines, then split them into groups (the way phoenix searches for objects). Then check for the right number of colors?


What would be the advantage of that opposed to what it does now?

Sir R. M8gic1an

2010-12-09 21:23:50

[QUOTE=Camaro';757491]What exactly are extras?

Also, can you hint me to a more efficient way?




What would be the advantage of that opposed to what it does now?[/QUOTE]

It would only search once compared to searching 28 times.

Then use a TPA Splitting method to get it all separated into neat boxes in an ATPA.

'Extras' is basically an easy way to add stuff to MSI.
It's a way of adding new features.

I'll make a thread about it tomorrow or something. It's 2 AM.

~RM

NCDS

2010-12-09 21:24:17

[QUOTE=Camaro';757491]What exactly are extras?

Also, can you hint me to a more efficient way?




What would be the advantage of that opposed to what it does now?[/QUOTE]

Not having to repeatedly search for colors.

Camaro'

2010-12-09 21:45:05

From: NCDS
Not having to repeatedly search for colors.


Something under these lines?


function MSI_FindItemSlotBL(count, item: Integer): Integer;
var
i, l, X1, Y1, X2, Y2, n, x, y, j, k: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
TI : TIntegerArray;
begin
X1 := 550; X2 := 735;
Y1 := 209; Y2 := 459;
FindColorsTolerance(TPA, SRL_OUTLINE_BLACK, X1, Y1, X2, Y2, 1);
if (Length(TPA) > 0) then
begin
ATPA := TPAToATPAEx(TPA, 35, 35);

N := High(ATPA);
for l := 0 to N do
begin
MiddleTPAEx(ATPA[l], x, y);
j := CoordsToItem(x, y);
k := Length(TI);
SetLength(TI, k + 1);
TI[k] := j;
end;
end;
for i := 0 to High(TI) do
begin
//MSI_Debug('Found item in slot: '+TI[i]);I added this on the post, so I don't think it compiles
if MSI_FindItemBL(TI[I], count, item) then
Result := TI[i];
end;
end;


It works great.

Coh3n

2010-12-10 01:22:22

[QUOTE=Camaro';757496]Something under these lines?

[SIMBA]
function MSI_FindItemSlotBL(count, item: Integer): Integer;
var
i, l, X1, Y1, X2, Y2, n, x, y, j, k: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
TI : TIntegerArray;
begin
X1 := 550; X2 := 735;
Y1 := 209; Y2 := 459;
FindColorsTolerance(TPA, SRL_OUTLINE_BLACK, X1, Y1, X2, Y2, 1);
if (Length(TPA) > 0) then
begin
ATPA := TPAToATPAEx(TPA, 35, 35);

N := High(ATPA);
for l := 0 to N do
begin
MiddleTPAEx(ATPA[l], x, y);
j := CoordsToItem(x, y);
k := Length(TI);
SetLength(TI, k + 1);
TI[k] := j;
end;
end;
for i := 0 to High(TI) do
begin
//MSI_Debug('Found item in slot: '+TI);I added this on the post, so I don't think it compiles
if MSI_FindItemBL(TI, count, item) then
Result := TI;
end;
end;



It works great.
Isn't that the same as

for i := 1 to 28 do
if (ExistsItem(i)) then
MSI_FindItemBL(i, count, item);
Or am I missing something?

Camaro'

2010-12-10 14:51:15

From: Coh3n
Isn't that the same as

for i := 1 to 28 do
if (ExistsItem(i)) then
MSI_FindItemBL(i, count, item);
Or am I missing something?


I don't know. I was thinking of using that, but then RM suggested this.


Then use a TPA Splitting method to get it all separated into neat boxes in an ATPA.


and I think nickrules suggested a TPA also.

I did some time tests, and if you are searching for the last item in a full inventory, my originally method took like 31 MS. It also took around 15 MS to do a empty inventory, last slot. Not to bad.

Coh3n

2010-12-10 15:19:44

[QUOTE=Camaro';757694]I don't know. I was thinking of using that, but then RM suggested this.
Well you just use it to check if there's an item in the inventory slot, in which case it would make more sense to use ItemExists. There may be something else they were thinking about doing that involved more than just checking if an item exists.

Camaro'

2010-12-10 15:52:21

From: Coh3n
Well you just use it to check if there's an item in the inventory slot, in which case it would make more sense to use ItemExists. There may be something else they were thinking about doing that involved more than just checking if an item exists.


I guess we will have to wait for a reply to see what they were thinking about.

Coh3n

2010-12-15 02:45:55

[QUOTE=Camaro';757711]I guess we will have to wait for a reply to see what they were thinking about.[/QUOTE]
I don't think it's necessary to have all that code. :) Sometimes it's better to keep things simple. ;)

Depending on how well you can get this to work, I wouldn't mind using this as the primary item finding method, with DTM as backup. If we were to do it that way, it wouldn't be used as an extra.

An attribute would be added to the TItem type: Blacklist, which would get rid of MSI_GetItemBlackList, and MSI_FindItemSlots would need some editing.

I'd like to hear other people's thoughts on this. Should this be kept as an extra or implemented as the primary item finding method?

E: Sorry, there's already a Blacklist attribute. I don't think it's necessary to have MSI_GetItemBlackList, you can just simple have Blacklist := 76; for each item.

TomTuff

2010-12-15 02:55:15

From: Coh3n
I don't think it's necessary to have all that code. :) Sometimes it's better to keep things simple. ;)

Depending on how well you can get this to work, I wouldn't mind using this as the primary item finding method, with DTM as backup. If we were to do it that way, it wouldn't be used as an extra.

An attribute would be added to the TItem type: Blacklist, which would get rid of MSI_GetItemBlackList, and MSI_FindItemSlots would need some editing.

I'd like to hear other people's thoughts on this. Should this be kept as an extra or implemented as the primary item finding method?

E: Sorry, there's already a Blacklist attribute. I don't think it's necessary to have MSI_GetItemBlackList, you can just simple have Blacklist := 76; for each item.


The functions he has posted, however, should still work. Just use Item[Whatever].Blacklist. I think that blacklists should be the primary finding method, and if 2 items with the same number of black pixels are found (e.g. Mithril ore and Coal ore), DTMs are used then. This should make MSI slightly faster overall.

Good job, Camaro, I'm glad to see MSI being worked on by so many people! It's too bad MSI is beyond my understanding :redface:

Coh3n

2010-12-15 03:12:57

From: TomTuff
The functions he has posted, however, should still work. Just use Item[Whatever].Blacklist. I think that blacklists should be the primary finding method, and if 2 items with the same number of black pixels are found (e.g. Mithril ore and Coal ore), DTMs are used then. This should make MSI slightly faster overall.

Yeah, I was thinking about the speed too; although, it doesn't really make a noticeable difference. Also, I think Camaro has a function that handles the colors. :)

From: TomTuff
Good job, Camaro, I'm glad to see MSI being worked on by so many people! It's too bad MSI is beyond my understanding :redface:

It's really not that complicated. ;) It's just quite large, which can be intimidating. If you take things slowly and ask questions, it would be easier than you think. ;)

Boreas

2010-12-15 10:39:21

If you are going to be making a type, remember that BlackLists are exactly that, a list, meaning a TPA (plus color info, see Nielsie's work). BlackCount or something like that, would just be a count of how many black pixels (and not position, so runes and lobby pots are the same), meaning an integer.

Gu3st...

2010-12-15 10:51:44

From: TomTuff
Good job, Camaro, I'm glad to see MSI being worked on by so many people! It's too bad MSI is beyond my understanding :redface:
It's a really fun project! :)
It takes some time understanding, sure, but when you get it you'll get one of those "Aha!"-feelings :)

Coh3n

2010-12-15 14:46:31

From: Boreas
If you are going to be making a type, remember that BlackLists are exactly that, a list, meaning a TPA (plus color info, see Nielsie's work). BlackCount or something like that, would just be a count of how many black pixels (and not position, so runes and lobby pots are the same), meaning an integer.

Yeah, IIRC Camaro's functions identify the items by color (after black pixels) if more than on in the inventory exists.

Camaro'

2010-12-15 14:57:08

From: Coh3n
I don't think it's necessary to have all that code. :) Sometimes it's better to keep things simple. ;)

Depending on how well you can get this to work, I wouldn't mind using this as the primary item finding method, with DTM as backup. If we were to do it that way, it wouldn't be used as an extra.

An attribute would be added to the TItem type: Blacklist, which would get rid of MSI_GetItemBlackList, and MSI_FindItemSlots would need some editing.

I'd like to hear other people's thoughts on this. Should this be kept as an extra or implemented as the primary item finding method?

E: Sorry, there's already a Blacklist attribute. I don't think it's necessary to have MSI_GetItemBlackList, you can just simple have Blacklist := 76; for each item.


I think it looks neater when you want to quickly search for what blacklist item 'Item' has. Instead of going through that large blob of code to find it

We can use it as the main function, I'll start working on this some more today.


From: TomTuff
The functions he has posted, however, should still work. Just use Item[Whatever].Blacklist. I think that blacklists should be the primary finding method, and if 2 items with the same number of black pixels are found (e.g. Mithril ore and Coal ore), DTMs are used then. This should make MSI slightly faster overall.

Good job, Camaro, I'm glad to see MSI being worked on by so many people! It's too bad MSI is beyond my understanding :redface:


Thanks :)

From: Coh3n
Yeah, IIRC Camaro's functions identify the items by color (after black pixels) if more than on in the inventory exists.


Right now, it searchs for the color automatically. Do you think I should change it to what you said?

Coh3n

2010-12-15 15:03:58

[QUOTE=Camaro';759339][B]I think it looks neater when you want to quickly search for what blacklist item 'Item' has. Instead of going through that large blob of code to find it

We can use it as the main function, I'll start working on this some more today.

It's an unnecessary case function that will need to be updated every time an item is added (yes, MSI_GetItemColor is in the same situation). They're both not needed. If you want to quickly find it, you can Ctrl+F and search for the item constant. Takes < 2 seconds. ;)

[QUOTE=Camaro';759339]
Right now, it searchs for the color automatically. Do you think I should change it to what you said?[/QUOTE]
That would be more efficient, yes. However, that wouldn't work. My bad. It could recognize a Rune pickaxe as a Bronze. So I think you should keep it the way it is.

3Garrett3

2010-12-15 15:08:06

[QUOTE=Camaro';759339]Right now, it searchs for the color automatically. Do you think I should change it to what you said?[/QUOTE]

I think it should look for the colour automatically, so that the risk of false positives is reduced. Because from my understanding of Cohen's post, it would only check to see if you have a rune or a lobby pot if there is both in the inventory, and would somehow assume which one it was based on what SHOULD be there. Assuming everything is done right, yes there should only be one of the two there, so assuming it was the other (ie a rune when fishing) would be silly, but when we include multi-skills it will provide a very frustrating problem (imo) so to just check for the colour automatically will be the extra failsafe which will help down the road.

Edit; Ninja'd :(

Coh3n

2010-12-15 15:10:48

You're still going to have trouble with Runes. I spent a couple hours making the DTMs for all the runes to work. I had to pick specific points for certain runes so the colors would all be different. I think I ended up making 3 or 4 different DTMs for the 8 or 9 runes we have. Even then, Air and Death couldn't be distinguished so it uses uptext to distinguish between the two (only if they're both found in the inventory).

3Garrett3

2010-12-15 15:12:19

From: Coh3n
You're still going to have trouble with Runes. I spent a couple hours making the DTMs for all the runes to work. I had to pick specific points for certain runes so the colors would all be different. I think I ended up making 3 or 4 different DTMs for the 8 or 9 runes we have. Even then, Air and Death couldn't be distinguished so it uses uptext to distinguish between the two (only if they're both found in the inventory).


That being said, your point (different types of picks) is still valid, so it should search for colour automatically anyway? ;)

Coh3n

2010-12-15 15:13:12

From: 3Garrett3
That being said, your point (different types of picks) is still valid, so it should search for colour automatically anyway? ;)

Yeah, I was just saying some items may be difficult. :)

NCDS

2010-12-15 15:21:33

From: Coh3n
Also, I think Camaro has a function that handles the colors. :)

If this is true and it gets to a point that it is at least as good as DTM's (speed and accuracy) then I see no problem with using BL's as primary. Otherwise keep it as extra as we certainly don't want to take any steps backwards.

Gu3st...

2010-12-15 15:27:06

From: NCDS
If this is true and it gets to a point that it is at least as good as DTM's (speed and accuracy) then I see no problem with using BL's as primary. Otherwise keep it as extra as we certainly don't want to take any steps backwards.
Agreed. I really like the blacklist system

EDIT: And with it we wouldn't have problems like this: http://villavu.com/forum/showthread.php?t=60824
The script wouldn't confuse a scimitar for a hatchet with the system / hybrid