Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Выбор переменной в зависимости от ника чара.

тут можно задать вопрос по скриптингу
Post Reply
KaToK
Neophyte
Neophyte
Posts: 40
Joined: 31.01.2008 22:40
Contact:

Выбор переменной в зависимости от ника чара.

Post by KaToK »

подскажите пытаюсь объявить переменные в моем случае рунбуки.
подумал сделать через массив

Code: Select all

Program test;
const
  hbook[NBK] = $4123BC50;
  hbook[Sync] = $41272377;
var
i integer;
begin
AddToSystemJournal(inttostr(hbook[NBK])+' & '+inttostr(hbook[CharName]));
end.
Но массивы тут нужно строить отдельно.
Подскажите кто как решал подобную задачу?
Stealth 8.7.8 | Клиент: 7.0.64.3
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Выбор переменной в зависимости от ника чара.

Post by drabadan »

KaToK wrote:подскажите пытаюсь объявить переменные в моем случае рунбуки.
подумал сделать через массив

Code: Select all

Program test;
const
  hbook[NBK] = $4123BC50;
  hbook[Sync] = $41272377;
var
i integer;
begin
AddToSystemJournal(inttostr(hbook[NBK])+' & '+inttostr(hbook[CharName]));
end.
Но массивы тут нужно строить отдельно.
Подскажите кто как решал подобную задачу?

Code: Select all

var RunebookId : Cardinal;
procedure Init(MyCharName : String);
begin
 RunebookId := 0;
 if (MyCharName = NBK) then
  RunebookId := $4123BC50;

 if (MyCharName = Sync) then 
  RunebookId := $41272377;

 if (RunebookId = 0) then
  AddToSystemJournal('Unknown player connected! RunebookId = 0.');
end;

begin
 Init(CharName);
end;
http://www.delphibasics.ru/Case.php <- тоже вариант.

http://stealth.od.ua/forum/viewtopic.ph ... 080#p22666 <- вот у меня тут для разных чаров разные конфиги.
KaToK
Neophyte
Neophyte
Posts: 40
Joined: 31.01.2008 22:40
Contact:

Re: Выбор переменной в зависимости от ника чара.

Post by KaToK »

Я по другому сделал уже.

Code: Select all

procedure getbooks;
begin
    IgnoreReset;
    FindType(bookt,Backpack);
    while FindCount>0 do
    begin
        ClickOnObject(FindItem);
        CheckLag(LagWait);
        AddToSystemJournal(GetName(FindItem)+' & '+inttostr(FindCount)+' & '+inttostr(BMSearch(1, GetName(FindItem), 'Home')));
        if BMSearch(1, GetName(FindItem), 'Home') > 0 then home_book := FindItem;
        if BMSearch(1, GetName(FindItem), 'Work') > 0 then work_book := FindItem;
        Ignore(FindItem);
        FindType(bookt,Backpack);
    end;
end;
Мне кажется так более красиво, и не нужно переписывать ID бук главное следовать правилам наименований бук.
Сейчас вот осталось дописать рекол по названию руны в буке. и в инклуды такое запихнуть.
Очень жаль что нет встроенных глобальных массивов в духе globals[шард][ник][] которые хранятся и считываются при запуске стелса. Подобное не сложно хранить даже в текстовом файле.
Stealth 8.7.8 | Клиент: 7.0.64.3
Post Reply