Go Back   Novahq.net Forum > Games > Gaming Talk
FAQ Community Calendar Today's Posts Search

Gaming Talk Post all your game related stuff here. This includes PC, Console, Handhelds etc.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 04-15-2016, 08:33 AM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

Hardest Map Problem Yet - Count player Deaths

Fixed

Last edited by Guest001; 04-16-2016 at 03:32 AM.
Reply With Quote
  #2  
Old 04-17-2016, 09:23 PM
Scott is offline Scott
Scott's Avatar
AKA. Panther

Join Date: Sep 2001
Location: Minneapolis, MN
Posts: 10,922

How did you fix it?
__________________

04' Dodge SRT-4, Mopar Stage 3, 406whp/436wtq
Reply With Quote
  #3  
Old 04-18-2016, 04:21 PM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

Hi Scott...

It's more complex than I first thought, even explaining it is difficult but here goes.

Human vs AI - One on One Death Match First to 10 Victories.
Though it seems a simple idea the timings of area detection and variable increments are critical to an interactive experience but all of these can be overcome by competent mappers.

The main issue is the player is somehow always being detected as still in the game even after death.

I appears for all intents and purposes to remain in the area of death until the "Player" chooses to respawn back into the mission.

I guess the ssn10000 instance must remain in the main loop of the game because the mission is set to Single Player Respawn

Some key features of the solution so far...

Code:
if previous() and not ssnarea and ne(v#,#)
This is linked with a set of variables that teleport the enemy in and out of the target area (Arena) on player death
This is so the triggers don't cascade, triggering one after the other, prematurely ending the game.

I had to stabilize the variables by triggering when the player respawns and hits a target area set outside the main arena, then teleporting the player to the main arena.

All the time recording and displaying these events with variables...

Code:
    set(v1,0)   // TriggerText
    set(v11,0)  // Ammo2Target
    set(v12,0)  // Ammo2Target
    set(v13,0)  // Ammo2Target
    set(v14,0)  // Ammo2Target
    set(v15,0)  // Ammo2Target
    set(v20,0)  // TotalDeaths
    set(v50,0)  // KillCount
    set(v60,0)  // DeathCount
    set(v70,0)  // FirstDeath
    set(v80,0)  // Ammo2Area
Experimental
Code:
v#,#==v#,# && v#,#<=v#,# && t+=15 && rnd4 =true

Last edited by Guest001; 04-18-2016 at 04:56 PM.
Reply With Quote
  #4  
Old 04-21-2016, 01:57 AM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

UPDATE:
Quote:
stompem

After thinking I'd beaten the DFX2 engine into submission on this one, the map has started having a script meltdown. So I really should've placed the heading "FIXED" at the very bottom of this topic.

At 61 events and 327 WAC entries the map became unstable and was failing to read all the instructions set in the WAC.

After transferring 10 variable operations from the WAC over to the events editor I now have 71 event entries and 254 lines of code in the WAC.

The trouble is I still need another 30 instructions or so for newly created variable 30, which will control AI tactics and I'll probably need a few more to vary the mission and tidy up etc.

Now I know the BHD forum is where the masters of WAC dwell and where I really should be asking this but this is a DFX2 map so...
What I'm thinking of involves a fair amount of work and makes reading scripts difficult.

The question being, is it the number of actual instructions, time reading, timers or how many lines of code that could be causing this error?

Then I thought of a partial solution, what if you can line up "if" statements into a single line of code and if so...
  1. Will it reduce overhead?
  2. Can it be applied to all WAC scripts?


Stompem

Last edited by Guest001; 04-21-2016 at 03:04 AM.
Reply With Quote
  #5  
Old 04-21-2016, 10:48 PM
Scott is offline Scott
Scott's Avatar
AKA. Panther

Join Date: Sep 2001
Location: Minneapolis, MN
Posts: 10,922

Is the a certain amount of lines a wac file can have? Unfortunately I have not done much map building past LW so I can't really help

But I'm sure many people would love to see you solve the issue
__________________

04' Dodge SRT-4, Mopar Stage 3, 406whp/436wtq
Reply With Quote
  #6  
Old 04-22-2016, 12:55 PM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

Quote:
Originally Posted by Scott View Post
Is the a certain amount of lines a wac file can have? Unfortunately I have not done much map building past LW so I can't really help

But I'm sure many people would love to see you solve the issue
After a thorough investigation I find I need to make my scripts smarter.

The time taken processing commands in the wac have caused timings to be missed.
Reply With Quote
  #7  
Old 05-04-2016, 04:46 PM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

The Mission WAC so far ties in with 104 events.

Code:
;    TITLE: HUMAN vs AI - Special Forces GAME: Delta Force Xtreme 2
;    AUTHOR: Stompem 2016
;random(300)
;    ssnhp(1,1000)
;    ssnhp(2,2000)
;    ssnhp(3,3000)
;    ssnhp(4,4000)
;    ssnhp(5,5000)
;    ssnhp(6,6000)
;    ssnhp(7,7000)
;    ssnhp(8,8000)
;    ssnhp(9,9000)
;    ssnhp(10,10000)
if never() then
    fallmps = 30 //                  ;Global Fall Effect - No Death
;    Accuracyspread = 5 //            ;AI Accuracy Spread - Mid Range
    set(v1,0)   // TriggerText
    set(v2,0)   // FirstDeath
    set(v3,0)   // Connecting
    set(v10,0)  // Ammo2Area
;   set(v11,0)  // Ammo2Target
    set(v12,0)  // Ammo2Target
    set(v13,0)  // Ammo2Target
    set(v14,0)  // Ammo2Target
    set(v15,0)  // Ammo2Target
    set(v20,0)  // TotalDeaths
    set(v22,0)    // SoundLoop1
    set(v23,0)    // SoundLoop2
    set(v24,0)    // SoundLoop3
    set(v30,0)    // AITactics
    set(v50,0)  // KillCount
    set(v60,0)  // DeathCount
    set(v77,0)  // Near50m
    hidessn(691) // Conveyor
    hidessn(699) // Container
    hidessn(702) // Container
    hidessn(703) // Container
    hidessn(705) // Container
    hidessn(706) // Container
    hidessn(708) // Container
    hidessn(709) // Container
    hidessn(710) // Container
endif

if ssnarea(player,6) and never() then
    TOD(03:00)
    overcast(500,300)
    rain(500,300)
endif

if past(300) and elapse(600) then
    overcast(0,100)
    rain(0,100)
endif

if chain(300) then
    overcast(500,300)
    rain(500,300)
endif

if elapse(69) and eq(rnd, 70) and waveready() then
    lightning(50,50,50)
    flash()
endif

if elapse(139) and eq(rnd, 140) and waveready() then
    lightning(25,25,35)
    farflash()
endif

if chain(4) and waveready() then
    wave("thdrdst4.wav")
endif

if eq(v3,0) and elapse(7) then
    text "<cfc8932>LIVE FEED:<cfcFF0000> Connecting..."
    text " "
    text " "
endif

if past(1) and ssnarea(player(10) and never() then
    consol("Chilla Well <cf8932>- This Is Your Arena Of Battle")
endif

if chain(4) and never then
    consol("<cf8932>Live Feeds Connect All Fighters To CHQ")
endif

if chain(3) and never then
    consol("<cf8932>It's Victory Or Extinction!")
endif

if chain(4) and never then
    consol("<cf8932>Claim 10 Rounds To Win - Good Luck Soldier!")
endif

if chain(4) and waveready and never then
wave("OTDO.wav") //flux.wav
endif

if past(14) and elapse(7) then
    consol("<cfc8932>    BATTLE COUNT<-co>")
    consol#("<cf8932>    VICTORIES<-co>",v50)
    consol#("<cfcFF0000>    DEFEATS<-co>",v20)
endif

if past(17) and event(0) and never then
hidessn(651)// hide viewport
endif

if past(20) and elapse(7) then
    set(v3,1)
endif

if eq(v3,1) and elapse(7) then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text " "
    text " "
endif

if eq(v77,1) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if eq(v77,2) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if eq(v77,3) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if eq(v77,4) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if eq(v77,5) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if eq(v77,6) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if eq(v77,7) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if eq(v77,8) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if eq(v77,9) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if eq(v77,10) and waveready and never then
    wave "alpflnk.wav"     //Enemy spotted
endif

if past(35) and waveready and not ssnarea(player,10) and never then
    wave "CHAR153.wav"     //In position
endif

if chain(5) and waveready and never then
    wave "CHAR148.wav"     //We have problems
endif

if chain(3) and waveready and never then
    wave "ALPH191.wav"     //This is ALPHa. CHARlie is down. CHARlie is down
endif

if event(10) and waveready and never then
    wave("Delkilc.wav")//Kill confirmed!
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("1 AI Defeated!")
    text("9 Victories Remaining!")
endif

if chain(3) and waveready and never then
loop
    wave "AMPR372.wav"     //All units ...uniform is a gouniform is go !
    endif
if chain(2) and waveready and never then
    wave "AMPR373.wav"     //All elements ... Victor is on
    endif
if chain(2) and waveready and never then
    wave "AMPR374.wav"     //All team elements ! ... Whiskey !... Whiskey !
    endif
if chain(2) and waveready and never then
    wave "AMPR375.wav"     //All Squads ... XRAY is authorized !
    endif
if chain(2) and waveready and never then
    wave "AMPR376.wav"     //All units ... Yankee is in effect !
    endif
end
endif
    
if event(11) and waveready and never then
    wave("Delanni.wav")//Enemy annihilated!
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("2 AI Defeated!")
    text("8 Victories Remaining!")
endif

if event(12) and waveready and never then
    wave("DFM141.wav")//cheer!
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("3 AI Defeated!")
    text("7 Victories Remaining!") 
endif

if event(13) and waveready and never then
    wave("AMPV458.wav")//Survey says ....die !
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("4 AI Defeated!")
    text("6 Victories Remaining!") 
endif

if event(14) and waveready and never then
    wave("Delcrash.wav")//Crash and burn, Baby !
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("5 AI Defeated!")
    text("5 Victories Remaining!") 
endif

if event(15) and waveready and never then
    wave("alpbrhe.wav")//bravo hell of a shot
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("6 AI Defeated!")
    text("4 Victories Remaining!") 
endif

if event(16) and waveready and never then
    wave("MACR139.wav")//Good shot! Keep it up.
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("7 AI Defeated!")
    text("3 Victories Remaining!")  
endif

if event(17) and waveready and never then
    wave("DFM149.wav")//Yippy ki yeah !
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("8 AI Defeated!")
    text("2 Victories Remaining!") 
endif

if event(18) and never() then
    wave("AMPV432.WAV")//OH YEAH OH YEAH!
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("9 AI Defeated!")
    text("1 Victory Remaining!")  
endif

if event(19) and waveready and never then
    wave("Delhell.wav")//Hell yeah ... Thats how we do it
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("Humans Victorious Program Terminated") 
    text("Human Extinction Postponed")
endif

if event(41) and never() then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("1 Human Defeat!")
    text("9 Defeats Remaining!")
endif

if eq(v20,1) and never then
    unhidessn(699) // Container
endif

if event(43) and never() then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("2 Human Defeats!")
    text("8 Defeats Remaining!")
endif

if eq(v20,2) and never then
    unhidessn(702) // Container
endif

if event(45) and never() then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("3 Human Defeats!")
    text("7 Defeats Remaining!") 
endif

if eq(v20,3) and never then
    unhidessn(703) // Container
endif

if event(47) and never() then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("4 Human Defeats!")
    text("6 Defeats Remaining!") 
endif

if eq(v20,4) and never then
    unhidessn(705) // Container
endif

if event(49) and never() then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("5 Human Defeats!")
    text("5 Defeats Remaining!") 
endif

if eq(v20,5) and never then
    unhidessn(706) // Container
endif

if event(51) and never() then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("6 Human Defeats!")
    text("4 Defeats Remaining!") 
endif

if eq(v20,6) and never then
    unhidessn(708) // Container
endif

if event(53) and never() then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("7 Human Defeats!")
    text("3 Defeats Remaining!") 
endif

if eq(v20,7) and never then
    unhidessn(709) // Container
endif

if event(55) and never() then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("8 Human Defeats!")
    text("2 Defeats Remaining!") 
endif

if eq(v20,8) and never then
    unhidessn(710) // Container
endif

if event(57) and never() then
    text "<cfc8932>LIVE FEED:<cf8932> ...Active"
    text("9 Human Defeats!")
    text("1 Defeat Remaining!") 
endif

if not ssnarea(10000,10) then
    set(v10,1)
else
    set(v10,0)
endif

if ne(v10,0) then
    ammoarea AMMO_60MM_MORTAR(9)
endif

if eq(v15,0) and elapse(15) and eq(rnd, 2) then
    set(v15,1)
endif

if eq(v15,1) then
    ammo2tgt AMMO_60MM_MORTAR(16)
    dec(v15)
endif

if eq(v12,0) and elapse(15) and eq(rnd, 3) then
    set(v12,1)
endif

if eq(v12,1) then
    ammo2tgt AMMO_60MM_MORTAR(17)
    dec(v12)
endif

if eq(v13,0) and elapse(15) and eq(rnd, 4) then
    set(v13,1)
endif

if eq(v13,1) then
    ammo2tgt AMMO_60MM_MORTAR(18)
 dec(v13)
endif

if eq(v14,0) and elapse(15) and eq(rnd, 5) then
    set(v14,1)
endif

if eq(v14,1) then
    ammo2tgt AMMO_60MM_MORTAR(17)
 dec(v14)
endif

 if eq(v11,0) and eq(rnd, 18) then
    set(v11,1)
endif

if eq(v11,1)  and eq(rnd, 40) then
    ammo2tgt AMMO_60MM_MORTAR(18)
endif

if eq(rnd, 6)  and eq(rnd, 118) then
    ammo2tgt AMMO_60MM_MORTAR(19)
endif

if eq(rnd, 9)  and eq(rnd, 188) then
    ammo2tgt AMMO_60MM_MORTAR(20)
endif

if eq(rnd, 12)  and eq(rnd, 129) then
    ammo2tgt AMMO_60MM_MORTAR(19)
;    fx2tgt fx_oiltnk2_exp(18)
endif

if elapse(130) and random(60) then
set(v25,2)
endif

if chain(1) then
set(v25,0)
endif

if elapse(131) and random(61) then
set(v25,3)
endif

if chain(1) then
set(v25,0)
endif

if elapse(132) and random(62) then
set(v25,4)
endif

if chain(1) then
set(v25,0)
endif

if elapse(133) and random(63) then
set(v25,5)
endif

if chain(1) then
set(v25,0)
endif

if elapse(134) and random(64) then
set(v25,6)
endif

if chain(1) then
set(v25,0)
endif

if elapse(135) and random(65) then
set(v25,7)
endif

if chain(1) then
set(v25,0)
endif

if elapse(136) and random(66) then
set(v25,8)
endif

if chain(1) then
set(v25,0)
endif

if elapse(137) and random(67) then
set(v25,9)
endif

if chain(1) then
set(v25,0)
endif

if elapse(138) and random(68) then
set(v25,10)
endif

if chain(1) then
set(v25,0)
endif

if elapse(139) and random(69) then
set(v25,11)
endif

if chain(1) then
set(v25,0)
endif

if past(50) and random(70) and waveready then
      wave "Delhouse.wav"    //Incoming
endif

if past(50) and random(78) and waveready then
    wave "me****.wav"     //Messengers hit
endif

if past(50) and random(88) and waveready then
    wave "alphold.wav"     //Might have a shot
endif

if past(50) and random(92) and waveready then 
    wave "alpnegi.wav"     //negitive
endif

if past(50) and random(83) and waveready then
      ssnwave (67, "laospeak.wav", 100)    //Laos speaker
endif

if past(50) and random(209) and waveready then 
      wave "alpresum.wav"     //Resume Formation
endif

if past(50) and random(132) and waveready then
      ssnwave (68, "laospeak.wav", 100)    //Laos speaker
endif

if past(50) and random(207) and waveready then
      wave "Delgots.wav"     //Got a shot
endif

if past(50) and random(201) and waveready then
      wave "AMPR182.wav"     //Being attacked
endif

if past(50) and random(202) and waveready then
    wave "CMDeyes9.wav"     //Full unit
endif

if past(50) and random(203) and waveready then
      ssnwave (415, "laosrado.wav", 100)    //Laos radio
endif

if past(50) and random(140) and waveready then 
    wave "ALPH545.wav" //Bravo, this is ALPHa. We have eyes on nukes
endif

if past(50) and random(204) and waveready then
    wave "CMDsnip.wav"     //watch for snipers
endif

if past(50) and random(244) and waveready then    
    wave "AMPR371.wav" //Standing by for orders !
endif

if random(20) and waveready then
;    wave("xplTch2.wav ") // Large explosion
    fx2tgt fx_oiltnk2_exp(66)
    quake(4)
endif
.........
Reply With Quote
  #8  
Old 05-04-2016, 09:52 PM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

Intro


HUD
Reply With Quote
  #9  
Old 05-10-2016, 08:29 AM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

For me it's usually the last 10% of a map that contains 90% of the problems.
With this map it's 100% problems, 100% of the time.
Reply With Quote
  #10  
Old 07-10-2016, 11:51 PM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

Now at 95% complete
Reply With Quote
  #11  
Old 07-14-2016, 04:15 AM
City Ace is offline City Ace
City Ace's Avatar
Registered User

Join Date: Dec 2014
Location: 404 Not Found
Posts: 203

Wot? You are bout to finish making a map?
Reply With Quote
  #12  
Old 07-14-2016, 09:52 AM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

Quote:
Originally Posted by City Ace View Post
Wot? You are bout to finish making a map?
Yes I'm making 2 ATM, mainly because I don't think they've ever been done before.

One for BHD one for DFX2.
Reply With Quote
  #13  
Old 11-10-2016, 10:13 AM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

Published
Human vs AI - Special Forces http://www.novahq.net/maps.php?ID=10470

Not only was it one of the hardest "for me" to script, it was also difficult to judge how hard to set it...

Is it too easy or too hard?

Is there something missing or broken?

This isn't a conventional map in the sense of a series of mission objectives, few of my maps follow convention really but that's how I've wanted it.

There are plenty of missions done in the traditional sense.

The missions produced by this community are generally excellent and made by extremely talented folk.

So I've tried to develop my own style within my own capacity over the years.

Call this Sci-Fi / Fantasy with a bit of old school AI thrown in.

I hope you'all enjoy it and please feel welcome to leave comments and critiques.

It all helps.


CHEERS!

Last edited by Guest001; 11-10-2016 at 10:59 AM.
Reply With Quote
  #14  
Old 12-02-2016, 08:09 PM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

The WAC file, unfortunately the AI won't work without it.


Download Human vs AI


Code:
;	GAME: Delta Force Xtreme 2
;	TITLE: HUMAN vs AI - Special Forces
;	AUTHOR: Stompem 2016
//////////////////////////
/////////Depricated///////
//////////////////////////
;	random(300)
;	ssnhp(1,100)
;	ssnhp(2,200)
;	ssnhp(3,300)
;	ssnhp(4,400)
;	ssnhp(5,500)
;	ssnhp(6,600)
;	ssnhp(7,700)
;	ssnhp(8,800)
;	ssnhp(9,900)
;	ssnhp(10,1000)
//////////////////////////
/////////Script Start///////
//////////////////////////
if past(1) and never() then
	ssnhp(1,100)
	ssnhp(2,200)
	ssnhp(3,300)
	ssnhp(4,400)
	ssnhp(5,500)
	ssnhp(6,600)
	ssnhp(7,700)
	ssnhp(8,800)
	ssnhp(9,900)
	ssnhp(10,1000)
	fallmps = 30
	Accuracyspread = 3
   	set(v1,0)   // TriggerText
	set(v2,0)   // FirstDeath
	set(v3,0)   // Connecting
	set(v10,0)  // Ammo2Area
//   	set(v11,0)  // Ammo2Target
 	set(v12,0)  // Ammo2Target
 	set(v13,0)  // Ammo2Target
	set(v14,0)  // Ammo2Target
	set(v15,0)  // Ammo2Target
   	set(v20,0)  // TotalDeaths
	set(v22,0)	// SoundLoop1
	set(v23,0)	// SoundLoop2
	set(v24,0)	// SoundLoop3
	set(v30,0)	// AITactics
	set(v50,0)  // KillCount
	set(v60,0)  // DeathCount
	set(v77,0)  // Near50m
	hidessn(691) // Conveyor
	hidessn(699) // Container
	hidessn(702) // Container
	hidessn(703) // Container
	hidessn(705) // Container
	hidessn(706) // Container
	hidessn(708) // Container
	hidessn(709) // Container
	hidessn(710) // Container
endif
//
if ssnarea(player,6) and never() then
	TOD(03:00)
	overcast(500,300)
	rain(500,300)
endif
//
if past(300) and elapse(600) then
	overcast(0,100)
	rain(0,100)
endif
//
if chain(300) then
	overcast(500,300)
	rain(500,300)
endif
//
if elapse(69) and eq(rnd, 70) and waveready() then
	lightning(50,50,50)
	flash()
endif
//
if elapse(139) and eq(rnd, 140) and waveready() then
	lightning(25,25,35)
	farflash()
endif
//
if chain(4) and waveready() then
	wave("thdrdst4.wav")
endif
//
if eq(v3,0) and elapse(7) then
	text "<cfc8932>LIVE FEED:<cfcFF0000> Connecting..."
	text " "
	text " "
endif
//
if past(1) and ssnarea(player(10) and never() then
	consol("Chilla Well <cf8932>- This Is Your Arena Of Battle")
endif
//
if chain(4) and never then
	consol("<cf8932>Live Feeds Connect All Fighters To CHQ")
endif
//
if chain(3) and never then
	consol("<cf8932>It's Victory Or Extinction!")
endif
//
if chain(4) and never then
	consol("<cf8932>Claim 10 Rounds To Win - Good Luck Soldier!")
endif
//
if chain(4) and waveready and never then
wave("OTDO.wav") //flux.wav
endif
//
if past(14) and elapse(7) then
	consol("<cfc8932>    BATTLE COUNT<-co>")
	consol#("<cf8932>    VICTORIES<-co>",v50)
	consol#("<cfcFF0000>    DEFEATS<-co>",v20)
endif
//
if past(17) and event(0) and never then
hidessn(651)// hide viewport
endif
//
if past(20) and elapse(7) then
	set(v3,1)
endif
//
if eq(v3,1) and elapse(7) then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text " "
	text " "
endif
//
if eq(v77,1) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if eq(v77,2) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if eq(v77,3) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if eq(v77,4) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if eq(v77,5) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if eq(v77,6) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if eq(v77,7) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if eq(v77,8) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if eq(v77,9) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if eq(v77,10) and waveready and never then
	wave "alpflnk.wav" 	//Enemy spotted
endif
//
if past(35) and waveready and not ssnarea(player,10) and never then
	wave "CHAR153.wav" 	//In position
endif
//
if chain(5) and waveready and never then
	wave "CHAR148.wav" 	//We have problems
endif
//
if chain(3) and waveready and never then
	wave "ALPH191.wav" 	//This is ALPHa. CHARlie is down. CHARlie is down
endif
//
if event(10) and waveready and never then
	wave("Delkilc.wav")//Kill confirmed!
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("1 AI Defeated!")
	text("9 Victories Remaining!")
endif
//
if chain(3) and waveready and never then
loop
	wave "AMPR372.wav"	 //All units ...uniform is a gouniform is go !
	endif
if chain(2) and waveready and never then
	wave "AMPR373.wav"	 //All elements ... Victor is on
	endif
if chain(2) and waveready and never then
	wave "AMPR374.wav"	 //All team elements ! ... Whiskey !... Whiskey !
	endif
if chain(2) and waveready and never then
	wave "AMPR375.wav"	 //All Squads ... XRAY is authorized !
	endif
if chain(2) and waveready and never then
	wave "AMPR376.wav"	 //All units ... Yankee is in effect !
	endif
end
endif
//	
if event(11) and waveready and never then
	wave("Delanni.wav")//Enemy annihilated!
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("2 AI Defeated!")
	text("8 Victories Remaining!")
endif
//
if event(12) and waveready and never then
	wave("DFM141.wav")//cheer!
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("3 AI Defeated!")
	text("7 Victories Remaining!") 
endif
//
if event(13) and waveready and never then
	wave("AMPV458.wav")//Survey says ....die !
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("4 AI Defeated!")
	text("6 Victories Remaining!") 
endif
//
if event(14) and waveready and never then
	wave("Delcrash.wav")//Crash and burn, Baby !
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("5 AI Defeated!")
	text("5 Victories Remaining!") 
endif
//
if event(15) and waveready and never then
	wave("alpbrhe.wav")//bravo hell of a shot
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("6 AI Defeated!")
	text("4 Victories Remaining!") 
endif
//
if event(16) and waveready and never then
	wave("MACR139.wav")//Good shot! Keep it up.
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("7 AI Defeated!")
	text("3 Victories Remaining!")  
endif
//
if event(17) and waveready and never then
	wave("DFM149.wav")//Yippy ki yeah !
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("8 AI Defeated!")
	text("2 Victories Remaining!") 
endif
//
if event(18) and never() then
	wave("AMPV432.WAV")//OH YEAH OH YEAH!
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("9 AI Defeated!")
	text("1 Victory Remaining!")  
endif
//
if event(19) and waveready and never then
	wave("Delhell.wav")//Hell yeah ... Thats how we do it
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("Humans Victorious Program Terminated") 
	text("Human Extinction Postponed")
endif
//
if event(41) and never() then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("1 Human Defeat!")
	text("9 Defeats Remaining!")
endif
//
if eq(v20,1) and never then
	unhidessn(699) // Container
endif
//
if event(43) and never() then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("2 Human Defeats!")
	text("8 Defeats Remaining!")
endif
//
if eq(v20,2) and never then
	unhidessn(702) // Container
endif
//
if event(45) and never() then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("3 Human Defeats!")
	text("7 Defeats Remaining!") 
endif
//
if eq(v20,3) and never then
	unhidessn(703) // Container
endif
//
if event(47) and never() then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("4 Human Defeats!")
	text("6 Defeats Remaining!") 
endif
//
if eq(v20,4) and never then
	unhidessn(705) // Container
endif
//
if event(49) and never() then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("5 Human Defeats!")
	text("5 Defeats Remaining!") 
endif
//
if eq(v20,5) and never then
	unhidessn(706) // Container
endif
//
if event(51) and never() then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("6 Human Defeats!")
	text("4 Defeats Remaining!") 
endif
//
if eq(v20,6) and never then
	unhidessn(708) // Container
endif
//
if event(53) and never() then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("7 Human Defeats!")
	text("3 Defeats Remaining!") 
endif
//
if eq(v20,7) and never then
	unhidessn(709) // Container
endif
//
if event(55) and never() then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("8 Human Defeats!")
	text("2 Defeats Remaining!") 
endif
//
if eq(v20,8) and never then
	unhidessn(710) // Container
endif
//
if event(57) and never() then
	text "<cfc8932>LIVE FEED:<cf8932> ...Active"
	text("9 Human Defeats!")
	text("1 Defeat Remaining!") 
endif
//
if not ssnarea(10000,10) then
	set(v10,1)
else
	set(v10,0)
endif
//
if ne(v10,0) then
	ammoarea AMMO_60MM_MORTAR(9)
endif
//
if eq(v15,0) and elapse(15) and eq(rnd, 2) then
	set(v15,1)
endif
//
if eq(v15,1) then
	ammo2tgt AMMO_60MM_MORTAR(16)
	dec(v15)
endif
//
if eq(v12,0) and elapse(15) and eq(rnd, 3) then
	set(v12,1)
endif
//
if eq(v12,1) then
	ammo2tgt AMMO_60MM_MORTAR(17)
	dec(v12)
endif
//
if eq(v13,0) and elapse(15) and eq(rnd, 4) then
	set(v13,1)
endif
//
if eq(v13,1) then
	ammo2tgt AMMO_60MM_MORTAR(18)
 dec(v13)
endif
//
if eq(v14,0) and elapse(15) and eq(rnd, 5) then
	set(v14,1)
endif
//
if eq(v14,1) then
	ammo2tgt AMMO_60MM_MORTAR(17)
 dec(v14)
endif
//
 if eq(v11,0) and eq(rnd, 18) then
	set(v11,1)
endif
//
if eq(v11,1)  and eq(rnd, 40) then
	ammo2tgt AMMO_60MM_MORTAR(18)
endif
//
if eq(rnd, 6)  and eq(rnd, 118) then
	ammo2tgt AMMO_60MM_MORTAR(19)
endif
//
if eq(rnd, 9)  and eq(rnd, 188) then
	ammo2tgt AMMO_60MM_MORTAR(20)
endif
//
if eq(rnd, 12)  and eq(rnd, 129) then
	ammo2tgt AMMO_60MM_MORTAR(19)//	fx2tgt fx_oiltnk2_exp(18)
endif
//
if elapse(130) and random(60) then
set(v25,2)
endif
//
if chain(1) then
set(v25,0)
endif
//
if elapse(131) and random(61) then
set(v25,3)
endif
//
if chain(1) then
set(v25,0)
endif
//
if elapse(132) and random(62) then
set(v25,4)
endif
//
if chain(1) then
set(v25,0)
endif
//
if elapse(133) and random(63) then
set(v25,5)
endif
//
if chain(1) then
set(v25,0)
endif
//
if elapse(134) and random(64) then
set(v25,6)
endif
//
if chain(1) then
set(v25,0)
endif
//
if elapse(135) and random(65) then
set(v25,7)
endif
//
if chain(1) then
set(v25,0)
endif
//
if elapse(136) and random(66) then
set(v25,8)
endif
//
if chain(1) then
set(v25,0)
endif
//
if elapse(137) and random(67) then
set(v25,9)
endif
//
if chain(1) then
set(v25,0)
endif
//
if elapse(138) and random(68) then
set(v25,10)
endif
//
if chain(1) then
set(v25,0)
endif
//
if elapse(139) and random(69) then
set(v25,11)
endif
//
if chain(1) then
set(v25,0)
endif
//
if past(50) and random(70) and waveready then
  	wave "Delhouse.wav"	//Incoming
endif
//
if past(50) and random(78) and waveready then
	wave "me****.wav" 	//Messengers hit
endif
//
if past(50) and random(88) and waveready then
	wave "alphold.wav" 	//Might have a shot
endif
//
if past(50) and random(92) and waveready then 
	wave "alpnegi.wav" 	//negitive
endif
//
if past(50) and random(83) and waveready then
  	ssnwave (67, "laospeak.wav", 100)	//Laos speaker
endif
//
if past(50) and random(209) and waveready then 
  	wave "alpresum.wav" 	//Resume Formation
endif
//
if past(50) and random(132) and waveready then
  	ssnwave (68, "laospeak.wav", 100)	//Laos speaker
endif
//
if past(50) and random(207) and waveready then
  	wave "Delgots.wav" 	//Got a shot
endif
//
if past(50) and random(201) and waveready then
  	wave "AMPR182.wav" 	//Being attacked
endif
//
if past(50) and random(202) and waveready then
	wave "CMDeyes9.wav" 	//Full unit
endif
//
if past(50) and random(203) and waveready then
  	ssnwave (415, "laosrado.wav", 100)	//Laos radio
endif
//
if past(50) and random(140) and waveready then 
	wave "ALPH545.wav" //Bravo, this is ALPHa. We have eyes on nukes
endif
//
if past(50) and random(204) and waveready then
	wave "CMDsnip.wav" 	//watch for snipers
endif
//
if past(50) and random(244) and waveready then	
	wave "AMPR371.wav" //Standing by for orders !
endif
//
if random(20) and waveready then
;	wave("xplTch2.wav ") // Large explosion
	fx2tgt fx_oiltnk2_exp(66)
	quake(4)
endif
//

Last edited by Guest001; 12-02-2016 at 11:01 PM.
Reply With Quote
  #15  
Old 12-03-2016, 12:14 AM
Scott is offline Scott
Scott's Avatar
AKA. Panther

Join Date: Sep 2001
Location: Minneapolis, MN
Posts: 10,922

Excellent work stomp
__________________

04' Dodge SRT-4, Mopar Stage 3, 406whp/436wtq
Reply With Quote
  #16  
Old 06-29-2017, 10:11 PM
Guest001 is offline Guest001
Registered User

Join Date: Aug 2008
Posts: 4,971

After all the effort it took working out how to detect player deaths without problems, I've discovered the key is to ask...

"if the player is not alive"

not

"if the player is dead".

The resulting code is so simple that I nearly fell over when it worked.

Code:
;Count Player Deaths

if never() then
set(v1,0) // Triggers once then resets
set(v2,0) // Count 1 adds
set(v3,0) // Count 2 Subtracts
endif

if not ssnalive(player) then
set(v1,1)
endif

if eq(v1,1) then
set(v1,0)
endif
; Use chain to trigger once each time the variable flips - link will keep counting
if chain(1) then
add(v2,1)
sub(v3,1)
endif
Reply With Quote
  #17  
Old 06-30-2017, 11:31 AM
Scott is offline Scott
Scott's Avatar
AKA. Panther

Join Date: Sep 2001
Location: Minneapolis, MN
Posts: 10,922

Nice work stomp and thanks for sharing the code.
__________________

04' Dodge SRT-4, Mopar Stage 3, 406whp/436wtq
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 04:26 AM.




Powered by vBulletin®