Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
quickstart:spacer:mobsplatzieren:ocmobswitch [2026/08/25 18:29] 43.172.197.159 alte Version wiederhergestellt (2026/08/16 12:45) |
quickstart:spacer:mobsplatzieren:ocmobswitch [2026/08/27 06:05] (aktuell) 43.173.180.12 alte Version wiederhergestellt (2026/08/17 07:50) |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | |||
| ====== oCMobSwitch ====== | ====== oCMobSwitch ====== | ||
| - | |||
| - | |||
| - | |||
| - | .............................................................{{: | ||
| - | |||
| * Vorkenntnisse und das Verstehen des Einbaus eines Standard-Mobs (oCMobInter) wären von Vorteil. | * Vorkenntnisse und das Verstehen des Einbaus eines Standard-Mobs (oCMobInter) wären von Vorteil. | ||
| Zeile 15: | Zeile 11: | ||
| *Eine Empfehlung von mir: Wer seine Schalter als oCMobSwitch setzt, findet sie im Object_**List**_Fenster im Ordner oCMobSwitch bequem wieder, wenn sie als ocMobInter gesetzt sind, dann sind die Schalter durcheinander gemixt und man muss sie mühselig suchen, zwischen Kochkesseln und Bänken und Stühlen... etc. | *Eine Empfehlung von mir: Wer seine Schalter als oCMobSwitch setzt, findet sie im Object_**List**_Fenster im Ordner oCMobSwitch bequem wieder, wenn sie als ocMobInter gesetzt sind, dann sind die Schalter durcheinander gemixt und man muss sie mühselig suchen, zwischen Kochkesseln und Bänken und Stühlen... etc. | ||
| - | ===== 1. Einstellungen | + | ===== 1. Einsetzen |
| * **1.1.0 oCVob(abstract) -> oCMob -> oCMobInter -> oCMobSwitch** | * **1.1.0 oCVob(abstract) -> oCMob -> oCMobInter -> oCMobSwitch** | ||
| Zeile 22: | Zeile 17: | ||
| {{: | {{: | ||
| - | 1.1.0 - Einstellungen und Eintragungen im Objektfenster | + | ===== 2.Einstellungen ===== |
| - | * vobName: | + | |
| + | 2.0.0 - Einstellungen und Eintragungen im Objektfenster | ||
| + | |||
| + | | ||
| * **cdDyn: | * **cdDyn: | ||
| + | |||
| * **vobFarClipZScale: | * **vobFarClipZScale: | ||
| - | * Wenn ihr ein wichtiges Vob/Mob hättet in einem grossen Saal, und dieses wird ausgeblendet, | + | * Wenn ihr ein wichtiges Vob/Mob hättet in einem grossen Saal und dieses wird ausgeblendet, |
| - | * focusName | + | |
| - | =====2. Switch mit FKW beschiessen===== | + | * **focusName: |
| - | **2.0.0 - Man kann mit einem Schalter ein nettes Feature bauen, wo man mit dem Bogen bspw. einen Schalter beschiesst, der dann auslöst. Beispiel | + | |
| - | * 2.0.1 - Zielscheibe setzen als Vob (Kollission geben) | + | {{: |
| - | * 2.1.0 - Schalter setzen (__Touchplate_Stone__) | + | * **useWithItem: |
| - | | + | |
| - | * 2.1.2 - **Objectfenster - Einträge** | + | |
| - | * - __showVisual: | + | |
| - | * - __focusOverride: | + | |
| - | * - __focusname: | + | |
| - | * focusName in der Datei Text.d eintragen < | + | |
| - | * 2.1.3 - Der Schalter ist nur ein Fake und hat mit dem gezählten Treffer nichts zu tun. Er gibt lediglich | + | * **conditionFunc: |
| + | * Beispiel für den Eintrag im Spacer Objektfenster - __B_MYSWITCH__ | ||
| - | **3.0.0 - Jetzt wird der Einschlag registriert ....** | + | * Beispiel für das Script |
| + | < | ||
| + | { | ||
| + | if (Npc_IsPlayer(PC_Hero)) | ||
| + | { | ||
| + | Wld_SendTrigger(" | ||
| + | return TRUE; | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | return FALSE | ||
| + | }; // Nur der Hero darf den Switch bedienen | ||
| + | };</ | ||
| + | * **onStateFunc** Auch hier könnte man ein Script aufrufen. Welche Art von Script ihr wählt, hängt von der jeweiligen Situation und euren Bedürfnissen ab. | ||
| + | | ||
| - | | + | |
| - | * Boundingbox mindestens 20x20x20, sonst reagiert der Trigger eventuell nicht auf den Pfeil. Jetzt kommt es darauf an was man will, je kleiner die Boundingbox, | + | < |
| - | * 3.0.2 - Boundingbox direkt in die Mitte __**vor**__ der Zielscheibe setzen. | + | { |
| - | | + | |
| - | + | };</ | |
| - | **4.0.0 - Treffer generieren** | + | |
| + | * **rewind: | ||
| + | =====3. Switch mit FKW beschiessen===== | ||
| + | | ||
| + | **3.0.0 - Man kann mit einem Schalter ein nettes Feature bauen, wo man mit dem Bogen bspw. einen Schalter beschiesst, der dann auslöst. Beispiel eine Zielscheibe beschiessen** | ||
| + | * 3.0.1 - Zielscheibe setzen als Vob (Kollission geben) | ||
| - | + | * 3.1.0 - Schalter setzen (__Touchplate_Stone__) | |
| + | * 3.1.1 - Den Schalter so positionieren, | ||
| + | * 3.1.2 - **Objectfenster - Einträge** | ||
| + | * - __showVisual: | ||
| + | * - __focusOverride: | ||
| + | * - __focusname: | ||
| + | * focusName in der Datei Text.d eintragen < | ||
| + | |||
| + | * 3.1.3 - Der Schalter ist nur ein Fake und hat mit dem gezählten Treffer nichts zu tun. Er gibt lediglich den Namen an (Zielscheibe) und lenkt den Pfeil auf sein Koordinatenkreuz (gelb, | ||
| - | + | **3.2.0 - Einschlag registrieren ....** | |
| - | | + | |
| + | * 3.2.1 - Triggerscript setzen. | ||
| + | * Boundingbox mindestens 20x20x20, sonst reagiert der Trigger eventuell nicht auf den Pfeil. Jetzt kommt es darauf an was man will, je kleiner die Boundingbox, | ||
| + | * 3.2.2 - Boundingbox direkt in die Mitte __**vor**__ der Zielscheibe setzen. | ||
| + | * 3.2.3 - Triggerscript auf Damage = True setzen, (reagiert nur auf Bolzen und Pfeile, nicht auf Schwert etc ..) | ||
| - | | + | **3.3.0 - Treffer generieren** - Damit das beim Schiessen nicht so langweilig wird würde ich einen Treffer Zufallsgenerator einbauen. |
| - | Code: | + | |
| - | | + | *3.3.1 - Script Trefferquote Zufallsgenerator |
| + | *< | ||
| { | { | ||
| - | | + | var int zufall; zufall=Hlp_Random(6); |
| - | | + | if (zufall |
| - | { | + | if (zufall |
| - | PRINT(" | + | if (zufall |
| - | }; | + | if (zufall |
| - | | + | if (zufall == 4) { PRINT( " |
| - | { | + | if (zufall |
| - | PRINT(" | + | |
| - | }; | + | |
| - | | + | |
| - | { | + | |
| - | PRINT(" | + | |
| - | }; | + | |
| - | | + | |
| - | { | + | |
| - | PRINT(" | + | |
| - | | + | |
| - | | + | |
| - | { | + | |
| - | PRINT(" | + | |
| - | }; | + | |
| }; | }; | ||
| + | *</ | ||
| - | | + | *3.3.2 - Vielleicht noch jede getroffene |
| - | + | ||
| - | EDIT WICHTIG Den Scriptfunc vom Trigger benutzen, nicht den vom Schalter und den Schalter mit dem Trigger nicht verlinken. | + | |
| - | + | ||
| - | + | ||
| + | **WICHTIG - Den Scriptfunc vom Trigger benutzen und den Schalter mit dem Trigger nicht verlinken.** | ||