For a map script I want to see whether a mod is in use, and the first way that occurs to me is to use EBP_Exists for some custom entity in the mod. I've seen the instructions for prepending your mod's ID to the entity's name, but I don't see how to specify the entity's name so that the script can find the blueprint.
I see that the Attribute Editor will let you export luaconstsauto.scar for the mod, but it does not have the new entities and squads in it.
Anyone know how to reference a new squad or entity from a script?
blueprint name for new squad or entity?
17 Jul 2015, 07:05 AM
#1
Posts: 139
17 Jul 2015, 12:52 PM
#2
Posts: 756 | Subs: 8
Your mod's ID (without dashes), then a colon, then the blueprint.
Example:
Example:
Code
BP_GetSquadBlueprint("94e80b04a136401b963d3806d5b13ef4:fuesilier_squad_mp")
17 Jul 2015, 17:57 PM
#3
Posts: 139
I was wondering how to find the name of "fuesilier_squad_mp". Without a faction, there could be duplicates.
However, I think I can use World_GetPossible{Squads,Entities}Blueprint to iterate over everything in the mod, and output the blueprint names. I'll probably try that tonight.
However, I think I can use World_GetPossible{Squads,Entities}Blueprint to iterate over everything in the mod, and output the blueprint names. I'll probably try that tonight.
17 Jul 2015, 18:36 PM
#4
Posts: 756 | Subs: 8
Blueprints are unique per type (squad, entity, etc), and per mod (presumably).
Here is a utility function you might find useful:
Usage:
You could wrap it further like so:
Here is a utility function you might find useful:
-- @param blueprintFunction Relic function that will retrieve a blueprint
-- @param blueprintName Name of the blueprint to be retrieved
-- @return blueprint if it exists; nil otherwise
function getBlueprintIfItExists(blueprintFunction, modID, blueprintName)
local exists, blueprint = pcall(blueprintFunction, modID .. ":" .. blueprintName);
if ( exists == false ) then
blueprint = nil;
end
return blueprint;
end
Usage:
local squadBlueprint = getBlueprintIfItExists(BP_GetSquadBlueprint, "94e80b04a136401b963d3806d5b13ef4", "fuesiliers_mp");
if ( squadBlueprint ) then
-- do stuff with squadBlueprint
end
You could wrap it further like so:
function getSquadBlueprintIfItExists(modID, blueprintName)
return getBlueprintIfItExists(BP_GetSquadBlueprint, modID, blueprintName);
end
17 Jul 2015, 22:36 PM
#5
Posts: 139
So if one faction has ...whatever...\combat_engineers in its archive, there won't be a ...somethingelse..\combat_engineers ? And you can just use "combat_engineers" as the short blueprint name?
18 Jul 2015, 02:09 AM
#6
Posts: 756 | Subs: 8
Exactly.
18 Jul 2015, 02:33 AM
#7
Posts: 139
Great, thanks!
PAGES (1)
1 user is browsing this thread:
1 guest
Livestreams
30 | |||||
12 | |||||
8 | |||||
8 | |||||
2 | |||||
1 | |||||
1 | |||||
1 |
Ladders Top 10
-
#Steam AliasWL%Streak
- 1.655231.739+15
- 2.842223.791+5
- 3.35157.860+16
- 4.599234.719+7
- 5.934410.695-1
- 6.278108.720+29
- 7.307114.729+3
- 8.645.928+5
- 9.10629.785+7
- 10.527.881+18
Replay highlight
VS
- cblanco ★
- 보드카 중대
- VonManteuffel
- Heartless Jäger
Einhoven Country
Honor it
11
Download
1259
Board Info
352 users are online:
352 guests
0 post in the last 24h
12 posts in the last week
25 posts in the last month
12 posts in the last week
25 posts in the last month
Registered members: 49851
Welcome our newest member, Eovaldis
Most online: 2043 users on 29 Oct 2023, 01:04 AM
Welcome our newest member, Eovaldis
Most online: 2043 users on 29 Oct 2023, 01:04 AM