Шард ДРВ.. Пытаюсь написать улетание по хелпу к кресту когда чар-гост.
Как вызвать меню и нажать на кнопку Help?
Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Как вызвать правильно контекстное меню и нажать на кнопку..
что-то мне кажется, что меню в твоем понимании, и меню на самом деле - две большие разницы.
скрин в студию вместе с комментариями - как вызывается, что нажать и т.д. а то телепаты в отпуске.
скрин в студию вместе с комментариями - как вызывается, что нажать и т.д. а то телепаты в отпуске.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Для этого специально есть:
procedure HelpRequest; // Хелп через папердол
После чего 2 обычных гампа.
procedure HelpRequest; // Хелп через папердол
После чего 2 обычных гампа.
Вот sample для ДРВ , прыжок в "синие" города через папердол:
Пример использования: Ресалка с креста, с прыжком через папердол в Minoc.
Code: Select all
function GetCurrentRegion:Integer;
begin
Result := -1;
CheckSave;
UOSAY('.where');
if not WaitJournalLine(Now,'I am in|Britain|Northern Territory|WasteLands|Minoc|Desert|Trinsic|Yew',75000) then exit;
{
Получаем текущее местоположение чара в виде цифры от 0 до .. ,
в зависимости от позиции региона в параметре функции WaitJournalLine.
Britain = 1
WasteLands = 3
Minoc = 4
....
}
Result:=FoundedParamID;
end;
procedure RecallFromPaperdol(town:Integer);
var
ATown,CurRegion,StartRegion:Integer;
begin
SetWarMode(false);
StartRegion:=GetCurrentRegion;
WaitConnection(3000);
UseObject(self);
wait(1000);
checksave;
HelpRequest;//Нажать "Help"
wait(1000);
checksave;
waitgump('3');//Нажать "Help i am stuck"
wait(1000);
checksave;
waitgump(IntToStr(town));//Нажать на кнопку города
//привязка к GetCurrentRegion
Case Town of
1:ATown:=1;//Brit
2:ATown:=4;//Minoc
3:ATown:=6;//Trinsic
4:ATown:=7;//Yew
end;
//ждем пока не прыгнет (нельзя прыгать в тот-же регион где стоял чар перед прыжком)
CurRegion := GetCurrentRegion;
while (CurRegion = StartRegion) do
begin
AddToSystemJournal('Waiting for teleport...')
wait(5000);
CurRegion := GetCurrentRegion;
end;
if (CurRegion = ATown) then AddToSystemJournal('Jump is OK...') else AddToSystemJournal('Ups...');
end;
Code: Select all
procedure TryResurrect;
begin
AddToSystemJournal('TryResurrect...');
FindDistance:=10;
RecallFromPaperdol(2);//to Minoc
while findtype($0004,ground)=0 do wait(500);
moveXY(getX(findItem),getY(findItem),false,1,false);
repeat
useObject(findItem);
wait(1000);
until HP>0;
AddToSystemJournal('I am alive...');
end;
"Как хочешь ты трудись;
Но приобресть не льстись
Ни благодарности, ни славы,
Коль нет в твоих трудах ни пользы, ни забавы. (с) С.Крылов."
Но приобресть не льстись
Ни благодарности, ни славы,
Коль нет в твоих трудах ни пользы, ни забавы. (с) С.Крылов."