设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 438|回复: 0

[求助] 谁能帮忙修改下僵尸类型sma源码?(添加参数) [复制链接]

Rank: 10Rank: 10Rank: 10

帖子
1250
精华
0
声望
3577 点
金币
470 Mold
被赞许
45 次
注册时间
2010-7-13

可爱小猫

发表于 2010-11-14 19:03:03 |显示全部楼层
本帖最后由 水蛭 于 2010-11-14 19:13 编辑

哪位高手可以帮下忙……让这只僵尸的视角位置在玩家坐标的8的高度?XYZ→0 8 0这样。模型设置的第一人称视角高度设置无效,所以喜欢在这个僵尸的源码上修改。
没办法悬赏……等级不够?
论坛的等级怎么算的?只算积分还是金币?
---------------这种时候果然要用分割线----------------
有关的参数是这个吧?
ham_co】n】s】t.inc文件
        /**
         * Description:                Returns】 】the eye position of the entity.
         * Forward params:        function(this);
         * Return type:                Vector (byref'd in Execute).
         * Execute params:        ExecuteHam(Ham_EyePosition, this, Floatutput[3]);
         */
        Ham_EyePosition,
--------------------
对了修改好后请把源码发上,顺便标明哪里是添加的吧
感激不尽
--------以下是僵尸源码----------
-----------[一些字被屏蔽没办法……上附件吧]-----------
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <zombieplague>

  4. #define PLUGIN "[ZP] Class : Chinese Zombie"
  5. #define VERSION "1.2.2"
  6. #define AUTHOR "YKH =]"


  7. new co***** zclass6_name[] = { "跳跃僵尸" }
  8. new co***** zclass6_info[] = { "蹲下按E飞跃" }
  9. new co***** zclass6_model[] = { "zp_zombie" }
  10. new co***** zclass6_clawmodel[] = { "v_zpclassic.mdl" }
  11. co***** zclass6_health = 800
  12. co***** zclass6_speed = 250
  13. co***** Float:zclass6_gravity = 1.0
  14. co***** Float:zclass6_knockback = 1.0

  15. new g_zclass6_LongJump, g_LongJump_force, g_LongJump_height, cvar_cooldown
  16. new Float:g_lastleaptime[33] // time leap was last used

  17. public plugin_init()
  18. {
  19.         register_cvar("zp_zclass_leap_zombie",VERSION,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
  20.        
  21.         g_LongJump_force = register_cvar("zp_zclass_leap_force", "500")
  22.         g_LongJump_height = register_cvar("zp_zclass_leap_height", "350")
  23.         cvar_cooldown = register_cvar("zp_leap_cooldown", "2.0")
  24.        
  25.         register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
  26. }

  27. public plugin_precache()
  28. {
  29.         g_zclass6_LongJump = zp_register_zombie_class(zclass6_name, zclass6_info, zclass6_model, zclass6_clawmodel, zclass6_health, zclass6_speed, zclass6_gravity, zclass6_knockback)
  30. }

  31. public zp_user_infected_post(id, infector)
  32. {
  33.         if (zp_get_user_zombie_class(id) == g_zclass6_LongJump)
  34.         {
  35.                 client_print(id, print_chat, "[提示] 你现在是跳跃僵尸!行走时速度大于0按E飞跃,冷却时间2秒        ")       
  36.         }
  37.         return PLUGIN_CONTINUE
  38. }
  39. public fw_PlayerPreThink(id)
  40. {
  41.         if (!is_user_alive(id))
  42.                 return
  43.                
  44.         if (allowed_LongJump(id))
  45.         {
  46.                 static Float:velocity[3]
  47.                 velocity_by_aim(id, get_pcvar_num(g_LongJump_force), velocity)
  48.                
  49.                 velocity[2] = get_pcvar_float(g_LongJump_height)
  50.                
  51.                 set_pev(id, pev_velocity, velocity)

  52.                 // Set the current leap time
  53.                 g_lastleaptime[id] = get_gametime()
  54.         }
  55. }

  56. allowed_LongJump(id)
  57. {       
  58.         if (!zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
  59.                 return false

  60.         if (zp_get_user_zombie_class(id) != g_zclass6_LongJump)
  61.                 return false
  62.                  
  63.         if (!((pev(id, pev_flags) & FL_ONGROUND)) || fm_get_speed(id) < 0) // 速度大于多少时可以跳远
  64.                 return false
  65.        
  66.         static buttons
  67.         buttons = pev(id, pev_button)
  68.        
  69.         // Not doing a longjump (added bot support)
  70.         if (!(buttons & IN_USE) && !is_user_bot(id))
  71.                 return false

  72.         // Get cooldown cvar
  73.         static Float:cooldown
  74.         cooldown = get_pcvar_float(cvar_cooldown)

  75.         // 冷却时间还没有结束
  76.         if ((get_gametime()-g_lastleaptime[id])<cooldown)
  77.                 return false
  78.                 client_print(id, print_chat, "冷却时间还没有结束!技能冷却时间需要2秒", g_lastleaptime[id]-get_gametime())
  79.                
  80.         return true
  81. }

  82. stock fm_get_speed(entity)
  83. {
  84.         static Float:velocity[3]
  85.         pev(entity, pev_velocity, velocity)
  86.        
  87.         return floatround(vector_length(velocity));
  88. }
复制代码
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

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

回顶部