|
empty pointer in my function
#307096
01/27/10 03:48
01/27/10 03:48
|
Joined: Jan 2010
Posts: 4
Hissatsu
OP
Guest
|
OP
Guest
Joined: Jan 2010
Posts: 4
|
Im getting a message box that says "empty pointer in function enemy" I cant seem to figure it out . . .
action enemy() { player = my; c_setminmax(me); my.emask |= ENABLE_IMPACT; ENTITY* enemy = NULL;
VECTOR vFeet; vec_for_min(vFeet,me); set(my,FLAG2); my.STATE = 1; while(1) {
if(my.STATE == 1) { c_scan(my.x,my.pan,vector(1000,0,900),SCAN_ENTS | SCAN_FLAG2 | IGNORE_ME); my.ANIMATION += 10 * time_step; ent_animate(my, "idle", my.ANIMATION, ANM_CYCLE); if(you) { my.ANIMATION = 0; my.STATE = 2; enemy = your.CREATOR; } }
if(my.STATE == 2) var dist = vec_dist(my.x, your.x); { while(1) { var distance =-3*time_step; c_move(me, vector(0,distance,0), EVENT_ENTITY, IGNORE_ME | GLIDE ); my.ANIMATION += 2* distance; ent_animate(my,"walk",my.ANIMATION,ANM_CYCLE); c_trace (my.x,vector(my.x,my.y,my.z),IGNORE_ME|IGNORE_PASSABLE|SCAN_TEXTURE); if (hit.texname) { my.ANIMATION += 25 * time_step; ent_animate(my,"punch",my.ANIMATION,ANM_CYCLE); } wait(1); } } wait(1); }
|
|
|
Re: empty pointer in my function
[Re: toby2000]
#307238
01/28/10 01:52
01/28/10 01:52
|
Joined: Feb 2008
Posts: 3,232 Australia
EvilSOB
Expert
|
Expert
Joined: Feb 2008
Posts: 3,232
Australia
|
Firstly, get rid of "player = me;". Its un-necessary in an enemy function and may cause problems. "player" ISNT instanced like "me" or "you", its a public pointer. So changing its contents affects all functions/action that are using it. Secondly, try replacing your "STATE==1" block with this....
...
if(my.STATE == 1)
{
you = NULL;
c_scan(my.x,my.pan,vector(1000,0,900),SCAN_ENTS | SCAN_FLAG2 | IGNORE_ME);
my.ANIMATION += 10 * time_step;
ent_animate(my, "idle", my.ANIMATION, ANM_CYCLE);
if(you)
{
if(your.CREATOR)
{
my.ANIMATION = 0;
my.STATE = 2;
enemy = your.CREATOR;
}
}
}
...
"There is no fate but what WE make." - CEO Cyberdyne Systems Corp. A8.30.5 Commercial
|
|
|
|