-
Verschiedene Script fragen
Hey leute ich hab da ein paar Probleme.
NR1 Ich hab ein Bandit der Magie verwenden soll. das problem ist, dass er nur Heilen einsetzt.
Code:
instance BDT_9033_Magier_der_Banditen(Npc_Default)
{
//NCS
name = "Magier der Banditen";
guild = GIL_BDT;
id = 9033;
voice = 11;
npctype = NPCTYPE_MAIN;
//Flags
flags = 0;
//AIVar
aivar[AIV_MagicUser] = MAGIC_ALWAYS;
//Attribute
level=11;
attribute[ATR_STRENGTH]=80;
aivar[REAL_STRENGTH]=80;
attribute[ATR_DEXTERITY]=80;
aivar[REAL_DEXTERITY]=80;
attribute[ATR_MANA_MAX]=100;
aivar[REAL_MANA_MAX]=1000;
attribute[ATR_MANA]=1000;
attribute[ATR_HITPOINTS_MAX]=90;
attribute[ATR_HITPOINTS]=90;
//Kampf-Taktik
fight_tactic = FAI_HUMAN_NORMAL;
//Inventar
B_CreateAmbientInv (self);
CreateInvItems (self,ItSc_Thunderball,2);
CreateInvItems (self,ItSc_SumSkel,1);
CreateInvItems (self,ItSc_BreathOfDeath,1);
CreateInvItems (self,ItPo_Mana_01,2);
CreateInvItems (self,ItPo_Mana_03,1);
CreateInvItems (self,ItPo_Mana_02,5);
//Aussehen
B_SetNpcVisual (self, MALE,"Hum_Head_Bald",Face_L_NormalBart_Rufus,BodyTex_L,ITAR_Diego);
Mdl_SetModelFatness (self, 0.00);
Mdl_ApplyOverlayMds (self,"Humans_Relaxed");
//NCS relevante Talente
B_GiveNpcTalents (self);
//Kampf-Taktik
B_SetFightSkills (self,0);
//Tagesablauf
daily_routine = Rtn_Start_9033;
};
FUNC VOID Rtn_Start_9033()
{
TA_Stand_ArmsCrossed(01,00,10,00,"BANDIT1");
TA_Stand_ArmsCrossed(10,00,01,00,"BANDIT1");
};
NR2 ich hab 2 Orks (Vorlage Ur-Shak) gemacht. Jetzt kommen die Fehlermeldungen:
Code:
D: zModel(zCModelProto::ModelScript) :MDS not found
ORC_1HST1.mds
ORC_1HST2.mds
ORC_2HST1.mds
ORC_2HST2.mds
ORC_BOWT1.mds
ORC_BOWT2.mds
ORC_CBOWT1.mds
ORC_CBOWT2.mds
Kann mir jemand die .mds Dateien schicken?
NR3 Die .ASC dateien der Rüstungen, wo sind die Gespeichert? ich finde sie nicht.
Schonmal danke im voraus
-
NR3
C:\Gothic II\_work\data\Anims\_compiled\armor
bitte schön ;D
-
 Zitat von Lord Fözel
Hey leute ich hab da ein paar Probleme.
NR1 Ich hab ein Bandit der Magie verwenden soll. das problem ist, dass er nur Heilen einsetzt.
Code:
instance BDT_9033_Magier_der_Banditen(Npc_Default)
{
//NCS
name = "Magier der Banditen";
guild = GIL_BDT;
id = 9033;
voice = 11;
npctype = NPCTYPE_MAIN;
//Flags
flags = 0;
//AIVar
aivar[AIV_MagicUser] = MAGIC_ALWAYS;
//Attribute
level=11;
attribute[ATR_STRENGTH]=80;
aivar[REAL_STRENGTH]=80;
attribute[ATR_DEXTERITY]=80;
aivar[REAL_DEXTERITY]=80;
attribute[ATR_MANA_MAX]=100;
aivar[REAL_MANA_MAX]=1000;
attribute[ATR_MANA]=1000;
attribute[ATR_HITPOINTS_MAX]=90;
attribute[ATR_HITPOINTS]=90;
//Kampf-Taktik
fight_tactic = FAI_HUMAN_NORMAL;
//Inventar
B_CreateAmbientInv (self);
CreateInvItems (self,ItSc_Thunderball,2);
CreateInvItems (self,ItSc_SumSkel,1);
CreateInvItems (self,ItSc_BreathOfDeath,1);
CreateInvItems (self,ItPo_Mana_01,2);
CreateInvItems (self,ItPo_Mana_03,1);
CreateInvItems (self,ItPo_Mana_02,5);
//Aussehen
B_SetNpcVisual (self, MALE,"Hum_Head_Bald",Face_L_NormalBart_Rufus,BodyTex_L,ITAR_Diego);
Mdl_SetModelFatness (self, 0.00);
Mdl_ApplyOverlayMds (self,"Humans_Relaxed");
//NCS relevante Talente
B_GiveNpcTalents (self);
//Kampf-Taktik
B_SetFightSkills (self,0);
//Tagesablauf
daily_routine = Rtn_Start_9033;
};
FUNC VOID Rtn_Start_9033()
{
TA_Stand_ArmsCrossed(01,00,10,00,"BANDIT1");
TA_Stand_ArmsCrossed(10,00,01,00,"BANDIT1");
};
Guck mal in die B_SelectSpell.d (AI\Magic), da werden die Zauber verteilt. Sicher gibt's da standardmäßig für Banditen nur den Heilzauber oder so.
 Zitat von Lord Fözel
NR2 ich hab 2 Orks (Vorlage Ur-Shak) gemacht. Jetzt kommen die Fehlermeldungen:
Code:
D: zModel(zCModelProto::ModelScript) :MDS not found
ORC_1HST1.mds
ORC_1HST2.mds
ORC_2HST1.mds
ORC_2HST2.mds
ORC_BOWT1.mds
ORC_BOWT2.mds
ORC_CBOWT1.mds
ORC_CBOWT2.mds
Kann mir jemand die .mds Dateien schicken?
Die gibt es nicht. Sicher hast du irgendwo ein Npc_SetTalentSkill (self, NPC_TALENT_1H, 1); und ähnliches, was für die Orks aufgerufen wird (B_AddFightSkill oder so im NPC-Script). Da wird offenbar automatisch die entsprechende Overlay drübergelegt, die es bei den Orks eben nicht gibt.
 Zitat von Lord Fözel
NR3 Die .ASC dateien der Rüstungen, wo sind die Gespeichert? ich finde sie nicht.
Schonmal danke im voraus 
Die musst du separat runterladen, sind glaub ich im Wiki irgendwo verlinkt, hab den Link allerdings nicht zur Hand und keine Lust, den jetzt rauszusuchen
-
Die asc der Rüstungen sollten im Downloadbereich zu finden sein, wenn ich mich nicht irre.
-
Ja superr, die gilde bdt kann nciht zaubern... 
bei den orks hab ich "B_SetFightSkills (self,100);", dass brauchts nicht
Thx leute 
Ich hab ein weiteres Problem: ich will, dasss der NPC den Hero führt,
Mit Npc_ExchangeRoutine funktioniert dass icht ganz so gut, da er nicht sofort wechselt, ich hab das von Lares mal angeschaut, aber ich werd nicht schlau daraus.
Kann mir das jemand weklären oder hat wer nen anderen weg?
Geändert von Lord Fözel (13.02.2012 um 18:45 Uhr)
-
haab da noch ne frage, und zwar:
Code:
AI_SetWalkmode (Other, NPC_WALK);
AI_GotoWP (Other,"MOSAIKVER"); // der hero geht zum Schmiedefeuer
AI_PlayAni (other, "T_TRADEITEM"); // und schmeisst ein Artefackt rein
//AI_PlayAni (SCHMIDEFEUER, "Explosion"); //SCHMIDEFEUER ist ein mob (Schmiedefeuer ;)
kennt jemand die ani/Befehl, dass beim Schmiedefeuer eine art Esplosion kommt? (vieleicht das beim feuersturm...)
-
 Zitat von Lord Fözel
haab da noch ne frage, und zwar:
Code:
AI_SetWalkmode (Other, NPC_WALK);
AI_GotoWP (Other,"MOSAIKVER"); // der hero geht zum Schmiedefeuer
AI_PlayAni (other, "T_TRADEITEM"); // und schmeisst ein Artefackt rein
//AI_PlayAni (SCHMIDEFEUER, "Explosion"); //SCHMIDEFEUER ist ein mob (Schmiedefeuer ;)
kennt jemand die ani/Befehl, dass beim Schmiedefeuer eine art Esplosion kommt? (vieleicht das beim feuersturm...)
Das könntest du über PFX-Controller(Bin mir grad nicht sicher ob das so heißt) lössen....
Und zwar gibts du dem Pfx-Controller-VOB dann einen vobnamen, z.B. SCHMIEDEFEUER_EXPLO
Beim Pfx-Controller-VOB stellst du dann ein welcher effekt, sowie erst abspielen wenn es getriggert wird. (ich weiß atm die eigenschaften dafür nicht auswendig)
Und im skript rufst du dann Wld_SendTrigger("SCHMIEDEFEUER_EXPLO"); auf, und durch LeGo kannst du es dann in die AI-Reihenfolge einordnen.
EDIT: Hier ist ne schöne Anleitung... *klick*
mfg Umfi
Geändert von Umfi (15.02.2012 um 09:40 Uhr)
-
thx Umfi werds mal ausprobieren.
-
Hey leute
Ist es möglich im spacer ein Trigger einzubauen, der 2 npcs Killt?
(Kurze Story: Hero und 2 Kollegen gehen auf orkjagt. die 2 Kollegen sollen bei einem kampf mit orks sterben. ( an einer bestimmten stelle kurz vor dem lager der Orks))
odre hat jemand ne andere idee?
-
Über einen TriggerScript musst du das dann machen.. Hm, wie genau weiß ich gerade auch nicht.. Es müssten an einem WP wirklich Orks sein..
Ich würde dann Abfragen ob sie bei dem WP sind, und den Triggerscript halt 3 sek verzögert lassen (so kämpfen sie dann mit den Orks) und nach 3 Sek wenn der Trigger aktiviert ist, sterben sie mit B_KILLNPC (...)
-
ok, werds mal ausprobieren
-
Das mit dem Trigger ist leicht möglich. Damit es eine logische Reihenfolge gibt , würde ich es so machen , dass du einen Ork irgendwo versteckt insertest , ihm ca 1.000 Stärke gibst und eine gute Armbrust . Nun schießt der Ork also die Freunde ab und wenn diese Tot sind gibst du am besten einen Code an , dass der Ork zu seinen Freunden im Lager läuft (Stärke zurücksetzen auf ca 100 ). (Können Orks mit Armbrüsten schießen ? => Ja zum Glück)
In etwa würde das so aussehen: (Voraussetzung ist natürlich Ikarus & LeGo)
Code:
var int OnlyFirstTime;
func void LoopKillNpcFunc () //In der INIT_GLOBAL setzt du dann => LoopKillNpcFunc ();
{
if(!FF_Active(KillNpcFunc))
{
FF_Apply(KillNpcFunc);
};
};
func void KillNpcFunc ()
{
if (Npc_IsDead(FreundNummer1)== FALSE) && (Npc_IsDead(FreundNummer2)== FALSE)
{
DieInstanceDeinesOrks.attribute[ATR_STRENGTH] = 1000;
OnlyFirstTime = FALSE;
}
else if (Npc_IsDead(FreundNummer1)== TRUE) && (Npc_IsDead(FreundNummer2)== TRUE) && (OnlyFirstTime == FALSE)
{
DieInstanceDeinesOrks.attribute[ATR_STRENGTH] = 100;
AI_GotoWP (DeineOrkInstance, "DEIN_WAYPOINT_GROßGESCHRIEBEN"); //Am besten erstellst du dir in der MST_OrcWarrior eine neue Instance.
OnlyFirstTime = TRUE;
};
};
var int BlockThisFunc;
func void InsertOrcKiller_01 () //Deine ScriptFunc vom Trigger
{
if (BlockThisFunc == FALSE) //Setze in der Startup von deinem Level also BlockThisFunc = FALSE;
{
Wld_InsertNpc (DeineOrkInstance,"DEIN_WAYPOINT_GROßGESCHRIEBEN");
BlockThisFunc = TRUE;
};
}:
Edit: Zu spät ._.
Geändert von König Rhobar123 (19.02.2012 um 10:42 Uhr)
-
Ich würde mich da nicht auf die KI verlassen. Such dir lieber irgendeinen schönen Effekt aus, den du von Hand auf die Begleiter wirken lässt, töte sie direkt durch dein Skript und schieb es in der Story auf einen Schamanen, etc.
Über eine Triggerschleife kannst du abfragen, ob man sich nahe eines gewünschten WPs befindet und dann alles auslösen.
-
-
Auch ne Möglichkeit, das ist ja gerade das schöne am Modding, die Freiheit und Kreativität! Versuchn bisschen rum und teste bisschen was, und entscheide dann halt was am besten kommt
-
Du könntest ja auch einfach ein paar "Mover Fallen" bauen ala Adanos Tempel aus Gothic II DNDR. Wie das geht kannst du ja ganz leicht in der AddonWorld.Zen nachschauen
-
Neuling
NPCs löschen
Hallo liebe Forengemeinde,
hat jemand einen Tipp, wie ich aus Khorinis (AW und NW) alle NPCs rauslöschen kann? Also ohne jeden einzeln löschen zu müssen? Ich wäre für jeden Tipp dankbar. Ich habe mich bereits ein wenig mit dem Spacer beschäftigt, aber ausgerechnet die "Einführung Spacer" scheint hier nicht mehr verfügbar zu sein und alleine kommekich nicht weiter. Danke schonmal für jede sinnvolle Antwort.
-
-
Neuling
 Zitat von Fisk2033
Danke für deine Mühe und Info, aber leider dreht es sich bei den Links nur um das Einfügen. Dafür wäre es echt hilfreich, aber ich will ja die NPCs löschen, und das habe ich hier noch nicht gefunden. Dennoch... wie gesagt: danke ;-)
-
Npc kannst du löschen, indem du die entsprechenden Einträge Wld_InsertNpc... aus der Startup.d löscht.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|