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
39 | |||||
38 | |||||
26 | |||||
21 | |||||
469 | |||||
73 | |||||
29 | |||||
2 | |||||
1 | |||||
1 |
Ladders Top 10
-
#Steam AliasWL%Streak
- 1.278110.716+16
- 2.270144.652+2
- 3.29446.865-1
- 4.558230.708+2
- 5.253150.628+14
- 6.968566.631-4
- 7.22491.711+11
- 8.8120.802-1
- 9.19078.709+4
- 10.399200.666+8
Replay highlight
VS
- cblanco ★
- 보드카 중대
- VonManteuffel
- Heartless Jäger
Einhoven Country
Honor it
7
Download
780
Board Info
564 users are online:
1 member and 563 guests
Crecer13
Crecer13
4 posts in the last 24h
38 posts in the last week
145 posts in the last month
38 posts in the last week
145 posts in the last month
Registered members: 45326
Welcome our newest member, xotip14389
Most online: 2043 users on 29 Oct 2023, 01:04 AM
Welcome our newest member, xotip14389
Most online: 2043 users on 29 Oct 2023, 01:04 AM