Page 1 of 1
проверка системного журнала на наличие фразы
Posted: 02.05.2010 12:08
by MuDaCk
При помощи какой команды стелс может узнать есть ли надпись в системном журнале? В хелпе нашел фразу
IsSystemMsg('What is the new name',Time,Now). Но стелс отказывается её воспринимать. Стелс последний из не Бет.
P.S. С прошедшим

Posted: 02.05.2010 15:51
by MuDaCk
Code: Select all
program emo;
var
FBegin:TDateTime;
Begin
wait(1000)
AddToSystemJournal(GetCliloc(Findtype($1111,backpack))); // $11111111
UOSay(GetCliloc(Findtype($1111,backpack))) // хочу чтобы данные с гетклилок только я или скрипт мог читать
wait(1000)
if (InJournalBetweenTimes('rex', FBegin, Now) <> -1) then
begin
uosay('ыфывфыв') // uosay- для проверки
end
End.
можно ли както достать обратно из системного журнала или можно ли както написать это в обычный журнал, но чтобы другие игроки не видели мою билиберду?
Грубо говоря мне необходимо результат команды гетклилок разбить на части и использовать в дальнейшем в скриптах. например:
Tooltip: | 11 Bark Fragment | Weight: 11 stones
Code: Select all
если слово барк есть, то делаем ам
если слово стоунс есть, то делаем бемс
Posted: 04.05.2010 17:43
by Vizit0r
такой путь - это примерно как правой ногой чесать левое ухо
позже напишу как
Posted: 04.05.2010 18:48
by MuDaCk
Визитор, ведь если я видел только как правой и левой ногами чешутся, то мне будет тяжело придумать новый способ

. Буду очень признателен за новый вариант.
Posted: 05.05.2010 7:30
by Vizit0r
долго читал, пытался понять, зачем готовую строку, возвращаемую GetCliloc, говорить в уо, потом уже из журнала вытаскивать...не понял
Code: Select all
program emo;
var
aa : String;
Begin //main begin
aa := GetCliloc(Findtype($1111,backpack))); // $11111111
//а тут начинается кусок работы со строками. например:
if (BMSearch(1,aa,'Bark') > 0) then
begin
//какое-то действие
end
End.
по работе со строками - обрубание строк, и т.д.
http://stealth.od.ua/forum/viewtopic.php?p=5614#5614
+ чуть выше
{String functions}
function BMSearch(StartPos: Integer; const S,P: String): Integer; // Возвращает первое вхождение подстроки в строке
procedure StrBreakApart(const S,Delimeter: String; Parts: TStrings); // Режет строку S на подстроки, используя разделитель Delimeter. Результат запишет в Parts
Posted: 05.05.2010 15:08
by MuDaCk
Спасибо. Я просто в строках вообще не разбирался. теперь хоть чуть-чуть буду понимать. Я лобась

. Расшифруйте, пожалуйста, абревиатуру BM в BMSearch(просто для себя, на будущее).
Posted: 05.05.2010 15:18
by Vizit0r
Code: Select all
{алгоритм Бойера-Мура
ф-ия возвращает первое вхождение подстроки в строку
работает быстро
Например:
BMSearch(1, 'dsade', 'de')
в данном примере ф-ия возвратит число 4
1 - это позиция с которой ищем подстроку в строке}