-
Notifications
You must be signed in to change notification settings - Fork 12
/
entity_tools.inc
37 lines (31 loc) · 1.01 KB
/
entity_tools.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#if defined __stocksoup_entity_utils_included
#endinput
#endif
#define __stocksoup_entity_utils_included
#include <stocksoup/entity_prop_stocks>
stock bool ParentEntity(int parent, int attachment, const char[] attachPoint = "",
bool maintainOffset = false) {
SetVariantString("!activator");
AcceptEntityInput(attachment, "SetParent", parent, attachment, 0);
if (strlen(attachPoint) > 0) {
SetVariantString(attachPoint);
AcceptEntityInput(attachment,
maintainOffset? "SetParentAttachmentMaintainOffset" : "SetParentAttachment",
parent, parent);
}
}
/**
* Searches for an entity by target name.
*/
stock int FindEntityByTargetName(int startEnt = -1, const char[] target,
const char[] className = "*") {
int targetmaxlen = strlen(target) + 1;
char[] targetbuf = new char[targetmaxlen];
while ((startEnt = FindEntityByClassname(startEnt, className)) != -1) {
GetEntityTargetName(startEnt, targetbuf, targetmaxlen);
if (StrEqual(target, targetbuf)) {
return startEnt;
}
}
return startEnt;
}