Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 05.11.2011, 13:07   #1 (permalink)
Newbie
 
Registriert seit: 27.09.2011
Beiträge: 6
Standard KI darf nur stehen oder hocken aber nicht liegen

Wie kriegt man hin dass die KI nur steht oder hockt, sich aber nicht hinlegt?

setUnitPos ist klar, aber damit befielt man ja nur eine Position.
die KI soll sich aber der Situation entsprechend eine von beiden aussuchen dürfen aber eben nicht "down".

Jemand ne Idee?
Steirer ist offline  
Alt 05.11.2011, 14:42   #2 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Wenn du eine Abfrage kennst die feststellt ob die KI liegt, dann könnte das vielleicht gehen. Aber gibt es eine solche Abfrage?

Kannst ja einmal hier nachsehen: http://community.bistudio.com/wiki/C...Commands_ArmA2
Vienna ist offline  
Alt 05.11.2011, 15:08   #3 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
Standard

Stellt fest, ob Spieler liegt:

Code:
player selectionPosition "Neck" select 2 < 0.5
__________________
Buliwyf ist offline  
Alt 05.11.2011, 16:10   #4 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Das ist ja schon erfreulich, dass man das abfragen kann. Jetzt fehlt nur noch wie man einen Liegenden zum Aufstehen oder Knien bewegt.

Vielleicht geht es mit:

http://community.bistudio.com/wiki/playMove
http://community.bistudio.com/wiki/A...lt:_Moves_List

oder

http://community.bistudio.com/wiki/playAction
http://community.bistudio.com/wiki/ArmA:_Actions
Vienna ist offline  
Alt 05.11.2011, 16:24   #5 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

Ich fand die ganze Sache interessant und hab mich selber mal ans Testen gemacht.

Mit dem Eventhandler AnimDone hab ich mal eine moegliche Loesung erstellt.

Initzeilenvariante:
Code:
this addEventHandler ["AnimDone",{if (animationState (_this select 0) == "amovppnemstpsraswrfldnon") then {(_this select 0) setunitpos "middle";0=[(_this select 0)]spawn{sleep 60;(_this select 0) setunitpos "auto"}}}]
Triggervariante:
Code:
{_x addEventHandler ["AnimDone",{if (animationState (_this select 0) == "amovppnemstpsraswrfldnon") then {(_this select 0) setunitpos "middle";0=[(_this select 0)]spawn{sleep 60;(_this select 0) setunitpos "auto"}}}]} foreach thislist
Bei diesem Eventhandler wird die Animation des Soldaten abgefragt (amovppnemstpsraswrfldnon = Liegen). Wenn der Soldat liegt wird ihm per setunitpos "middle" zu knieen befohlen und mit dem spawnscript nach 60 sekunden wieder eine automatische wahl (stehen,knieen,theoretisch auch liegen) ermoeglicht wobei sich beim hinlegen das ganze wieder von vorne abspielt.

gruß

hoschi
__________________


Moerderhoschi ist offline  
Alt 05.11.2011, 16:28   #6 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
Standard

Das mit dem Animationstatus ist schön und gut, aber sobald Du eine Pistole in der Hand hast, heisst die Animation anders... und das war nur eine Möglichkeit von vielen...
__________________
Buliwyf ist offline  
Alt 05.11.2011, 16:47   #7 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
Standard

Man koennte auch einfach deine variante der Abfrage anstatt der Animation nehmen sodass von pistole ueber granate bis zum gewehr alles abgedeckt ist.

Code:
this addEventHandler ["AnimDone",{if ((_this select 0) selectionPosition "Neck" select 2 < 0.5) then {(_this select 0) setunitpos "middle";0=[(_this select 0)]spawn{sleep 60;(_this select 0) setunitpos "auto"}}}]
gruß

hoschi
__________________


Moerderhoschi ist offline  
Alt 05.11.2011, 19:06   #8 (permalink)
500 Beiträge
 
Benutzerbild von Virility92
 
Registriert seit: 22.05.2008
Beiträge: 552
Standard

Zitat:

Name setUnitPos "KneelDown" - Einheit kniet und wählt zwischen Liegen und Knien

demnach müsste doch auch Name setunitpos "UpMiddle" funktionieren, bzw UpKneel^^
Virility92 ist offline  
Alt 05.11.2011, 19:25   #9 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
Standard

Zitat von Virility92 Beitrag anzeigen

demnach müsste doch auch Name setunitpos "UpMiddle" funktionieren, bzw UpKneel^^

Wat ihr euch hier manchmal zusammenreimt is der Hammer...

>> setUnitPos <<
__________________
Buliwyf ist offline  
Alt 05.11.2011, 19:39   #10 (permalink)
500 Beiträge
 
Benutzerbild von Virility92
 
Registriert seit: 22.05.2008
Beiträge: 552
Standard

hehe ok habs jetzt ausprobiert, so funzt es doch nicht, aber wenn mans so schreibt schon:
this setunitpos "Up"; this setunitpos "Middle";

tadaaaaa

//edit: halt shit geht doch nich.. dann bleibt er die ganze zeit geduckt -.-
ich hab das aber schonmal hinbekommen in arma 1, ich weiß bloß nicht mehr wie, die lösung war ganz simple^^

Geändert von Virility92 (05.11.2011 um 19:43 Uhr).
Virility92 ist offline  
 


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


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 117 118 119