Hi guys. I'm trying to make a perfect npc. I have a problem.
When being crouched, it works perfect, or so I think.. But when standing, the NPC gets on the ground
This is my code:
PHP Code:
case ACTIVITY_DUCK:
{
NPC_PlayAction(iEnt, AI_ACTIONS[5][NPC_SEQUENCE], AI_ACTIONS[5][NPC_ANIMTIME], AI_ACTIONS[5][NPC_FRAMERATE])
NPC_MoveToTarget(iEnt, vecVictimOrigin, 240.0)
new Float:vecMins[3];
new Float:vecMax[3];
//new Float:VecSize[3]
vecMins = Float:{-16.0, -16.0, -18.0};
vecMax = Float:{16.0, 16.0, 32.0};
//VecSize = Float:{32.0, 32.0, 50.0};
//entity_set_size(iEnt, vecMins, vecMax);
entity_set_vector(iEnt, EV_VEC_mins, vecMins);
entity_set_vector(iEnt, EV_VEC_maxs, vecMax);
client_print(0, print_chat, "Duck")
if(fDistance <= 64.0)
{
// Sequence Duck And Attack
entity_set_int(iEnt, EV_INT_sequence, 81);
entity_set_float(iEnt, EV_FL_animtime, g_animtime);
entity_set_float(iEnt, EV_FL_framerate, g_framerate);
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.5);
return;
}
//if( !(pev(iVictim, pev_oldbuttons) & IN_DUCK) )
//{
entity_set_int(iEnt, ZOMBIE_ACTIVITY, ACTIVITY_STAND)
//}
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.5);
return;
}
case ACTIVITY_STAND:
{
NPC_PlayAction(iEnt, AI_ACTIONS[0][NPC_SEQUENCE], AI_ACTIONS[0][NPC_ANIMTIME], AI_ACTIONS[0][NPC_FRAMERATE])
new Float:vecMins[3];
new Float:vecMax[3];
// new Float:VecSize[3]
vecMins = Float:{-16.0, -16.0, -36.0};
vecMax = Float:{16.0, 16.0, 36.0};
//VecSize = Float:{32.0, 32.0, 72.0};
//entity_set_size(iEnt, vecMins, vecMax);
entity_set_vector(iEnt, EV_VEC_mins, vecMins);
entity_set_vector(iEnt, EV_VEC_maxs, vecMax);
entity_set_int(iEnt, ZOMBIE_ACTIVITY, ACTIVITY_RUN)
client_print(0, print_chat, "Stand")
entity_set_float(iEnt, EV_FL_nextthink, get_gametime() + 0.5);
return;
}
Duck:
Problem:
Sorry for my english, I'm spanish speaking