• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток! Спешите принять участие в оценке работ на конкурсе "Таинственные миры" 2024!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык
    Ссылка на тему с работами участников- тык

Gothic Sourcer

marazmus

★★★★★★★★★★★
Основатель
Регистрация
7 Янв 2003
Сообщения
2.117
Благодарности
912
Баллы
385
  • Первое сообщение
  • #1

Vam

Почетный форумчанин
Регистрация
8 Июл 2008
Сообщения
255
Благодарности
1
Баллы
180
Спасибо.
Это отбивает, если честно, все желание модить. Ибо мало ли он там поменял чего, что ГС не увидел...Да, один факт того, что функция с возвратом воид была изменена на интежер меня вверг в уныние.
Ну и правильно, если не можешь такой пустяк исправить, то тебе ещё рано этим делом заниматься...
 

Самогонщик Самуэль

Участник форума
Регистрация
15 Сен 2009
Сообщения
34
Благодарности
0
Баллы
150
Хехе, юморист, если бы не мог то не понял бы в чем дело. Вопрос в том, что допустим, у меня две схожих переменных (м и м1). И если он одну из них поменяет на другую, то компилятор ошибок в синтаксисе не найдет (ибо их нет). Понимаешь о чем я?
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Самогонщик Самуэль,
Если тебе интересно: то хотел добавить альтернативы.
Если тебе интересно - есть Тема где обсуждается и добавляется все интересное. Если есть желание - присоединяйся :)
И если он одну из них поменяет на другую, то компилятор ошибок в синтаксисе не найдет (ибо их нет).
Не я поменяю - а декомпилятор. И чтобы знать где и что - самому надо знать полностью все скрипты и логику. Даже я устану править декомпилированные.
 

Самогонщик Самуэль

Участник форума
Регистрация
15 Сен 2009
Сообщения
34
Благодарности
0
Баллы
150
Диман, ну как же ты не поймешь, о чем я сентенсирую, так сказать. ГС, черт побери, не возвращает нам 100% исходный код. Понимаешь, если дизассемблируя мы получаем полностью равный по логике код с исходным, то здесь это совсем не факт. Вот главная причина батхерта. Поменять ошибки то я поменяю, чего он найдет, но мало ли чего там останется.
А писать в ту тему... ну тыж хрен станешь слушать
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995
Самогонщик Самуэль, Если в исходных скриптах не было ошибок, то и соурсер все декомпилирует правильно...
 

Самогонщик Самуэль

Участник форума
Регистрация
15 Сен 2009
Сообщения
34
Благодарности
0
Баллы
150
Магот, правильно ли я понимаю, что те ошибки - это ошибки Димелля?
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995
Самогонщик Самуэль, Не обязательно. Просто, чтобы написать полностью очищенный от ошибок код, надо очень хорошо знать скрипты и работу с ними движка. Но мало написать правильно работающий скрипт, нужно его еще правильно написать, в плане синтаксиса языка и логики программы, тогда и Соурсер спотыкаться не будет.
Например, если очищеные от ошибок и скомпилированные скрипты мода или игры - декомпилировать (причем именно программой Соурсер), то ошибок уже не будет. Это при условии, что они не содержались в оригинальных не компилированных скриптах.


Зы. Диммель тут не причем, хотябы по тому, что он не является одним из авторов аддона "Возвращение". Хотя, допускаю что и его патчи могут внести свои ошибки. Но, скрипты Готы сами по себе очень глючная штука, отсюда и выводы...
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
MaGoth,
Хотя, допускаю что и его патчи могут внести свои ошибки.
Там 100% написано все правильно.
Это при условии, что они не содержались в оригинальных не компилированных скриптах.
В скриптах нет ни одной ошибки и вниманий при компиляции.
И Возвращение тут ни при чем. От него осталась только рыба - локации (уже измененные), сюжет (тоже измененный). Все остальное кроено и перекроено. :)
В конце-концов, могу я защищать свои проекты от декомпиляции? ;)

Самогонщик Самуэль,
я могу подсказать как поправить ошибки Соурсера, но не более.
 

Самогонщик Самуэль

Участник форума
Регистрация
15 Сен 2009
Сообщения
34
Благодарности
0
Баллы
150
Так, господа, что Вы мне разжевываете? Мне это понятно (черт побери яж сам кодер), но противоричие получается: Диман код свой оберегает (да и вряд ли там такие грубые баги будут), с другой стороны Магот говорит, что баги в исходниках.
Вот и непонятка получается. Кто прав то?
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Самогонщик Самуэль,
вот как раз недавно компилил для тестов. :)
Окно Соурсера - ошибок 0, вниманий - 0.
 

Вложения

  • s12.jpg
    s12.jpg
    131,3 KB · Просмотры: 323

Самогонщик Самуэль

Участник форума
Регистрация
15 Сен 2009
Сообщения
34
Благодарности
0
Баллы
150
Хм..А в чем дело тогда? Может в распаковке VDFS? Ды вряд ли. Черт его знает, короче. Диман, я распаковывал готик.дат ошибки были в диалогах Боспера (мо шкурой тролля), Дара (со сдачей его, функция такая еще со "свинским" названием) и черт, сто-то еще не столь существенное.
Вы мне можете ответить или нет? Это дело в декомпиляторе или исходниках? (Я просто сомневаюсь, что Диман мог такие грубые баги оставить в коде)
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Самогонщик Самуэль,
ошибки появляются при декомпиляции: меняет некоторые цифровые значения на slf и .д.
Пиши конкретно кусок скрипта с ошибкой (до и после ошибки пару строк, имя скрипта и № строки в Соурсере).
 

Самогонщик Самуэль

Участник форума
Регистрация
15 Сен 2009
Сообщения
34
Благодарности
0
Баллы
150
Да пойми же, что синтаксические ошибки я и сам могу исправить, но дело в том что мы не можем знать что он (ГС) там меняет. Баги в логике куда серьезнее синтаксиса, тебе ли это объяснять.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995
Dimmell,
Там 100% написано все правильно.
Если найду на винте, то хоть сейчас выложу скрипты Г2 оригинала, с 0 ошибок и 0 вниманий. Но если запустить игру, в ней будут присутствовать фатальные баги. ::)
100% ведь даже Господь не дает... ;)

Самогонщик Самуэль, Соурсер будет правильно декомпилировать датники только в том случае, если в них нет ошибок, и если эти самые датники, изначально были скомпилированны Соурсером. Дат-файлы которые компилировались другими программами (спейсер, например), при декомпиляции будут идти с ошибками. :)
 

xterm

Участник форума
Регистрация
25 Июн 2009
Сообщения
5.177
Благодарности
16
Баллы
400
Если найду на винте, то хоть сейчас выложу скрипты Г2 оригинала, с 0 ошибок и 0 вниманий.
Вот это точно верю. У меня тоже были разные удачно собранные датники(т.е. 0 ошибок и 0 вниманий). При подгрузке полученного mod-файла были вылеты из игры. Всего не предусмотришь.
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
xterm,
много фатальных багов в непересобранном 1.12.х, Ребалансе 1 и 2?
По одной простой причине - я работаю с одним и тем же проектом уже 1,5 года без декомпиляций и пересборок. Баги и ошибки исправляются, а не накапливаются.
Классический пример ошибки при декомпиляции:
файл C_DiegoTooFar, в строке
else if((Npc_GetDistToWP(hero,"OC_CENTER_02") < (12000 + tolerance)) || (Npc_GetDistToWP(hero,"OC_CENTER_05") < (12000 + tolerance)))
значение 12000 Соурсер меняет на her.
Как и в Mdl_ApplyOverlayMdsTimed(self,"HUMANS_SKELETON_FLY.MDS",15000);

MIS_GOLDUPGRADE_PAL_H = (15000 + (INNOSCRIMECOUNT * 50)) - (INNOSPRAYCOUNT * 100);
15000 меняется на her
Это моя ошибка, или Соурсера?
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995
Dimmell, Это твоя ошибка, а не Соурсера. Ибо нужно прописывать все переопределенные типы функций и переменных в файлы Соурсера, с обозначением этих "типов" для правильного их понимания Соурсером. ;)
Он ведь, логически мыслить не умеет. *flowers*
 

xterm

Участник форума
Регистрация
25 Июн 2009
Сообщения
5.177
Благодарности
16
Баллы
400
Dimmell, да, такие ошибки видел, пришлось подставлять значения. Вот интересно, чего еще наловлю в процессе?:D В принципе меня это фиг остановит:D
В принципе писать "как надо" нереально, мне кажется. Я например пишу как мне удобно и лишь бы работало...*Кидайте помидоры*
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
MaGoth,
Ибо нужно прописывать все переопределенные типы функций и переменных в файлы Соурсера, с обозначением этих "типов" для правильного их понимания Соурсером.
А теперь объясни мне, зачем это нужно? *???*
Если:
- компилирует Соурсер без ошибок
- все работает в игре как должно быть
- файлы Соурсера с "все переопределенные типы" не входят в мод, если кто-то захочет разобрать мод - он их все равно не увидит
- декомпилировать свои датники (зная нюансы Соурсера) я не собираюсь - дольше потом будешь ошибки отлавливать, проще сохранить бэкап проекта
И зачем мне тратить время на " прописывать все переопределенные типы функций и переменных в файлы Соурсера, с обозначением этих "типов" для правильного их понимания Соурсером." ? ;)
Даже если прописывать, в виде чего я должен прописывать 15000 в Mdl_ApplyOverlayMdsTimed(self,"HUMANS_SKELETON_FLY .MDS",15000)? Плодить переменные в скриптах?
Мне и так хватает приключений в попытках обхода глюков движка и его упрямости. :D
Из последних хитов - попытка обойти отминусовку навыка владения при превращении обратно из монстра если в инвентаре есть оружие с бонусом к владению. Если экипировано - проблем нет, а если просто в инвентаре - идет "- бонус" :D
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.236
Благодарности
2.575
Баллы
455
Dimmell,
Я два года назад описывал решение этого бага с превращением еще на пираналкабе, сейчас тема на вог.де
 
Сверху Снизу