Scripting woes

Moderator: Jason Petho

Post Reply
User avatar
Schlonz
Posts: 244
Joined: Sun Aug 26, 2007 10:10 am

Scripting woes

Post by Schlonz »

Hi all,

I'm currently trying to elaborate the scripting for the "Collision Course" scenario,
but I don't get the "unload" command to work.
Does it refer to the carrier or to the passenger?

I have yet to find an existing Lua script which uses "unload".

------------------------------
-- _APCS_73 -- APCs, 3rd pltn Recon Company
do local units = _APCS_73
move_way_point (units, {"15,9","19,13"})

if at (units, "19,13") then
unload (units, "19,13", 100)
end

if are_unloaded (units) then
withdraw (units, "19,12")
end

end

-----------------------------------
"I've got a plan so cunning, you could put a tail on it and call it a weasel."
- Blackadder
User avatar
Jason Petho
Posts: 17686
Joined: Tue Jun 22, 2004 10:31 am
Location: Terrace, BC, Canada
Contact:

Re: Scripting woes

Post by Jason Petho »

Here is a sample of what I did to deal with a mechanized company (transport)

do local units = difference(_1ST_15TH_MECHANIZED_RIFLE_COY_66_B_BTR50_1203,{1204,1205,1206,1207})
if turn >= 2 then
if are_loaded(units) then
move_wary_way_point(units, {"33,21","35,28","31,30", "31,32"}, NODIR, 3, 100, 1)
end
end
if turn >= 6 then
if within(units, "31,32", NODIR, 1, true) then
unload_scatter(units, "31,32", DOWNDIR, 1, 100)
elseif not are_not_carried(units) then
unload_scatter(units, HEXUNKNOWN, DOWNDIR, 1, 100)
end
if are_not_loaded(units) then
move_norush(units, "30,24")
elseif are_not_loaded(units) and within(units, "30,34", NODIR, 2, true) then
defend_scatter(units, "30,24", DOWNDIR, 1, 100, false, DEFEND_WEAK)
elseif are_not_loaded(units) and within(units, "30,34", NODIR, 2, true) and units_within_count("31,30", DOWNDIR, 7, JORDANIAN_SIDE, true ) >= 1 then
defend_scatter(units, "31,20", DOWNDIR, 1, 100, false, DEFEND_WEAK)
end
end
end
User avatar
Crossroads
Posts: 18548
Joined: Sun Jul 05, 2009 8:57 am

Re: Scripting woes

Post by Crossroads »

Tip of the day from you resident programmer: larger code snippets in particular display better inside the code display tags:
Jason Petho wrote: Sun Feb 22, 2026 4:33 pm Here is a sample of what I did to deal with a mechanized company (transport)

Code: Select all

    do local units = difference(_1ST_15TH_MECHANIZED_RIFLE_COY_66_B_BTR50_1203,{1204,1205,1206,1207})
    	if turn >= 2 then
    		if are_loaded(units) then
    			move_wary_way_point(units, {"33,21","35,28","31,30", "31,32"}, NODIR, 3, 100, 1)
    		end
    	end	
    	if turn >= 6 then 
    		if within(units, "31,32", NODIR, 1, true) then		
    			unload_scatter(units, "31,32", DOWNDIR, 1, 100)
			elseif not are_not_carried(units) then
				unload_scatter(units, HEXUNKNOWN, DOWNDIR, 1, 100)
    		end
        	if are_not_loaded(units) then
        		move_norush(units, "30,24")
			elseif are_not_loaded(units) and within(units, "30,34", NODIR, 2, true) then
				defend_scatter(units, "30,24", DOWNDIR, 1, 100, false, DEFEND_WEAK)  
			elseif are_not_loaded(units) and within(units, "30,34", NODIR, 2, true) and units_within_count("31,30", DOWNDIR, 7, JORDANIAN_SIDE, true ) >= 1  then
				defend_scatter(units, "31,20", DOWNDIR, 1, 100, false, DEFEND_WEAK)  	
			end
        end
    end
Visit us at: Campaign Series Legion
---
CS: Vietnam 1948-1967 < v2.10.20 Available Now (Dec 03, 2025)
CS: Middle East 1948-1985 < v3.10.20 Available Now (Dec 03, 2025)
Post Reply

Return to “Mods and Scenarios”