Пожалуйста, помогите неофиту в устранении ошибок и оптимизации скриптов
Столкнулся с проблемой при использовании глобальных переменных между примерно 10-14 аккаунтами.
Есть два скрипта : первый запущен на ~10 чарах и ищет плееров по типу в заданном радиусе. Если находит - через глобальную переменную передает во второй скрипт, который передает сообщение о нахождении персонажа в эфир.
Проблема в том, что передается далеко не все и не всегда. То есть чар находится в первом скрипте, но второй скрипт не получает переменную. Подозреваю, что что-то напутано с задержками, пробовал по-разному, но не особо помогло...
этот скрипт запущен на "сателитах"
Code: Select all
      
   while (timer < timec + min) do
    begin 
     for i := 0 to 3 do
      begin
        tmp_obj := FindType(findinfo[i].id,ground);
		 wait(20);
		  res := GetGlobal('stealth','reset?');
           if (tmp_obj <> 0) and (res = 'no') then begin
                               SetGlobal('stealth',findinfo[i].var_name+myname,GetName(tmp_obj));
                                SetGlobal('stealth',myname+'_findmsg','1');
                                 AddToSystemJournal('найден(а) '+GetName(tmp_obj));
                                  Ignore(tmp_obj);
                                   tmp_obj := 0;
                                    wait(300);
                               end
         else begin SetGlobal('stealth',findinfo[i].var_name+myname,''); Ignore(tmp_obj); wait(100); end;
      end;
     
    end; 
  until false;
end.Code: Select all
   for i := 0 to 12 do 
    begin 
   
     location := GetGlobal('stealth',SPY[i]);
	  wait(10);
	  
	  chr_name := GetGlobal('stealth','man_'+SPY[i]);
	   if (chr_name <> '') then begin UOSay(Chr(39)+'asay Обнаружен '+chr_name+' в '+location); SetGlobal('stealth','reset?','yes'); wait(30); chr_name := ''; end
		else begin SetGlobal('stealth','reset?','no'); wait(20); end;
	  chr_name := GetGlobal('stealth','woman_'+SPY[i]);
	   if (chr_name <> '') then begin UOSay(Chr(39)+'asay Обнаружена '+chr_name+' в '+location); SetGlobal('stealth','reset?','yes'); wait(30); chr_name := ''; end
	    else begin SetGlobal('stealth','reset?','no'); wait(20); end;
	  chr_name := GetGlobal('stealth','portal_'+SPY[i]);
	   if (chr_name <> '') then begin UOSay(Chr(39)+'asay Открыт портал в '+location); SetGlobal('stealth','reset?','yes'); wait(30); chr_name := ''; end
	    else begin SetGlobal('stealth','reset?','no'); wait(20); end;
	  chr_name := GetGlobal('stealth','ghost_'+SPY[i]);
	   if (chr_name <> '') then begin UOSay(Chr(39)+'asay Обнаружен призрак '+chr_name+' в '+location); SetGlobal('stealth','reset?','yes'); wait(30); chr_name := ''; end
	    else begin SetGlobal('stealth','reset?','no'); wait(20); end;
end;
 
end.Буду рад любым комментариям/указаниям.


