Archief - Groupchain.sqs

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Blanco

Legacy Member
Een simpel maar nuttig AI fix scriptje dat ik gisteren geschreven heb.

; ***************************************
; GROUPCHAIN.sqs by Blanco
; 28 / 07 / 04
; ***************************************
; Execute it with :
; [name of the groups] exec "groupchain.sqs"
;
; example
;
; [grp1,grp2,grp3] exec "groupchain.sqs"
;=========================================

_c = count _this

_allunits = []
_grpcount = 0

#REPEAT
_b = 0
_grp = _this select _grpcount
_u = units _grp



#CYCLE
_man = _u select _b
_allunits = _allunits + [_man]
_b =_b + 1
~0.2
?_b < count _u : goto "CYCLE"

?_grpcount < _c : _grpcount = _grpcount + 1;goto "REPEAT"


#CHECK
?"behaviour _x != ""SAFE""" count _allunits > 0 OR "!alive _x" count _allunits > 0 : goto "CHANGEBEH"
~1
goto "CHECK"


#CHANGEBEH
"_x SetBehaviour ""AWARE""" foreach _allunits

~1

#PICKONE
_countall = count _allunits
_r = random _countall
_r = _r - _r %1

_alarmguy = _allunits select _r

if (alive _alarmguy) then {goto "CHECKSIDE"} else {goto "PICKONE"}


#CHECKSIDE

?side _alarmguy == WEST : goto "W"
?side _alarmguy == EAST or side _alarmguy == RESISTANCE : goto "E"



#W
_WESTVOICES = ["eng20","eng21","eng40","eng18","eng19","eng12"]

_r = random (count _WESTVOICES)
_r = _r - _r %1

_alarmguy say (_WESTVOICES select _r)

exit

#E
_EASTVOICES = ["rus15","rus10","rus6","rus1"]
_r = random (count _EASTVOICES)
_r = _r - _r %1

_alarmguy say (_EASTVOICES select _r)

exit

Ge zult het ongetwijfeld al meegemaakt hebben : Ge laat een aantal groupen in een bepaald gebied patrouilleren en als er ene sterft in één van die groupen blijven de andere units gewoon in SAFE behaviour verder patrouileren...
Dit script lost dat op.

oooooooooooooooooooooooooooooooooooooooooooooo
============== FAQ =======================
oooooooooooooooooooooooooooooooooooooooooooooo

Hoe activeren ?
=================

[groupsnamen gescheiden door een komma] exec "groupchain.sqs"

Vb :

[grp1,grp2, grp3] exec "groupchain.sqs"

ENKEL groupnamen zijn toegelaten! GEEN individueele units!

Hoe creeer ik een groupnaam?
==========================

Een groupnaam creer je via het command Group
Zet in de init van één van de units van de group :

Grp1 = group this

Nu herkent OFP de units uit die group als Grp1

Waar activeren ?
==================

- In een init van een unit
- In het onactivation veld van een trigger
- In een script
- In de init.sqs
- In het onactivation veld van een waypoint.

Met hoeveel groupen kan ik het script activeren?
=========================================

- On beperkt

Ik heb 2 groupen (grp1, grp2) en een individueele unit (A1) die ook wil laten gebruik maken van Groupchain.sqs? Is dat mogelijk?

========================================================

Ja.
Activeer het script op deze manier :

[grp1,grp2,group A1] exec "groupchain.sqs"

Uw script werkt niet. Ik schiet in de lucht en slechts één group of unit neemt zijn wapen.
=========================================================
Kan gebeuren, maar enkel als je friendly bent tov die groupen.
Het nemen van het wapen staat niet perse gelijk aan behaviour "AWARE"
Als een friendly unit beschoten wordt door een andere friendly unit gaan ze hun wapen nemen maar hun behaviour veranderd niet. Pas als je iemand doodschiet (of meerdere, hangt af van rank) gaat ze je als vijandig beschouwen en veranderd hun behaviour wel.

Iemand roept iets als ze hun behaviour veranderen?!
============================================

Inderdaad. Dat is ingebouwd in het script. Als iemand zijn behaviour veranderd of sterft gaat iemand (moet wel leven) random uit één van die groupen alarm slaan.
De US in't Engels, de Russen en Resistance in Russisch.

Nog vragen?
==============
Let me know.

Known Bugs
==============
Bugfree

-=PIKMOF=-XceL

Legacy Member
cool
zo wat meer reactie en klappenans van de tegenstanders is waar ik naar op zoek ben

[BAT]krikke

Legacy Member
gedaan met stealth ???
das toch wel een bug van formaat ozu ik zeggen

[BAT]krikke

Legacy Member
awel ja, als ge ne group van 2 kerels hebt, ge schiet den eerste neer en den tweede die wel ge-alert is kort daarna ook
de groups die in de buurt staan zijn sowieso ook gealert worden

ik zou dit moeten testen om te zien of dit klopt, maar dit was mijn eerste gedacht toen ik dit las

mss even verduidelijken als dit niet klopt ?

Blanco

Legacy Member
Het klopt wat ge zegt maar dan activeer je het script toch niet met die groep die in de buurt staat. JIJ beslist welke groepen interactie hebben met elkaar, niet het script. Ik bedoel, het "detecteerd" geen groupen die in elkaars buurt staan.

Alles bij elkaar werkt groupchain feilloos en heb ik het simpel kunnen houden.
Ik zou dit al vroeger kunnen geschreven hebben, maar zeker niet zo simpel.
ik check met slechts één lijn of iemand uit (al) die groepen die jij opgeeft zijn behaviour veranderd of sterft :

Code:
?"behaviour _x != ""SAFE""" count _allunits > 0 OR "!alive _x" count _allunits > 0

Ik had dit nodig in functie van mijn trenchscript ,dat als alles goed loopt morgen gereleased word. Stel u voor je hebt twee rijen met soldiers die wachten aan hun barricades, de leader van één van die groupen merkt de vijand op, terwijl de andere group gewoon doet alsof er niks gebeurt is omdat hun officer de andere kant opkijkt en niks gezien heeft....dat kon ik niet laten gebeuren.

Ik heb er gisteren nog iets aan toegevoegd zodat ze regelmatig hun six checken en niet constant gefocused blijven in dezelfde kijkrichting. Maar ze blijven zwakker presteren als ze in de rug aangevallen worden.

Het trenchscript heeft nog enkele problemen, waarvan één vrij lastig is.
Als iemand uit de trenches zonder ammo zit kan hij niet rearmen. Allee ik kan hem wel laten naar een ammobox lopen en rearmen, terug laten lopen naar zijn positie en terug in crouchpositie brengen ; maar hij reload zijn wapen niet, ondanks dat hij de magazines bij hem heeft. :sad:
Ik heb gemerkt dat de machinegunners serieus doorknallen, en daardoor vrij snel zonder ammo komen te zitten
Ondanks dat ga ik het toch releasen morgen omdat het gewoon big fun is om te gebruiken, en hopelijk krijg ik hulp van andere scripters om het te verbeteren. Het heeft zeker potentieel. Het is wel niet zo simpel in gebruik als dit, maar ik ben bezig aan een uitgebreide readme die duidelijkheid moet scheppen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan