Armed-Assault.de Twitter


Editing The world is a Script - write it!

Antwort
 
Themen-Optionen Ansicht
Alt 23.09.2008, 18:27   #1 (permalink)
Newbie
 
Registriert seit: 23.09.2008
Alter: 42
Beiträge: 3
Schallhofer eine Nachricht über ICQ schicken
Standard createUnit wenn dead

Guten Tag,
ich habe mich hier angemeldet, da ich trozt MR-Murray und anderer Studien selten ans Skriptziel komme.

Der Wunsch: Ich möchte die Anzahl von Mitgliedern in einer Gruppe konstant halten - wenn eine KI stirbt, wird eine neue Unit irgendwo erzeugt und dieser Gruppe zugewiesen.

Map Objekte:
Eine KI mit Namen WGrp1, ein Objekt mit Namen H1, ein Auslöser der das Skript startet

Der Code.sqs:
#Start
_H1 = createMarker ["E_Respawn", position H1];
;** Erzeuge einen Marker mit Namen E_Respawn am Objekt mit Namen H1**

? (countunits WGrp1) < 9 : "BWDes_SoldierWG" createUnit [getMarkerPos "E_Respawn", WGrp1, "", 0.7, "Corporal"];
;** Erzeugt neue Einheit, weist sie Gruppe zu, wenn Gruppe kleiner als 9 ist **
~5
Goto "Start"

Ergebnis:
Die Gruppe WGrp1 wird aufgefüllt, bis sie die Anzahl 9 erreicht. Aber sie wird nicht aufgefüllt, wenn dann ein Mitglied stirbt. Warum?
Ich wäre für jedes Feddback dankbar.

Schallhofer ist offline   Mit Zitat antworten
Alt 23.09.2008, 21:27   #2 (permalink)
Newbie
 
Registriert seit: 23.09.2008
Alter: 42
Beiträge: 3
Schallhofer eine Nachricht über ICQ schicken
Standard

OK, die Nummer funktionier, solange der erste Leader der Gruppe noch lebt ... wie komme ich aus der Nummer raus?
Schallhofer ist offline   Mit Zitat antworten
Alt 24.09.2008, 17:33   #3 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von pspsps91
 
Registriert seit: 22.12.2005
Beiträge: 323
Standard

Zitat:

? (countunits WGrp1) < 9 :

Da liegt dein Problem! WGrp1 ist wohl der Name des Leaders -> Wenn dieser Stirbt gibts die Gruppe so nicht mehr, da der neue Leader nicht mehr so heißt.

Lösung:
Du ließt die Gruppe einfach am Anfang des Scripts in eine Variable ein, dann ist sie gespeichert.
Code:
_H1 = createMarker ["E_Respawn", position H1];
_Gruppe = group WGrp1

#Start
? (countunits _Gruppe) < 9 : "BWDes_SoldierWG" createUnit [getMarkerPos "E_Respawn", WGrp1, "", 0.7, "Corporal"];
~5
Goto "Start"
...ich habs jetzt nicht getestet, aber ich denk dass das der Fehler war.
__________________
SP Mission, coming soon...
pspsps91 ist offline   Mit Zitat antworten
Alt 24.09.2008, 18:59   #4 (permalink)
Newbie
 
Registriert seit: 23.09.2008
Alter: 42
Beiträge: 3
Schallhofer eine Nachricht über ICQ schicken
Standard

Vielen Dank, dies scheint eine noch bessere Lösung zu sein als meine.
Ich nahm den Namen des Leaders (WGrp1) raus und gab diesen Namen der Gruppe über "WGrp1 = group this", funzt auch wunderbar.

Vielen Dank für die Antwort.
Schallhofer ist offline   Mit Zitat antworten
Antwort

Stichworte
createunit, ctf, gruppe


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
The Land of the Dead - Part I Bulletstorm Usermade Missions 5 01.11.2006 13:37
Problem mit createunit Einheiten SWAT Editing 22 27.12.2005 13:38
Brauche diverse Addons für "Dead Corpse" 8-Ball Hilfe 2 27.03.2004 12:11


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116