17.06.2011, 12:32
How can i make a NPC which would just stand there and do 1 anim all the time?
//GameModelNit or something lol
ConnectNPC("Training","TrainingGuy");
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "Training", true))
{
SetPlayerPos(playerid, 302.4050,2067.1462,17.6406);
SetPlayerFacingAngle(playerid, 109.0411);
ApplyAnimation(playerid,"COP_AMBIENT","Coplook_loop",4.1,0,0,0,1,0);
}
return 1;
}
SetPlayerPos(playerid, 315.55523682,2059.98608398, 27); //just for example.
return true;
}
Your code looks good.
Have you placed the npc script in the npcmodes folder and the recorded file in the recordings folder ? Can we see the npc mini script too ? |
#define RECORDING "TrainingGuy" //This is the filename of your recording without the extension.
#define RECORDING_TYPE 2 //1 for in vehicle and 2 for on foot.
#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#if RECORDING_TYPE == 1
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();
#else
public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#endif
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "Dave", true))
{
SetPlayerSkin(playerid, 179);
print("Skin done");
SetPlayerFacingAngle(playerid, 269.7591);
print("Facing angle done");
ApplyAnimation(playerid,"COP_AMBIENT","Coplook_loop",4.1,0,0,0,1,0);
print("Anim done");
Dave[playerid] = Create3DTextLabel("Dave", 0x00FF0000, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(Dave[playerid], playerid, 0.0, 0.0, 0.2);
print("3D text done");
return true;
}
return 1;
}
SetPlayerPos(playerid, 315.55523682,2059.98608398, 27);
return true;
}