Raised This Month: $ Target: $400
 0% 

Setting Angles and Origins.


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
lunarwolfx
Member
Join Date: Feb 2005
Old 02-04-2007 , 20:31   Re: Setting Angles and Origins.
Reply With Quote #1

well I'm still not sure what you're trying to do, but if you want the sentries to form a circle around the player, then this might help

Basically focus on npc_circle.

Code:
#include <amxmodx> #include <fakemeta> public plugin_init() {     register_plugin("test","0", "noone")         register_clcmd("say /some_entity", "test");     } public test(id) {         some_entity(id,6);     } public some_entity(id,numofents) {         for(new i = 1; i <= numofents; i++) {                 new Float:radius = 50.0, Float:angle = float(i * 360/numofents);                                     new ent = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString, "info_target"));                                         npc_circle(id,ent,radius,angle);             engfunc(EngFunc_SetModel,ent,"models/player.mdl");     }         } public npc_circle(id,ent,Float:radius, Float:angle) {         new Float:offset[3],Float:origin[3];         offset[0] = radius * floatcos(angle,degrees);     offset[1] = radius * floatsin(angle,degrees);         get_offset_origin(id,offset,origin);         set_pev(ent,pev_origin,origin);         return 1; } //This is taken from chr_engine.inc, which I highly recommend people to use stock get_offset_origin(ent,const Float:offset[3],Float:origin[3]) {     if(!pev_valid(ent))         return 0;         new Float:angle[3]     pev(ent,pev_origin,origin)     pev(ent,pev_angles,angle)         origin[0] += floatcos(angle[1],degrees) * offset[0]     origin[1] += floatsin(angle[1],degrees) * offset[0]         origin[2] += floatsin(angle[0],degrees) * offset[0]     origin[0] += floatcos(angle[0],degrees) * offset[0]         origin[1] += floatcos(angle[1],degrees) * offset[1]     origin[0] -= floatsin(angle[1],degrees) * offset[1]         origin[2] += floatsin(angle[2],degrees) * offset[1]     origin[1] += floatcos(angle[2],degrees) * offset[1]         origin[2] += floatcos(angle[2],degrees) * offset[2]     origin[1] -= floatsin(angle[2],degrees) * offset[2]         origin[2] += floatcos(angle[0],degrees) * offset[2]     origin[0] -= floatsin(angle[0],degrees) * offset[2]         origin[0] -= offset[0]     origin[1] -= offset[1]     origin[2] -= offset[2]         return 1; }

I tried it ingame, and it seems to work.
lunarwolfx is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:38.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode