|
-
Milgo hat doch schon geschrieben, wie du es angehen solltest:
Ich würde die Schilde über States equippen - so wie man es eben auch bei Helmen macht
Das ist nicht schwer, musst du dir halt mal anschauen, wie das klappen könnte.
Weil ich aber ja nicht immer ein Unmensch bin, ein Beispiel, wie ich es in XR gelöst habe (mit Helmen und Hüten allerdings):
In der State-Funktionen rufe ich die Funktion B_UseHat auf, die macht dann folgendes:
Code:
FUNC VOID B_UseHat (var C_NPC slf)
{
// Wollmützen (Männer)
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_1968_EIS_Dorfbewohner_EIS))
|| (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_1953_EIS_Gellit_EIS))
|| (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_4017_EIS_Rico_EIS))
|| (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_4018_EIS_Buck_EIS))
|| (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_7563_OUT_Brutus_EIS))
|| (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_7564_OUT_Knatus_EIS))
|| (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_7647_OUT_Strewak_EIS))
|| (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_7674_OUT_Aldaro_EIS))
{
if (Npc_HasItems(slf, ItAr_Wollmuetze_Male) == 0)
{
CreateInvItems (slf, ItAr_Wollmuetze_Male, 1);
AI_EquipArmor (slf, ItAr_Wollmuetze_Male);
};
};
// Wollmützen (Frauen)
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_7410_OUT_Frau_EIS))
|| (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_7559_OUT_Sera_EIS))
|| (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_7560_OUT_Malwana_EIS))
{
if (Npc_HasItems(slf, ItAr_Wollmuetze_Female) == 0)
{
CreateInvItems (slf, ItAr_Wollmuetze_Female, 1);
AI_EquipArmor (slf, ItAr_Wollmuetze_Female);
};
};
// Bart
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Mod_7498_WM_Idrico_REL))
{
if (Npc_HasItems(slf, ItAr_Bart) == 0)
{
CreateInvItems (slf, ItAr_Bart, 1);
AI_EquipArmor (slf, ItAr_Bart);
};
};
};
Wenn sie das entsprechende Item (Helm oder Schild) noch nicht haben, dann wird's hier gegeben und equippt. Funktioniert soweit wunderbar.
-
kann evtl jemand ein beispiel skript für die schilde erstellen...das wäre echt klasse =)
da gehts alles leichter von der hand weil ich komme net klar...
bitte, das wäre super
-
Ich empfehle dir echt mal, dich überhaupt erst mal mit den Grundlagen des Scriptings zu beschäftigen. Meine Funktion anzupassen und einzubauen ist nun echt keine Hexerei, und wenn du das nicht hinkriegst, kannst du ja noch nicht viel gescriptet haben.
-
Zitat von Bonne6
Ich empfehle dir echt mal, dich überhaupt erst mal mit den Grundlagen des Scriptings zu beschäftigen. Meine Funktion anzupassen und einzubauen ist nun echt keine Hexerei, und wenn du das nicht hinkriegst, kannst du ja noch nicht viel gescriptet haben.
ich habe deine schon versucht umzuschreiben.....aber das ging nicht...weis nicht genau was ich da falsch mache
kannst du nicht mal ein beispielscript der schilde hier hochladen? ich meine du kannst es ja denke ich mal....
das wäre echt super....
-
Was ist denn dabei das Problem? Du musst doch nur bei der Abfrage den NPC eintragen und danach bspw. beim Bart ItAr_Bart durch die Schild-Instanz ersetzen. Und halt die restlichen Mützen löschen, die brauchst du ja nicht. Weiß echt nicht, was da das Problem ist
Code:
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(NPC-Instanz)
{
if (Npc_HasItems(hero, ItSh_Schild_01) == 0)
{
CreateInvItems (slf, ItSh_Schild_01, 1);
AI_EquipArmor (slf, ItSh_Schild_01);
};
};
-
Zitat von Bonne6
Was ist denn dabei das Problem? Du musst doch nur bei der Abfrage den NPC eintragen und danach bspw. beim Bart ItAr_Bart durch die Schild-Instanz ersetzen. Und halt die restlichen Mützen löschen, die brauchst du ja nicht. Weiß echt nicht, was da das Problem ist
Code:
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(NPC-Instanz)
{
if (Npc_HasItems(hero, ItSh_Schild_01) == 0)
{
CreateInvItems (slf, ItSh_Schild_01, 1);
AI_EquipArmor (slf, ItSh_Schild_01);
};
};
hmm genau das habe ich gemacht......
das sah bei mir so aus....sentenza sollte den schild als test tragen
Code:
FUNC VOID B_UseHat (var C_NPC slf)
{
// Schilde (Männer)
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(SLD_814_Sentenza))
{
if (Npc_HasItems(slf, ItAr_1shield) == 0)
{
CreateInvItems (slf, ItAr_1shield, 1);
AI_EquipArmor (slf, ItAr_1shield);
};
};
so habe ich es eingefügt.....
und sentenza den schild noch als waffe in die skripte eingetragen..und zwar so
AI_EquipArmor (slf, ItAr_1shield);
-
Zitat von joey1990
hmm genau das habe ich gemacht......
das sah bei mir so aus....sentenza sollte den schild als test tragen
Code:
FUNC VOID B_UseHat (var C_NPC slf)
{
// Schilde (Männer)
if (Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(SLD_814_Sentenza))
{
if (Npc_HasItems(slf, ItAr_1shield) == 0)
{
CreateInvItems (slf, ItAr_1shield, 1);
AI_EquipArmor (slf, ItAr_1shield);
};
};
so habe ich es eingefügt.....
und sentenza den schild noch als waffe in die skripte eingetragen..und zwar so
AI_EquipArmor (slf, ItAr_1shield);
Das Problem ist einfach, dass du nicht weißt, was du eigentlich machst. Du solltest dich mal ins Wiki begeben und dich mal bisschen ins Skripten einlesen.
In dem Codeteil, den du jetzt hast, definierst du eine Funktion mit dem Namen "B_UseHat". Du musst diese natürlich auch (in diesem speziellen Fall in Inventar) aufrufen. Ansonsten hat sie keinen Nutzen.
Aber es ist sinnlos jemand jede Zeile vorzubeten. Man muss sich einfach mal mit der Materie auseinander setzten. Ich kann dir nur raten, einfach mal paar Tutorials zu machen, oder dich ein wenig durchs Wiki zu lesen. Dir die Orginal G2 Skripte anzuschauen, diese zu verändern usw. So dass du erstmal bisschen Praxis bekommst.
Danach kannst du dich nochmal an sowas setzten (wobei es wirklich nicht schwer ist). Und wenn du dann ein spezielles Problem hast, kannste immer noch hier im Forum nachfragen und wirst mit Sicherheit auch eine zufriedenstellende Antwort und Lösung erhalten.
-
hmmm ich komme wirklich nicht so ganz klar.....die sachen was hier in den codes steht funzen net bei mir
kann mir das skript nicht jemand komplett schreiben?
es würde doch auch sicher vielen anderen leuten nützen?
-
ehm sorry das ich das jetzt sagen muss, aber nein! wenn du es nicht mal versuchst ein script zu schreiben bzw abzuändern. Wird dir hier sicher keiner eins schreiben. Derschweige den überhaupt. Ich habe es teils ganz alleine gelernt. Ohne wiki. Das funzt indem du in die anderen scripten(origi.gothic scripts) schaust.
-
-
Zitat von joey1990
hmm das versuche ich ja schon seit ner guten woche
und die bestehenden bzw hier gezeigten zu ändern und anzupassen auch^^
es geht nicht wirklich
Dann lass es erstmal ruhen, mach was anderes (Also schon im Bereich Scripten) und wenn du einfach ein wenig mehr Verständnis bzgl. der Scripte hast, versuch es nochmal. Es zu erzwingen macht nicht immer Sinn.
-
und damit reicht es bitte erstmal auch, wir drehen uns hier im Kreis. Wenn jemand weitere Hinweise oder ein fertiges Skript für ihn hat, darf das natürlich geschrieben werden, aber immer wieder nachfragen und darauf hinweisen, erst ein bisschen zu lernen, bringt wohl keinen Mehrwert mehr
(Andere Fragen sind natürlich auch noch gerne gesehen )
-
Ich möchte mit meiner Frage auch gerne bei den Schilden bleiben. Ich habe derzeit nur mein Laptop und daher kann ich selbst nicht scripten. Mich würde allerdings interessieren, ob die Unequip-Funktion der Schilde, die ja in den Scripts steht, richtig funktioniert. Wie gesagt, ich habe derzeit nicht die Möglichkeit es auszuprobieren.
-
Ja tut sie
-
Ich möchte für meine Mod.. Wirklich nur die farbigen Namen übernehmen. Meine Frage dazu wäre: Welche Datein von Lego,Floats bzw. Ikarus müsste ich mit in den Installer schieben ?
Grüße!
-
Lad dir das Paket aus dem Anfangspost runter. Dort ist ein Readme drin.
-
Ja,aber wenn ich jetzt nichts überlesen habe.. Steht dort nicht welche Datein in den Installer müssen
-
Die Scripte kommen in compilierter Form in den Installer. Die für dich relevanten sind alle in der GOTHIC.DAT .
Wieso willst du nicht alle Scripte reinnehmen?
These days, most of my projects can be found on github.
-
Hm kleiner Denkfehler ;D Ich war gerade der Meinung (wieder) die .d´s rein zu packen ^,^ danke
-
hallo ich bins wieder ....habe einige fehler beim schildkampf endekt......weis nicht ob die zu beheben sind?
und zwar
1.
wenn man einen bogen zusammen mit einer 1h waffe und einen schild trägt, den bogen verwendet und danach gleich die 1h waffe+ schild, ist der bogen bis zum nächsten speichern und laden nicht mehr verwendbar.
2.
wenn man ein spielstand lädt ist der schild abgelegt, wenn man dann die waffe zieht, hat der held den schild in der hand und beim waffe wegstecken wieder am rücken, die schuztwerte hat de held auch noch, aber der schild ist im inventar nicht angelegt. legt man ihn erneut an, hat der held den doppelten schutzwert auf ewig....mit ner bestimmten zeitspanne kann er belibig viel schutzwert bekommen, da beim speichern/laden der schild immer abgelegt wird und der schutzwert beleibt.
3.
bei NPCs die bogen schiessen (auch beim helden) liegt der schild dann an der linken seite wo die 1h waffe ist. ein NPC hat nach weglegen des bogens den schild in der hand und auf den rücken....sieht komisch aus^^
Geändert von joey1990 (08.10.2011 um 21:04 Uhr)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|