Page 1 of 1

gump

Posted: 30.04.2011 16:00
by shinma
procedure CloseSimpleGump(GumpIndex: Integer); // закрыть гамп, если на гампе опция NoClose - то не отработает
как узнать GumpIndex: Integer

Posted: 30.04.2011 17:20
by Vizit0r
если он один - то это ноль.
если несколько - то знать номер.
например, если это последний - то взять кол-во гампов -1 = это и будет номер последнего гампа.
либо перебирать все гампы в поисках нужного элемента (например строка нужная, или элемент какой, и т.д.)

Posted: 30.04.2011 19:07
by shinma
program roon;

const
runebook=$4002C2A8;

begin
UseObject(runebook);
wait (1000);
CloseSimpleGump(0);
end;


Рунбука не закрывается. Помоги закрывать эту книгу.

Posted: 30.04.2011 19:34
by Vizit0r
а ты уверен, что она может быть закрыта так?

там есть функция для проверки...

Posted: 30.04.2011 19:35
by shinma
если честно я вообще не могу разобраться с функциями гампов. мне нехватает примеров.

program test;
begin
AddToSystemJournal(inttostr(GetGumpsCount));
end.

выдает ноль. Но рунбука то открыта.

а скрипт

program test;
begin
if IsGump = true then
AddToSystemJournal('наличие гампа')
else
AddToSystemJournal('гампа нет')
end.

Говорит что гампа нет.

Posted: 30.04.2011 19:55
by shinma
и вообще фунции как то странно себя ведут. вот сейчас закрыл рунбуку опять открыл они пишет что гамп есть. как? если он только один и до этого с этой же рунбуки вообще ноль было.

Serial: 0009
GumpID: 1002FC8D
X: 0000
Y: 0000
Pages: 3
Gump Options:

GumpPics: X Y ID Page
GumpPic: 100 10 2200 1
GumpPic: 125 40 57 1
GumpPic: 145 40 58 1
GumpPic: 160 40 58 1
GumpPic: 175 40 58 1
GumpPic: 190 40 58 1
GumpPic: 205 40 58 1
GumpPic: 220 40 58 1
GumpPic: 235 40 58 1
GumpPic: 245 40 58 1
GumpPic: 280 40 57 1
GumpPic: 300 40 58 1
GumpPic: 315 40 58 1
GumpPic: 330 40 58 1
GumpPic: 345 40 58 1
GumpPic: 360 40 58 1
GumpPic: 375 40 58 1
GumpPic: 380 40 58 1
GumpPic: 395 40 58 1
GumpPic: 100 10 2200 2
GumpPic: 125 40 57 2
GumpPic: 145 40 58 2
GumpPic: 160 40 58 2
GumpPic: 175 40 58 2
GumpPic: 190 40 58 2
GumpPic: 205 40 58 2
GumpPic: 220 40 58 2
GumpPic: 235 40 58 2
GumpPic: 245 40 58 2
GumpPic: 280 40 57 2
GumpPic: 300 40 58 2
GumpPic: 315 40 58 2
GumpPic: 330 40 58 2
GumpPic: 345 40 58 2
GumpPic: 360 40 58 2
GumpPic: 375 40 58 2
GumpPic: 380 40 58 2
GumpPic: 395 40 58 2

GumpTexts: X Y Color Text_ID Page
0 GumpText: 298 26 0 9 1
1 GumpText: 140 26 0 10 1
2 GumpText: 318 91 0 11 1
3 GumpText: 318 136 0 17 1
4 GumpText: 297 190 0 12 1
5 GumpText: 302 86 0 13 2
6 GumpText: 302 106 0 14 2
7 GumpText: 302 126 0 15 2
8 GumpText: 160 26 0 16 2

Text Lines:
Rune to:GoldOrn
Isle of the Avatar
Britain
Isle of the Avatar
Rune to:YewSellLog
Rune to:YewBank
Rune to:Les
Empty
Empty
Actions:
Runes:
Add Rune
Charges: 490
Select a rune
to remove it
from runebook
Remove rune:
Rename book

GumpButtons: X Y Released_ID Pressed_ID Quit Page_ID Return_value Page
0 GumpButton: 290 89 2472 2473 1 0 11 1
1 GumpButton: 290 133 2472 2473 1 0 30 1
2 GumpButton: 130 65 2103 2104 1 0 21 1
3 GumpButton: 130 80 2103 2104 1 0 33 1
4 GumpButton: 130 95 2103 2104 1 0 46 1
5 GumpButton: 130 110 2103 2104 1 0 58 1
6 GumpButton: 130 125 2103 2104 1 0 64 1
7 GumpButton: 130 140 2103 2104 1 0 73 1
8 GumpButton: 130 155 2103 2104 1 0 88 1
9 GumpButton: 130 170 2103 2104 1 0 94 1
10 GumpButton: 130 185 2103 2104 1 0 1025 1
11 GumpButton: 395 14 2206 2206 0 2 29 1
12 GumpButton: 130 65 2103 2104 1 0 12 2
13 GumpButton: 130 80 2103 2104 1 0 13 2
14 GumpButton: 130 95 2103 2104 1 0 14 2
15 GumpButton: 130 110 2103 2104 1 0 15 2
16 GumpButton: 130 125 2103 2104 1 0 16 2
17 GumpButton: 130 140 2103 2104 1 0 17 2
18 GumpButton: 130 155 2103 2104 1 0 18 2
19 GumpButton: 130 170 2103 2104 1 0 19 2
20 GumpButton: 130 185 2103 2104 1 0 20 2
21 GumpButton: 122 14 2205 2205 0 1 29 2

Posted: 30.04.2011 20:01
by shinma
еще пример
открываю рунбуку
запускаю скрипт ДВА раза подрят
мне выводит систем журнал что сначало гамп есть, а потом гампа нет.
Но книга как была так и висит.

program test;
begin
AddToSystemJournal(inttostr(GetGumpsCount));
if IsGump = true then
AddToSystemJournal('наличие гампа')
else
AddToSystemJournal('гампа нет');
CloseSimpleGump(0);
CloseSimpleGump(1);
end.

23:58:55:179 [_drw]: Compiling
23:58:55:191 [_drw]: Compiled succesfully
23:58:55:192 [_drw]: 1
23:58:55:197 [_drw]: наличие гампа
23:58:55:199 [_drw]: Succesfully executed
23:58:55:201 [_drw]: Script test.sc stopped successfuly
23:59:15:004 [_drw]: Compiling
23:59:15:015 [_drw]: Compiled succesfully
23:59:15:017 [_drw]: 0
23:59:15:031 [_drw]: гампа нет
23:59:15:032 [_drw]: Succesfully executed
23:59:15:034 [_drw]: Script test.sc stopped successfuly

Posted: 30.04.2011 20:11
by Vizit0r
вики почитай, если не поможет - скрипты.
если совсем туго будет - в асю пиши.

Posted: 30.04.2011 20:20
by shinma
прочел тему http://stealth.od.ua/forum/viewtopic.ph ... mp&start=0
И скорее всего на ДРВ просто не работает закрытие гампа командой. он только мышку понимает.

Posted: 30.04.2011 20:28
by Vizit0r
ты удивишься, но правый клик мышкой как раз и есть то же самое, что эта команда.
и ненадо предполагать, надо лишь глянуть, что дает IsGumpCanBeClosed

Posted: 30.04.2011 20:48
by shinma
Я и удивляюсь

program test;
const
runebook=$4002C2A8 ;
begin
UseObject(runebook);
wait(2000);
AddToSystemJournal(inttostr(GetGumpsCount));
if IsGump = true then
AddToSystemJournal('наличие гампа')
else
AddToSystemJournal('гампа нет');
if IsGumpCanBeClosed(GetGumpsCount-1) = true then
AddToSystemJournal('no close - true')
else
AddToSystemJournal('no close - False')
CloseSimpleGump(GetGumpsCount-1);
end.


00:46:55:437 [_drw]: Compiling
00:46:55:448 [_drw]: Compiled succesfully
00:46:57:450 [_drw]: 1
00:46:57:451 [_drw]: наличие гампа
00:46:57:453 [_drw]: no close - False
00:46:57:455 [_drw]: Succesfully executed
00:46:57:458 [_drw]: Script test.sc stopped successfuly


А гамп висит.

Posted: 30.04.2011 21:21
by Vizit0r
та должен быть NoClose, если ты в клиенте закрываешь правым кликом

Posted: 30.04.2011 21:32
by shinma
я выше скрипт привел его и запускаю.
барабашка в игре.