Der Thread ist aktuell sogar noch auf der ersten Seite.
okay, danke dir^^
Andere frage die ich noch habe:
und zwar ist bei mir nach dem treffen vom ring d. wassers, nachdem sich alle NPCs wieder umziehen der jäger Gaan nackt! wie kann man das ändern das er seine rüstung anhat statt nackt zu sein^^
und zwar ist bei mir nach dem treffen vom ring d. wassers, nachdem sich alle NPCs wieder umziehen der jäger Gaan nackt! wie kann man das ändern das er seine rüstung anhat statt nackt zu sein^^
Du solltest dir die Scripte ansehen, die mit dem Meeting zu tun haben und schauen, was da passiert.
Irgendwas scheint da ja nicht zu stimmen.
Falls Gaan seine normalen Klamotten noch hat, solltest du vermutlich die RdW-Rüstung aus seinem Inventar entfernen und einmal "AI_EquipBestArmor(Gaan);" ausführen.
Hat er seine Klamotten nicht mehr, musst du sie zuvor ins Inventar geben.
Es gibt auch noch den Befehl "AI_EquipArmor(Gaan,ItAr_XXX);"...dafür muss der Npc die angegebene Rüstung im Inventar haben.
Kann aber sein, dass er irgendwann die RdW-Rüstung anhat, falls sie nicht gelöscht wird.
Bestimmt wird irgendwo "AI_EquipBestArmor" ausgeführt(z.B. beim Neuladen).
Du solltest dir die Scripte ansehen, die mit dem Meeting zu tun haben und schauen, was da passiert.
Irgendwas scheint da ja nicht zu stimmen.
Falls Gaan seine normalen Klamotten noch hat, solltest du vermutlich die RdW-Rüstung aus seinem Inventar entfernen und einmal "AI_EquipBestArmor(Gaan);" ausführen.
Hat er seine Klamotten nicht mehr, musst du sie zuvor ins Inventar geben.
Es gibt auch noch den Befehl "AI_EquipArmor(Gaan,ItAr_XXX);"...dafür muss der Npc die angegebene Rüstung im Inventar haben.
Kann aber sein, dass er irgendwann die RdW-Rüstung anhat, falls sie nicht gelöscht wird.
Bestimmt wird irgendwo "AI_EquipBestArmor" ausgeführt(z.B. beim Neuladen).
MfG
Danke für die hilfe, ich habe es lösen können^^
Hab da noch eine frage...
in Gothic 1 gabs doch mal die animation von xardas, wo er sich im gespräch das schwert uriziel ansieht...also er legt es an, zieht es und sieht es sich an...
gibts diese funktion in G2 auch? und wenn wie heisst die? würde sie gerne für harad einbauen wenn er von einem die Orkwaffe als beweis bekommt^^
Hab da noch eine frage...
in Gothic 1 gabs doch mal die animation von xardas, wo er sich im gespräch das schwert uriziel ansieht...also er legt es an, zieht es und sieht es sich an...
gibts diese funktion in G2 auch? und wenn wie heisst die? würde sie gerne für harad einbauen wenn er von einem die Orkwaffe als beweis bekommt^^
Kannst du mir noch verraten wie das in dem dialogskript aussehen muss?
Spoiler:(zum lesen bitte Text markieren)
Code:
unc void DIA_Harad_OrcSuccess_Info ()
{
AI_Output (other, self, "DIA_Harad_OrcSuccess_15_00"); //Ich habe die Orkwaffe, die du wolltest.
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_01"); //Zeig her ...
if (Npc_HasItems(other, ItMw_2H_OrcAxe_01) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcAxe_01, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcAxe_01);
}
else if (Npc_HasItems(other, ItMw_2H_OrcAxe_02) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcAxe_02, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcAxe_02);
}
else if (Npc_HasItems(other, ItMw_2H_OrcAxe_03) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcAxe_03, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcAxe_03);
}
else if (Npc_HasItems(other, ItMw_2H_OrcAxe_04) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcAxe_04, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcAxe_04);
}
else //if (Npc_HasItems(other, ItMw_2H_OrcSword_01) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcSword_01, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcSword_01);
};
if (Harad_HakonMission == TRUE)
{
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_02"); //Hast du's DOCH geschafft? Guter Mann!
};
t_1hSInspect ();
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_03"); //Es ist lange her, dass ich eine solche Waffe in den Händen hatte - damals war ich Soldat im Orkkrieg.
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_04"); //Das waren harte Zeiten, das kann ich dir sagen.
if (Player_IsApprentice == APP_Harad)
{
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_05"); //Ich wusste schon, warum ich dich als Lehrling angenommen habe. Gut gemacht!
}
else if (Player_IsApprentice == APP_NONE)
{
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_06"); //Hätte dir nicht zugetraut, dass du es schaffst. Ich bin beeindruckt.
}
else //anderer Weg
{
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_07"); //Bedauerlich, dass du dich schon für einen anderen Weg entschieden hast.
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_08"); //Ich hätte dich gut gebrauchen können.
};
MIS_Harad_Orc = LOG_SUCCESS;
B_GivePlayerXP (XP_Harad_Orc);
B_LogEntry (Topic_Lehrling,"Harad wird mich als Lehrling aufnehmen, wenn ich die Zustimmung der anderen Meister bekomme.");
};
Kannst du mir noch verraten wie das in dem dialogskript aussehen muss?
Spoiler:(zum lesen bitte Text markieren)
Code:
unc void DIA_Harad_OrcSuccess_Info ()
{
AI_Output (other, self, "DIA_Harad_OrcSuccess_15_00"); //Ich habe die Orkwaffe, die du wolltest.
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_01"); //Zeig her ...
if (Npc_HasItems(other, ItMw_2H_OrcAxe_01) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcAxe_01, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcAxe_01);
}
else if (Npc_HasItems(other, ItMw_2H_OrcAxe_02) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcAxe_02, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcAxe_02);
}
else if (Npc_HasItems(other, ItMw_2H_OrcAxe_03) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcAxe_03, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcAxe_03);
}
else if (Npc_HasItems(other, ItMw_2H_OrcAxe_04) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcAxe_04, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcAxe_04);
}
else //if (Npc_HasItems(other, ItMw_2H_OrcSword_01) > 0)
{
B_GiveInvItems (other, self, ItMw_2H_OrcSword_01, 1);
Npc_RemoveInvItem (self,ItMw_2H_OrcSword_01);
};
if (Harad_HakonMission == TRUE)
{
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_02"); //Hast du's DOCH geschafft? Guter Mann!
};
t_1hSInspect ();
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_03"); //Es ist lange her, dass ich eine solche Waffe in den Händen hatte - damals war ich Soldat im Orkkrieg.
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_04"); //Das waren harte Zeiten, das kann ich dir sagen.
if (Player_IsApprentice == APP_Harad)
{
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_05"); //Ich wusste schon, warum ich dich als Lehrling angenommen habe. Gut gemacht!
}
else if (Player_IsApprentice == APP_NONE)
{
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_06"); //Hätte dir nicht zugetraut, dass du es schaffst. Ich bin beeindruckt.
}
else //anderer Weg
{
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_07"); //Bedauerlich, dass du dich schon für einen anderen Weg entschieden hast.
AI_Output (self, other, "DIA_Harad_OrcSuccess_12_08"); //Ich hätte dich gut gebrauchen können.
};
MIS_Harad_Orc = LOG_SUCCESS;
B_GivePlayerXP (XP_Harad_Orc);
B_LogEntry (Topic_Lehrling,"Harad wird mich als Lehrling aufnehmen, wenn ich die Zustimmung der anderen Meister bekomme.");
};
aber leider ohne waffe in der hand... wie geht das, das er auch die orkwaffe nimmt und es nicht "leer" macht
Du musst natürlich dafür sorgen, dass er eine Waffe trägt und diese auch zieht.
Wenn du jetzt willst, dass er eine bestimmte Waffe zieht, kann es schwierig werden, mangels einer vernünftigen Funktion.
Sollte die gerade übergebene Waffe aber die beste sein, die er hat, dann funzt es, wie gewollt.
Okay, danke erstmal.... er zieht jetzt zwar seine waffe und sieht sie sich an, jedoch leider nur seinen schmiedehammer
Das dürfte daran liegen, dass in deinem Script die übergebene Orkwaffe sofort nach Übergabe gelöscht wird.
Entferne einfach die Zeilen "Npc_Remove..." bei der Waffenübergabe.
Das dürfte daran liegen, dass in deinem Script die übergebene Orkwaffe sofort nach Übergabe gelöscht wird.
Entferne einfach die Zeilen "Npc_Remove..." bei der Waffenübergabe.
Ich habe noch einen fehler gefunden, weis aber nicht warum und woher er kommt.
ein drachen gibt keine trophähen mehr obwohl man es alles gelernt hat... kann mir da wer helfen?
B_GiveDeathInventory oder so ähnlich, dort wird das geregelt. Also zuerst vielleicht sicher stellen, dass die Funktion tatsächlich nach Tod des Drachens aufgerufen wird, und dann weiterschauen.
B_GiveDeathInventory oder so ähnlich, dort wird das geregelt. Also zuerst vielleicht sicher stellen, dass die Funktion tatsächlich nach Tod des Drachens aufgerufen wird, und dann weiterschauen.
Ahh sehr gut, dort haben tatsächlich einige drachen einfach gefehlt... habe das nun ergänzt....
allerdings geben nur der eisdrache, sowie der feuerdrache das drachenblut... schuppen geben allerdings alle... ich bin mir aber keinen fehler bewusst :/
Spoiler:(zum lesen bitte Text markieren)
Code:
// ------ Drachen-Schuppen ------
if (PLAYER_TALENT_TAKEANIMALTROPHY[TROPHY_DragonScale] == TRUE)
{
//Joly: die anderen Drachen bekommen ihren Stuff beim erlangen des Talentes TROPHY_DragonScale.
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(FireDragonIsland)){ CreateInvItems (slf, ItAt_DragonScale, 25); };
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Firedragon)) { CreateInvItems (slf, ItAt_DragonScale, 25); };
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(IceDragon)){ CreateInvItems (slf, ItAt_DragonScale, 25); };
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Rockdragon)) { CreateInvItems (slf, ItAt_DragonScale, 25); };
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(SwampDragon)){ CreateInvItems (slf, ItAt_DragonScale, 25); };
if (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGONSNAPPER) { CreateInvItems (slf, ItAt_SnapperScale, 5); };
};
// ------ Drachen-Blut------
if (PLAYER_TALENT_TAKEANIMALTROPHY[TROPHY_DragonBlood] == TRUE)
{
//Joly: die anderen Drachen bekommen ihren Stuff beim erlangen des Talentes TROPHY_DragonBlood.
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(FireDragonIsland)) { CreateInvItems (slf, ItAt_DragonBlood, 2); };
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(FireDragon)) { CreateInvItems (slf, ItAt_DragonBlood, 2); };
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Icedragon)) { CreateInvItems (slf, ItAt_DragonBlood, 2);
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(RockDragon)) { CreateInvItems (slf, ItAt_DragonBlood, 2); };
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Swampdragon)) { CreateInvItems (slf, ItAt_DragonBlood, 2); };
};
habe hier ein Schwert gemacht, welches die Blitze der klaue beliars hat, sowie gegener blau anbrennen lässt.
Funktioniert ganz gut...
meine fragen dazu sind allerding.....
1. warum funktioniert es nur bei menschen? nicht bei orks, tieren, echsenmenschen ect.
2. ich habe nur den code Npc_HasItems dh. das dieser effekt gewirkt wird wenn der held die waffe aufgehben und im inventar hat... das problem dabei ist, legt man sie aus dem inventar, bleibt der effekt egal bei welcher waffe.... das gilt dann sowieso, sobald man sie im inventar hat, das jede waffe, sogar die faust den effekt wirkt....
gibt es eine funktion die zb wenn waffe angelegt ist wirkt?
hier mal mein code:
Spoiler:(zum lesen bitte Text markieren)
Code:
var int RagnaWaffe;
func void B_RagnaSpecialDamage (var C_NPC oth, var C_NPC slf) //other ist angreifer, slf ist victim
{
if (Npc_HasItems (hero, itmw_Uriziel_03 ))
{
RagnaWaffe=True;
};
if (Hlp_GetInstanceID(oth) == Hlp_GetInstanceID(hero))
{
var int DamageRandyRagna;
DamageRandyRagna = Hlp_Random (90);
if ((RagnaWaffe==True) && (DamageRandyRagna <= 90))
{
if (slf.flags != NPC_FLAG_IMMORTAL)
{
Wld_PlayEffect("spellFX_BELIARSRAGE", slf, slf, 0, 0, 0, true );
B_MagicHurtNpc (self, self, 90);
Wld_PlayEffect("VOB_BLUEMAGICBURN", slf, slf, 0, 0, 0, true); // eventll. Feuerschaden so eintragen ... Wld_PlayEffect("VOB_BLUEMAGICBURN", hero, self, 2, 20, DAM_FIRE, TRUE); (habe ich noch nicht getestet)
Npc_ChangeAttribute (self, ATR_HITPOINTS, -1);
};
//Ambient Pfx
Wld_PlayEffect("spellFX_BELIARSRAGE_COLLIDE", oth, oth, 0, 0, 0, false );
B_MagicHurtNpc (self, self, 90);
Wld_PlayEffect("VOB_BLUEMAGICBURN", slf, slf, 0, 0, 0, true); // eventll. Feuerschaden so eintragen ... Wld_PlayEffect("VOB_BLUEMAGICBURN", hero, self, 2, 20, DAM_FIRE, TRUE); (habe ich noch nicht getestet)
Npc_ChangeAttribute (self, ATR_HITPOINTS, -1);
};
if ((RagnaWaffe==True) && (DamageRandyRagna <= 90)) // Effekt
{
//Ambient Pfx
Wld_PlayEffect("spellFX_BELIARSRAGE_COLLIDE", hero, hero, 0, 0, 0, false );
Wld_PlayEffect("VOB_BLUEMAGICBURN", slf, slf, 0, 0, 0, true); // eventll. Feuerschaden so eintragen ... Wld_PlayEffect("VOB_BLUEMAGICBURN", hero, self, 2, 20, DAM_FIRE, TRUE); (habe ich noch nicht getestet)
Npc_ChangeAttribute (self, ATR_HITPOINTS, -1);
};
};
};