1
Skrypty / NPC nie zmienia rutyny
« dnia: 2014-12-06, 17:38 »
Tak właśnie sądziłem, spróbuję i dam znać ;)
Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.
// ************************************************************
// Hallo
// ************************************************************
INSTANCE DIA_antybieber_bieber (C_INFO)
{
npc = antybieber;
nr = 2;
condition = DIA_antybieber_bieber_Condition;
information = DIA_antybieber_bieber_Info;
permanent = FALSE;
description = "Jestem gotowy!";
};
FUNC INT DIA_antybieber_bieber_Condition()
{
if (Npc_KnowsInfo (hero, DIA_antybieber_witam))
{
return TRUE;
};
};
FUNC VOID DIA_antybieber_bieber_Info()
{
AI_Output (other ,self, "DIA_antybieber_bieber_15_00"); //Jestem gotów!
AI_Output (self ,other, "DIA_antybieber_bieber_14_01"); //No to do roboty! Biegnij za mną! Pobiegli gdzieś w las!
B_GivePlayerXP (XP_50);
Wld_InsertNpc (BIEBER, "BIGFARM");
Wld_InsertNpc (BIEBER2, "BIGFARM");
Wld_InsertNpc (BIEBER1, "BIGFARM");
B_LogEntry (TOPIC_antybieber,"Ruszamy zapolować na Biebera! Oby nie był zbyt mocny...");
AI_StopProcessInfos (self);
Npc_ExchangeRoutine (self, "polowanie");
instance ANTYBIEBER (Npc_Default)
{
// ------ NSC ------
name = "AntyBieber";
guild = GIL_SLD;
id = 50052;
voice = 8;
flags = 0;
npctype = NPCTYPE_MAIN;
// ------ Attribute ------
B_SetAttributesToChapter (self, 8);
// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_MASTER;
aivar[AIV_NoFightParker] = TRUE;
// ------ Equippte Waffen ------
EquipItem (self, Lowca_Sword_06);
EquipItem (self, ITRW_BOW_H_04);
// ------ Inventory ------
B_CreateAmbientInv (self);
// ------ visuals ------
B_SetNpcVisual (self, MALE, "Hum_Head_Fighter", Face_P_AntyJB, BodyTex_P, ITAR_Ranger_Addon);
Mdl_SetModelFatness (self, 2.1);
Mdl_ApplyOverlayMds (self, "Humans_Militia.mds");
// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);
// ------ Kampf-Talente ------
B_SetFightSkills (self, 100);
// ------ TA anmelden ------
daily_routine = Rtn_preStart_50052;
};
FUNC VOID Rtn_preStart_50052 ()
{
TA_Smalltalk (06,00,22,00,"NW_LIGHTHOUSE_SMALLTALK");
TA_Smalltalk (22,00,06,00,"NW_LIGHTHOUSE_SMALLTALK");
};
FUNC VOID Rtn_polowanie_50052 ()
{
TA_Guide_Player (06,00,22,00,"NW_FOREST_PATH_80_1_MOVEMENT15");
TA_Guide_Player (22,00,06,00,"NW_FOREST_PATH_80_1_MOVEMENT15");
};
func int C_RosjaWhite (var C_NPC slf, var C_NPC oth)
{
var C_Item itm;
if (Npc_HasEquippedArmor (oth) == TRUE)
{
itm = Npc_GetEquippedArmor(oth);
if ((Hlp_IsItem(itm, ITAR_White) == TRUE)
{
return TRUE;
}
else
{
RETURN FALSE;
};
}
else if slf.guild == GIL_NOV
{
return TRUE;
}
else
{
return FALSE;
};
};
// -------- Spieler hat Banditen Rüstung an ------
if (C_RosjaWhite (self,other))
&& (self.guild == GIL_KDW)
&& (self.guild == GIL_STRF)
{
B_Attack (self,other,AR_GuildEnemy,0);
};
A mój skrypt przerobiony z C_PlayerIsFakeBandit? Ma taką samą nazwę jaka jest podana tutaj: C_RosjaWhite... I o co tu chodzi?