Pierścień przyzywania 4002 8

O temacie

Autor chemik

Zaczęty 6.06.2010 roku

Wyświetleń 4002

Odpowiedzi 8

chemik

chemik

Użytkownicy
posty33
  • Użytkownicy
Zrobiłem pierścień przyzywania NPC-a Oto skrypt:
Cytuj
INSTANCE ItRi_Nekr_Ring2(C_Item)
{
   name             =   NAME_Ring;

   mainflag             =   ITEM_KAT_MAGIC;
   flags             =   ITEM_RING;

   value             =   0;

   visual             =   "ItRi_Prot_Fire_02.3ds";

   visual_skin          =   0;
   material             =   MAT_METAL;
   on_equip            =   Equip_ItRi_Nekr_Ring2;
   on_unequip         =   UnEquip_ItRi_Nekr_Ring2;

   wear            =    WEAR_EFFECT;
   effect            =   "ITEMGLIMMER";

   description         = "Pierścień Mrocznego Strażnika";
   
   TEXT[5]            = NAME_Value;
   COUNT[5]            = value;
      
};

   FUNC VOID Equip_ItRi_Nekr_Ring2 ()
   {
      Wld_SpawnNpcRange   (self,   NONE_7777_MS,   1,   500);
   };

   FUNC VOID UnEquip_ItRi_Nekr_Ring2 ()
   {
      
   };

A oto skrypt tego NPC-a:

instance NONE_7777_MS (Npc_Default)
{
// ------ NPC ------
name = "Mroczny Sługa";
guild = GIL_NONE;
id = 7777;
voice = 11;
flags   = NPC_FLAG_GHOST;
npctype = NPCTYPE_MAIN;

// ------ Atrybuty ------
attribute[ATR_STRENGTH] = 500;
attribute[ATR_DEXTERITY] = 500;
attribute[ATR_MANA_MAX] = 500;
attribute[ATR_MANA] = 500;
attribute[ATR_HITPOINTS_MAX] = 500;
attribute[ATR_HITPOINTS] = 500;

// ------ AIVAR ------
aivar[AIV_IGNORE_Murder] = TRUE;
aivar[AIV_IgnoresArmor] = TRUE;

// ------ Taktyka walki ------
fight_tactic = FAI_HUMAN_MASTER;

// ------ Ekwipunek ------
EquipItem (self, ItMw_Secrets_Weapon);

// ------ Wygląd ------
B_SetNpcVisual (self, MALE, "Hum_Head_Psionic", Face_N_CoolPock, BodyTex_N, ITAR_XARDAS);
Mdl_SetModelFatness (self, 0);
Mdl_ApplyOverlayMds (self, "Humans_Militia.mds");

// ------ Umiejętności ------
Npc_SetTalentSkill (self, NPC_TALENT_MAGE, 6);
Npc_SetTalentSkill (self, NPC_TALENT_PICKLOCK, 0);
Npc_SetTalentSkill (self, NPC_TALENT_SNEAK, 0);
Npc_SetTalentSkill (self, NPC_TALENT_ACROBAT, 0);
Npc_SetTalentSkill (self, NPC_TALENT_PICKPOCKET, 0);
Npc_SetTalentSkill (self, NPC_TALENT_SMITH, 0);
Npc_SetTalentSkill (self, NPC_TALENT_RUNES, 0);
Npc_SetTalentSkill (self, NPC_TALENT_ALCHEMY, 0);
Npc_SetTalentSkill (self, NPC_TALENT_TAKEANIMALTROPHY, 0);

// ------ Umiejętności bojowe ------
B_AddFightSkill (self, NPC_TALENT_1H, 100);
B_AddFightSkill (self, NPC_TALENT_2H, 100);  
B_AddFightSkill (self, NPC_TALENT_BOW, 100);
B_AddFightSkill (self, NPC_TALENT_CROSSBOW, 100);

// ------ Rutyna ------
daily_routine = Rtn_Start_7777;
};

FUNC VOID Rtn_start_7777 ()
{
TA_Follow_Player   (22,00,08,00,"XXX");
TA_Follow_Player   (08,00,22,00,"XXX");
};

Mam dwa problemy:
 1 co napisać w unEquip żeby po zdjęciu pierćsienia NPC giną?
 2 Po założeniu pieścienia pojawia się NPC, ale nie chodzi za mną, lecz gdy przywołam go konsolą to chodzi. Co zrobić aby ten "z pierścienia" też za mną chodził?
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
co do 1 możesz dać tak aby zerowało mu się HP i zostawał trup albo teleportować go do WP który jest poza mapą i wtedy zniknie które rozwiązanie wolisz ??? w 2 musiał byś w świecie WP wstawić

Gotyk

Gotyk

Użytkownicy
posty101
Propsy67
  • Użytkownicy
Dobre, jak skończysz skrypt ów pierścienia wstaw  tu.
Powodzenia przy robocie.  :P
 

Sulejman

Sulejman

Użytkownicy
Piotrek
posty237
Propsy229
Profesjabrak
  • Użytkownicy
  • Piotrek
@Up A nie lepiej po prostu użyć funkcji B_KillNPC?

B_KillNPC(NONE_7777_MS);
 

chemik

chemik

Użytkownicy
posty33
  • Użytkownicy
Dzięki Vayurax, ta komenda działa. Ale co mam zrobić, żeby ten npc przywołany z pierścienia za mną chodził? Bo nie zrozumiałem RafalBudzis-a.
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Pierścień przyzywania
#5 2010-06-09, 19:12(Ostatnia zmiana: 2010-06-09, 19:12)
złą rutynę dałeś :D
TA_FollowPCpowinno być
a wcześniej nic nie mówiłem co do 2 pytania

michalsz

michalsz

Użytkownicy
posty132
  • Użytkownicy

michalsz

Pierścień przyzywania
#6 2010-06-09, 19:40(Ostatnia zmiana: 2010-06-09, 19:41)
Nie mów mu bredni rozwiązałem swój problem z tym ale powiem chemik żebyś w tym miejscu

Cytuj
FUNC VOID Equip_ItRi_Nekr_Ring2 ()
{
Wld_SpawnNpcRange (self, NONE_7777_MS, 1, 500);
};

dodał to i będzie działać.

Cytuj
B_StartotherRoutine   (NONE_7777_MS, "START");

czyli ma wyglądać tak:
Cytuj
FUNC VOID Equip_ItRi_Nekr_Ring2 ()
{
Wld_SpawnNpcRange (self, NONE_7777_MS, 1, 500);
B_StartotherRoutine   (NONE_7777_MS, "START");
};
 

chemik

chemik

Użytkownicy
posty33
  • Użytkownicy

chemik

Pierścień przyzywania
#7 2010-06-12, 20:38(Ostatnia zmiana: 2010-06-12, 20:53)
Ta komenda B_StartotherRoutine (NONE_7777_MS, "START"); nie działa. NPC wciąż zachowuje się jak worek treningowy, tj. nie można z nim zagadać, nie reaguje na ciosy (nie oddaje) i nie łazi za mną. CO ZROBIĆ??? ;(

EDIT: UDAŁO SIĘ  :(  :D  :D    !!!! Po prostu konendę B_StartotherRoutine (NONE_7777_MS, "START"); dałem przed Wld_SpawnNpcRange (self, NONE_7777_MS, 1, 500); i dlatego nie działało. Dziękuję wszystkim którzy mi pomogli, a propos, to gdzie
Cytuj
Dobre, jak skończysz skrypt ów pierścienia wstaw tu.
Powodzenia przy robocie. 4.gif
mam to wstawić?
 

Gotyk

Gotyk

Użytkownicy
posty101
Propsy67
  • Użytkownicy

Gotyk

Pierścień przyzywania
#8 2010-06-16, 11:47(Ostatnia zmiana: 2010-06-17, 11:50)
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry