Pokaż skrypt postaci i dialogu, a po za tym to osobiście preferuję pracę "ręczną".
instance BAU_20012_Gan (Npc_Default){// ------ NSC ------name = "Gan";guild = GIL_BAU;id = 20012;voice = 6;flags = 0; //NPC_FLAG_IMMORTAL oder 0npctype = NPCTYPE_MAIN;// ------ Attribute ------attribute[ATR_STRENGTH] = 30;attribute[ATR_DEXTERITY] = 20;attribute[ATR_MANA_MAX] = 0;attribute[ATR_MANA] = 0;attribute[ATR_HITPOINTS_MAX] = 100;attribute[ATR_HITPOINTS] = 100; //setzt Attribute und LEVEL entsprechend dem angegebenen Kapitel (1-6)// ------ Kampf-Taktik ------fight_tactic = FAI_HUMAN_COWARD; // MASTER / STRONG / NORMAL / COWARD// ------ Equippte Waffen ------ //Munition wird automatisch generiert, darf aber angegeben werdenEquipItem (self, ItMw_1h_Bau_Axe);// ------ Inventory ------B_CreateAmbientInv (self);CreateInvItems (self, ItPl_Berryred, 4);CreateInvItems (self, ItPl_Carrot, 1);CreateInvItems (self, ItFo_Addon_Orange, 2);CreateInvItems (self, ItPl_Cucumber, 5);// ------ visuals ------ //Muss NACH Attributen kommen, weil in B_SetNpcVisual die Breite abh. v. STR skaliert wirdB_SetNpcVisual (self, MALE, "Hum_Head_Bald", Face_N_NormalBart_Dexter, BodyTex_N, ITAR_BAU_M); Mdl_SetModelFatness (self, 0);Mdl_ApplyOverlayMds (self, "Humans_Tired.mds"); // Tired / Militia / Mage / Arrogance / Relaxed// ------ NSC-relevante Talente vergeben ------B_GiveNpcTalents (self);// ------ Kampf-Talente ------ //Der enthaltene B_AddFightSkill setzt Talent-Ani abhängig von TrefferChance% - alle Kampftalente werden gleichhoch gesetztB_SetFightSkills (self, 10); //Grenzen für Talent-Level liegen bei 30 und 60// ------ TA anmelden ------daily_routine = Rtn_Start_20012;};FUNC VOID Rtn_Start_20012 (){TA_Stand_WP (07,00,21,00,"FARM_GAN_STAY_POCZATEK");TA_Stand_WP (21,00,07,00,"FARM_GAN_STAY_POCZATEK");};FUNC VOID Rtn_Gan_20012 (){TA_Rake_FP (05,00,07,00,"FARM_ZBIERANIE_GAN");TA_Rake_FP (07,00,09,00,"FARM_ZBIERANIE_GAN_1");TA_Rake_FP (09,00,10,00,"FARM_ZBIERANIE_GAN");TA_Rake_FP (10,00,11,00,"FARM_ZBIERANIE_GAN_1");TA_Sit_Bench (11,00,13,00,"FARM_SIEDZENIE_GAN");TA_Rake_FP (13,00,14,00,"FARM_ZBIERANIE_GAN");TA_Rake_FP (14,00,15,00,"FARM_ZBIERANIE_GAN_1");TA_Rake_FP (15,00,16,00,"FARM_ZBIERANIE_GAN");TA_Rake_FP (16,00,17,00,"FARM_ZBIERANIE_GAN_1");TA_Sleep (17,00,05,00,"FARM_SPAC_GAN");};
A tu dialogu:
//========================================//-----------------> BandyciWlasciciel2//========================================INSTANCE DIA_Wlasciciel_BandyciWlasciciel2 (C_INFO){npc = BAU_20001_Wlasciciel;nr = 2;condition = DIA_Wlasciciel_BandyciWlasciciel2_Condition;information = DIA_Wlasciciel_BandyciWlasciciel2_Info;permanent = FALSE;Important = TRUE;};FUNC INT DIA_Wlasciciel_BandyciWlasciciel2_Condition(){if (Npc_KnowsInfo (other, DIA_Gan_BandyciGan2)){return TRUE;};};FUNC VOID DIA_Wlasciciel_BandyciWlasciciel2_Info(){B_ExchangeRoutine (BAU_20012_Gan, "Rtn_Gan_20012");AI_Output (self, other ,"DIA_Wlasciciel_BandyciWlasciciel2_03_01"); //Skoro nie jesteś dostatecznie silny to nie powinieneś się pchać do straży!AI_Output (self, other ,"DIA_Wlasciciel_BandyciWlasciciel2_03_02"); //Gówniarz!AI_Output (other, self ,"DIA_Wlasciciel_BandyciWlasciciel2_15_03"); //Nie jestem żadnym gówniarzem!AI_Output (self, other ,"DIA_Wlasciciel_BandyciWlasciciel2_03_04"); //Udowodnij to!AI_Output (self, other ,"DIA_Wlasciciel_BandyciWlasciciel2_03_05"); //Ostatnio jeden z farmerów zgubił swój alembik.AI_Output (self, other ,"DIA_Wlasciciel_BandyciWlasciciel2_03_06"); //Widziałem ten alembik, ale w pysku kretoszczura!AI_Output (other, self ,"DIA_Wlasciciel_BandyciWlasciciel2_15_07"); //Kretoszczura? Gdzie?AI_Output (self, other ,"DIA_Wlasciciel_BandyciWlasciciel2_03_08"); //Poza wioską na drodze.AI_Output (other, self ,"DIA_Wlasciciel_BandyciWlasciciel2_15_09"); //Kretoszczury...uczyłem się o pospolitych potworach...AI_Output (other, self ,"DIA_Wlasciciel_BandyciWlasciciel2_03_10"); //Kretoszczury nie wychodzą na słońce!AI_Output (self, other ,"DIA_Wlasciciel_BandyciWlasciciel2_03_11"); //Wiem że to dziwne, ale jednak prawdziwe.AI_Output (other, self ,"DIA_Wlasciciel_BandyciWlasciciel2_15_12"); //No to co mam zrobić?AI_Output (self, other ,"DIA_Wlasciciel_BandyciWlasciciel2_03_13"); //Powinieneś się domyślić! Odzyskać alembik i oddać go farmerowi Ganowi!AI_Output (other, self ,"DIA_Wlasciciel_BandyciWlasciciel2_15_14"); //Gdzie znajdę Gana?AI_Output (self, other ,"DIA_Wlasciciel_BandyciWlasciciel2_03_15"); //To ten który z tobą rozmawiał! (śmieję się)AI_Output (other, self ,"DIA_Wlasciciel_BandyciWlasciciel2_15_16"); //Ach...AI_Output (other, self ,"DIA_Wlasciciel_BandyciWlasciciel2_15_17"); //(myśli) Chyba z nim najpierw porozmawiam.B_StartOtherRoutine (self,"Rtn_Wlasciciel_20001");MIS_pozartyalembik = LOG_RUNNING;Log_CreateTopic (TOPIC_pozartyalembik, LOG_MISSION);Log_SetTopicStatus (TOPIC_pozartyalembik, LOG_RUNNING);B_LogEntry (TOPIC_pozartyalembik,"No cóż, raz kozię śmierć. Muszę niestety zawalczyć z kretoszczurem. Słyszałem że to niebezpieczne potwory, a nie chciałbym zostać pożarty przez kretoszczura, tylko zginąć z honorem walcząc ze smokiem!...ale to tylko odległe marzenia. Co to za strażnik nie umiejący zabić kretoszczura? Najpierw może pogadam z Ganem...");AI_StopProcessInfos (self);};