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

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

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

Вопросы по скриптингу

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.816
Баллы
995
  • Первое сообщение
  • #1
Прежде чем задавать вопросы, ознакомьтесь с документацией..
1) Читать онлайн
2) Архив с офлайн-версией(chm) во вложении
 

Вложения

  • Vam_tutor.rar
    171,6 KB · Просмотры: 578
Последнее редактирование модератором:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
а я вот не уверен. найди эту функцию в ExternalsFunc.d
 

BOPOH32

Участник форума
Регистрация
7 Июл 2014
Сообщения
246
Благодарности
56
Баллы
200
да все галочки стоят, и всё заменено как магот в инструкции писал
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
я не про галочки пока спрашиваю. я говорю руками проверить наличие строки функции в ExternalFunc.d. если ее там нету, то от галочек нет никакого смысла
 

BOPOH32

Участник форума
Регистрация
7 Июл 2014
Сообщения
246
Благодарности
56
Баллы
200
я не про галочки пока спрашиваю. я говорю руками проверить наличие строки функции в ExternalFunc.d. если ее там нету, то от галочек нет никакого смысла
разобрался, после скобок каких то пробел поставил, что бы точка с запятой подвинулись и скомпиллировался!!! это жесть))
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
каких скобок, ты о чем?
 

BOPOH32

Участник форума
Регистрация
7 Июл 2014
Сообщения
246
Благодарности
56
Баллы
200
в самом скрипте которые }; -было так } ; -сделал так, свё скомпилировалось и линковка пошла без ошибок! а вот собрал вдф том и вообще всё не правильно работает! ксардас диалог на выбор сложности не дает, полосы жизни/маны/выносливости не работают, и только инвентарь работает! где то я накосячил
а вот этот скрипт экстерналфунк
void AI_NoticePrint(int,int,string);
void AI_NoticePrintMany(int,int,string);
void AI_Print(string);
void AI_PrintClr(string,int,int,int);
instance Hlp_GetItem(int);
instance Hlp_GetSlotItem(instance,string);
instance GetFocusNpc(instance);
string GetValue_str(string,int);
string SetValue_Str(string,string,int);
string Wld_ChangeLevel(string,string);
string GetWalkModeString(instance);
string Npc_GetFocusVobName(instance);
float SetValue_flt(string,float,int);
float GetValue_flt(string,int);
void Mdl_SetAniFpsAll(instance,float);
void Mdl_SetAniFps(instance,string,float);
void Mdl_SetHeroAniFps(instance,string,float);
void Npc_EquipItem(instance,instance);
void Npc_UnEquipItem(instance,instance);
void Ext_PutInSlot(instance,string,int);
void Ext_RemoveFromSlot(instance,string);
void ActivateZSSlot(instance,string);
void Wld_PlayEffectVob(string,string,string,int,int,int,int);
void Npc_SetAsPlayer(instance);
int Npc_IsAnimationActive(instance,string);
void Npc_Replace(instance,int);
void Npc_PutInSlot2(instance,instance,string);
void Npc_SetBloodTexture(instance,string);
void Npc_SetBloodEmiter(instance,string);
void Npc_SetBloodFlow(instance,int);
void Npc_SetBloodEnabled(instance,int);
void Npc_SetBloodDistance(instance,int);
void Npc_SetBloodAmount(instance,int);
void Npc_SetTurnSpeed(instance,int);
void Npc_SetFallDownDamage(instance,int);
void Npc_SetFallDownHeight(instance,int);
void CS_SetFakePlayer(instance,instance);
void CS_EnableNpc(instance);
void CS_SetCamTargetMode(instance,string);
void CS_DisableNpc(instance);
void CS_PrintDialog(int,string,string,int,int);
void Itm_UpdateEffect(instance);
void Mdl_UpdateVisual(instance);
void Mdl_ShowVisual(instance,int);
void Mdl_ClearSlot(instance,string);
void Mob_GetNum(string,int);
void Mob_SetLocked(string,int);
void Mob_SetKeyInstance(string,string);
void Mob_SetPickLockStr(string,string);
void Mob_RemoveItem(string,int,int);
void Mob_ApplyDamage(int);
void Mob_ScrambleContainers();
void Mob_SetUnLocked();
void Mob_SetUnLocked_Rune();
void Mob_SetBrakeChest();
int Mob_GetBreakNum();
void OpenCraftHud(int);
void CraftHudProcess();
void CloseCraftHud();
void OpenSteal();
void Prs_SetStackPos(int);
void OpenPocket(instance,int);
void Vob_SetVisual(instance,instance,string);
int Prs_GetStackPos();
void Prs_InitStack();
int Mdl_HasOverlayMds(instance,string);
int KeyPressed(int);
int KeyClick(int);
int PrintText(string,int,int,string,int,int);
int SetValue_int(int,string,int,int);
int GetValue_int(int,string,int);
int Npc_ModifyBodyState(instance,int,int);
int Npc_HasBodyStateModifier(instance,int);
int AI_CastSpell(instance,int);
int Wld_GetTimeHour();
int Wld_GetTimeMin();
int Itm_TwoHanded(instance);
int Itm_OneHanded(instance);
int Hlp_GetHeroStatus();
int Hlp_HasInSlot(instance,string);
int Log_GetTopicStatus(string);
int FilterArmor(int);
int GetTimerTick();
int NpcType(instance,string);
int StrCmp(string,string);
int Npc_ValidFocusNpc(instance);
float FAssign(float,float);
float FAdd(float,float);
float FSub(float,float);
float FMul(float,float);
float FDiv(float,float);
float FAbs(float);
float FCmp(float,float);
void Inv_CreateInHidden(instance,int,int);
void Inv_Put2Hidden(instance,instance);
void Inv_Trans2Hidden(instance,int);
void Inv_Trans2Live(instance,int);
int Inv_HasInHidden(instance,int);
instance Inv_GetHiddenLink(instance,int);
void Inv_EquipHidden(instance,instance,string);
void Inv_UnEquipHidden(instance,instance,string);
void Inv_SetVisual(instance,instance,string);
void Hlp_MessageBox(string,string,int);
string Hlp_GetObjectName(instance);
int Hlp_InventoryIsOpen();
int Wld_DetectNpc2(instance,int);
int Mdl_SetNodeVis(instance,string,string);
int Menu_ReadInt(string,string);
void Menu_WriteInt(string,string,int);
void AI_GotoVobPos(instance,instance);
int Npc_PocketHasItems(instance,int);
string Str_PickWord(string,int,string,string);
void PatchSecuredMem(int,int,int);




то есть теперь вопрос как правильно собрать и запустить это всё в игре
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
ты мне вот что еще скажи.. нафига там после if сразу точка с запятой еще до начала блока..
 

BOPOH32

Участник форума
Регистрация
7 Июл 2014
Сообщения
246
Благодарности
56
Баллы
200
да там их и нет, это я где то в конце строки подвинул! я же думаю от пробела таких проблем с игрой быть не может же
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
да там их и нет
вырви глаз называется.. смени шрифты
22.png
 

BOPOH32

Участник форума
Регистрация
7 Июл 2014
Сообщения
246
Благодарности
56
Баллы
200

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
Она тут нафиг не нужна.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
Ты синтаксис то почитай немного.. после условного оператора if точка с запятой ставится только после завершения всего блока. Нигде больше их быть не должно
 

BOPOH32

Участник форума
Регистрация
7 Июл 2014
Сообщения
246
Благодарности
56
Баллы
200
понял! а теперь такой момент, собрал вдф том, назвал Ret2Scripts, ну как надо в общем, начал новую игру что бы посмотреть а там вообще всё не правильно работает! ксардас диалог на выбор сложности не дает, полосы жизни/маны/выносливости не работают
 

Wolverine

Участник форума
Регистрация
22 Дек 2016
Сообщения
11
Благодарности
0
Баллы
155
Нужно убрать дисбаланс прокачки. В первой и второй готике все нормас: 10 очков опыта - 10 силы, 10 ловкости или маны. В Ночи Ворона - за 10 очков только 5 силы, ловкости или маны! А напитки так вообще +3!!! Как убрать это недоразумение?
 

Lorddemonik

★★★★★
Редактор раздела
Регистрация
17 Дек 2011
Сообщения
1.119
Благодарности
584
Баллы
350
убрать дисбаланс прокачки. В первой и второй готике все нормас: 10 очков опыта - 10 силы, 10 ловкости или маны. В Ночи Ворона - за 10 очков только 5 силы, ловкости или маны! А напитки так вообще +3!!! Как убрать это недоразумение?

Надо редактировать скрипты игры. Есть хоть какие-то, познания?
Рекомендую почитать:
https://worldofplayers.ru/threads/37749/

Или попросить кого-то...
 
Последнее редактирование модератором:

Mommyiamnotacow

Участник форума
Регистрация
4 Ноя 2014
Сообщения
53
Благодарности
26
Баллы
190
Можете кидать в меня манго и бананы, поскольку в скриптинге хромаю как кузнеческий ишак на руси, но. Обьясните почему в скрипте отображения текста урона Возвращения 2.0 последнии 2 типа урона деляться на 10?
if((OthWeap.flags & (ITEM_2HD_AXE | ITEM_SWD | ITEM_2HD_SWD)) == (OthWeap.flags & (ITEM_2HD_AXE | ITEM_SWD | ITEM_2HD_SWD)))
{
tmpDamage = tmpDamage + oDamage.arrDamageEffective[0] + oDamage.arrDamageEffective[1] + oDamage.arrDamageEffective[2] + oDamage.arrDamageEffective[3] + oDamage.arrDamageEffective[4] + oDamage.arrDamageEffective[5] + (oDamage.arrDamageEffective[6] / 10) + (oDamage.arrDamageEffective[7] / 10);
}
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
663
Баллы
245
Класс C_Item.
Читал, что для численных свойств по умолчанию присваивается значение 0.

Однако для свойства flags по умолчанию присваивается значение 8388672.

Возможно по этому, в полях flags иногда ставится ноль, если флаги не используются.

Откуда взялось это число?

Понял, это не численное значение, а битовый массив :)
 
Последнее редактирование:

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.641
Баллы
625
ты для начала поясни как ты получил это число вообще
 
Сверху Снизу