help - onslaught


(isbowhten) #1

ONSLAUGHT - Unreal Touornament
problem: deactivating/activating the constructibles…
the points of ureal tournament’s onslaught mode are multiple stage constructions.

upper part:

power core: --------------center point ----------- opponents power core
lower part:
power core(is in upper part) — center point (not the same as above)—side point–oponents powercore

               --- side point of your team is vailable, too---- enables center but center is captureable at      
                the beginning, too.

0 1 2 3 something like that… if you are on the left you may capture your own side point and both of the
1 1 center points, then capture the opponents side point then you may damage the power core

if i have 0 1 2 3 and then i loose 1 then 2 and 3 have no connection to the core => decline AND
how shall is say which constructibles must be disabled?

if i have 0 and build 1 i may build 2, that is easy but what ´shall i do in the case above?


(sQynor) #2

Unreal tournament?

I don’t really get what you want to do.

Can you explain a easier way. like obj or contructible or … wel…

I like to help if you can help me understand


(kamikazee) #3

I think you’d need to lay out all of this stuff on a map, or make a mod which simplifies all of this by providing the necessary entities.

In the first case, got some sketch to show different situations?


(isbowhten) #4

well i cant really explain because englsih isnt my mother language…
i got it working in the special case of my map… but if i would add some constructibles my actual concept doesnt work anymore…
the problem is, i must check if the constructibles
e.g. constructible1 constructible2 constructible3 are built in a row or if e.g. constructible1 is destroyed…
unreal tournament onslaught means that i only can build what is linked to the power core
(if i translate it directly)…
core ---- is linked to— 1----- that is linked to 2— etc----- is linked to the opponents core.
so if there is constructible1 missing which is next to the core then all other constructibles are useless and they destroy themself if more of the opponents constructibles are around it than own constructibles…

C
|     in that example core and "1" are linked... i only can build what is lnked to the core => only "1"
1    then i can decide between one of the "2"

/ \
2 2 then i can build “3”, now i can attack the enemies core.
\ /
3 if the enemies captured the left “2” and i have all others, then two constructibles of mine are against
| none of his 2nd around => it decays… (i try to do that with func timer)
C
as i said i got it working in the special case of my map but if i would like to make another, more complicated map, i need some good ways to check which constructibles are linked with which other constructibles.

summary of rules… entities are linked imaginarily.
if i captured power points(again translated word by word from german) which represent a line (because of the way they are linked to) towards the enemy, then his shield of his core disappears…
usually the points build themselves after walked through it, but i let built it by engineers.
the more linked points don’t belong to your team the more power will the point loose if he is NOT anymore linked to your core…
so i hope i explained good enough now…
something i should note: if i built point1 but i did NOT built point2 then i am not allowed to build point3 because he isn’t linked. well that is the reason why it decays if he isnt linked anymore


(aaa3) #5

so u want ot ask how to do it? hm… idk…but…hm…
what about making a global accum (bitset maybe but if u have enough then normal is good too) for each constructible point - 1,2,2,3: thats 4 in this simple case. if not using bitset then 0 is decayed 1 is axis -1 is allied or any other numbers, as you like. wirth bitset its more complicated but im sure somehow u will be able to handle it with bitsets too. sooo… umm… not. u also will need a different constructible sets for allied and axis. or not? ok ive never made neutral constructible but saw in some maps. idk how neu. const. scripting works but if it can differentiate which team’s engi making it then its ok. if it cant, then make 2 same consts in the almost same (1 unit) location overlapping. then u need 8 global accums, but only 0 and 1, so its now simple with bitsetting too… damn shiiiit i saw a really good scripting reference which explaained every script command… and i cant find it anymore… aaaaaww : (… hm… so u can monitor which are open. and with a complex “abort_if_equal” and/or maybe not_equal structures put in each constructible’s some scriptblock, maybe in spawn, or idk, then u can check other power point’as status and depending on that u can make those abortifequal structures decide if the particular constructible is allowed to show, or not. or to allowed to build, or not. (setstate trigger then, or alertentity, or idk maybe simply let it continue in the block…damn idk) … idk this was jsut a mess thrown in in a few mins thought…


(DerSaidin) #6

Its certainly doable


(isbowhten) #7

http://games.chruker.dk/enemy_territory/scripting_reference.php you mean that?
yes with accums all is possible but isnt it too much work that way?
and what is if there are 2 different constructibles decaying?
e.g. 1 0 1 0 0 1 0 1=allied 0=axis all connected in a row.
then much are decaying how do i check that now? to make the script realize that more constructibles are decaying i must scheck every possibility: e.g. if first and second cosntructible are linked, if 1first 2nd and 3rd are linked etc… cause i would check the globalaccum until the line is interrupted. how to asy that it should start again from the next owning constructible etc…
dont know if i explained it enough… i definetly need a really fine solution which doesnt get harder to do exponential-growing depending on the number of constructibles.
you see?


(isbowhten) #8

another problem…
how can i destroy stages of the construction via script?
i tried to set the desstages/the constages/the constructible invisible but always only the whole thing disappears… but in unreal tournament you can prevent the decaying by repairing => only the stages should be decayed


(murka) #9

you could make 3 constructibles that visually make up one constructible?


(kamikazee) #10

Actually, you might be able to use 2 accums: 1 for allies, 1 for axis - either of them is to see who is building what. IIRC, only one team can build a construction at a time. So if it is in decay, the other team must wait. When it is decayed, you can very well clear the needed bits.

Now, to check stuff, you can use “greater or equals” operations once you start using binary. For example, say we have this bit layout:
axis gaccum 0 -> DCBA (A = point 1, B point 2, C point 2 bis, D point 3)

If bits B or C are set, D can be built because the globalaccum is greater or equal than 1. If C is lost, check bit B. If it is not set, set the accum to 0 and enable bit A again. And you can go on…

Now I would do the same for the allies, only in reverse, e.g. their accum would be laid out ABCD.


(isbowhten) #11

yeh thanks that is a nice idea kamikazee…
is there another way to destroy only a stage of the cosntructible instead of making three single constructibles out of one multiple stage construction?
cause it is very orderless at the moment and i would like not to have to work with 3 constructibles instead of one which means 3 TOIS which means 2 additional lines in every of my enabling or disabling trigger of the constructibles… well can i Build stages of a multiplestageconstruction? then i would completely destroy it and rebuild it…


(isbowhten) #12

i have just thought of creating lights which get darker if the cosnrtuctible is decaying or flashes more often if it has lower “hp”.
then i could use another constructible resetting the accum-count which defines when it should have been decayed.
is it possible to change the power of the light or let it flash?


(aaa3) #13

there are dlights - dynamic light - but u dont wana use them ^^ (big fps eater:p), but nice looking and hell complicated variable intensity ligths can be created with creating script movers, duplicating the scene downwards below the floor where its hidden, the only difference is it has a different light. and moving it to place when needed. maybe make it 1 unit “smaller” (or “bigger”, depending whether its a wall and floor of a room, or a box-like stuff) to avoid z-fighting, and nonsolid and detail (ofc).

there are 2 good and big topics about making it, i think its “switchable light” or idk the keyword :s


(isbowhten) #14

thanks, now my map is soon ready for a beta version