[AGFC: Valley of Gothic] М:Декомпилятор скриптов Готики

Страница 13 из 31 « Первая 3678910111213 1415161718192023 Последняя »
Поиск в этой теме:

Расширенный поиск
Старый 13.04.2005, 22:24   #481
TSYLin

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Объясняю:
В параметр zcomp: прописываю 1,1 для компиляции декомпилированного файла, но zSpy выдаёт кучу ошибок (17, по одной на каждый переведённый), так что делать?
Ответить с цитированием
Старый 14.04.2005, 09:43   #482
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2TSYLin:
zSpy выдаёт кучу ошибок (17, по одной на каждый переведённый), так что делать?
Ошибки надо исправлять, без этого компиляция не пройдет, если есть затруднения, напиши конкретно ошибку из zSpy, помогу. А руководство по ошибкам читал?
Ответить с цитированием
Старый 16.04.2005, 08:41   #483
Ipse_Sun

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Vam:
Заметил некоторую нелогичность в работе компилятора:
на конструкцию вида

func int Func()
{
     if(...)
     {
           return 1;
     }
       else
       {
           return 0;
       }
};

компилятор ругается, приходится исправлять. А вот аналогичная по сути конструкция

func int Func()
{
     if(...)
     {
           return 1;
     };
};

никаких нареканий у компилятора не вызывает. Компилировал исправленный gothic.dat от снежковской Готики (прикручивал концерт ИнЭкстремо :)

Добавление от 04/16/05, в 09:01:18
И еще, можно ли создать компилятором файл ou.csl?
Ответить с цитированием
Старый 16.04.2005, 09:45   #484
TycoooN
Строители Миртаны
  Аватар для TycoooN
 
 
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
TycoooN вне форума

По умолчанию Re: Декомпилятор скриптов Готики

2Ipse San:
По логике можно так делать:

Код:
func int Func(){   if(***)   {      return 1;   };   return 0;};

И еще, можно ли создать компилятором файл ou.csl?
А зачем он тебе, если не секрет? :)
А вообще, можно получить файл .SRC из .BIN с помощью утилит от bigglass
Отправить личное сообщение для Ответить с цитированием
Старый 16.04.2005, 10:30   #485
Ipse_Sun

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2TycoooN:
Можно, просто нелогично, что компилятор на одну и туже ошибку, только в разной форме записи вот так по разному реагирует.
А ou.csl мне нужен, потому, что я считаю его наличие хорошим тоном (раз уж даже разработчики его оставили) :)

Утилитой bigglass'а я пробовал, но даже сделанный с родного ou.bin'a ou.csl отличается от исходного, идущего с игрой. И я не знаю, насколько фатальны эти отличия.  
Ответить с цитированием
Старый 16.04.2005, 17:27   #486
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Ipse San:

Оба приведенных тобой примере в версии Декомпилятора 2.01 попадают в группу Вниманий, их можно не исправлять, это в версии 2.00 первый пример был в ошибках, а второй во вниманиях.

И еще, можно ли создать компилятором файл ou.csl?
Этот файл декомпилятором создать нельзя, да он и не нужен, он используется экзешником Готики только о одном случае, если отсутствует ou.bin
Ответить с цитированием
Старый 18.04.2005, 16:20   #487
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Декомпилятор V2.1 выложен на DiccuricAG

* * *- Исправлена ошибка декомпилятора при определении типов деклараций, что приводило
* * *к "вылету" программы. (в частности мод lp_balance_v1.02beta)
Ответить с цитированием
Старый 18.04.2005, 19:16   #488
TycoooN
Строители Миртаны
  Аватар для TycoooN
 
 
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
TycoooN вне форума

По умолчанию Re: Декомпилятор скриптов Готики

2Vam:
Нельзя ли все-таки сделать строгий отсев ошибок опциональным? А то новичков очень отпугивает, что скомпилировать даже оригинальные скрипты не удается, и они, так и не разобравшись, бросают это дело ::)
Отправить личное сообщение для Ответить с цитированием
Старый 18.04.2005, 21:40   #489
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2TycoooN:
Нельзя ли все-таки сделать строгий отсев ошибок опциональным? А то новичков очень отпугивает, что скомпилировать даже оригинальные скрипты не удается, и они, так и не разобравшись, бросают это дело
Если кто захочет разобраться, то разберется в чем дело и исправит ошибки, а компилировать с ошибками могут и Спейсер и экзешники Готик.
Ответить с цитированием
Старый 19.04.2005, 19:36   #490
basilio58

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Что-то странное: выдает warn -Possible error, function should return value *


instance DIA_OCPAL_4_PEOPLE(C_Info)
{
* * *nr = 3;
* * *condition = DIA_OCPAL_4_PEOPLE_Condition;
* * *information = DIA_OCPAL_4_PEOPLE_Info;
* * *permanent = TRUE;
* * *description = "**************";
};


func int DIA_OCPAL_4_PEOPLE_Condition()
{
* * *return TRUE;
};

func void DIA_OCPAL_4_PEOPLE_Info()
{
* * *AI_Output(other,self,"DIA_OCPAL_4_PEOPLE_15_00"); * * *//*************
* * *AI_Output(self,other,"DIA_OCPAL_4_PEOPLE_04_01"); * * *//**************
};



И что же тут не так? Практически все диалоги такие.
Все неправильные?

Добавление от 04/19/05, в 19:47:07
Цитата:
Сообщение от Ipse San link=board=gothic&t=1095241429&start=475#482 date=04/16/05, в 08:41:18
2Vam:
Заметил некоторую нелогичность в работе компилятора:
на конструкцию вида

func int Func()
{
* * *if(...)
* * *{
* * * * * *return 1;
* * *}
* * * *else
* * * *{
* * * * * *return 0;
* * * *}
};

компилятор ругается, приходится исправлять.

Хоть бы написал, что исправлять, не совсем понятно  ;) :D
У меня таких 4 штуки...
21 исправил...чтой-то господа немцы не того...или мы не того... ;D
Ответить с цитированием
Старый 19.04.2005, 21:33   #491
Ipse_Sun

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2basilio58:
Приводить эту функцию к такому виду:
func int Func()
{
    if(...)
    {
          return 1;
    };
    return 0;
};
Ответить с цитированием
Старый 19.04.2005, 22:12   #492
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2basilio58:
И что же тут не так? Практически все диалоги такие.
Все неправильные?
В приведенном тобой фрагменте ни ошибок, ни внаманий нет. На него компилятор ругаться не должен, может ты что-нибудь напутал.
Я уже говорил, что исправлять все внимания нет необходимости, скрипты в обоих случаях будут работать правильно, если не дописывать что-то своё, если же изменять скрипты, то надо быть осторожным, могут появиться ошибки.
Есть хорошая и правильная практика программирования, если ей следовать, то много ошибок просто не возникнет. Могу привести несколько простых правил:
1. Если блок else закрывает функцию (расположен в конце), то он не нужен. Записывается просто содержимое блока.
2. По возможности избегать неявных передач параметров в функцию, для этого есть аргументы или глобальные переменные.
3. Если функция объявлена с возвращаемым значением, то оно должно явно возвращаться оператором return xx;

...чтой-то господа немцы не того...или мы не того...
И немцы того, и мы того. Просто нужно понимать, что разработчикам многие неявные вещи прозрачны, а нам еще надо до этого дойти. Но, если смотреть с другой стороны, скрипты писало несколько разных людей и каждый со своим стилем программирования, кто-то старался сократить текст, оставив только суть. А кто-то привык расписывать все подробно, даже за счет лишнего и неоптимального кода. В принципе, большинство огрехов выявляется тестированием, но, к сожалению, далеко не все.
Ответить с цитированием
Старый 19.04.2005, 23:04   #493
basilio58

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Спасибо за разъяснение, я просто не указал, в приведенном фрагменте не ошибка,там внимание
Ответить с цитированием
Старый 20.04.2005, 08:09   #494
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2basilio58:
я просто не указал, в приведенном фрагменте не ошибка,там внимание
Вниманий в этом фрагменте тоже быть не должно, всё строго написано. Если не трудно, можешь указать строчку с вниманием.
Ответить с цитированием
Старый 20.04.2005, 19:20   #495
basilio58

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Цитата:
Сообщение от Vam link=board=gothic&t=1095241429&start=475#493 date=04/20/05, в 08:09:46
2basilio58:

Вниманий в этом фрагменте тоже быть не должно, всё строго написано. Если не трудно, можешь указать строчку с вниманием.
В моем сообщении это красная скобка.

Добавление от 04/20/05, в 19:22:21
Цитата:
Сообщение от Vam link=board=gothic&t=1095241429&start=475#493 date=04/20/05, в 08:09:46
2basilio58:

Вниманий в этом фрагменте тоже быть не должно, всё строго написано. Если не трудно, можешь указать строчку с вниманием.
В моем сообщении это красная скобка. В скипте, если не ошибаюсь, строка 39.
Ответить с цитированием
Старый 20.04.2005, 21:35   #496
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2basilio58:
В моем сообщении это красная скобка. В скипте, если не ошибаюсь, строка 39
Что-то ты где-то не туда посмотрел, у меня этот файл компилируется без Вниманий и без Ошибок.  ;)
Ответить с цитированием
Старый 17.05.2005, 12:35   #497
TSYLin

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Недавно скачал мод к Г2Аддону, Каста .
Так как он на немецком, мне захотелось его перевести, а следовательно раскомпилировать датник, но оказалось, что это НЕВОЗМОЖНО.
Дело в том, что на одном из скриптов exe-шник декомпилятора выдаёт ошибку, что мол ошибка exe-шника, и всё, притом НИ ОДНА ВЕРСИЯ декомпилятора НЕ МОЖЕТ С НИМ РАБОТАТЬ, И ВСЕ ВЫДАЮТ ОДНУ И ТУЖЕ ОШИБКУ. :(
Ответить с цитированием
Старый 17.05.2005, 12:44   #498
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2TSYLin:
Дело в том, что на одном из скриптов exe-шник декомпилятора выдаёт ошибку, что мол ошибка exe-шника, и всё, притом НИ ОДНА ВЕРСИЯ декомпилятора НЕ МОЖЕТ С НИМ РАБОТАТЬ, И ВСЕ ВЫДАЮТ ОДНУ И ТУЖЕ ОШИБКУ.
Для устранения этой проблемы мне необходима ссылка на датник и оушник мода, или можно оные выложить на Яндексе (DiccuricAG, forum).
Ответить с цитированием
Старый 17.05.2005, 15:11   #499
DimaD

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Товарищи, а вам нужен новый Loader для декомпилятора, или все консолью пользуются? ;)
Ответить с цитированием
Старый 17.05.2005, 17:06   #500
PA
Строители Миртаны
*
 
Регистрация: 29.08.2004
Сообщений: 1
PA вне форума

По умолчанию Re: Декомпилятор скриптов Готики

Появился интересный инструмент для работы со скриптами точнее ДиалогМенеджер
http://www.worldofgothic.de/dl/index.php?go=downloads&file_id=157
как выглядит
[img]ftp.worldofgothic.de/gothic2/editing/Dialogmanager.gif[/img]
Ответить с цитированием
Старый 17.05.2005, 17:12   #501
francisc

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2DimaD:
а чем он будет отличаться от старого?
Ответить с цитированием
Старый 17.05.2005, 17:19   #502
Ipse_Sun

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2DimaD:
Я не откажусь. Я батники вспомогательные написал, но привык уже к гую, привык :)
Ответить с цитированием
Старый 17.05.2005, 19:57   #503
Boris_Tor

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2DimaD: уважаемый
Конечно нужен, красивый *и понятный интерфейс всегда огромный плюс для программы! :D
2TSYLin:
Не знаю что у тебя там такое, но у меня все получилось(декомпилятор 1.8..) вот ссылка
http://smithy.mirtana.com/Merlin/MoDs/Sekte_decompiled.rar
Ответить с цитированием
Старый 17.05.2005, 21:17   #504
TSYLin

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Недавно скачал мод к Г2Аддону, Каста .
Какая Каста? Пардон заглючил, бывает ::). Я имел ввиду Cекту, которая валяется на Worldofgothic.
Больше такого неповторится. ;D
Ответить с цитированием
Старый 17.05.2005, 21:40   #505
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Boris Tor: 2TSYLin:
Секта, Каста - я ничего не понял, скажите конкретно, Декомпилятор v2.1 декомпилирует этот мод или нет, если нет, то дайте, пожалуйста, на него ссылку.  :)
Ответить с цитированием
Старый 17.05.2005, 21:54   #506
TSYLin

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Цитата:
Сообщение от francisc link=board=gothic&t=1095241429&start=500#500 date=05/17/05, в 17:12:55
2DimaD:
а чем он будет отличаться от старого?
Ну как чем, в него наверное включат декомпиляцию демо-версии Г1, а может быть ещё что-нибудь.

Добавление от 05/17/05, в 22:07:03
Ссылка на Секту вот
http://www.worldofgothic.de/dl/index.php?go=downloads&file_id=156

STORY\DIALOGE\DIA_VLK_498_IGNAZ.D : Decompile... .... <zError.cpp,#462>
Вот на этом файле у меня декомпилятор вылетает, при том zSpy ни чего не выдаёт, а выводится ошибка принадлежащая к GothicSourcerV2_1.

Я ещё пробывал 2_01 но он тоже не хочет.
Ответить с цитированием
Старый 17.05.2005, 23:17   #507
Boris_Tor

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Vam:
Мод до конца не декомпелируется... TSYLin: прав. Еще в папке с датником лежит вот этот фаил. http://smithy.mirtana.com/Merlin/MoDs/OUINFO.rar
Уважаемый Vam, немог бы ты объяснить его назначение, вернее почему он лежит вместе с датником, ведь его назначение понятно, и его нахождение в этой папке вызывает у меня недоумение. *
Ответить с цитированием
Старый 18.05.2005, 05:20   #508
B_Wolf

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2DimaD:
Товарищи, а вам нужен новый Loader для декомпилятора, или все консолью пользуются?
Да, еще как! До появления оболочки юзал батники, а потом стало намного удобнее.

Пожелания, что хотелось бы увидеть в новой версии.

1. Сохранение последнего пути к GothicSourcer_xx.exe для каждой копии лоадера (Каждый раз вводить не очень утомляет, но все же)

2. Сохранение последних использованных действий для каждой копии лоадера.

3. В интерфейсе лоадера отдельную кнопочку для запуска ZSpy, возможно путь к нему.. (Очень бы хотелось, ну или чтоб он сам его запускал).

Почему я выделил: "Для каждой копии лоадера" - это потому, что когда одновременно работаешь с разными файлами: (gothic.dat + ou.bin, fight.dat, menu.dat), которые лежат в абсолютно разных каталогах, соответственно используются сразу несколько копий лоадеров, иногда можно проглядеть и выбрать "не тот" датник, или не ту версию Готики :) ИМХО, для каждой копии лоадера для этих целей можно использовать свой *.ini файл с настройками в каталоге с лоадером.

Еще раз респект за оболочку!
Ответить с цитированием
Старый 18.05.2005, 08:10   #509
DimaD

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Ukur: я думаю вообще инфу о местоположении Готики из реестра читать, чтобы удобнее было.
Тогда скоро начну работу над новой версией :)
Ответить с цитированием
Старый 18.05.2005, 08:43   #510
Ipse_Sun

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2DimaD:
я думаю вообще инфу о местоположении Готики из реестра читать
Какой Готики? Если установленной, то это ИМХО бессмысленно - вовсе не факт, что установленная Готика = рабочий экземпляр. К тому же этих рабочих экземпляров может быть несколько. Наверное вариант с персональным ини-файлом для каждой копии оболочки - это все-таки оптимально.
Ответить с цитированием
Старый 18.05.2005, 09:19   #511
DimaD

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Ipse San: я похож на идиота, который отключит ручной ввод, доверяя все автоматике?
Ответить с цитированием
Старый 18.05.2005, 20:46   #512
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

[glow=red,2,300]Декомпилятор V2.11[/glow] выложен на DiccuricAG.

- устранён "вылет" программы при декомпиляции в случае присутствия ошибок в дат файле.

На сей раз товарищи разработчики мода допустили множество ошибок, которые были закомпилированы в дат файл стандартными средствами компиляции, поэтому декомпиляция полностью не выполнялась. Наиболее часто встречающаяся ошибка - это внутри условия if использование = вместо ==, и наоборот, использование == вместо = в операциях присвоения(правда, это декомпилятор уже мог воспринимать и обрабатывать).
Привожу типичную ошибку получившихся после декомпиляции скриптов и метод её устранения:
func int dia_angar_teach_condition()
{
* * *hero.guild = GIL_GUR;
* * *hero.guild = GIL_TPL;
* * *TEACH_ANGAR = TRUE ¦¦ ;
* * *if( && )
* * *{
* * * * * *return TRUE;
* * *};
};

необходимо исправить на:
func int dia_angar_teach_condition()
{
* *if(((hero.guild == GIL_GUR) ¦¦ (hero.guild == GIL_TPL)) && (TEACH_ANGAR == TRUE))
* *{
* * *return TRUE;
* *};
* *return FALSE;
};


Остальные ошибки затруднений при исправлении вызвать не должны.
Ответить с цитированием
Старый 18.05.2005, 23:09   #513
Boris_Tor

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Vam:
Благодарю за эффективность и скорость устранения "вылета"....
Ответить с цитированием
Старый 19.05.2005, 04:09   #514
Killer-XXX
Строители Миртаны
 
 
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
Killer-XXX вне форума

По умолчанию Re: Декомпилятор скриптов Готики

2Vam:
Еще одно, конструктивное предложение насчет декомпилятора.
Вот появился новый мод к аддону, после декомпиляции нужно искать новые строки. А если руководствуясь базами данных всех ф-ий, т.е. NamesGothic1.d и NamesGothic2.d, декомпилятор при линковке сравнивает же ф-и с этой базой, так вот, при линковки или это сам процесс декомпиляции, но все ф-и, будь то просто void функция, или новый instance, которые он не находит в этих базах, декомпилятор сохраняет в памяти, и после завершения декомпиляции он создает новые txt файл, куда все это запишит, допустим:
Story\Dialoge\dia_bau_933_rega.d - func void NewModFunction
Это если новая функция в старом скрипте. Ну и аналогично для совершенно новых функций.
Что думаешь по этому поводу?
Ответить с цитированием
Старый 19.05.2005, 08:37   #515
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Boris Tor:
Еще в папке с датником лежит вот этот фаил. http://smithy.mirtana.com/Merlin/MoDs/OUINFO.rar
Уважаемый Vam, немог бы ты объяснить его назначение, вернее почему он лежит вместе с датником, ведь его назначение понятно, и его нахождение в этой папке вызывает у меня недоумение.
Я думаю, что и назначение его большинству до донца не понятно. Всем известно, что при компиляции скриптов стандартными средствами (экзешник Готики или Спейсер) процессы создания дат файла и оу файла разненсены по времени (экзешник Готики вообще оу файл не делает). Поэтому стандартный компилятор при построении дат файла создает вспомогательный файл ouinfo.txt, который используется отдельным процессом по созданию оу файла (только Спейсер), в этом файле проведена регистрация всех вызовов функций AI_Output из скриптов (для быстроты, чтобы не заниматься поиском по всем скриптам). Если уже есть готовые дат и оу файлы, то ouinfo.txt совершенно не нужен. При использовании моей программы по компиляции и декомпиляции этот файл не создается, т.к. процесс компиляции (создание дат файла) и создание оу файла выполняются параллельно.

2Killer-XXX:
Вот появился новый мод к аддону, после декомпиляции нужно искать новые строки. А если руководствуясь базами данных всех ф-ий, т.е. NamesGothic1.d и NamesGothic2.d, декомпилятор при линковке сравнивает же ф-и с этой базой, так вот, при линковки или это сам процесс декомпиляции, но все ф-и, будь то просто void функция, или новый instance, которые он не находит в этих базах, декомпилятор сохраняет в памяти, и после завершения декомпиляции он создает новые txt файл, куда все это запишит
Предложение интересное, но!!!
1. В файы NamesGothic1.d и NamesGothic2.d не являются базами имен функций, в них записаны *все регистрозависимые переменные скриптов, если же переменная (неважно, функция это или нет) в тексте оригинальных скриптов имела имя в верхнем регистре, то её в этих файлах нет.
2. Если ты хочешь создать из новых скриптов файл, аналогичный вышеуказанным, то такая возможность в декомпиляторе имеется, надо просто активировать новый ключ (о нём я еще не говорил, незадокументированные возможности). Ты же не думаешь, что я эти файлы "набивал" руками? Ключ командной строки -ztest:4, остальные ключи как при компиляции скриптов.
Советую предварительно сохранить старый файл или его переименовать.
3. Получив новый файл с именами, можно сравнить его со старым, но, в связи с п.1 это будет не полное выявление всех новых функций.
Ответить с цитированием
Старый 19.05.2005, 18:22   #516
Boris_Tor

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Vam:
Благодарю за подробное разъяснение.
Ответить с цитированием
Старый 23.05.2005, 22:01   #517
basilio58

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Всем привет!
Заметил такую вещь. Если в одном скрипте много ошибок(или варнингов), то номер строки ошибки смещается в сторону уменьшения, и чем дальше, тем больше.
Ответить с цитированием
Старый 23.05.2005, 23:43   #518
Killer-XXX
Строители Миртаны
 
 
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
Killer-XXX вне форума

По умолчанию Re: Декомпилятор скриптов Готики

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

По просьбе трудящихся, объясняю что я тут намудрил:
Есть 2 скрипта
ItemSc.d - в этом скрипте вызывается ф-я MyFunc
MyFunc.d - тут естественно и прописана MyFunc.

В файле gothic.src написано
Код:
......ItemSc.d......MyFunc.d
Компилятор попытается откомпилировать ItemSc.d, но т.к. в скрипте ItemSc.d прописана MyFunc, он не сможет этого сделать, потому что компилятор еще "не знает" MyFunc, она прописана ниже.
Поэтому приходиться исправлять:
Код:
...MyFunc.dItemSc.d...
И только теперь пойдет компиляция.
Вот я и предлагаю, нельзя ли это убрать или выполнять эту проверку уже при линковке?


Ответить с цитированием
Старый 24.05.2005, 15:09   #519
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2Killer-XXX:
Когда юзаешь компилятор, то особенно на декомпилированных скриптах заметно, добавляешь новую ф-ю. Потом ее нужно будет вызвать в каком нибудь скрипте, допустим в предмете.
Но в gothic.src сначала описан скрипт предмета, а потом скрипт вызываемой ф-и. На это декомпилятор ругается, что неизвестная ф-я. Приходится в gothic.src искать место, куда бы нашу новую ф-ю повыше прописать, чтобы он сначала откомпилировал ее, а потом уже без всяких глюков, зная эту ф-ю, откомпилировал скрипт предмета, в котором эта ф-я будет вызваться.
К сожалению, есть только один вариант, записывать декларацию функции в скрипты до её вызова. Это связано с тем, что при вызове функции проверяются типы аргументов и возвращаемое значение, если же компилятор не знает декларации функции, то эту задачу он выполнить не может. Выход из положения - оформлять функцию отдельным файлом и включать его в компиляцию до файла, из которого производится вызов функции, или функцию включать в файл, описывающий другие функции данного скрипта.

2basilio58:
Заметил такую вещь. Если в одном скрипте много ошибок(или варнингов), то номер строки ошибки смещается в сторону уменьшения, и чем дальше, тем больше.
Данный вопрос требует дополнительной проработки, ответ дам позже.


Добавление от 05/24/05, в 15:29:18
2basilio58:
Ничего такого я не нашёл, при компиляции номера строк с ошибками и вниманиями отображаются правильно, приведи пример, где сползают номера строк.
Ответить с цитированием
Старый 25.05.2005, 21:17   #520
TSYLin

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

Прошу помощи, не как не могу понять как исправить следующую ошибку в функции:

func int C_TowerBanditsDead()
{
     var C_Npc TowerBandit1;
     var C_Npc TowerBandit2;
     var C_Npc TowerBandit3;
     TowerBandit1 = Hlp_GetNpc(BDT_10100_Addon_TowerBandit);
     TowerBandit2 = Hlp_GetNpc(BDT_10101_Addon_TowerBandit);
     TowerBandit3 = Hlp_GetNpc(BDT_10102_Addon_TowerBandit);
     if(Npc_IsDead(TowerBandit1) && Npc_IsDead(TowerBandit2) && Npc_IsDead(TowerBandit3))
     {
           return TRUE;
     };
     TowerBanditsDead = TRUE;
     else
     {
           return FALSE;
     };
};

Компилятор пишет следующее:
Unknown identifier ELSE

(Я привёл только часть файла)

Если решение этой проблемы описывалось ранее, то прошу дать номер поста

Заранее очень благодарен!
Ответить с цитированием
Страница 13 из 31 « Первая 3678910111213 1415161718192023 Последняя »


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе

Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.


Текущее время: 10:03. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2021, vBulletin Solutions, Inc. Перевод: zCarot

AGFC: Valley of Gothic © 2004-2020

Яндекс.Метрика