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

Инклюды,в чём подвох?

Only working scripts
PuM
Posts: 9
Joined: 12.02.2011 12:00

Инклюды,в чём подвох?

Post by PuM »

Добрый вечер,будьте добры разъсните в чём проблема...всё установил и настроил....но многие скрипты незапускаются..ругаются на это:
Compiler: [Error] (KAP.txt at 12:11): Duplicate identifier 'FULLDISCONNECT'
Compiling failed

ещё на Чексэйв и Хангри....мол типа ненаходит инклюды ?но у меня все инклюды сохранены и я немогу понять что не так...помоему на ранних версиях стелс этого не было...направьте в правильное русло,заранее благодарен.
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: Инклюды,в чём подвох?

Post by CFA »

Duplicate значит встречается 2 раза - один и тот же инклюд подключен дважды.
PuM
Posts: 9
Joined: 12.02.2011 12:00

Re: Инклюды,в чём подвох?

Post by PuM »

CFA wrote:Duplicate значит встречается 2 раза - один и тот же инклюд подключен дважды.
Благодарю за подсказку,но как подключен 2ды? почти неодин скрипт незапускается из-за этих ошибок....папка с инклюдами одна,одинаковых инклюдов нет,в чём подвох так и не понял...как разрешить?
С Уважением.

Приходится убирать все проверки чтоб запустить что-то...
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

сделай ctrl+f на FULLDISCONNECT
для скрипта и всех инклюдов. Также возможно у тебя сделано 2 инклюда подряд.
PuM
Posts: 9
Joined: 12.02.2011 12:00

Post by PuM »

та делал уже всё на свете,вот как только поставил так и проблема эта,раньше на старых версиях(когда играл раньше) никогда не сталкивался
PuM
Posts: 9
Joined: 12.02.2011 12:00

Post by PuM »

Тут уже дело чести,понять в чём прикол..! или стелс тупо травит с меня ахах.Надеюсь вместе разгадаем ребус
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

смотри:

at 12:11): Duplicate identifier 'FULLDISCONNECT'
это значит что на 12 строчке у тебя либо процедура(функция) либо переменная(константа) с именем фуллдисконнект. Ошибка значит, что где-то ДО этого уже объявлена такая штука.

Конечно, если бы ты показал скрипт было бы попроще чуть-чуть, но попробуем разобраться так.

Возможно либо ты делаешь что-то вроде такого
{$Include 'all.inc'} Здесь у тебя уже имеется нижняя строчка
{$Include 'connection.inc'} здесь у тебя fulldisconnect

Либо у тебя есть такая штука в инклюде:

procedure fulldisconnect;
begin ... end;
А потом в скрипте ты делаешь что-то вроде:
var
fulldicsonnect:boolean;

как- то так.
PuM
Posts: 9
Joined: 12.02.2011 12:00

Post by PuM »

Program carpentry;
var
TwoTarget,ItemCostWood,ItemCostTwoMaterial,TotalWoods,TotalTwoMaterial,i: integer;
stime : TDateTime;
Trash,TempWoods,TempTwoMaterial : cardinal;
TwoMaterialType,WoodType,ItemType,ToolType : word;
ItemGump:string;

{$Include 'all.inc'}


procedure FullDisconnect;
begin
SetARStatus(false);
Disconnect;
end;
Вот начало скрипта,повторений нет там..да дело не в скрипте...любой скрипт,где есть проверки на сейв,чекдед и т.д выдаёт мне ошибки,тоесть любой идеальный скрипт с нормальными проверками если запустить у меня ругается )))
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

Попробуй вырезать эту процедуру и в теле программы где-нибудь её вызвать. То есть теоретически у тебя будет либо полный дисконнект либо эксепшн.
PuM
Posts: 9
Joined: 12.02.2011 12:00

Post by PuM »

bugger wrote:Попробуй вырезать эту процедуру и в теле программы где-нибудь её вызвать. То есть теоретически у тебя будет либо полный дисконнект либо эксепшн.
procedure FullDisconnect;
begin
SetARStatus(false);
Disconnect;
end;
Вырезал это и запустил,но почему с процедурой не работает,вернее конфликтует...значит проблема в версии стелса...,
bugger,отдельное спасибо за попытки помощи,буду рубить везде значит,что делать ))) :P
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

Вырезал это и запустил,но почему с процедурой не работает,вернее конфликтует
Запустил ииии? Заработало или нет?

Убежусь, что ты правильно меня понял.

было так:

Code: Select all

program lala;
const
some_const = $354;
var
some_var:Integer;

procedure fulldisconnect;// тут ошибка должна вылезти
begin
setarstatus(false);
disconnect;
end;

begin
if Isdead(self) then fulldisconnect;
end.
я имел ввиду сделать так:

Code: Select all

program lala;
const
some_const = $354;
var
some_var:Integer;


begin
if Isdead(self) then fulldisconnect; //тут либо ошибка, либо все ок
end.
Last edited by bugger on 13.02.2011 20:44, edited 1 time in total.
PuM
Posts: 9
Joined: 12.02.2011 12:00

Post by PuM »

bugger wrote:
Вырезал это и запустил,но почему с процедурой не работает,вернее конфликтует
Запустил ииии? Заработало или нет?
Конечно работает,я и раньше вырезал все проверки и работало,меня озадачило именно то,что с процедурой нехочет,а по чему - ХЗ
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

PuM wrote:
bugger wrote:
Вырезал это и запустил,но почему с процедурой не работает,вернее конфликтует
Запустил ииии? Заработало или нет?
Конечно работает,я и раньше вырезал все проверки и работало,меня озадачило именно то,что с процедурой нехочет,а по чему - ХЗ
Я имею ввиду вырезать не проверку, а процедуру. Потому что есть 2 варианта: либо процедура у тебя где-то в инклюде и ты просто забыл о ней, либо в сам клиент вшита эта процедура.
Конечно, возможно ты дельфи программист и заранее её задекларировал, но я сильно сомневаюсь)
Посмотри выше, я показал как должно было быть, отредактировал сообщение.
PuM
Posts: 9
Joined: 12.02.2011 12:00

Post by PuM »

Неа,процедуру...
если как ты посоветовал сделать,вообще зверская тема выскакивает ахах

Variable 'TWOTARGET' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'ITEMCOSTWOOD' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'ITEMCOSTTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'TOTALWOODS' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'TOTALTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'I' never used
Compiler: [Hint] (KARP.txt at 5:1): Variable 'STIME' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TRASH' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TEMPWOODS' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TEMPTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'TWOMATERIALTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'WOODTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'ITEMTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'TOOLTYPE' never used
Compiler: [Hint] (KARP.txt at 8:1): Variable 'ITEMGUMP' never used
bugger
Novice
Novice
Posts: 86
Joined: 02.02.2011 11:21

Post by bugger »

PuM wrote:Неа,процедуру...
если как ты посоветовал сделать,вообще зверская тема выскакивает ахах

Variable 'TWOTARGET' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'ITEMCOSTWOOD' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'ITEMCOSTTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'TOTALWOODS' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'TOTALTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'I' never used
Compiler: [Hint] (KARP.txt at 5:1): Variable 'STIME' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TRASH' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TEMPWOODS' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TEMPTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'TWOMATERIALTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'WOODTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'ITEMTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'TOOLTYPE' never used
Compiler: [Hint] (KARP.txt at 8:1): Variable 'ITEMGUMP' never used
хм ты меня чутка не так понял :)

у тебя в коде, есть процедура fulldisconnect, а есть место где ты её вызываешь. Суть моего совета заключалась в том, что компилятор ругается на повторяющийся идентификатор, значит мы должны проверить, кто неправ ты или программа.
Для этого мы должны взять и удалить нашу процедуру из кода и насильно вызвать метод фуллдисконнекта. И смотрим что происходит. Либо прога не компилируется из-за какого-то глюка, либо ура-ура. Если неправ компилятор, значит ты молодец и это баг, и значиит у тебя нет другой такой процедуры. Иначе где-то в коде или инклюдах у тебя есть ещё такая же процедура.
Post Reply