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

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

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

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

MaGoth

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

Вложения

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

Sumrak74

Участник форума
Регистрация
12 Авг 2010
Сообщения
93
Благодарности
0
Баллы
155
Как можно сделать чтобы при
change_atr[1] = ATR_STRENGTH;
change_value[1] = / 2;
делилось на 2, пишет ошибка синтаксиса...
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.176
Благодарности
6.158
Баллы
1.565
change_atr[1] = ATR_STRENGTH/2;
Если память не изменяет
 

Sumrak74

Участник форума
Регистрация
12 Авг 2010
Сообщения
93
Благодарности
0
Баллы
155
Ничего не происходит... Как была сила так и осталась...
 

Sumrak74

Участник форума
Регистрация
12 Авг 2010
Сообщения
93
Благодарности
0
Баллы
155
Извиняюсь, случайно отослало второй раз...
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
Sumrak74,
Как можно сделать чтобы при
change_atr[1] = ATR_STRENGTH;
change_value[1] = / 2;
делилось на 2, пишет ошибка синтаксиса...
А они разве используются?
Из тутора Вама:
var int change_atr[3]; //(не используется)
var int change_value[3]; //(не используется)
var func magic; //(не используется)
 

Myxomop

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

Sumrak74,
может быть так
change_value[1] /= 2;
 

Sumrak74

Участник форума
Регистрация
12 Авг 2010
Сообщения
93
Благодарности
0
Баллы
155
Sumrak74,
А они разве используются?

Dimmell,
В оригинальной игре много чего из скриптов не используется, но это не значит, что не работает.

С + или - всё прекрасно работает.
А вот с с / и * не работает,
change_value[1] /= 2; также не подошло.
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.236
Благодарности
2.575
Баллы
455
Sumrak74,
Попробуй так
change_value[1] -= (self.attribute[ATR_STRENGTH] / 2);
 

MaGoth

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

Bjorn++

Участник форума
Регистрация
28 Июн 2011
Сообщения
1.063
Благодарности
46
Баллы
235
Блин, киньте мне тутор уважаемого Вама в формате поддерживаемого Ворльдом (Word), *chm у меня нифига не открывается!=(
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Набираешь в гугле "chm to html" и пользуешься.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.802
Баллы
995
Bjorn++, Открываем свойства файла *.chm, и там жмем на кнопку "Разблокировать", для файла полученного с Интернета.
 

Vitalik

Участник форума
Регистрация
30 Май 2010
Сообщения
108
Благодарности
0
Баллы
165
Где можно изменить надпись? При передачи преметов или руды NPC вот такая надпись "50Получено руды: 50" или "1Отдан 1 предмет" В скриптах искал не нашол
 

xterm

Участник форума
Регистрация
25 Июн 2009
Сообщения
5.177
Благодарности
16
Баллы
400
Где можно изменить надпись? При передачи преметов или руды NPC вот такая надпись "50Получено руды: 50" или "1Отдан 1 предмет" В скриптах искал не нашол
Найди в проекте B_GiveInvItems() и дальше должно быть понятно
 

Vitalik

Участник форума
Регистрация
30 Май 2010
Сообщения
108
Благодарности
0
Баллы
165
где можно найти в скриптах слышимость звука шагов в готике, чтобы повысит их звук?
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.176
Благодарности
6.158
Баллы
1.565

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.236
Благодарности
2.575
Баллы
455
MEG@VOLT,
Пошто суровый такой :)

Vitalik,
Звуки и их громкость практически всего в sfx.dat
SfxInst.d

Небольшая вырезка оттуда
Шаги для бегущего человека по земле.

Код:
///////////////////////
// Untergrund-SFX_Human
///////////////////////

// -------RUN:

/* Earth */	
				INSTANCE Run_Earth		                (C_SFX_DEF) {file= "Step_Earth_01.wav";				vol = 20;	    	};
				INSTANCE Run_Earth_A1					(C_SFX_DEF) {file= "Step_Earth_02.wav";				vol = 20;			};
				INSTANCE Run_Earth_A2					(C_SFX_DEF) {file= "Step_Earth_03.wav";				vol = 20;			};
				INSTANCE Run_Earth_A3		            (C_SFX_DEF) {file= "Step_Earth_04.wav";				vol = 20;	    	};
				INSTANCE Run_Earth_A4					(C_SFX_DEF) {file= "Step_Earth_05.wav";				vol = 20;			};
				INSTANCE Run_Earth_A5					(C_SFX_DEF) {file= "Step_Earth_06.wav";				vol = 20;			};
				INSTANCE Run_Earth_A6					(C_SFX_DEF) {file= "Step_Earth_07.wav";				vol = 20;			};
				INSTANCE Run_Earth_A7					(C_SFX_DEF) {file= "Step_Earth_08.wav";				vol = 20;			};

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

Sumrak74

Участник форума
Регистрация
12 Авг 2010
Сообщения
93
Благодарности
0
Баллы
155
Может кто подскажет:
Нужно чтобы после прочтения письма у человека менялся распорядок дня
Пример:
Код:
if((Use_ItWr_Addon_LetterOrder_OneTime == FALSE))
	{
		Npc_ExchangeRoutine(vlk_666_blablabla,"MIS");
		MIS_MysteriousLetter = LOG_Running;
		Log_CreateTopic(TOPIC_MysteriousLetter,LOG_MISSION);
		Log_SetTopicStatus(TOPIC_MysteriousLetter,LOG_Running);
		B_LogEntry(TOPIC_MysteriousLetter,"....");
		Use_ItWr_Addon_LetterOrder_OneTime = TRUE;
	};
Npc_ExchangeRoutine(vlk_666_blablabla,"MIS"); - не работает.
 

xterm

Участник форума
Регистрация
25 Июн 2009
Сообщения
5.177
Благодарности
16
Баллы
400
Sumrak74
vlk_666_blablabla.d покажи
 

Sumrak74

Участник форума
Регистрация
12 Авг 2010
Сообщения
93
Благодарности
0
Баллы
155
Код:
instance vlk_666_blablabla(Npc_Default)
{
	name[0] = "blablabla";
	guild = GIL_NONE;
	id = 001;
	voice = 1;
	flags = 0;
	npcType = npctype_main;
	B_SetAttributesToChapter(self,5);
	fight_tactic = FAI_HUMAN_STRONG;
	EquipItem(self,ItMw_1h_Vlk_Sword);
	B_CreateAmbientInv(self);
	B_SetNpcVisual(self,MALE,"Hum_Head_FatBald",FACE_N_FALK,BodyTex_N,ITAR_ORD_03);
	Mdl_SetModelFatness(self,2);
	Mdl_ApplyOverlayMds(self,"Humans_Militia.mds");
	B_GiveNpcTalents(self);
	B_SetFightSkills(self,60);
	daily_routine = rtn_start_001;
};

func void rtn_start_001()
{
	TA_Read_Bookstand(8,0,12,0,"NW_ORDER_LAGER_01");
	TA_Sit_Throne(12,0,15,0,"NW_ORDER_LAGER_01");
	TA_Read_Bookstand(15,0,22,0,"NW_ORDER_LAGER_01");
	TA_Sleep(22,0,8,0,"NW_ORDER_LAGER_01");
};

func void rtn_MIS_001()
{
	TA_Read_Bookstand(8,0,12,0,"NW_ORDER_LAGER_01");
	TA_Sit_Throne(12,0,15,0,"NW_ORDER_LAGER_01");
	TA_Read_Bookstand(15,0,22,0,"NW_ORDER_LAGER_01");
	TA_Stand_WP(23,55,3,0,"NW_FARM2_TO_TAVERNCAVE1_100");
};
 
Сверху Снизу