搜索
查看: 5550|回复: 13

己解决主题-在此感谢kk阿郎的帮忙

[复制链接]
发表于 2011-2-28 07:33:29 | 显示全部楼层 |阅读模式 来自 广东广州
本帖最后由 点通粉丝 于 2011-3-9 07:50 编辑
  1. #include <amxmodx>
  2. #include <engine>

  3. public plugin_init() {
  4.         // Plugin information
  5.         register_plugin("TeamKnives","1.0","Ywa-NL")
  6.         register_event("CurWeapon", "weaponChange", "be", "1=1")
  7.         register_cvar("amx_teamknives", "1")
  8.        
  9.         return PLUGIN_CONTINUE
  10. }

  11. public plugin_precache() {
  12.         precache_model("models/v_crowbar.mdl")
  13.         precache_model("models/v_hgun.mdl")
  14.         return PLUGIN_CONTINUE
  15. }

  16. public weaponChange(id)        {
  17.         if ( !get_cvar_num("amx_teamknives") )
  18.                 return PLUGIN_CONTINUE
  19.        
  20.         // Get needed information
  21.         //
  22.         // Weapon ID, Ammo, Clip
  23.         new clip, ammo, wpnid = get_user_weapon(id,clip,ammo)
  24.         // Team
  25.         new team = get_user_team(id);
  26.        
  27.        
  28.         switch( team ) {
  29.                 case 1: {  
  30.                         if (wpnid == CSW_KNIFE)
  31.                                 {
  32.                                 entity_set_string(id, EV_SZ_viewmodel, "models/v_crowbar.mdl")
  33.                         }
  34.                 }
  35.                 case 2: {        
  36.                         if (wpnid == CSW_KNIFE)
  37.                                 {
  38.                                 entity_set_string(id, EV_SZ_viewmodel, "models/v_hgun.mdl")
  39.                         }
  40.                 }
  41.         }
  42.         return PLUGIN_CONTINUE
  43.        
  44. }
复制代码
这个是改变,警察和韭徙小刀模型代码来的
这两个小刀分别是cs1.5自带小刀模型来.不用下截的
第一个是   铁 J
v_crowbar.mdl

第二个是   怪物手
v_hgun.mdl
这两个都有W和P模型的..........

========================
我就想你改一下代码..不单只是V模型..连W和P模型也帮我加一下上去可以吗
v_crowbar.mdl
w_crowbar.mdl
p_crowbar.mdl

v_hgun.mdl
w_hgun.mdl
p_hgun.mdl

帮我改一下啦..谢谢


武器模型分三类:(*为武器名称)
v_*.mdl 手部武器模型 - 为自己看见的手部模型
w_*.mdl 地上武器模型 - 别人也看得见模型
p_*.mdl 人物身上武器模型 - 别人也看得见模型

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
 楼主| 发表于 2011-2-28 07:44:05 | 显示全部楼层 来自 广东广州
上面两张图片分别是
v_crowbar.mdl

v_hgun.mdl

麻烦帮一下帮把W和P模型也加上代码去...谢了
回复

使用道具 举报

发表于 2011-2-28 10:37:54 | 显示全部楼层 来自 陕西西安
哈哈 僵尸服的插件,喜欢啊,呵呵 感谢楼主
回复

使用道具 举报

发表于 2011-2-28 17:39:43 | 显示全部楼层 来自 广东东莞
  1. #include <amxmodx>
  2. #include <engine>
  3. #include <fakemeta>

  4. new VIEW_MODEL[]        = "models/v_<model name>.mdl"
  5. new PLAYER_MODEL[]        = "models/p_<model name>.mdl"
  6. new WORLD_MODEL[]    = "models/w_<model name>.mdl"

  7. new OLDWORLD_MODEL[]    = "models/w_<model name>.mdl" // the world model you want replaced

  8. new PLUGIN_NAME[]    = "Custom Weapon Model"
  9. new PLUGIN_AUTHOR[]         = "Cheap_Suit"
  10. new PLUGIN_VERSION[]        = "1.0"

  11. public plugin_init()
  12. {
  13.     register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)     
  14.     register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
  15.     register_forward(FM_SetModel, "fw_SetModel")
  16. }

  17. public plugin_precache()
  18. {   
  19.     precache_model(VIEW_MODEL)     
  20.     precache_model(PLAYER_MODEL)
  21.     precache_model(WORLD_MODEL)
  22. }

  23. public Event_CurWeapon(id)
  24. {     
  25.     // might not work for other mods
  26.     new weaponID = read_data(2)
  27.         
  28.     // eg, if weapon is not ak then continue
  29.     if(weaponID != CSW_AK47)
  30.         return PLUGIN_CONTINUE
  31.    
  32.     // this set's the view model (what you see when holding the gun)
  33.     entity_set_string(id, EV_SZ_viewmodel, VIEW_MODEL)  
  34.    
  35.     // this set's the player model (what you see when people holding the gun)
  36.     entity_set_string(id, EV_SZ_weaponmodel, PLAYER_MODEL)         
  37.    
  38.     return PLUGIN_CONTINUE
  39. }

  40. public fw_SetModel(entity, model[])
  41. {
  42.     // check if its a valid entity or else we'll get errors
  43.     if(!is_valid_ent(entity))
  44.         return FMRES_IGNORED

  45.     // checks if it's the model we want to change
  46.     if(!equali(model, OLDWORLD_MODEL))
  47.         return FMRES_IGNORED

  48.     new className[33]
  49.     entity_get_string(entity, EV_SZ_classname, className, 32)

  50.     //            dropped weapons                      map weapons                       c4 + grenades
  51.     if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade"))
  52.     {
  53.         // set's the world model (what you see on the ground)
  54.         entity_set_model(entity, WORLD_MODEL)
  55.         return FMRES_SUPERCEDE
  56.     }
  57.     return FMRES_IGNORED
  58. }
复制代码
http://forums.alliedmods.net/showthread.php?t=40822

自己动动手弄弄哈,没工具!
回复

使用道具 举报

 楼主| 发表于 2011-3-1 00:09:19 | 显示全部楼层 来自 广东广州
大哥我不是要所有人都一样的手部模型啊
我要两边不一样的啊...........
你这代码我看不明白啦..

我的意思可能你不明白吧..我再说清楚一点
这是警的手部模形
v_crowbar.mdl


这是韭的手部模形
v_hgun.mdl

我的代码不是注明了么
我就是想把两边的
w和p也分别加上代码去呀

正确的意思我想这样
这是警的
v_crowbar.mdl
w_crowbar.mdl
p_crowbar.mdl

这是韭徙的
v_hgun.mdl
w_hgun.mdl
p_hgun.mdl
回复

使用道具 举报

发表于 2011-3-2 21:40:28 | 显示全部楼层 来自 广东东莞
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <fakemeta>

  4. new const g_szVmodels[ CsTeams ][] = {
  5.         "",
  6.         "models/v_hgun.mdl",
  7.         "models/v_crowbar.mdl",
  8.         ""
  9. };

  10. new const g_szPmodels[ CsTeams ][] = {
  11.         "",
  12.         "models/p_hgun.mdl",
  13.         "models/p_crowbar.mdl",
  14.         ""
  15. };

  16. new const g_szWmodels[ CsTeams ][] = {
  17.         "",
  18.         "models/w_hgun.mdl",
  19.         "models/w_crowbar.mdl",
  20.         ""
  21. }

  22. new const g_szOldWmodel[] = "models/w_knife.mdl";

  23. new const PLUGIN_NAME[]                = "";
  24. new const PLUGIN_AUTHOR[]        = "";
  25. new const PLUGIN_VERSION[]        = "";

  26. public plugin_init()
  27. {
  28.         register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
  29.         register_event( "CurWeapon", "Event_CurWeapon", "be","1=1" );
  30.         register_forward( FM_SetModel, "fw_SetModel" );
  31. }

  32. public plugin_precache()
  33. {
  34.         new i;
  35.         for ( i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
  36.         {
  37.                 engfunc( EngFunc_PrecacheModel, g_szVmodels[ i ] );
  38.                 engfunc( EngFunc_PrecacheModel, g_szWmodels[ i ] );
  39.                 engfunc( EngFunc_PrecacheModel, g_szPmodels[ i ] );
  40.         }
  41. }

  42. public Event_CurWeapon( id )
  43. {     
  44.         new iWeapon = read_data( 2 );
  45.         new CsTeams:iUserTeam = cs_get_user_team( id );
  46.        
  47.         if( iWeapon != CSW_KNIFE )
  48.                 return PLUGIN_CONTINUE;
  49.        
  50.         set_pev( id, pev_viewmodel2, g_szVmodels[ iUserTeam ] );
  51.         set_pev( id, pev_weaponmodel2, g_szWmodels[ iUserTeam ] );
  52.        
  53.         return PLUGIN_CONTINUE;
  54. }

  55. public fw_SetModel( iEnt, const szModel[ ] )
  56. {
  57.         if( !pev_valid( iEnt ) )
  58.                 return FMRES_IGNORED;
  59.        
  60.         if( !equali(szModel, g_szOldWmodel ) )
  61.                 return FMRES_IGNORED;
  62.        
  63.         new szClassName[ 33 ];
  64.         pev( iEnt, pev_classname, szClassName, charsmax( szClassName ) );
  65.        
  66.         new id = pev( iEnt, pev_owner );
  67.         new CsTeams:iUserTeam = cs_get_user_team( id );
  68.        
  69.         if( equal( szClassName, "weaponbox" ) || equal( szClassName, "armoury_entity" ) || equal( szClassName, "grenade" ) )
  70.         {
  71.                 engfunc( EngFunc_SetModel, iEnt, g_szWmodels[ iUserTeam ] );
  72.                 return FMRES_SUPERCEDE;
  73.         }
  74.         return FMRES_IGNORED;
  75. }
复制代码
自己测试一下!
回复

使用道具 举报

 楼主| 发表于 2011-3-5 21:43:35 | 显示全部楼层 来自 广东佛山
本帖最后由 点通粉丝 于 2011-3-7 21:06 编辑

阿郎哥'上面的代码编绎时出现以下错误,,首先在些感谢你的代码先'测试失败.看图
为了使插件更具有娱乐性
可不可以再加一些音效上去
用铁J打人为正常小刀音效
v_crowbar.mdl
用v_hgun.mdl打人为
僵尸音效呢


\\\\\\\\\\\\\\\\\\\\\\\\\\
下面为小刀音效
//小刀武器音效
"sound/weapons/knife_deploy1.wav"
"sound/weapons/knife_slash1.wav"
"sound/weapons/knife_slash2.wav"
"sound/weapons/knife_hit1.wav"
"sound/weapons/knife_hit2.wav"
"sound/weapons/knife_hit3.wav"
"sound/weapons/knife_hit4.wav"
"sound/weapons/knife_stab.wav"
"sound/weapons/knife_hitwall1.wav"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

 楼主| 发表于 2011-3-5 22:07:10 | 显示全部楼层 来自 广东佛山
然后用v_hgun.mdl打人为
这些音效呢

"sound/weapons/fiveseven_clipin.wav"
"sound/FeNgGe/FeNgGe_7.wav"
"sound/FeNgGe/FeNgGe_7.wav"
"sound/FeNgGe/FeNgGe_8.wav"
"sound/FeNgGe/FeNgGe_8.wav"
"sound/FeNgGe/FeNgGe_8.wav"
"sound/FeNgGe/FeNgGe_9.wav"
"sound/debris/concrete3.wav"
回复

使用道具 举报

发表于 2011-3-6 10:14:26 | 显示全部楼层 来自 广东东莞
你要替换的音效少了一个,我在代码里面已经做了注明,自己加上去!
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <fakemeta>

  4. new const g_szVmodels[ CsTeams ][] = {
  5.         "",
  6.         "models/v_hgun.mdl",
  7.         "models/v_crowbar.mdl",
  8.         ""
  9. };

  10. new const g_szPmodels[ CsTeams ][] = {
  11.         "",
  12.         "models/p_hgun.mdl",
  13.         "models/p_crowbar.mdl",
  14.         ""
  15. };

  16. new const g_szWmodels[ CsTeams ][] = {
  17.         "",
  18.         "models/w_hgun.mdl",
  19.         "models/w_crowbar.mdl",
  20.         ""
  21. };

  22. new const g_szOldSound[][] = {
  23.         "sound/weapons/knife_deploy1.wav",
  24.         "sound/weapons/knife_slash1.wav" ,
  25.         "sound/weapons/knife_slash2.wav",
  26.         "sound/weapons/knife_hit1.wav" ,
  27.         "sound/weapons/knife_hit2.wav",
  28.         "sound/weapons/knife_hit3.wav",
  29.         "sound/weapons/knife_hit4.wav",
  30.         "sound/weapons/knife_stab.wav",
  31.         "sound/weapons/knife_hitwall1.wav"
  32. };

  33. new const g_szNewSound[][] = {
  34.         "sound/weapons/fiveseven_clipin.wav",
  35.         "sound/FeNgGe/FeNgGe_7.wav",
  36.         "sound/FeNgGe/FeNgGe_7.wav",
  37.         "sound/FeNgGe/FeNgGe_8.wav",
  38.         "sound/FeNgGe/FeNgGe_8.wav",
  39.         "sound/FeNgGe/FeNgGe_8.wav",
  40.         "sound/FeNgGe/FeNgGe_9.wav",
  41.         "sound/debris/concrete3.wav",
  42.         "这里再加一个音效"
  43. };

  44. new const g_szOldWmodel[] = "models/w_knife.mdl";

  45. new const PLUGIN_NAME[]                = "";
  46. new const PLUGIN_AUTHOR[]        = "";
  47. new const PLUGIN_VERSION[]        = "";

  48. #define IsPlayer( %1 ) ( 1 <= %1 <= g_iMaxPlayers )

  49. new g_iMaxPlayers;

  50. public plugin_init()
  51. {
  52.         register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
  53.         register_event( "CurWeapon", "Event_CurWeapon", "be","1=1" );
  54.         register_forward( FM_SetModel, "fw_SetModel" );
  55.        
  56.         g_iMaxPlayers = get_maxplayers();
  57.        
  58.         //Hook Sound
  59.         register_forward( FM_EmitSound, "fw_EmitSound" );
  60. }

  61. public plugin_precache()
  62. {
  63.         new i;
  64.         for ( i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
  65.         {
  66.                 engfunc( EngFunc_PrecacheModel, g_szVmodels[ i ] );
  67.                 engfunc( EngFunc_PrecacheModel, g_szWmodels[ i ] );
  68.                 engfunc( EngFunc_PrecacheModel, g_szPmodels[ i ] );
  69.         }
  70.        
  71.         for ( i = 0; i < sizeof g_szNewSound; i++ )
  72.                 engfunc( EngFunc_PrecacheSound, g_szNewSound[ i ] );
  73. }

  74. public Event_CurWeapon( id )
  75. {     
  76.         new iWeapon = read_data( 2 );
  77.         new CsTeams:iUserTeam = cs_get_user_team( id );
  78.        
  79.         if( iWeapon != CSW_KNIFE )
  80.                 return PLUGIN_CONTINUE;
  81.        
  82.         set_pev( id, pev_viewmodel2, g_szVmodels[ iUserTeam ] );
  83.         set_pev( id, pev_weaponmodel2, g_szWmodels[ iUserTeam ] );
  84.        
  85.         return PLUGIN_CONTINUE;
  86. }

  87. public fw_SetModel( iEnt, const szModel[ ] )
  88. {
  89.         if( !pev_valid( iEnt ) )
  90.                 return FMRES_IGNORED;
  91.        
  92.         if( !equali(szModel, g_szOldWmodel ) )
  93.                 return FMRES_IGNORED;
  94.        
  95.         new szClassName[ 33 ];
  96.         pev( iEnt, pev_classname, szClassName, charsmax( szClassName ) );
  97.        
  98.         new id = pev( iEnt, pev_owner );
  99.         new CsTeams:iUserTeam = cs_get_user_team( id );
  100.        
  101.         if( equal( szClassName, "weaponbox" ) || equal( szClassName, "armoury_entity" ) || equal( szClassName, "grenade" ) )
  102.         {
  103.                 engfunc( EngFunc_SetModel, iEnt, g_szWmodels[ iUserTeam ] );
  104.                 return FMRES_SUPERCEDE;
  105.         }
  106.         return FMRES_IGNORED;
  107. }

  108. public fw_EmitSound( id, iChannel, const szSample[], Float:fVolume, Float:fAttenuation, iFlags, iPitch )
  109. {
  110.         if ( !IsPlayer( id ) || !is_user_alive(id) || !is_user_connected( id ) )
  111.                 return FMRES_IGNORED;
  112.        
  113.         if ( iChannel != CHAN_WEAPON && iChannel != CHAN_ITEM )
  114.                 return FMRES_IGNORED;
  115.        
  116.         if ( cs_get_user_team( id ) != CS_TEAM_T )
  117.                 return FMRES_IGNORED;
  118.        
  119.         for ( new i = 0; i < sizeof g_szOldSound; i++ )
  120.         {
  121.                 if ( equali( szSample, g_szOldSound[ i ] )
  122.                 {
  123.                         engfunc( EngFunc_EmitSound, id, CHAN_WEAPON, g_szNewSound[ i ], VOL_NORM, ATTN_NORM, CHAN_AUTO, PITCH_NORM );
  124.                         return FMRES_SUPERCEDE;
  125.                 }
  126.         }
  127.         return FMRES_IGNORED;
  128. }
复制代码
自己测试
回复

使用道具 举报

 楼主| 发表于 2011-3-7 20:56:31 | 显示全部楼层 来自 广东佛山
9# kk阿朗
编绎出现以下错误..........看图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

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