Page 1 of 1
					
				жрет ЦП на этом скрипте
				Posted: 22.02.2006 9:08
				by L'inconnu
				скрипт достаточно простой:
Code: Select all
program Tracking;
Begin
while true do
   begin
   WaitMenu('Tracking','Anything that moves')
   UseSkill('Tracking');
   Wait(500);
   end;
End.
скилл растет на второй менюхе, поэтому второй выбор не нужен. в нормальном клиенте, используя какой-нибудь ассист появлялась куча окон трекинга, что логично. новые открываются, старые не закрываются, есть такое подозрение что где-то в памяти они и тут оседают.
ПС: замочек на UO Jornal работает как-то некорректно. локаю его, сворачиваю стелс, разворачиваю - журнал содержит записи.
 
			 
			
					
				
				Posted: 22.02.2006 9:18
				by Miralex
				Используй лучше автоменю например так:
Code: Select all
Begin
AutoMenu('Tracking', 'Anything that moves')
while true do
   begin
   UseSkill('Tracking');
   Wait(500);
   end;
End.
Да и убедись, чтобы параметры в AutoMenu были заданы верно.
новые открываются, старые не закрываются, есть такое подозрение что где-то в памяти они и тут оседают
Ну а где потвоему стелс должен помнить об открытых менюшках? Конечно он хранит все в памяти. Если старые не закрываються, то ясное дело список таких менюшек в стелсе раздувается. И все это происходить именно в памяти.
А какова необходимость не закрывать старые менюшки? Как ты на обычном клиенте делаешь? Не закрываешь и собираешь тысячами?
 
			 
			
					
				
				Posted: 22.02.2006 10:03
				by L'inconnu
				все задано верно, все работает скилл растет.
Конечно он хранит все в памяти. Если старые не закрываються, то ясное дело список таких менюшек в стелсе раздувается. И все это происходить именно в памяти.
и он по этой памяти еще бегает, иначе ЦП тут не причем. 20 ЦП для стелса это аналогично простому клиенту ;)
А какова необходимость не закрывать старые менюшки? Как ты на обычном клиенте делаешь? Не закрываешь и собираешь тысячами?
закрыть можно, в простом клиенте правой кнопкой на ней, а тут такого нет: CancelMenu отменяет ловушки, а не сами менюшки, что в данном случае спасло бы ситуацию. если же там выбрать кого-нибудь для трекинга, начинается трекинг при котором нельзя использовать скилл трекинг снова, только вармодом сбрасывать, задержа в этом случае на порядок больше 500.
на обычном клиенте ассист открывает первую менюшку, а каким-нибудь уо-лупом делал правый клик в той области, чара в угол ставил :)
 
			 
			
					
				
				Posted: 22.02.2006 10:14
				by Miralex
				Использование AutoMenu должно тебе частично помочь.
А так, пока нету ф-ции отмены менюшки, необходимо использовать тебе альтернативный способ из закрытия. Хоть тоже включение вара раз в пару минут например.
			 
			
					
				
				Posted: 22.02.2006 10:56
				by L'inconnu
				трекинг уже 100, отмучился ;)
а вот про альтернативный способ закрития не понял :) это же стелс, я ничего не вижу, сидят они в памяти. вармод дает сброс трекинга, но не менюшек. так бы вопросов не было. вызови любую менюшку в клиенте бса, карпентра, трекинга, потом еще одну, еще еще как их закрыть? только ручками, либо встроенный в уо макрос CloseGumps. теперь параллель со стелсом проводим - ответ, пока, никак.
			 
			
					
				
				Posted: 22.02.2006 11:12
				by Miralex
				Гампы закрываются путем WaitGump('0');
Менюшки закрываються путем выбора в них того, что они просят.  

 
			 
			
					
				
				Posted: 22.02.2006 11:52
				by L'inconnu
				но в прошлое-то возврата нет. меню ставит ловушку на то что будет, а то что было она уже не выберет
			 
			
					
				
				Posted: 22.02.2006 12:09
				by Miralex
				L'inconnu wrote:но в прошлое-то возврата нет. меню ставит ловушку на то что будет, а то что было она уже не выберет
Кто тебе такую глупость сказал? 
 
Любая ловушка перед тем как поставиться проверяет ситуацию, и если она уже имеется, то ловушка сразу срабатывает.
Это касается как и WaitMenu (или AutoMenu), так и WaitTarget, WaitGump и тд.  

 
			 
			
					
				
				Posted: 22.02.2006 13:38
				by L'inconnu
				тогда варинт. цикл 100 треков с одним использованием AutoMenu('', 'Anything'), потом AutoMenu('Tracking <или что тут будет написано>', 'что-то'), вар, отмена автоменю.
такой вопросик:
Любая ловушка перед тем как поставиться проверяет ситуацию, и если она уже имеется, то ловушка сразу срабатывает.
достаточно будет AutoMenu('Tracking <или что тут будет написано>', 'что-то') и она сама в миг создаст пик нагрузки и выберет все менюхи, либо после одной проверки она шагнет дальше и ее надо повторять? *наверно все таки все выберет, иначе какое же это авто*
 
			 
			
					
				
				Posted: 22.02.2006 14:02
				by Miralex
				Проверь  

 
			 
			
					
				
				Posted: 01.03.2006 10:30
				by L'inconnu
				проверил, судя по тому как стелс лагает, предполагаю что срабатывает 1 раз.
Code: Select all
program Tracking;
var i : Integer;
var person_to_track : String;
Begin
person_to_track := 'Bazyli'
SetARStatus(true)
if not connected then connect
while not dead do
   begin
   while connected do
      begin
      AutoMenu('Tracking', 'Anything that moves')
      for i:= 1 to 100 do
         begin
         UseSkill('Tracking')
         wait(500)
         end
      AutoMenu('Tracking', person_to_track)
      wait(2000)
      SetWarMode(true)
      wait(250)
      SetWarMode(false)
      wait(250)
      end
   wait(500)
   end
SetARStatus(false)
Disconnect
End.
 
			 
			
					
				
				Posted: 01.03.2006 10:35
				by L'inconnu
				btw в команде connect могли бы быть полезными 2 параметра n и m, т.е. connect(n,m) где n - номер шарда, m - номер чара. а то по первому разу конектится приходится вручную, после перезапуска стелс помнит пароль логин, но не помнит шард/чара по умолчанию. хотя конечно это мелочи ;) какая-нибудь хотьба куда важнее
			 
			
					
				
				Posted: 01.03.2006 10:38
				by L'inconnu
				определенно один раз
Code: Select all
program Tracking;
var i : Integer;
var person_to_track : String;
Begin
person_to_track := 'Bazyli'
SetARStatus(true)
if not connected then connect
while not dead do
   begin
   while connected do
      begin
      AutoMenu('Tracking', 'Anything that moves')
      for i:= 1 to 100 do
         begin
         UseSkill('Tracking')
         wait(500)
         end
      for i:= 1 to 100 do
         begin
         AutoMenu('Tracking', person_to_track)
         end
      wait(2000)
      SetWarMode(true)
      wait(250)
      SetWarMode(false)
      wait(250)
      end
   wait(500)
   end
SetARStatus(false)
Disconnect
End.
 
System: Targeting Cancelled
System: Targeting Cancelled
System: Targeting Cancelled
System: Targeting Cancelled
System: Targeting Cancelled
System: Targeting Cancelled
System: Targeting Cancelled
System: Targeting Cancelled
System: Targeting Cancelled
System: Unexpected menu info
System: Unexpected menu info
System: Unexpected menu info
System: Unexpected menu info
System: Unexpected menu info
System: Unexpected menu info
System: Unexpected menu info
System: Unexpected menu info
System: Unexpected menu info
 
			 
			
					
				
				Posted: 01.03.2006 10:40
				by Miralex
				Взял на заметку.