14.02.2020, 11:08:40
(14.02.2020, 10:58:10)Erwin napisał(a): A czy animacje np otwieranie skrzyni, modlitwa, wciśnięcie przycisku mają jakieś swoje nazwy i można skryptem zmusić bohatera żeby odegrał taką animację? Jeśli są, to gdzie znaleźć ich nazwy?
Конечно. \_WORK\DATA\ANIMS\MDS_MOBSI
все mds файлы, открываешь в блокноте. Пример это сундуки в храме Аданоса.
Там они запускают скрипт только в положении открытого S1
То есть, в названии функции должно быть окончание _S1
Пример, когда просыпаются каменные стражи в Предо
func void open_adanostempelchest_02_func_s1()
{
if(OPEN_ADANOSTEMPELCHEST_02_FUNC_OneTime == FALSE)
{
//new
var C_NPC StoneGuardianAdanos_09A;
var C_NPC StoneGuardianAdanos_09C;
var C_NPC StoneGuardianAdanos_09E;
StoneGuardianAdanos_09A = Hlp_GetNpc(Stoneguardian_TREASUREPITS_09A);
StoneGuardianAdanos_09C = Hlp_GetNpc(Stoneguardian_TREASUREPITS_09C);
StoneGuardianAdanos_09E = Hlp_GetNpc(Stoneguardian_TREASUREPITS_09E);
//end
/*b_awake_stoneguardian(Stoneguardian_TREASUREPITS_09A);
b_awake_stoneguardian(Stoneguardian_TREASUREPITS_09C);
b_awake_stoneguardian(Stoneguardian_TREASUREPITS_09E);
if((Npc_IsDead(Stoneguardian_TREASUREPITS_09A) == FALSE) || (Npc_IsDead(Stoneguardian_TREASUREPITS_09C) == FALSE) || (Npc_IsDead(Stoneguardian_TREASUREPITS_09E) == FALSE))*/
b_awake_stoneguardian(StoneGuardianAdanos_09A);
b_awake_stoneguardian(StoneGuardianAdanos_09C);
b_awake_stoneguardian(StoneGuardianAdanos_09E);
if((Npc_IsDead(StoneGuardianAdanos_09A) == FALSE) || (Npc_IsDead(StoneGuardianAdanos_09C) == FALSE) || (Npc_IsDead(StoneGuardianAdanos_09E) == FALSE))
{
Snd_Play("THRILLJINGLE_02");
};
if(Kapitel > 2)
{
var C_NPC StoneGuardianAdanos_09B;
var C_NPC StoneGuardianAdanos_09D;
var C_NPC StoneGuardianAdanos_09F;
StoneGuardianAdanos_09B = Hlp_GetNpc(Stoneguardian_TREASUREPITS_09B);
StoneGuardianAdanos_09D = Hlp_GetNpc(Stoneguardian_TREASUREPITS_09D);
StoneGuardianAdanos_09F = Hlp_GetNpc(Stoneguardian_TREASUREPITS_09F);
b_awake_stoneguardian(StoneGuardianAdanos_09B);
b_awake_stoneguardian(StoneGuardianAdanos_09D);
b_awake_stoneguardian(StoneGuardianAdanos_09F);
};
if((Npc_IsDead(StoneGuardianAdanos_09A) == FALSE) || (Npc_IsDead(StoneGuardianAdanos_09C) == FALSE) || (Npc_IsDead(StoneGuardianAdanos_09E) == FALSE))
{
Snd_Play("THRILLJINGLE_02");
}
else if((Npc_IsDead(StoneGuardianAdanos_09B) == FALSE) || (Npc_IsDead(StoneGuardianAdanos_09D) == FALSE) || (Npc_IsDead(StoneGuardianAdanos_09F) == FALSE))
{
if(Kapitel > 2)
{
Snd_Play("THRILLJINGLE_03");
};
};
OPEN_ADANOSTEMPELCHEST_02_FUNC_OneTime = TRUE;
};
};
А в сундуке/двери/кнопке и пр должно быть написано без S1
focusName=string:MOBNAME_CHEST
hitpoints=int:10
damage=int:0
moveable=bool:0
takeable=bool:0
focusOverride=bool:0
soundMaterial=enum:0
visualDestroyed=string:
owner=string:
ownerGuild=string:
isDestroyed=bool:0
stateNum=int:1
triggerTarget=string:ADW_ADANOS_KILLEDROOM_MASTER
useWithItem=string:
conditionFunc=string:
onStateFunc=string:OPEN_ADANOSTEMPELCHEST_02_FUNC
rewind=bool:0
locked=bool:-1
keyInstance=string:
pickLockStr=string:RLLRRLL
contains=string:ItWr_OneHStonePlate3_Addon,ItWr_HitPointStonePlate2_Addon,ITPO_MANA_03:3,ItMi_GoldNecklace,ItMi_GoldCandleHolder,ItMi_GoldPlate,