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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

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

Не стесняюсь спросить....

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.911
Баллы
370
Кстати, а для Готики 1,2 есть терраген? Что то наподобии easygen от rtcw
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
Баги если где и будут, то только в твоих скриптах, возможно. Что до вопросов, то для этого форум и существует.. Поэтому, пишите письма как говорится..

Зы, На будущее, читаем доки и мануалы к программе до посинения (!)
Все это можно найти в каталоге установки Сурсера: "..\Program Files\GothicSourcer V3.14\GothicSourcer".

Добрый день. Вот баги версии 3.14. Ошибок и вниманий нет и с самого начала без способности "карманник" карманная кража срабатывает и не просто срабатывает, но и бесконечное число раз. Вопрос, что и где нарушено? (Это не мои скрипты, баг происходит после исправлений из-за требований версии 3.14) (теперь отлавливать баги версии 3.14 не известно сколько месяцев, что теперь думаю лучше к 1.9 вернутся, чем из-за 3.14 пачки новых багов иметь)

P.S. Я не против читать до посинения, но тогда работу вместо меня кто-то делайте (а мне зарплата будет идти).
 
Последнее редактирование:

cool_er

Участник форума
Регистрация
23 Мар 2015
Сообщения
118
Благодарности
42
Баллы
190
Добрый день. Вот баги версии 3.14. Ошибок и вниманий нет и с самого начала без способности "карманник" карманная кража срабатывает и не просто срабатывает, но и бесконечное число раз. Вопрос, что и где нарушено? (Это не мои скрипты, баг происходит после исправлений из-за требований версии 3.14) (теперь отлавливать баги версии 3.14 не известно сколько месяцев, что теперь думаю лучше к 1.9 вернутся, чем из-за 3.14 пачки новых багов иметь)

P.S. Я не против читать до посинения, но тогда работу вместо меня кто-то делайте (а мне зарплата будет идти).
1.Эти баги могли быть и до 3.14, просто они не показывались.
2.Ты правил - значит ты баг создал(и мы кстати не экстрасенсы чтобы знать что и как ты правил).
3.Та древняя версия сама создаёт баги, поэтому я не смогу тебе помочь ни с чем если что-то не будет работать.
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
1.Эти баги могли быть и до 3.14, просто они не показывались.
2.Ты правил - значит ты баг создал(и мы кстати не экстрасенсы чтобы знать что и как ты правил).
3.Та древняя версия сама создаёт баги, поэтому я не смогу тебе помочь ни с чем если что-то не будет работать.

1 и 2 пункт отлично сказано.
Только при 1.9 версии один баг был с магией холода, когда ГГ размораживался, он продолжал висеть в воздухе.
И снова всё упёрлось, чтобы перейти на версию 3.14 надо 5-6 скриптёров и 3-4 тестера, чтобы за месяцев 7 найти и исправить все баги создаваемые версией 3.14. А т.к. людей у меня с гулькин нос (На мод не хватает), то и версия 3.14 мною не может быть использована.
 

cool_er

Участник форума
Регистрация
23 Мар 2015
Сообщения
118
Благодарности
42
Баллы
190
1 и 2 пункт отлично сказано.
Только при 1.9 версии один баг был с магией холода, когда ГГ размораживался, он продолжал висеть в воздухе.
И снова всё упёрлось, чтобы перейти на версию 3.14 надо 5-6 скриптёров и 3-4 тестера, чтобы за месяцев 7 найти и исправить все баги создаваемые версией 3.14. А т.к. людей у меня с гулькин нос (На мод не хватает), то и версия 3.14 мною не может быть использована.
Это не 3.14 создал - это 1.9 не увидел баги.
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
Это не 3.14 создал - это 1.9 не увидел баги.

Более 100 исправлений вниманий было функция должна возвращать значение т.к. этого требовала версия 3.14. Вопрос: что за баги создавала версия 1.9? (просьба перечислить)
Баги создаваемые версией 3.14 уже вижу у себя.
 

cool_er

Участник форума
Регистрация
23 Мар 2015
Сообщения
118
Благодарности
42
Баллы
190
Более 100 исправлений вниманий было функция должна возвращать значение т.к. этого требовала версия 3.14. Вопрос: что за баги создавала версия 1.9? (просьба перечислить)
Баги создаваемые версией 3.14 уже вижу у себя.
Конкретных багов версия 1.9 не создаёт, она может рандомно что-то не так сделать, например у меня она делала не правильный размер PFX эффекта. И говорю в последний раз - ВЕРСИЯ 3.14 НЕ СОЗДАЁТ БАГОВ, ПРОСТО ЭТО ТЕ БАГИ КОТОРЫЕ 1.9 НЕ ВИДЕЛА!
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
AI\Magic\Spells\Spell_ArmyofDarkness.d(24): Внимание:Функция должна возвращать значение
func int Spell_Logic_ArmyOfDarkness(var int manaInvested)
{
if(Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
{
return SPL_SENDCAST;
}
else if(self.attribute[ATR_MANA] >= SPL_Cost_ArmyOfDarkness)
{
return SPL_SENDCAST;
}
else
{
return SPL_SENDSTOP;
}; - тут требует внести изменение
};

Story\B_Story\B_TeachThiefTalant.d(41): Внимание:Функция должна возвращать значение

func int B_TeachThiefTalent(var C_Npc slf,var C_Npc oth,var int talent)
{
var int kosten;
kosten = B_GetLearnCostTalent(oth,talent,1);
if((talent != NPC_TALENT_PICKLOCK) && (talent != NPC_TALENT_SNEAK) && (talent != NPC_TALENT_ACROBAT) && (talent != NPC_TALENT_PICKPOCKET))
{
Print("*** ERROR: Wrong Parameter ***");
return FALSE;
};
if(oth.lp < kosten)
{
PrintScreen(PRINT_NotEnoughLearnPoints,-1,-1,FONT_ScreenSmall,2);
B_Say(slf,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
oth.lp = oth.lp - kosten;
if(talent == NPC_TALENT_PICKLOCK)
{
Npc_SetTalentSkill(oth,NPC_TALENT_PICKLOCK,1);
PrintScreen(PRINT_LearnPicklock,-1,-1,FONT_Screen,2);
return TRUE;
};
if(talent == NPC_TALENT_SNEAK)
{
Npc_SetTalentSkill(oth,NPC_TALENT_SNEAK,1);
PrintScreen(PRINT_LearnSneak,-1,-1,FONT_Screen,2);
return TRUE;
};
if(talent == NPC_TALENT_ACROBAT)
{
Npc_SetTalentSkill(oth,NPC_TALENT_ACROBAT,1);
PrintScreen(PRINT_LearnAcrobat,-1,-1,FONT_Screen,2);
return TRUE;
};
if(talent == NPC_TALENT_PICKPOCKET)
{
Npc_SetTalentSkill(oth,NPC_TALENT_PICKPOCKET,1);
PrintScreen(PRINT_LearnPickpocket,-1,-1,FONT_Screen,2);
return TRUE;
}; - тут требует внести изменение
};

И после всех исправлений "Внимание:Функция должна возвращать значение" карманная кража работает бесконечно т.к. компилятору подавай исправление, а оно приводит к тому, что проверочные условия теперь игнорируются. - это не ошибка компилятора, это я пишу вместо него.

Просто Return это не возврат значения, значит ставь Return и значение - а это и есть ошибка. (хотя даже Return уже будет ошибкой ставить)

Жду ответа от MaGoth т.к. или бросай мод делать из-за 3.14 или на 1.9 делай (на которую все фукают). Как отделить ложные срабатывания компилятора от настоящих в версии 3.14?
 
Последнее редактирование:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
Добрый день. Вот баги версии 3.14. Ошибок и вниманий нет и с самого начала без способности "карманник" карманная кража срабатывает и не просто срабатывает, но и бесконечное число раз. Вопрос, что и где нарушено?
Что-то у тебя в скриптах не так, надо смотреть..

(Это не мои скрипты, баг происходит после исправлений из-за требований версии 3.14) (теперь отлавливать баги версии 3.14 не известно сколько месяцев, что теперь думаю лучше к 1.9 вернутся, чем из-за 3.14 пачки новых багов иметь)
Отличный ход.. вперед к свершениям.

1 и 2 пункт отлично сказано.
А что там не так, тебе вроде как правильно ответили:
1. Эти баги могли быть и до 3.14, просто они не показывались.
2. Это не 3.14 создал - это 1.9 не увидел баги.

Более 100 исправлений вниманий было функция должна возвращать значение т.к. этого требовала версия 3.14. Вопрос: что за баги создавала версия 1.9? (просьба перечислить)
Баги создаваемые версией 3.14 уже вижу у себя.
Ты доку лога разработки версий Сурсера читал, или еще нет ?! Ну так почитай там что-то написано. См. ее в корне установки программы.

Только при 1.9 версии один баг был с магией холода, когда ГГ размораживался, он продолжал висеть в воздухе.
И снова всё упёрлось, чтобы перейти на версию 3.14 надо 5-6 скриптёров и 3-4 тестера, чтобы за месяцев 7 найти и исправить все баги создаваемые версией 3.14. А т.к. людей у меня с гулькин нос (На мод не хватает), то и версия 3.14 мною не может быть использована.
Все упирается в твое нежелание читать инструкции и править ошибки в своих скриптах. + слушать советы. которые тебе говорят/пишут..

AI\Magic\Spells\Spell_ArmyofDarkness.d(24): Внимание:Функция должна возвращать значение
Это что? В оригинале эта функция у меня выглядит также:
Код:
func int Spell_Logic_ArmyOfDarkness(var int manaInvested)
{
    if(Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
    {
        return SPL_SENDCAST;
    }
    else if(self.attribute[ATR_MANA] >= SPL_Cost_ArmyOfDarkness)
    {
        return SPL_SENDCAST;
    }
    else
    {
        return SPL_SENDSTOP;
    };
};
И никаких дополнительных исправлений она не требует.
Поэтому вопрос, ты в АИ: Магии, Нпс/Монстров и прочем, что связано с интеллектом движка, ковырялся своими ручонками ?!
Если да, то смотри свои изменения и исправляй эти ошибки в соответствии с твоими изменениями скриптов.

Story\B_Story\B_TeachThiefTalant.d(41):
Это откуда? в оригинале такого нет. Поэтому что-либо сказать тут сложно..
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
Что-то у тебя в скриптах не так, надо смотреть..


Отличный ход.. вперед к свершениям.


А что там не так, тебе вроде как правильно ответили:
1. Эти баги могли быть и до 3.14, просто они не показывались.
2. Это не 3.14 создал - это 1.9 не увидел баги.


Ты доку лога разработки версий Сурсера читал, или еще нет ?! Ну так почитай там что-то написано. См. ее в корне установки программы.


Все упирается в твое нежелание читать инструкции и править ошибки в своих скриптах. + слушать советы. которые тебе говорят/пишут..


Это что? В оригинале эта функция у меня выглядит также:
Код:
func int Spell_Logic_ArmyOfDarkness(var int manaInvested)
{
    if(Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
    {
        return SPL_SENDCAST;
    }
    else if(self.attribute[ATR_MANA] >= SPL_Cost_ArmyOfDarkness)
    {
        return SPL_SENDCAST;
    }
    else
    {
        return SPL_SENDSTOP;
    };
};
И никаких дополнительных исправлений она не требует.
Поэтому вопрос, ты в АИ: Магии, Нпс/Монстров и прочем, что связано с интеллектом движка, ковырялся своими ручонками ?!
Если да, то смотри свои изменения и исправляй эти ошибки в соответствии с твоими изменениями скриптов.


Это откуда? в оригинале такого нет. Поэтому что-либо сказать тут сложно..

До этого изменения в заводских скриптах не вносилось, что касается интеллекта движка.

Вчера изменения делались в связи с требованиями движка: Внимание:Функция должна возвращать значение

А раз "Функция должна возвращать значение" может быть ложным срабатыванием, версией 3.14 как пользоваться?
в описаниях ошибок, ошибка в виде "Ошибка: Функция должна возвращать значение" - не описана
"Внимание:Функция должна возвращать значение" - не описана

А это оригинал Акеллы из чистой версии Готики 2 Ночь Ворона взято и там есть Story\B_Story\B_TeachThiefTalant.d (Специально код Акеллы лежит в архиве, чтобы можно было вашей 3.14 распаковать или со своей сверьте пожалуйста версией)

В коде Акеллы при компиляции версией 3.14 имеем:
Story\B_Story\B_TeachThiefTalant.d(41):
 

Вложения

  • SolЧистая версия.rar
    21,1 MB · Просмотры: 70
  • errors_ru.doc
    31,5 KB · Просмотры: 124
Последнее редактирование:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
До этого изменения в заводских скриптах не вносилось, что касается интеллекта движка.
Нет тут дело в другом..

Вчера изменения делались в связи с требованиями движка: Внимание:Функция должна возвращать значение. А раз "Функция должна возвращать значение" может быть ложным срабатыванием, версией 3.14 как пользоваться?
Ложные ретурны Сурсер не выдает, но ты мог ошибится и оставить где-либо в скриптах инт у функции а не войд как должно быть.

А это оригинал Акеллы из чистой версии Готики 2 Ночь Ворона взято и там есть Story\B_Story\B_TeachThiefTalant.d (Специально код Акеллы лежит в архиве, чтобы можно было вашей 3.14 распаковать или со своей сверьте пожалуйста версией)
Оригинал Акеллы он у меня и так есть с правлеными скриптами, поэтому вопрос к тебе, а как ты переносил свои изменения в скрипты оригинала игры ?!
Скорее всего у тебя проблема в этом, ты на реализовывал всякого разного в 1.9, и решил всю эту кучу перекинуть в 3.14, а тут так не прокатит.
Здесь нужно каждый квест поштучно переносить и проверить в работе в игре. Особенно те, которые лезут своими частями в конфиги скриптов и АИ..
Сейчас проверю твой файл..

Зы, Эмм.. Что это ?!
SolЧистая версия
 
Последнее редактирование:

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
SolЧистая версия это GOTHIC.DAT и Ou.bin Акеллы + распакованный вариант Акеллы версией 3.14. Надо было по другому назвать?
Лицензия Готики 2 куплена у Моисеева И.Ю. 10.01.2005 3 CD
Лицензия Готики 2 Ночь Ворона куплена у ИП Людмурский Н.Ю. 15.04.2005 2CD
 
Последнее редактирование:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
В коде Акеллы при компиляции версией 3.14 имеем:
Повторяю вопрос, что это:
SolЧистая версия
Это у тебя так в Сурсере проект прописан ?!

1. Какой дурак тебя надоумил именовать файлы проектов Сурсера Кириллицей? Они должны быть только на Латинице, без использования спец. символов нац алфавитов (!) Это правило для Готики ни кто еще не отменял.
2. По твоему проекту, у меня компиляция выдала следующее:
05-08-2015 15-42-25.png
Поэтому вопрос, а ты ошибки в нем вообще правил?
 

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
Повторяю вопрос, что это:
SolЧистая версия
Это у тебя так в Сурсере проект прописан ?!

1. Какой дурак тебя надоумил именовать файлы проектов Сурсера Кириллицей? Они должны быть только на Латинице, без использования спец. символов нац алфавитов (!) Это правило для Готики ни кто еще не отменял.
2. По твоему проекту, у меня компиляция выдала следующее:
Посмотреть вложение 38693
Поэтому вопрос, а ты ошибки в нем вообще правил?

Это версия с которой создавался изначально мод. Ради нахождения 2 коробок с дисками (лицензиями) и нахождения чеков пришлось бардак устроить, минут 30 теперь его убирать.

Тогда не возможно создавать что-то т.к. теперь сначала возьми и исправь все ошибки в оригинале игры. После проверь и правь ещё ошибки. После по новой пиши мод, с нуля. Года 2 лишних у меня нет в запасе.

Т.к. все ошибки из оригинальной версии после исправления выдают ошибку в краже, она с самого начала идёт + квест с Кассией срабатывает сразу с начала игры, хотя кубки не найдены. это при пути Sol3 - просто проект 3 лежит в папке на логическом диске F:\0\2\Gothic Projects\Sol3\PrjGOTHIC

Тут не понятно или лицензия Акеллы брак полный или версия 3.14 брак. Немецкую лицензию у меня нет возможности купить ни в 2005, ни сейчас (особенно когда Евро стоит очень много)

Один вариант GOG-версия, но там русского нет языка. Даже субтитров нет (Аудио и текст: Deutsch, English), чтобы русский язык добавить не один месяц надо т.к. может GOG-версия будет без ошибок Акеллы.
 
Последнее редактирование:

MaGoth

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

Тогда не возможно создавать что-то т.к. теперь сначала возьми и исправь все ошибки в оригинале игры. После проверь и правь ещё ошибки. После по новой пиши мод, с нуля. Года 2 лишних у меня нет в запасе.
Оригинально.. У тебя с глазами все хорошо?!
Перечитай еще раз, что выше написано..

Зы, Какая у тебя Ось и куда установлен Сурсер ?!
 

cool_er

Участник форума
Регистрация
23 Мар 2015
Сообщения
118
Благодарности
42
Баллы
190
Это версия с которой создавался изначально мод. Ради нахождения 2 коробок с дисками (лицензиями) и нахождения чеков пришлось бардак устроить, минут 30 теперь его убирать.

Тогда не возможно создавать что-то т.к. теперь сначала возьми и исправь все ошибки в оригинале игры. После проверь и правь ещё ошибки. После по новой пиши мод, с нуля. Года 2 лишних у меня нет в запасе.

Т.к. все ошибки из оригинальной версии после исправления выдают ошибку в краже, она с самого начала идёт + квест с Кассией срабатывает сразу с начала игры, хотя кубки не найдены. это при пути Sol3 - просто проект 3 лежит в папке на логическом диске F:\0\2\Gothic Projects\Sol3\PrjGOTHIC

Тут не понятно или лицензия Акеллы брак полный или версия 3.14 брак. Немецкую лицензию у меня нет возможности купить ни в 2005, ни сейчас (особенно когда Евро стоит очень много)

Один вариант GOG-версия, но там русского нет языка. Даже субтитров нет (Аудио и текст: Deutsch, English), чтобы русский язык добавить не один месяц надо т.к. может GOG-версия будет без ошибок Акеллы.
А что вообще сложного в этих ошибках?! ЛЮБОЙ начинающий программист исправил-бы их не глядя. Если функция возвращает True при определённых обстоятельствах, а при любых других False, то в конце надо возвращать False. Обычная логика! Прочитайте хотя-бы книгу по программированию для начинающих, перед тем как браться за моддинг.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
Т.к. все ошибки из оригинальной версии после исправления выдают ошибку в краже, она с самого начала идёт + квест с Кассией срабатывает сразу с начала игры, хотя кубки не найдены. это при пути Sol3 - просто проект 3 лежит в папке на логическом диске F:\0\2\Gothic Projects\Sol3\PrjGOTHIC
Вопрос, почему в моей в версии скриптов ничего не выдают? ::)

Тут не понятно или лицензия Акеллы брак полный или версия 3.14 брак. Немецкую лицензию у меня нет возможности купить ни в 2005, ни сейчас (особенно когда Евро стоит очень много)
В Акелле есть несколько ошибок, которые надо исправить и все.
Если не хочешь исправлять берешь декомпиленные и исправленные скрипты акеллы (ссылку смотри выше).
Сурсер должен быть установлен в нормальный каталог без кирилицы и прочей ереси.
Проекты также НЕ должны содержать в своих файлах именований на кириллице.
Если Винда выше ХР, версией, то Сурсер лучше установить в отдельный каталог, в корень диска, например:
"C:\GothicTools\GothicSourcer V3.14\"
Его установку и запуск осуществлять с правами Админа, после установки, открыть свойства каталога "GothicSourcer V3.14", и снять галку с только для чтения и всего прочего что там будет установлено, с применением для всех каталогов и файлов уровнями ниже. Нажать применить и Ок.
И только после этого можно работать с программой, не опасаясь непредвиденных косяков и багов.

При этом надо посмотреть свойства файла самого инсталлятора Сурсера, и если при скачивании ОС поставила блокировку на файл, что-то типа: "Файл получен из интернета" или как-то так, то перед установкой программы надо разблочить его (!) жмякнуть кнопы в свойстве файла инсталлятора: разблокировать/применить/Ок.
Эта зараза также может влиять на правильность работы программы.

Один вариант GOG-версия, но там русского нет языка. Даже субтитров нет (Аудио и текст: Deutsch, English), чтобы русский язык добавить не один месяц надо т.к. может GOG-версия будет без ошибок Акеллы.
Чтобы добавить русский в это версию надо потратить пару тройку дней, но погоды это не сделает там своих багов хватает. Не говоря уже о тех что сами ГоГовцы добавили... :)


ЛЮБОЙ начинающий программист исправил-бы их не глядя.
Ну о Вниманиях я бы так не говорил.. над некоторыми можно и по 3 дня голову ломать и не поймешь как оно в итоге должно быть и как правильно.. :D
 
Последнее редактирование:

Лебедев

Участник форума
Регистрация
3 Сен 2005
Сообщения
595
Благодарности
77
Баллы
225
func int B_TeachThiefTalent(var C_Npc slf,var C_Npc oth,var int talent)
{
var int kosten;
kosten = B_GetLearnCostTalent(oth,talent,1);
if((talent != NPC_TALENT_PICKLOCK) && (talent != NPC_TALENT_SNEAK) && (talent != NPC_TALENT_ACROBAT) && (talent != NPC_TALENT_PICKPOCKET))
{
Print("*** ERROR: Wrong Parameter ***");
return FALSE;
};
if(oth.lp < kosten)
{
PrintScreen(PRINT_NotEnoughLearnPoints,-1,-1,FONT_ScreenSmall,2);
B_Say(slf,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
oth.lp = oth.lp - kosten;
if(talent == NPC_TALENT_PICKLOCK)
{
Npc_SetTalentSkill(oth,NPC_TALENT_PICKLOCK,1);
PrintScreen(PRINT_LearnPicklock,-1,-1,FONT_Screen,2);
return TRUE;
};
if(talent == NPC_TALENT_SNEAK)
{
Npc_SetTalentSkill(oth,NPC_TALENT_SNEAK,1);
PrintScreen(PRINT_LearnSneak,-1,-1,FONT_Screen,2);
return TRUE;
};
if(talent == NPC_TALENT_ACROBAT)
{
Npc_SetTalentSkill(oth,NPC_TALENT_ACROBAT,1);
PrintScreen(PRINT_LearnAcrobat,-1,-1,FONT_Screen,2);
return TRUE;
};
if(talent == NPC_TALENT_PICKPOCKET)
{
Npc_SetTalentSkill(oth,NPC_TALENT_PICKPOCKET,1);
PrintScreen(PRINT_LearnPickpocket,-1,-1,FONT_Screen,2);
return TRUE;
};
};

Т.к. любое значение поставь в выделенное место будет ошибка в NPC_TALENT_PICKPOCKET.

Чтобы все замечания убрать Внимание:Функция должна возвращать значение и Ошибка:Функция должна возвращать значение один вариант переписать всю игру, чтобы избавить её от return TRUE и return FALSE. Заменив их на значения какой-либо переменной т.е. на 1 и 0. Вот тогда возврат значений прекратит влиять на игру, но для переписи всей игры надо месяцев 3-4, чисто игру переписать.

Это чтобы избавиться от вниманий и ошибок (всех) в версии 3.14. А переходную версию в 2017 не раньше тогда ожидать т.к. версия 3.14 добавила работы.
 

cool_er

Участник форума
Регистрация
23 Мар 2015
Сообщения
118
Благодарности
42
Баллы
190
func int B_TeachThiefTalent(var C_Npc slf,var C_Npc oth,var int talent)
{
var int kosten;
kosten = B_GetLearnCostTalent(oth,talent,1);
if((talent != NPC_TALENT_PICKLOCK) && (talent != NPC_TALENT_SNEAK) && (talent != NPC_TALENT_ACROBAT) && (talent != NPC_TALENT_PICKPOCKET))
{
Print("*** ERROR: Wrong Parameter ***");
return FALSE;
};
if(oth.lp < kosten)
{
PrintScreen(PRINT_NotEnoughLearnPoints,-1,-1,FONT_ScreenSmall,2);
B_Say(slf,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
oth.lp = oth.lp - kosten;
if(talent == NPC_TALENT_PICKLOCK)
{
Npc_SetTalentSkill(oth,NPC_TALENT_PICKLOCK,1);
PrintScreen(PRINT_LearnPicklock,-1,-1,FONT_Screen,2);
return TRUE;
};
if(talent == NPC_TALENT_SNEAK)
{
Npc_SetTalentSkill(oth,NPC_TALENT_SNEAK,1);
PrintScreen(PRINT_LearnSneak,-1,-1,FONT_Screen,2);
return TRUE;
};
if(talent == NPC_TALENT_ACROBAT)
{
Npc_SetTalentSkill(oth,NPC_TALENT_ACROBAT,1);
PrintScreen(PRINT_LearnAcrobat,-1,-1,FONT_Screen,2);
return TRUE;
};
if(talent == NPC_TALENT_PICKPOCKET)
{
Npc_SetTalentSkill(oth,NPC_TALENT_PICKPOCKET,1);
PrintScreen(PRINT_LearnPickpocket,-1,-1,FONT_Screen,2);
return TRUE;
};
};

Т.к. любое значение поставь в выделенное место будет ошибка в NPC_TALENT_PICKPOCKET.

Чтобы все замечания убрать Внимание:Функция должна возвращать значение и Ошибка:Функция должна возвращать значение один вариант переписать всю игру, чтобы избавить её от return TRUE и return FALSE. Заменив их на значения какой-либо переменной т.е. на 1 и 0. Вот тогда возврат значений прекратит влиять на игру, но для переписи всей игры надо месяцев 3-4, чисто игру переписать.

Это чтобы избавиться от вниманий и ошибок (всех) в версии 3.14. А переходную версию в 2017 не раньше тогда ожидать т.к. версия 3.14 добавила работы.
Да чем тебе 3.14 виновата?! Она слишком много ошибок знает что ли?! И нахрена переписывать всю игру заменяя True и False на 1 и 0(Ты не слышал о системе булеана?)?! Что за мазохизм?! А насчет кода, то сделай так:
Код:
func int B_TeachThiefTalent(var C_Npc slf,var C_Npc oth,var int talent)
{
    var int kosten;
    kosten = B_GetLearnCostTalent(oth,talent,1);
    if((talent != NPC_TALENT_PICKLOCK) && (talent != NPC_TALENT_SNEAK) && (talent != NPC_TALENT_ACROBAT) && (talent != NPC_TALENT_PICKPOCKET))
    {
        Print("*** ERROR: Wrong Parameter ***");
        return FALSE;
    };
    if(oth.lp < kosten)
    {
        PrintScreen(PRINT_NotEnoughLearnPoints,-1,-1,FONT_ScreenSmall,2);
        B_Say(slf,oth,"$NOLEARNNOPOINTS");
        return FALSE;
    };
    oth.lp = oth.lp - kosten;
    if(talent == NPC_TALENT_PICKLOCK)
    {
        Npc_SetTalentSkill(oth,NPC_TALENT_PICKLOCK,1);
        PrintScreen(PRINT_LearnPicklock,-1,-1,FONT_Screen,2);
        return TRUE;
    };
    if(talent == NPC_TALENT_SNEAK)
    {
        Npc_SetTalentSkill(oth,NPC_TALENT_SNEAK,1);
        PrintScreen(PRINT_LearnSneak,-1,-1,FONT_Screen,2);
        return TRUE;
    };
    if(talent == NPC_TALENT_ACROBAT)
    {
        Npc_SetTalentSkill(oth,NPC_TALENT_ACROBAT,1);
        PrintScreen(PRINT_LearnAcrobat,-1,-1,FONT_Screen,2);
        return TRUE;
    };
    if(talent == NPC_TALENT_PICKPOCKET)
    {
        Npc_SetTalentSkill(oth,NPC_TALENT_PICKPOCKET,1);
        PrintScreen(PRINT_LearnPickpocket,-1,-1,FONT_Screen,2);
        return TRUE;
    };
    return FALSE;
};
 
Последнее редактирование:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
Т.к. любое значение поставь в выделенное место будет ошибка в NPC_TALENT_PICKPOCKET.
Да ее...
Ты русский язык вообще понимаешь?
Ты сделал что я написал выше постом, этот пример скрипта из какого проекта?
Если он из того-же с кириллицей, то сноси нахрен всю эту шляпу, удаляй весь каталог проекта вместе с Сурсером. И делай то что тебе написали постом выше по-пунктно..
Потому что при составлении проекта Сурсером с использованием кириллицы в путях и именованиях файлов, какие будут глюки в проекте и у самого Сурсера одному богу известно..

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


А насчет кода, то сделай так:
;
забыл.. :)
 
Сверху Снизу