请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

ESFKAMI

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

ESFX

ESF: Xenoverse

ESF123

ESF1.2.3

EVM2.1

EVM2.1

ECXSSJ

ECX: TeamSSJ

ECX2.2

ECX RC2

ECX2.3

ECX RC3

查看: 974|回复: 0

[代码|Code]实体平移变换|Entity Translation Transformat

[复制链接]

211

主题

216

帖子

1130

积分

ESFKAMI

Rank: 8Rank: 8

积分
1130
发表于 2017-7-13 16:52:02 | 显示全部楼层 |阅读模式
Set Entity Origin Forward:
  1.         new Float: vAng[3], Float: vec[3];
  2.         pev( Client, pev_v_angle, vAng );
  3.         angle_vector( vAng, 2, vec );
  4.         new Float: vec2[3];

  5.         /* Forward */
  6.         vec2[0] = vec[0];
  7.         vec2[1] = vec[1];
  8.         vec2[2] = vec[2] + -1.0;

  9.         new Float: vecForward[3];
  10.         xs_vec_cross( vec, vec2, vecForward );
  11.         xs_vec_normalize(vecForward, vecForward);

  12.         new Float: org[3];
  13.         pev( Client, pev_origin, org );

  14.         /* Distance */
  15.         org[0] = ( vecForward[0] * 150.0 ) + org[0];
  16.         org[1] = ( vecForward[1] * 150.0 ) + org[1];
  17.         org[2] = ( vecForward[2] * 150.0 ) + org[2];

  18.         set_pev( Client, pev_origin, org );
复制代码




Set Entity Origin Backward:
  1.         new Float: vAng[3], Float: vec[3];
  2.         pev( Client, pev_v_angle, vAng );
  3.         angle_vector( vAng, 2, vec );
  4.         new Float: vec2[3];

  5.         /* Backward */
  6.         vec2[0] = vec[0];
  7.         vec2[1] = vec[1];
  8.         vec2[2] = vec[2] + 1.0;

  9.         new Float: vecBackward[3];
  10.         xs_vec_cross( vec, vec2, vecBackward );
  11.         xs_vec_normalize(vecBackward, vecBackward);

  12.         new Float: org[3];
  13.         pev( Client, pev_origin, org );

  14.         /* Distance */
  15.         org[0] = ( vecBackward[0] * 150.0 ) + org[0];
  16.         org[1] = ( vecBackward[1] * 150.0 ) + org[1];
  17.         org[2] = ( vecBackward[2] * 150.0 ) + org[2];

  18.         set_pev( Client, pev_origin, org );
复制代码




Set Entity Origin Leftward:
  1.         new Float: vAng[3], Float: vec[3];
  2.         pev( Client, pev_v_angle, vAng );
  3.         
  4.         /* Leftward */
  5.         vAng[1] -= 90.0

  6.         angle_vector( vAng, 2, vec );
  7.         new Float: vec2[3];

  8.         vec2[0] = vec[0];
  9.         vec2[1] = vec[1];
  10.         vec2[2] = vec[2] + 1.0;

  11.         new Float: vecLeftward[3];
  12.         xs_vec_cross( vec, vec2, vecLeftward );
  13.         xs_vec_normalize(vecLeftward, vecLeftward);

  14.         new Float: org[3];
  15.         pev( Client, pev_origin, org );
  16.         org[0] = ( vecLeftward[0] * 150.0 ) + org[0];
  17.         org[1] = ( vecLeftward[1] * 150.0 ) + org[1];
  18.         org[2] = ( vecLeftward[2] * 150.0 ) + org[2];
  19.         set_pev( Client, pev_origin, org );
复制代码




Set Entity Origin Rightward:
  1.         new Float: vAng[3], Float: vec[3];
  2.         pev( Client, pev_v_angle, vAng );
  3.         
  4.         /* Rightward */
  5.         vAng[1] += 90.0

  6.         angle_vector( vAng, 2, vec );
  7.         new Float: vec2[3];

  8.         vec2[0] = vec[0];
  9.         vec2[1] = vec[1];
  10.         vec2[2] = vec[2] + 1.0;

  11.         new Float: vecRightward[3];
  12.         xs_vec_cross( vec, vec2, vecRightward );
  13.         xs_vec_normalize(vecRightward, vecRightward);

  14.         new Float: org[3];
  15.         pev( Client, pev_origin, org );
  16.         org[0] = ( vecRightward[0] * 150.0 ) + org[0];
  17.         org[1] = ( vecRightward[1] * 150.0 ) + org[1];
  18.         org[2] = ( vecRightward[2] * 150.0 ) + org[2];
  19.         set_pev( Client, pev_origin, org );
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ESFKAMI    

GMT+8, 2018-4-25 02:26 , Processed in 0.249010 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表