Lee Lok Hin
2008-09-03 06:21:19
Program ID_Grabber;
const
WhatBeItem = 'partyhat';
function GetWebPage(Queryis:string;which:boolean):string;
var
Hm:string;
begin
if which then
Hm:= 'http://itemdb-rs.runescape.com/p=kKmok3kJqOeN6D3mDdihco3oPeYN2KFy6W5--vZUbNA/results.ws?query='+Queryis+'&price=all&members='
else
Hm:= 'http://itemdb-rs.runescape.com/p=kKmok3kJqOeN6D3mDdihco3oPeYN2KFy6W5--vZUbNA/viewitem.ws?obj=' + Queryis;
try
Result:= GetPage(Hm);
except
end;
end;
procedure GiveGE(QueryIs:string);
var
HTSML,TempID,TempMon,TempName,Min,Max:string;
i:integer;
t,tp,plz:integer;
begin
writeln('Query is :'+Queryis);
HTSML:= GetWebPage(QueryIs,true);
i:= Pos('_obj_sprite',HTSML);
if i > 0 then
begin
TempID:= copy(HTSML, i, i);
i := Pos('"',TempID);
t := Pos('<td>',TempID);
TempMon := TempID;
if t > 0 then
begin
tp := Pos('stay',Tempmon);
Delete(TempMon,tp,Length(TempMon));
TempName:= Between('alt="','">',TempMon);
writeln('Name of Found Item is :'+TempName);
end;
if i > 0 then
begin
delete(TempID,i,Length(tempID));
Plz:= strtoint(GetNumbers(TempID));
//writeln('Id is '+ GetNumbers(TempID));
writeln('Id is '+ GetNumbers(TempID));
end;
end else
begin
writeln('Not Found Item :'+QueryIs);
Exit;
end;
HTSML:= GetWebPage(inttostr(plz),false);
Delete(HTSML,1,Pos('Current market price range:',HTSML) + 64); // + Length(TempMon) + 38
i:= pos('</span>',HTSML) - 1;
Min := Left(HTSML,i);
//writeln(Min + 'is min');
Delete(HTSML,1,i);
Delete(HTSML,1,56);
i:= pos('</span>',HTSML) - 1;
TempMon := Left(HTSML,i);
Delete(HTSML,1,i);
Max := Between('</b>','</span>',htsml);
TempMon := Left(Min, Length(Min) - 1) +' - '+ Left(TempMon, Length(TempMon) - 1) +' - '+ Max;
writeln('Money is: '+TempMon);
end;
begin
cleardebug;
GiveGE(whatbeitem);
end.Yep, this grabs object IDs from the Grand Exchange Database! Just input WhatBeItem, and it will output in the debug box!
For the new obj finders!
Sample:
Query is :partyhat
Name of Found Item is :Blue partyhat
Id is 1042
Money is: 361.0m - 380.0m - 399.0m
Successfully executed