//Main coder Tim Hanagan //Additional and maintainance Ingmar //Hologram different model rot/fade #include "Include\stddefs.inc" #define NEW_MODEL_TIME 180.0 proc SpawnNextModel() model mTempModel switch iModelIndex case 0 mTempModel = "1_Aeon_Flux\VFX\futuristics\holograms\hologram1.AMF" endcase case 1 mTempModel = "1_Aeon_Flux\VFX\futuristics\holograms\hologram2.AMF" endcase case 2 mTempModel = "1_Aeon_Flux\VFX\futuristics\holograms\hologram3.AMF" endcase case 3 mTempModel = "1_Aeon_Flux\VFX\futuristics\holograms\hologram4.AMF" endcase endswitch sCurrModel = spawnafter AF_Hologram_Model(mTempModel) endproc strat AF_Hologram(float fRotateSpeed) #info group = "Aeon Flux/Effects" fRotateSpeed "Rotate speed" = 5.0 #endinfo float fNewModelTimer = NEW_MODEL_TIME strat sCurrModel int iModelIndex = 0 SpawnNextModel loop fNewModelTimer -= world_speed_60() if fNewModelTimer <= 0.0 fNewModelTimer = NEW_MODEL_TIME send sCurrModel, MSG_Remove() iModelIndex = (iModelIndex + 1) % 4 SpawnNextModel endif object_yrot += fRotateSpeed * world_speed_60() endloop endstrat trigger MSG_Remove() bFadeOut = true fFadeTimer = 1.0 endtrigger strat AF_Hologram_Model(model mModel) #info dontshow #endinfo createtrigger MSG_Remove setmodel mModel bool bFadeOut = false bool bFadeIn = true float fFadeTimer = 0.0 float fPulseTimer = 0.0 while parent getparentpos fPulseTimer += world_speed_60() object_fade = ((sin(fPulseTimer * 30.0) * 0.25) + 0.75) * fFadeTimer if bFadeIn fFadeTimer += world_speed_60() * 0.01 if fFadeTimer >= 1.0 fFadeTimer = 1.0 bFadeIn = false endif endif if bFadeOut fFadeTimer -= world_speed_60() * 0.01 if fFadeTimer <= 0.0 remove endif endif //displaytextstring 0, object_fade * 100.0, "0" endwhile endstrat