Pokaż wiadomości

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.


Wiadomości - kula1984

Strony: [1]
1
Skrypty / Problem ze snem (G1)
« dnia: 2015-04-22, 14:54 »
/************************************************
*              NSC benutzt Bett,                *
* wenn kein Bett da, macht der ZS_StandAround   *
*************************************************/

func void ZS_Sleep()
{
   PrintDebugNpc       (PD_TA_FRAME,"ZS_Sleep");
   
   B_SetPerception      (self);   
   AI_SetWalkmode       (self,   NPC_WALK);
   if (!C_BodyStateContains(self,BS_MOBINTERACT))
   {
      if (Hlp_StrCmp(Npc_GetNearestWP(self), self.wp)== 0)
        {
         AI_GotoWP   (self, self.wp);
      };
   };
   AI_StartState      (self, ZS_SleepBed, 1, "");
};     
     
func void ZS_SleepBed()     
{
    PrintDebugNpc       (PD_TA_FRAME,"ZS_SleepBed_Loop");
   
    LightSleepPerception();
   
   if (Wld_IsMobAvailable (self,"BED"))
   {
       AI_UseMob      (self,   "BED",1);
   }
   else if (Wld_IsMobAvailable (self,"BEDHIGH")||Wld_IsMobAvailable (self,"BEDLOW"))
   {
       AI_UseMob      (self,   "BEDHIGH",1); //Mehrfache Mob-Benutzung okay, weil nachfolgende UseMobs ignoriert werden, wenn UseMob schon aktiv ist
       AI_UseMob       (self,   "BEDLOW",1); // Mobs werden nur benutzt, wenn NSC sie sehen kann und wenn sie frei sind (sagt Ulf)
   }
   else
   {
      AI_StartState   (self, ZS_StandAround, 1, "");
   };
};

func int ZS_SleepBed_Loop()
{
   PrintDebugNpc       (PD_TA_LOOP,"ZS_SleepBed_Loop");

   // SN: Workaround dafür, daß Wld_IsMobAvailable() zwar TRUE geliefert hat, AI_UseMob() aber gescheitert ist!
   if   !C_BodyStateContains(self,BS_MOBINTERACT)
   &&   (Npc_GetStateTime(self) > 3)
   {
      AI_StartState   (self, ZS_SitAround, 1, "");
   };   
   
   AI_Wait            (self, 1);
   return            LOOP_CONTINUE;
};

func void ZS_SleepBed_End()
{
   PrintDebugNpc       (PD_TA_FRAME,"ZS_SleepBed_End");

   if   Wld_IsTime(07,00,   08,30)
   {
      B_Say         (self, NULL, "$AWAKE");   
   };

   AI_UseMob         (self,"BEDHIGH",-1);
   AI_UseMob         (self,"BEDLOW",-1);
   AI_UseMob         (self,"BED",-1);
};

func void B_SleepQuietSound ()
{
   PrintDebugNpc       (PD_TA_DETAIL,   "B_SleepQuietSound");
   
   if ((Npc_GetDistToNpc(self,other) < PERC_DIST_DIALOG)
   &&    Npc_CanSeeNpcFreeLOS(self,other)               )
   {
      AI_StartState   (self,   ZS_WakeUp, 0, "");
   }
   else
   {
      B_TossAndTurn   ();
   };
};
   

2
Skrypty / Problem ze snem (G1)
« dnia: 2015-04-22, 14:15 »
Z lutnią rozwiązałem, musiałem dać  freepoints. To skrypt npc. i co  jeszcze mam dać Log_Constants?

instance Non_7000_Aulus (Npc_Default)
{
   //-------- primary data --------
   
   name       ="Aulus";
   npctype    =npctype_main;
   guild       =GIL_NONE;     
   level       =45;
   flags           =2;
   
   voice       =4;
   id       =7000;


   //-------- abilities --------
   
   attribute[ATR_STRENGTH]       =60;
   attribute[ATR_DEXTERITY]       =60;
   attribute[ATR_MANA_MAX]       =0;
   attribute[ATR_MANA]          =0;
   attribute[ATR_HITPOINTS_MAX]            =400;
   attribute[ATR_HITPOINTS]       =400;

   //-------- visuals --------
   //             animations
   Mdl_SetVisual      (self,"HUMANS.MDS");
   Mdl_ApplyOverlayMds   (self,"Humans_Tired.mds");
   //            body mesh,            head mesh,            hairmesh,   face-tex,   hair-tex,   skin   
   Mdl_SetVisualBody (self,"hum_body_Naked0",2,0,"Hum_Head_Thief", 16,  1, CRW_ARMOR_H);

   B_Scale (self);
   Mdl_SetModelFatness (self, 0);
   
   fight_tactic   =   FAI_HUMAN_Master;
   
   //-------- Talents  --------                                   

   Npc_SetTalentSkill (self, NPC_TALENT_1H,2);
       
   
   //-------- inventory --------                                   
   EquipItem   (self, ItMw_1H_Sword_Long_01);
   CreateInvItems   (self,   ItKeLockpick,         5);
   CreateInvItems   (self,   ItMiScoop,            1);
   CreateInvItems   (self,   ItMiHammer,            1);
   CreateInvItems   (self,   ItMiStomper,         1);
   CreateInvItems   (self,   ItMiSwordraw,         3);
   CreateInvItems   (self,   ItLsTorch,            4);
   CreateInvItems   (self,   ItMi_Stuff_Barbknife_01,1);
   CreateInvItems   (self,   ItMi_Stuff_OldCoin_02,   17);
   CreateInvItems   (self,   ItMi_Stuff_Cup_01,      1);
   CreateInvItems   (self,   ItMi_Stuff_Pan_01,      1);
   CreateInvItems   (self,   ItMi_Stuff_Mug_01,      1);
   CreateInvItems   (self,   ItFoBeer,            3);
   CreateInvItems   (self,   ItFoCheese,            5);
   CreateInvItems   (self,   ItFoMutton,            4);
   CreateInvItems   (self,   ItFoLoaf,            2);
        CreateInvItems   (self,   ItAt_Lurker_02, 20);
   
   //-------------Daily Routine-------------
   daily_routine = Rtn_start_7000;
   };

FUNC VOID Rtn_start_7000 ()
{
   TA_SitAround      (06,00,09,00,"NOWY_01");
        TA_PlayTune             (09,00,12,00,"NOWY_01");
        TA_Smalltalk            (12,00,23,00,"NOWY_01");
        TA_Sleep      (23,00,06,00,"NOWY_01_B");     
};







3
Skrypty / Problem ze snem (G1)
« dnia: 2015-04-21, 23:15 »
Nie o to chodzi. Podobnie mam jak ustawie rutynę, żeby npc grał na lutni. Wyjmuje lutnie raz brzdęknie i chowa lutnie. I proces się powtarza.

4
Skrypty / Problem ze snem (G1)
« dnia: 2015-04-21, 14:00 »
Ale tak się dzieje nawet kiedy jestem bardzo daleko. Nie wie może to jakiś bug, w G2 nie ma czegoś takiego.

5
Skrypty / Problem ze snem (G1)
« dnia: 2015-04-21, 13:09 »
Ustawiłem rutynę npc TA_Sleep, ale coś nie działa. NPC kładzie się się spać i od razu wstaje. Sprawdziłem też jak zachowują się pod czas snu inne postacie z gry których skryptów nie ruszałem. I jest tak samo, kładą się spać i od razu wstają. Wie ktoś może w czym jest problem?


6
do G1

Mój błąd. Faktycznie zgadza się powinno być  Rogue. Generowałem skrypt ''Gothic NPC Maker''. I tam za każdym razem wyskakuje Rouge. Dziękuje za pomoc.

7
Błędy podczas parsowania / bandyta
« dnia: 2015-04-19, 12:41 »
Powinno być Npctype_Rogue


tak wpisałem

8
Mam problem ze zrobieniem bandyty. Kiedy w skrypcie  wpisuje Npctype_Rouge; to wyskakuje mi błąd Unkow Indentifier Npctype_Rouge;. Szukałem na forum, ale nie znalazłem odpowiedzi. Wie ktoś może dla czego wyskakuje błąd? 

9
Skrypty / stare monety
« dnia: 2015-04-08, 17:16 »
Dziękuje. Już się z to biorę. A jak nie uda mi się tego pojąć to, zrobię po prostu jeszcze kilka opcji dialogu z możliwością wymiany np. po 50 i 100szt.

10
Skrypty / stare monety
« dnia: 2015-04-08, 11:51 »
Nadal nie rozumie. Uczę się modować od paru dni. Moglibyście mi to dokładniej wytłumaczyć?

11
Skrypty / stare monety
« dnia: 2015-04-08, 03:29 »
Chciałby w g1 zrobić podobną rzecz jak w g2. Chodzi mi Wasilij który zbierał stare monety. Udało mi się napisać skrypt że npc bierze monety i daje w zamian rude, ale niestety tylko pojedynczo. Jak zrobić tak żeby, skrypt działał tak jak w g2. Żeby npc brał wszystkie monety na raz i dawał rude w zależności od ilości monet. Tak wygląda mój skrypt.

// **************************************
//               EXIT
// **************************************

instance DIA_Aulus_EXIT (C_INFO)
{
   npc         = Non_7000_Aulus;
   nr          = 999;
   condition   = DIA_Aulus_Exit_Condition;
   information = DIA_Aulus_Exit_Info;
   permanent   = 1;
   description = DIALOG_ENDE;
};                       

FUNC int DIA_Aulus_Exit_Condition()
{
   return 1;
};

FUNC VOID DIA_Aulus_Exit_Info()
{
   AI_StopProcessInfos   (self);
};



// **************************************
//               Hello
// **************************************

INSTANCE DIA_Aulus_Hello (C_INFO)
{
   npc         = Non_7000_Aulus;
   nr          = 1;
   condition   = DIA_Aulus_Hello_Condition;
   information = DIA_Aulus_Hello_Info;
   permanent   = 0;
   description = "Kim jesteś?";
};                       

FUNC INT DIA_Aulus_Hello_Condition()
{
   return 1;
};

FUNC VOID DIA_Aulus_Hello_Info()
{   
   AI_Output (other, self,"DIA_Aulus_Hello_15_00"); //Kim jesteś?
   AI_Output (self, other,"DIA_Aulus_Hello_13_01"); //Jestem Aulus.
};


// **************************************
//               monety
// **************************************

INSTANCE DIA_Aulus_monety (C_INFO)
{
   npc         = Non_7000_Aulus;
   nr          = 1;
   condition   = DIA_Aulus_monety_Condition;
   information = DIA_Aulus_monety_Info;
   permanent   = 0;
   description = "Potrzebujesz czegoś";
};                       

FUNC INT DIA_Aulus_monety_Condition()
{
if(Npc_Knowsinfo(other,DIA_Aulus_Hello))
{
   return 1;
};
};

FUNC VOID DIA_Aulus_monety_Info()
{   
   AI_Output (other, self,"DIA_Aulus_monety_15_00"); //Potrzebujesz czegoś?
   AI_Output (self, other,"DIA_Aulus_monety_13_01"); //Zbieram stare monety.
   AI_Output (self, other,"DIA_Aulus_monety_13_02"); //Dam ci rude za każdą monete którą mi przyniesiesz.
};


// **************************************
//               koniec
// **************************************

INSTANCE DIA_Aulus_koniec (C_INFO)
{
   npc         = Non_7000_Aulus;
   nr          = 1;
   condition   = DIA_Aulus_koniec_Condition;
   information = DIA_Aulus_koniec_Info;
   permanent   = 1;
   description = "Mam monety";
};                       

FUNC INT DIA_Aulus_koniec_Condition()
{
if(Npc_Knowsinfo(other,DIA_Aulus_Hello))
&&(Npc_hasitems(other, ItMi_Stuff_OldCoin_01) >=1)
{
   return 1;
};
};

FUNC VOID DIA_Aulus_koniec_Info()
{   
   AI_Output (other, self,"DIA_Aulus_koniec_15_00"); //Mam monety
   AI_Output (self, other,"DIA_Aulus_koniec_13_01"); //Tak o takie mi chodziło.
   AI_Output (self, other,"DIA_Aulus_koniec_13_02"); //Wez tą rude w zamian.

   B_giveinvitems(other,self,ItMi_Stuff_OldCoin_01, 1);
   Createinvitems(self,ItMiNugget,1);
   B_giveinvitems(self,other,ItMiNugget,1);
   

};


// **************************************
//               koniec2
// **************************************

INSTANCE DIA_Aulus_koniec2 (C_INFO)
{
   npc         = Non_7000_Aulus;
   nr          = 2;
   condition   = DIA_Aulus_koniec2_Condition;
   information = DIA_Aulus_koniec2_Info;
   permanent   = 1;
   description = "Mam monety";
};                       

FUNC INT DIA_Aulus_koniec2_Condition()
{
if(Npc_Knowsinfo(other,DIA_Aulus_Hello))
&&(Npc_hasitems(other, ItMi_Stuff_OldCoin_02) >=1)
{
   return 1;
};
};

FUNC VOID DIA_Aulus_koniec2_Info()
{   
   AI_Output (other, self,"DIA_Aulus_koniec2_15_00"); //Mam monety
   AI_Output (self, other,"DIA_Aulus_koniec2_13_01"); //Tak o takie mi chodziło.
   AI_Output (self, other,"DIA_Aulus_koniec2_13_02"); //Wez tą rude w zamian.

   B_giveinvitems(other,self,ItMi_Stuff_OldCoin_02, 1);
   Createinvitems(self,ItMiNugget,1);
   B_giveinvitems(self,other,ItMiNugget,1);
   

};

Strony: [1]
Do góry