World of Gothic Archiv
> Editing [G1]Item Flags |
|
13.04.2004, 20:19 | #1 | ||
König Rhobar II Beiträge: 639 |
[G1]Item Flags
ich habe einen neuen item flag eigefügt, damit ich die Gürtel aus G2dndr in eine G1 Mod einbauen kann. Das klappt auch allerdings kann ich unendlich viele Gürtel auf einmal anlegen. Wo kann ich festlegen, wie viele Items dieser Sort man anlegen kann? |
||
13.04.2004, 21:03 | #2 | ||
Ken Suyoko Beiträge: 923 |
seltsamer weise hab ichd as mit Amrbändern gemacht und ich kann ebenfalls hunderte anziehen. Vielleicht kann man da einfach nur als Bedinung 2 verschiedene Sorten von Gürteln oder Armbändern ins spiel binden. Jedoch gibt es da auch noch die cheater... |
||
14.04.2004, 09:00 | #3 | ||
Maharreshi Beiträge: 82 |
Ich würde sagen, das liegt daran, dass Gothic I überhaupt keine Gürtel / Armbänder kennt. Während in Gothic II eine C++-gecodete Abfrage existiert, wieviele Items dieser Art der Spieler schon equipped hat und ob er überhaupt noch eins von der Sorte equippen darf, denkt sich Gothic I in dem Sinne halt nix dabei... Ich würde mich allerdings auch gern noch eines Besseren belehren lassen;) |
||
14.04.2004, 09:13 | #4 | ||
Ken Suyoko Beiträge: 923 |
Aber bei G1 ist doch auch diese Begrenzung da. das man nur 1 Amulet und 2 Ringe anziehen kann. Drum muss es doch da cuh so etwas wie: equipItem ITEM_AMULET = 1 equipItem ITEM_RING = 2 aber ich finde das nicht. bei de G2 skripten such ich auch vergebents... |
||
14.04.2004, 09:29 | #5 | ||
Ken Suyoko Beiträge: 923 |
Sry für doppelpost aber irgenwie konnte ich nicht eidtieren. ich habe in den Gothic Sachen folgenden Skript gefunden: E:GamesGothic IIG2_workDataScriptsContentAIHumanC_Human // ****************************************************************** // C_NpcIsUndead // ------------- // checkt ob der übergebene NSC ein untoter ist // ****************************************************************** func int C_NpcIsUndead(var C_NPC slf) { if (slf.guild == GIL_GOBBO_SKELETON) || (slf.guild == GIL_SUMMONED_GOBBO_SKELETON) || (slf.guild == GIL_SKELETON) || (slf.guild == GIL_SUMMONED_SKELETON) || (slf.guild == GIL_SKELETON_MAGE) || (slf.guild == GIL_ZOMBIE) || (slf.guild == GIL_SHADOWBEAST_SKELETON) || (slf.guild == GIL_UNDEADORC) || (slf.aivar[AIV_MM_REAL_ID] == ID_DRAGON_UNDEAD) { return TRUE; }; return FALSE; }; Das kann man doch umschreiben in: // ****************************************************************** // C_NpcueArmband // ------------- // checkt ob der übergebene NSC ein Armband trägt // ****************************************************************** func int C_NpcUseItem_Armband(var C_NPC slf) { if (hero == useITEM_ARMBAND) || (other == useItem_ARMBAND) { return TRUE; }; return FALSE; }; so änlich aber nun muss nach der COndition die Folge sein! Und das weis ich noch net wie ich das schreiben soll. |
||
14.04.2004, 10:00 | #6 | ||
Maharreshi Beiträge: 82 |
quote: Ich meinte ja, dass man danach in den Skripten wahrscheinlich lange suchen kann und doch nix findet, weil diese Beschränkungen im C++-Gothic I/II-Programmcode festgelegt sind. Edit: Ich hab mir mal n paar Gedanken gemacht: THEORETISCH könnte es funktionieren, wenn man eine globale variable definiert, die die Anzahl der equippten Armbänder enthält. In der OnEquip-Funktion wird diese Variable um 1 erhöht, in OnUnEquip-Funktion um 1 verringert. In der OnEquip-Funktion müsste dann noch folgendes stehen: Wenn die Variable nach der Addierung von 1 größer ist als die maximal mögliche Anzahl gleichzeitig getragener Armbänder (eine globale Konstante), wird das Armband direkt wieder UnEquipped. Da es leider keine AI_UnEquipItem-Funktion gibt, könnte es EVENTUELL funktionieren, wenn man dem Spieler das jeweilige Item komplett abnimmt und anschließend direkt wieder dem Inventar hinzufügt... Wie gesagt: „Grau is alle Theorie...“ P.S.: quote: Ich habe mich schon immer gefragt, warum nur 2 Ringe gleichzeitig tragen kann... Logisch wären doch 10:D |
||
14.04.2004, 18:39 | #7 | ||
Ken Suyoko Beiträge: 923 |
Sorry aber das versteh ich net. kannst du es mir bitte nochmal erklären? und bitte ohne Zitate. sag einfach in welchen srkipt ich was reinschreiben soll. am besten du machst das für mich und ich kopier einfach nur rein^^ |
||
14.04.2004, 18:50 | #8 | ||
Maharreshi Beiträge: 82 |
Hm... G1 oder G2? Aber ich würde sagen, bevor du dir was kopierst, teste ich erst mal, ob's überhaupt funktioniert...:D |
||
14.04.2004, 21:17 | #9 | ||
Ken Suyoko Beiträge: 923 |
also zu der ersten Frage: ich bastel noch immer an G1 rum! Wenn ich gut genug bin wage ich mich an G2 ran und kann endlich wieder platz auf meiner Platte schaffen^^ also dann teste mal schneller. Ich will etwas kopieren damit ich eigene Armbänder machen kann... |
||
14.04.2004, 21:59 | #10 | ||
Maharreshi Beiträge: 82 |
es könnte leider noch n bisschen dauern, ich muss noch den Lizenztext absegnen lassen ;W |
||
14.04.2004, 22:11 | #11 | ||
Ken Suyoko Beiträge: 923 |
hahaha. aber hohfentlich gehts.... |
||
14.04.2004, 22:46 | #12 | ||
Maharreshi Beiträge: 82 |
Also mal sehen... Es funktioniert. Leider nur teilweise. Versuche im Moment das irgendwie zu fixen. Ich poste mal, was ich bis jetzt habe: code\: So, das alles am Besten in eine Datei packen (nicht vergessen wg. G1-Kompatibilität die Visuals anzupassen)! Wie gesagt, so ganz funktioniert es noch nicht. Aber zum Testen reicht es, vielleicht findet ja jemand anderes 'ne Lösung *hoff*... |
||
15.04.2004, 02:42 | #13 | ||
HornOx Beiträge: 1.458 |
Es kann auch vorkommen das das der Spieler ein Armband mehrfach hat, besser mit Npc_HasItems, Npc_RemoveInvItems und CreateInvItems alle entfernen und wieder einfügen anstatt nur eins. Dann brauchst du imho noch 2 globale variablen in dem die aktuell angelegten armbänder abgespeichert sind. |
||
15.04.2004, 13:40 | #14 | ||
König Rhobar II Beiträge: 639 |
Ich hab das mal versucht, ich kann immernoch mehrere Gürtel anlegen, und jedsmal, wenn ich einen zweiten anlege verdoppelt sich die anzahl der Gürtel^^. Ich hab das allerdings ein bischen anders gemacht: code\: kann sein dass ich hier totalen Mist gebaut hab^^ irgendwo wird da was falsch sein edit: ich hab mir das nochmal angesehen: Er fügt die Gürtel wieder hinzu, aber er entfernt sie vorher nicht. |
||
17.04.2004, 00:01 | #15 | ||
JonathanSalznik Beiträge: 22 |
Npc_RemoveInvItems funktioniert nur korrekt bei Gegeständen, die gestapelt werden können (flag |= ITEM_MULTI) wie Pfeile oder Bolzen. Gegenstände zu stapeln, die angezogen werden können, macht meistens wenig Sinn, da man dann nur noch einen der gestapelten Gegenstände anziehen kann. Bei Gürteln sollte es allerdings kein grosses Problem sein, da man eh nur einen gleichzeitig tragen darf. |
||
17.04.2004, 00:24 | #16 | ||
NicoDE Beiträge: 1.398 |
quote: |
||
17.04.2004, 13:10 | #17 | ||
König Rhobar II Beiträge: 639 |
ich hab noch ein paar andere Fehler gefunden, aber jetzt klappt es, danke |
||
17.04.2004, 13:42 | #18 | ||
Ken Suyoko Beiträge: 923 |
Alles gute zum Satansbraten, Rhobar!!!! war ich auch schon bin aber shcon einige posts drüber hinaus^^ |
||
|