I've been very stupid to use the same names as engine functions; but they’re 100% fakemeta and they don’t work exactly like the engine functions (i.e. create_entity in engine doesn’t 'spawn' the entity, you would have DispatchSpawn after creating; I was trying to give you examples.)
And that’s the proper way to set origin.
Code:
create_entity_at(const classname[], Float:origin[3] = {0.0, 0.0, 0.0}) {
new ent
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, classname))
if(ent) {
engfunc(EngFunc_SetOrigin, ent, origin)
dllfunc(DLLFunc_Spawn, ent)
}
return ent
}