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

Хэлп... (Дисконект чаров)

тут можно задать вопрос по скриптингу
DesperadoS
Neophyte
Neophyte
Posts: 19
Joined: 24.10.2006 19:48

Хэлп... (Дисконект чаров)

Post by DesperadoS »

Вообщем проблема такая... играю я на шарде "Age of Power"
Задача: порезать бинты, даблклик на ножницы-(выберите цель)- таргет на пачку тряпок бах и 1 бинтик(You make a bandage) :
Запускаю в програмке Стелс (последняя версия) вот такой вот скрипт

Code: Select all

:Program Bintorez;
BEGIN
while true do begin
useobject(FindType($0F9E,backpack));
wait(200);
TargetToObject(FindType($1766,backpack));
wait(3000);
end;
END.
По началу режет, потом просто перестает... последняя фраза в журнале "Выберите цель"

И при этом постоянно в периоде 5-и минут конлостит чаров...


зы. Запустил одновременно 5 чаров.
Проблема в моем шарде? или в скрипте? кто подскажет? поможет?

Вот еще что разузнал: Когда перестает резать, в Системном журнале пишет вот такую байдень

Code: Select all

16:07:10 [Bint]: UseObject error: Object not finded.
DesperadoS
Neophyte
Neophyte
Posts: 19
Joined: 24.10.2006 19:48

Post by DesperadoS »

Я так понял, сколько чаров бы не запускал, стабильно режет только один, остальных то дисконектит , то пишет "Обжект нот файнд" ... незнаю чего это?
зы. Чары стоят в одном доме, рядом... в этом доме стоят еще макросники...
Miralex
Developer
Developer
Posts: 656
Joined: 11.03.2005 19:12
Contact:

Post by Miralex »

Видимо или Стелс не находит общий язык с твоим шардом или еще что-то. Для начала попробуй изолировать этого "волшебного" в другое место и посмотри что будет. Может удастся определить причину коннлостов.
Если все безуспешно будет - стучи в аську и будем смотреть логи ...
DerMeister
Novice
Novice
Posts: 54
Joined: 19.11.2006 17:35

Post by DerMeister »

У тебя скрипт не учитывает такой момент: таргет появился позже, чем через 200мс, а прицел появляется позже. Тоесть ты получешь "неиспользованный" прицел. После чего делаешь useobject, что, возможно, является непредусмотренной операцией (и вправду, ты же не можешь юзать объект даблкликом, когда у тебя прицел висит) и данная ситуация вызывает ошибку.
Вобщем предположу, что у тебя сервер считает такие ошибки, причём не на чара, а на твой IP адрес. И при превышении некоторого кол-ва ошибок дисконнектит тебя от сервера (чтобы не грузить ядро ошибками).
DesperadoS
Neophyte
Neophyte
Posts: 19
Joined: 24.10.2006 19:48

Post by DesperadoS »

DerMeister wrote:У тебя скрипт не учитывает такой момент: таргет появился позже, чем через 200мс, а прицел появляется позже. Тоесть ты получешь "неиспользованный" прицел. После чего делаешь useobject, что, возможно, является непредусмотренной операцией (и вправду, ты же не можешь юзать объект даблкликом, когда у тебя прицел висит) и данная ситуация вызывает ошибку.
Вобщем предположу, что у тебя сервер считает такие ошибки, причём не на чара, а на твой IP адрес. И при превышении некоторого кол-ва ошибок дисконнектит тебя от сервера (чтобы не грузить ядро ошибками).
Как это исправить?
DesperadoS
Neophyte
Neophyte
Posts: 19
Joined: 24.10.2006 19:48

Post by DesperadoS »

Miralex wrote:Видимо или Стелс не находит общий язык с твоим шардом или еще что-то. Для начала попробуй изолировать этого "волшебного" в другое место и посмотри что будет. Может удастся определить причину коннлостов.
Если все безуспешно будет - стучи в аську и будем смотреть логи ...
В аську уже стучал, дисконектит время от времени всех чаров... выполнят функцию нормально только один... один в смысле, может порезать бинтов один чар, эго дисконектит, начинает резать другой... чтото в этом роде
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Попробуй так. Писал прямо на форуме, так что могут быть ошибки.

Code: Select all

Program Bintorez; 

BEGIN 
while true do
begin
   if targetpresent then canceltarget;
   if not usetype($0F9E,$FFFF) then exit;
   waitfortarget(2000);
   if findtype($1766,backpack) = 0 then exit;
   if targetpresent then TargetToObject(Finditem);
   wait(3000); 
end; 
END.


Последнюю паузу тоже неплохо бы заменить на динамическую, то есть ожидание сообщения. Кроме того надо вводить реконнект и проверку на сейв.

В общем, пробуй.
Last edited by Edred on 15.12.2006 21:43, edited 1 time in total.
DesperadoS
Neophyte
Neophyte
Posts: 19
Joined: 24.10.2006 19:48

Post by DesperadoS »

Edred wrote:Попробуй так. Писал прямо на форуме, так что могут быть ошибки.

Code: Select all

:Program Bintorez; 

BEGIN 
while true do
begin
   if targetpresent then canceltarget;
   if not usetype($0F9E,$FFFF) then exit;
   waitfortarget(2000);
   if findtype($1766,backpack) = 0 then exit;
   if targetpresent then TargetToObject(Finditem);
   wait(3000); 
end; 
END.


Последнюю паузу тоже неплохо бы заменить на динамическую, то есть ожидание сообщения. Кроме того надо вводить реконнект и проверку на сейв.

В общем, пробуй.

Code: Select all

19:28:15 [Bint3]: Compiling
19:28:15 [Bint3]: Compiler: [Error] (Bintorez Edred.sc at 1:1):  'BEGIN' expected
19:28:15 [Bint3]: Compiling failed
19:28:15 [Bint3]: Script Bintorez Edred.sc stoped successfuly
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Post by CFA »

: перед program убери :idea:
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Исправил. Но вообще думалку периодически включать стоит. Тебе же четко говорят номер строки и номер позиции в строке с ошибкой.
DesperadoS
Neophyte
Neophyte
Posts: 19
Joined: 24.10.2006 19:48

Post by DesperadoS »

Edred wrote:Исправил. Но вообще думалку периодически включать стоит. Тебе же четко говорят номер строки и номер позиции в строке с ошибкой.
Извени, но у меня с этим туго... очень... спасибо огромное за помощь.
DesperadoS
Neophyte
Neophyte
Posts: 19
Joined: 24.10.2006 19:48

Post by DesperadoS »

Теперь пишет вот такое:

Code: Select all

22:00:22 [Bint3]: Compiling
22:00:22 [Bint3]: Compiler: [Error] (Bintorez Edred.sc at 7:32):  Type mismatch
22:00:22 [Bint3]: Compiling failed
22:00:22 [Bint3]: Script Bintorez Edred.sc stoped successfuly
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Post by CFA »

DesperadoS wrote:Теперь пишет вот такое:

Code: Select all

22:00:22 [Bint3]: Compiling
22:00:22 [Bint3]: Compiler: [Error] (Bintorez Edred.sc at 7:32):  Type mismatch
22:00:22 [Bint3]: Compiling failed
22:00:22 [Bint3]: Script Bintorez Edred.sc stoped successfuly

Code: Select all

Program Bintorez; 

BEGIN 
while true do 
begin 
   if targetpresent then canceltarget; 
   if usetype($0F9E,$FFFF) = 0 then exit; 
   waitfortarget(2000); 
   if findtype($1766,backpack) = 0 then exit; 
   if targetpresent then TargetToObject(Finditem); 
   wait(3000); 
end; 
END.
DesperadoS
Neophyte
Neophyte
Posts: 19
Joined: 24.10.2006 19:48

Post by DesperadoS »

CFA wrote:
DesperadoS wrote:Теперь пишет вот такое:

Code: Select all

22:00:22 [Bint3]: Compiling
22:00:22 [Bint3]: Compiler: [Error] (Bintorez Edred.sc at 7:32):  Type mismatch
22:00:22 [Bint3]: Compiling failed
22:00:22 [Bint3]: Script Bintorez Edred.sc stoped successfuly

Code: Select all

Program Bintorez; 

BEGIN 
while true do 
begin 
   if targetpresent then canceltarget; 
   if usetype($0F9E,$FFFF) = 0 then exit; 
   waitfortarget(2000); 
   if findtype($1766,backpack) = 0 then exit; 
   if targetpresent then TargetToObject(Finditem); 
   wait(3000); 
end; 
END.

Этот скрипт работает... но этот скрипт отключаться если чара дисконектит... и снова о том же, в первой же минуте роботы с каким либо скриптом чаров по очереди начинает дисконектить... как я выше уже писал, я не программист и не скриптер там какойто, я обычный геймер который по этим делам вооообще ничего не понимает... если не трудно... помогите разобраться... скрипт на по резку бинтов именно для программки Стелс был бы ооочень полезный для нашего шарда...
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Я так и не могу понять твоих проблем. Не мог бы ты выражаться более внятно? Подробно опиши проблему, опиши симптомы как это происходит, точные сообщения которые при этом появляются в системном журнале, сколько чаров, сколько и какие скрипты запущены на этих чарах. Пойми - телепаты в отпуске.

ЗЫ: Если проблема в том, что этот скрипт при дисконнекте отваливается, то:

Code: Select all

Program Bintorez; 
{$Include 'all.inc'}
BEGIN 
while true do 
begin
   waitconnection(3000) 
   if targetpresent then canceltarget; 
   if usetype($0F9E,$FFFF) = 0 then exit; 
   waitfortarget(2000); 
   if findtype($1766,backpack) = 0 then exit; 
   if targetpresent then TargetToObject(Finditem); 
   wait(3000); 
end; 
END.
Post Reply