PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spawn mit Script verknüpfen !?


drums296
07.12.2006, 16:24
Hallo Kiebe Community !!

Ich habe ein Script gemacht, der immer neue Einheiten Spawnen lässt.

Ich setzt eine tote Einheit in der nähe der Stadt hin(name Gegner)
Ich schreibe folgendes script:


#neu
_soldat01="SoldierEMedic" createunit [getpos Gegner,Gegner,"",0.5,"SERGANT"]

_soldat02="SoldierEMedic" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]

_soldat03="SoldierEMedic" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]

_soldat04="SoldierEMedic" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]

exit

->Ich mach einen Auslöser, der immer wenn keine osteinheiten da sind dieses script aufruft (this exec "scriptname.sqs")

Soweit so gut ^^

Wie schaffe ich es das nachdem die EInheiten gespawnt sind ein weiteres Script ausführen ??

Achso... Wie schaffe ich es das Zivilisten auch gegenüber West EInheiten feindlich sind ??


Danke für die Hilfe !!

Feuerwerker
07.12.2006, 16:55
indem du zwischen dem letzten respawn-befehl und dem kommando "exit" noch den befehl zum ausführen eine scriptes setzt. aus gefühl her würde ich noch eine zehntelsekunde wartezeit einbauen.


also so:

_soldat04="SoldierEMedic" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]
~0.1
this exec "scriptname.sqs"
exit

anstatt "this" solltest du aber vielleicht eine lokale variable wählen wie zb: _soldat04



mit der anderen frage bin ich noch nicht soweit.



mfg
feuerwerker

drums296
07.12.2006, 17:26
Also das Script sieht so aus !

#neu
_soldat01="Civil_Undead_2" createunit [getpos Gegner,Gegner,"",0.5,"SERGANT"]

_soldat02="Civil_Undead_2" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]

_soldat03="Civil_Undead_2" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]

_soldat04="Civil_Undead_2" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]
~0.1
_Soldat01 exec "Sciptname.sqs"
_Soldat02 exec "Sciptname.sqs"
_Soldat03 exec "Sciptname.sqs"
_Soldat04 exec "Sciptname.sqs"

exit

funzt aber irgendwie immer noch nich... finde auch keinen fehler !

pspsps91
07.12.2006, 17:29
was soll den das Script, das nach dem respawn ausgeführt wird bewirken bzw. kannst du das auch mal posten?

drums296
07.12.2006, 17:41
?!Local Server : Exit

_zombie = _this Select 0

_factor = 4

_zombie SetDammage .8

[_zombie] join GrpNull

?_zombie in list PetroviceE : _zombie SetPos Getpos mark1

_zombie SetBehaviour "CARELESS"
_group = Group _zombie

_group SetSpeedMode "FULL"

_bodytime = 10

? param2 == 1:_bodytime = 1
? param2 == 2:_bodytime = 10
? param2 == 3:_bodytime = 20
? param2 == 4:_bodytime = 40

#Main
_zombie Removemagazines "Strokefist"
?(!alive _zombie) : goto "End"
?_zombie Distance _target > 200 : goto "End"
?_zombie in list PetroviceE : _zombie SetPos Getpos mark1


#FindUnit
_y = 1
_target = Leader WGroup

#FindLoop
~.01

_unit = Units WGroup Select _y

;;hint format["%1\nsld: %2",_unit,_target]

?_zombie Distance _unit < _zombie Distance _target : _target = _unit

_y = _y + 1

?!Alive _zombie : Goto "End"

?_y < Count Units WGroup : Goto "FindLoop"

?_zombie Distance _target > 170 : Goto "end"

?!Alive _target OR IsNull _target : goto "FindUnit"

?format["%1",_target] == "scalar bool array string 0xfcffffef" : Goto "End"


#Move

? _zombie distance _target <= 1 : _zombie addMagazine "StrokeFist"; goto "attack"
? _zombie distance _target > 1 && _zombie distance _target <= 5 : goto "engage"
? _zombie distance _target > 5 : _zombie doMove getPos _target

~1
Goto "Main"

#engage
;;?_target in APC:goto "main"
;;?_target in fueltruck:goto "main"

_nX = getPos _target select 0
_nY = getPos _target select 1
_zombie setPos [_nX, _nY]
goto "main"

#attack
? _zombie distance _target > 1 : goto "main"
_target globalchat "AIEEEEE get it off me!! Heeeelllpp!!"
_zombie fire "StrokeFist"
_target setDammage (getDammage _target + 0.1)
~1
_zombie removeMagazines "StrokeFist"
goto "main"

#End

respawn=2;
respawn_delay=2;

~_bodytime

DeleteVehicle _zombie

pspsps91
08.12.2006, 13:38
Ok, ok...:confused:

sieht so auf den ersten Blick aus wie ein Zombiescript aus OFP...Wahrscheinlich ist irgendein Befehl nicht ArmA kompatibel..?

_zombie removeMagazines "StrokeFist"
könnte mir vorstellen, dass es damit zu tun hat, kann aber noch ein paar andere Ursachen haben.
Ich glaub es wäre einfacher zu warten, bis jemand ein ArmA Zomiescript schreibt, und das dann übernehmen

Feuerwerker
08.12.2006, 14:25
_zombie removeMagazines "StrokeFist"


diesen befehl habe ich kürzlich in ArmA verwendet und er funktioniert. daran kann es nicht liegen.





mfg
feuerwerker

drums296
10.12.2006, 13:43
Komisch als ich ihn verwendet habe, sagte er mir das es den Befehl "StrokeFist" nicht gibt

MarcusErgalla
10.12.2006, 13:51
Komisch als ich ihn verwendet habe, sagte er mir das es den Befehl "StrokeFist" nicht gibt
StrokeFirst ist kein Befehl, es ist eine Waffe, von daher kann ArmA mit StrokeFirst nur etwas in Bezug auf Magaziner und Waffen anfangen ;)

pspsps91
10.12.2006, 15:19
StrokeFirst ist kein Befehl, es ist eine Waffe, von daher kann ArmA mit StrokeFirst nur etwas in Bezug auf Magaziner und Waffen anfangen

genau so hab ich mir das auch gedacht. In ArmA haben sich die meisten waffen- und magazinenamen ja geändert

drums296
11.12.2006, 15:38
UNd wie lößt man das problemchen ?

pspsps91
11.12.2006, 17:20
das beste wäre ja ein neues Zombiescript zu schreiben. Oder natürlich solange warten, bis es ein anderer tut;)

drums296
13.12.2006, 15:07
Moin Liebe COmmunity !!

Wenn die EInheiten spawnen, erscheinen auch die vier geforderten einheiten, aber jedoch eine führt ein angehängtes script nur aus... was mach ich falsch ??

Also das Script sieht so aus !

#neu
_soldat01="Civil_Undead_2" createunit [getpos Gegner,Gegner,"",0.5,"SERGANT"]

_soldat02="Civil_Undead_2" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]

_soldat03="Civil_Undead_2" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]

_soldat04="Civil_Undead_2" createunit [getpos Gegner,Gegner,"",0.5,"PRIVATE"]
~0.1
_Soldat01 exec "Sciptname.sqs"
_Soldat02 exec "Sciptname.sqs"
_Soldat03 exec "Sciptname.sqs"
_Soldat04 exec "Sciptname.sqs"

Alternativ: [this]exec "scriptname.sqs"


Danke für die Hilfe

pspsps91
13.12.2006, 18:34
versuch mal [_soldat01] exec "script.sqs",...

MarcusErgalla
13.12.2006, 18:38
Wie sieht denn das andere Skript aus?

drums296
13.12.2006, 19:44
Schau mal unter dem Post vom 07.12.2006 17:41 ein bisschen weiter oben :)

Straubinger82
14.12.2006, 17:48
Hi Leute...

skripten ist erst mal neuland für mich. *reusper*

aber ich will in einzelmissionen respawn einbauen. geht das auch?
oder nur bei MP? und wenn, dann würd ich das auch gern in der Editor-Vorschau ausprobiern... geht das?

Mit Respawn, meine ich, im Todesfalle... als nächster aus gruppe und rangliste.

Zum Thema selbst... wie stell ich das genau an, das auch NPC´s respawnen.. damit Einzelmission nicht so schnell fertig vs. Perfomanceprobs seitens Engine^^?

Fragen über Fragen... aber ich denk, hier passts am besten rein. Vieleicht gibbet ja en beispiel skript. *händereib*

pspsps91
15.12.2006, 16:31
Respawn müsste im SP genauso gehen wie im MP..., einfach mal im Forum suchen...

Zum Thema selbst... wie stell ich das genau an, das auch NPC´s respawnen.. damit Einzelmission nicht so schnell fertig vs. Perfomanceprobs seitens Engine^^?

ich kann dir mal ein kleines Script anbieten, das garantiert keine Performanceprobs verursacht:
_unit = _this select 0
_t = _this select 1
_count = _this select 2
_startpos = getpos _unit
_startdir = getdir _unit
_counter = 0
#neu
? _count == 0:goto "springen"
? _count == _counter:exit
#springen
@ !(alive _unit)
~_t
_counter = _counter + 1
_unit setpos _startpos
_unit setdamage 1
_unit setdir _startdir
goto "neu"

Zur aktivierung: bei jeder Einheit die Respawnen soll in der Initzeile eintragen: [this,15,1] exec "KI_spawn.sqs"
-15 ist dabei die Zeit bis zum respawn
-1 ist die Anzahl wie oft die Einheit respawnen kann(bei 1 hat sie zwei Leben!)

*ich habs nicht getestet...

Straubinger82
15.12.2006, 17:01
das heist ich mach nen ordner in den missi-ordner namens KI_spawn.sqs. oder?

und da schreib ich den Kauderwelsch rein, hm?


Denn noch init... und ab die Lutzi...

Muss ich denn bei Gelegenheit mal schaun. Danke dir. Hab im Forum nix über SP-Respawn gefunne.

pspsps91
16.12.2006, 12:34
as heist ich mach nen ordner in den missi-ordner namens KI_spawn.sqs. oder?


du musst keinen Ordner sondern nur ne text Datei erstellen, da das Script reinkopieren und die Datei dann in KI_spawn.sqs umbenennen. (darauf achten, dass das Script nicht KI_spawn.sqs.txt heißt!)