Approved Special Models By Levels

Plug-ins compatibility with Zombie Escape 1.x only!


Post Reply
Rain1153
Senior Member
Senior Member
India
Posts: 278
Joined: 6 years ago
Contact:

Special Models By Levels

#1

Post by Rain1153 » 5 years ago

SPECIAL MODELS ACCORDING TO LEVELS

DESCRIPTION: The plugin name tells description already!.This is a modification of the ze_special_models in which non vip players(humans) will get skins according to levels!Tell me if you need zombie models too :D

WANNA PUT CUSTOM SKINS?: Go to zombie_escape.ini and find human1 human2 human3 human4 and put the skins accordingly (human1 = the level limit for the first case human2 = 2nd case and so on.....).

NOTE: Off your previous ze_special model if u want this plugin to work!

HOW TO EDIT: Just edit this from the code:
    1. switch(ze_get_user_level(id))
    2.         {
    3.             case 0..5: // x = first level  y = second level limit( so from x to y you get the case 0..5 skin) you can change the conditions here!
    4.             {
    5.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
    6.                 rg_set_user_model(id, szPlayerModel)
    7.             }
    8.             case 6..15:
    9.             {
    10.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
    11.                 rg_set_user_model(id, szPlayerModel)
    12.             }
    13.             case 16..25:
    14.             {
    15.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
    16.                 rg_set_user_model(id, szPlayerModel)
    17.             }
    18.             case 26..35:
    19.             {
    20.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
    21.                 rg_set_user_model(id, szPlayerModel)
    22.             }
    23.         }

THE PLUGIN CODE:
    1. #include <zombie_escape>
    2. #include <ze_levels>
    3. // Setting File
    4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
    5.  
    6. // Defines
    7. #define MODEL_MAX_LENGTH 64
    8. #define PLAYERMODEL_MAX_LENGTH 32
    9. #define ACCESS_MAX_LENGTH 32
    10. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_H
    11.  
    12. // Default Models
    13. new const szAdminHumanModel[][] =
    14. {
    15.     "vip"
    16. }
    17.  
    18. new const szAdminZombieModel[][] =
    19. {
    20.     "zombie_admin"
    21. }
    22.  
    23. new const v_szAdminHumanKnifeModel[][] =
    24. {
    25.     "models/zombie_escape/v_knife_human_admin.mdl"
    26. }
    27.  
    28. new const v_szAdminZombieKnifeModel[][] =
    29. {
    30.     "models/zombie_escape/v_knife_zombie_admin.mdl"
    31. }
    32.  
    33. new const szHumanModel1[][] =
    34. {
    35.     "human1"
    36. }
    37.  
    38. new const szHumanModel2[][] =
    39. {
    40.     "human2"
    41. }
    42.  
    43. new const szHumanModel3[][] =
    44. {
    45.     "human3"
    46. }
    47.  
    48. new const szHumanModel4[][] =
    49. {
    50.     "human4"
    51. }
    52.  
    53. // Dynamic Arrays: Models
    54. new Array:g_szAdminHumanModel, Array:g_szAdminZombieModel, Array:g_v_szAdminHumanKnifeModel, Array:g_v_szAdminZombieKnifeModel,
    55. Array:g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
    56.  
    57. public plugin_init()
    58. {
    59.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
    60. }
    61.  
    62. public plugin_precache()
    63. {
    64.     // Initialize Arrays
    65.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
    66.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
    67.     g_v_szAdminHumanKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
    68.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
    69.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
    70.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
    71.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
    72.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
    73.    
    74.     // Load From External File
    75.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
    76.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
    77.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
    78.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
    79.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
    80.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
    81.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
    82.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
    83.    
    84.     // Load our Default Values
    85.     new iIndex
    86.    
    87.     if(ArraySize(g_szAdminHumanModel) == 0)
    88.     {
    89.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
    90.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
    91.        
    92.         // Save to external file
    93.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
    94.     }
    95.    
    96.     if(ArraySize(g_szAdminZombieModel) == 0)
    97.     {
    98.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
    99.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
    100.        
    101.         // Save to external file
    102.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
    103.     }
    104.    
    105.     if(ArraySize(g_v_szAdminHumanKnifeModel) == 0)
    106.     {
    107.         for(iIndex = 0; iIndex < sizeof v_szAdminHumanKnifeModel; iIndex++)
    108.             ArrayPushString(g_v_szAdminHumanKnifeModel, v_szAdminHumanKnifeModel[iIndex])
    109.        
    110.         // Save to external file
    111.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
    112.     }
    113.    
    114.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
    115.     {
    116.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
    117.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
    118.        
    119.         // Save to external file
    120.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
    121.     }
    122.    
    123.     if(ArraySize(g_szHumanModel1) == 0)
    124.     {
    125.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
    126.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
    127.        
    128.         // Save to external file
    129.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
    130.     }
    131.    
    132.     if(ArraySize(g_szHumanModel2) == 0)
    133.     {
    134.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
    135.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
    136.        
    137.         // Save to external file
    138.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
    139.     }
    140.    
    141.     if(ArraySize(g_szHumanModel3) == 0)
    142.     {
    143.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
    144.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
    145.        
    146.         // Save to external file
    147.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
    148.     }
    149.    
    150.     if(ArraySize(g_szHumanModel4) == 0)
    151.     {
    152.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
    153.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
    154.        
    155.         // Save to external file
    156.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
    157.     }
    158.  
    159.     // Precache
    160.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
    161.    
    162.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
    163.     {
    164.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
    165.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
    166.         precache_model(szModelPath)
    167.     }
    168.    
    169.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
    170.     {
    171.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
    172.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
    173.         precache_model(szModelPath)
    174.     }
    175.    
    176.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
    177.     {
    178.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
    179.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
    180.         precache_model(szModelPath)
    181.     }
    182.    
    183.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
    184.     {
    185.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
    186.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
    187.         precache_model(szModelPath)
    188.     }
    189.    
    190.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
    191.     {
    192.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
    193.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
    194.         precache_model(szModelPath)
    195.     }
    196.    
    197.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
    198.     {
    199.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
    200.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
    201.         precache_model(szModelPath)
    202.     }
    203.    
    204.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminHumanKnifeModel); iIndex++)
    205.     {
    206.         ArrayGetString(g_v_szAdminHumanKnifeModel, iIndex, szModel, charsmax(szModel))
    207.         precache_model(szModel)
    208.     }
    209.    
    210.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
    211.     {
    212.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
    213.         precache_model(szModel)
    214.     }
    215. }
    216.  
    217. public ze_user_humanized(id)
    218. {
    219.     if(ze_is_user_zombie(id) || !is_user_alive(id))
    220.         return
    221.        
    222.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
    223.  
    224.     // Player Admin?
    225.     if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
    226.     {
    227.         // Set Admin Human Model
    228.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
    229.         rg_set_user_model(id, szPlayerModel)
    230.        
    231.         // Set Admin Human Knife Model
    232.         ArrayGetString(g_v_szAdminHumanKnifeModel, random_num(0, ArraySize(g_v_szAdminHumanKnifeModel) - 1), szModel, charsmax(szModel))
    233.         cs_set_player_view_model(id, CSW_KNIFE, szModel)
    234.     }
    235.     else
    236.     {
    237.         // Rest Player Model (Model Randomly)
    238.         switch(ze_get_user_level(id))
    239.         {
    240.             case 0..5:
    241.             {
    242.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
    243.                 rg_set_user_model(id, szPlayerModel)
    244.             }
    245.             case 6..15:
    246.             {
    247.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
    248.                 rg_set_user_model(id, szPlayerModel)
    249.             }
    250.             case 16..25:
    251.             {
    252.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
    253.                 rg_set_user_model(id, szPlayerModel)
    254.             }
    255.             case 26..35:
    256.             {
    257.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
    258.                 rg_set_user_model(id, szPlayerModel)
    259.             }
    260.         }
    261.     }
    262. }
    263.  
    264. public ze_user_infected(iVictim, iInfector)
    265. {
    266.     if(!is_user_alive(iVictim))
    267.         return
    268.        
    269.     // Set Zombie Models
    270.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
    271.    
    272.     // Player Admin?
    273.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
    274.     {
    275.         // Set Zombie Admin Model
    276.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
    277.         rg_set_user_model(iVictim, szPlayerModel)
    278.        
    279.         // Set Admin Zombie Knife Model
    280.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
    281.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
    282.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
    283.     }
    284. }
HOW TO INSTALL: JUST COPY THE CODE AND COMPILE IN THE LATEST COMPILER!
Last edited by Raheem 5 years ago, edited 1 time in total.
LOL

czirimbolo
Veteran Member
Veteran Member
Poland
Posts: 598
Joined: 7 years ago
Contact:

#2

Post by czirimbolo » 5 years ago

only 4 models can be added? Can you make it for 6 models or more?
Image

Rain1153
Senior Member
Senior Member
India
Posts: 278
Joined: 6 years ago
Contact:

#3

Post by Rain1153 » 5 years ago

try this
  1. #include <zombie_escape>
  2. #include <ze_levels>
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_H
  11.  
  12. // Default Models
  13. new const szAdminHumanModel[][] =
  14. {
  15.     "vip"
  16. }
  17.  
  18. new const szAdminZombieModel[][] =
  19. {
  20.     "zombie_admin"
  21. }
  22.  
  23. new const v_szAdminHumanKnifeModel[][] =
  24. {
  25.     "models/zombie_escape/v_knife_human_admin.mdl"
  26. }
  27.  
  28. new const v_szAdminZombieKnifeModel[][] =
  29. {
  30.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  31. }
  32.  
  33. new const szHumanModel1[][] =
  34. {
  35.     "human1"
  36. }
  37.  
  38. new const szHumanModel2[][] =
  39. {
  40.     "human2"
  41. }
  42.  
  43. new const szHumanModel3[][] =
  44. {
  45.     "human3"
  46. }
  47.  
  48. new const szHumanModel4[][] =
  49. {
  50.     "human4"
  51. }
  52. new const szHumanModel5[][] =
  53. {
  54. "human5"
  55. }
  56. new const szHumanModel6[][] =
  57. {
  58. "human6"
  59. }
  60.  
  61.  
  62. // Dynamic Arrays: Models
  63. new Array:g_szAdminHumanModel, Array:g_szAdminZombieModel, Array:g_v_szAdminHumanKnifeModel, Array:g_v_szAdminZombieKnifeModel,
  64. Array:g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4 , Array:g_szHumanModel5 , Array:g_szHumanModel6
  65.  
  66. public plugin_init()
  67. {
  68.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  69. }
  70.  
  71. public plugin_precache()
  72. {
  73.     // Initialize Arrays
  74.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  75.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  76.     g_v_szAdminHumanKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  77.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  78.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  79.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  80.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  81.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  82.          
  83.     g_szHumanModel5 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  84.        
  85.     g_szHumanModel6 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  86.    
  87.     // Load From External File
  88.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
  89.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  90.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
  91.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  92.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  93.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  94.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  95.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  96.          amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 5", g_szHumanModel5)
  97.         amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 6", g_szHumanModel6)
  98.    
  99.     // Load our Default Values
  100.     new iIndex
  101.    
  102.     if(ArraySize(g_szAdminHumanModel) == 0)
  103.     {
  104.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  105.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  106.        
  107.         // Save to external file
  108.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
  109.     }
  110.    
  111.     if(ArraySize(g_szAdminZombieModel) == 0)
  112.     {
  113.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  114.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  115.        
  116.         // Save to external file
  117.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  118.     }
  119.    
  120.     if(ArraySize(g_v_szAdminHumanKnifeModel) == 0)
  121.     {
  122.         for(iIndex = 0; iIndex < sizeof v_szAdminHumanKnifeModel; iIndex++)
  123.             ArrayPushString(g_v_szAdminHumanKnifeModel, v_szAdminHumanKnifeModel[iIndex])
  124.        
  125.         // Save to external file
  126.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
  127.     }
  128.    
  129.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  130.     {
  131.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  132.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  133.        
  134.         // Save to external file
  135.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  136.     }
  137.    
  138.     if(ArraySize(g_szHumanModel1) == 0)
  139.     {
  140.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  141.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  142.        
  143.         // Save to external file
  144.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  145.     }
  146.    
  147.     if(ArraySize(g_szHumanModel2) == 0)
  148.     {
  149.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  150.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  151.        
  152.         // Save to external file
  153.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  154.     }
  155.    
  156.     if(ArraySize(g_szHumanModel3) == 0)
  157.     {
  158.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  159.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  160.        
  161.         // Save to external file
  162.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  163.     }
  164.    
  165.     if(ArraySize(g_szHumanModel4) == 0)
  166.     {
  167.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  168.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  169.        
  170.         // Save to external file
  171.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  172.     }
  173.  
  174.            if(ArraySize(g_szHumanModel5) == 0)
  175.     {
  176.         for(iIndex = 0; iIndex < sizeof szHumanModel5; iIndex++)
  177.             ArrayPushString(g_szHumanModel5, szHumanModel5[iIndex])
  178.        
  179.         // Save to external file
  180.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 5", g_szHumanModel5)
  181.     }
  182.  
  183.           if(ArraySize(g_szHumanModel6) == 0)
  184.            {
  185.         for(iIndex = 0; iIndex < sizeof szHumanModel6; iIndex++)
  186.             ArrayPushString(g_szHumanModel6, szHumanModel6[iIndex])
  187.        
  188.         // Save to external file
  189.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 6", g_szHumanModel6)
  190.     }
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.     // Precache
  198.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  199.    
  200.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  201.     {
  202.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  203.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  204.         precache_model(szModelPath)
  205.     }
  206.    
  207.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  208.     {
  209.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  210.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  211.         precache_model(szModelPath)
  212.     }
  213.    
  214.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  215.     {
  216.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  217.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  218.         precache_model(szModelPath)
  219.     }
  220.    
  221.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  222.     {
  223.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  224.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  225.         precache_model(szModelPath)
  226.     }
  227.    
  228.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  229.     {
  230.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  231.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  232.         precache_model(szModelPath)
  233.     }
  234.    
  235.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  236.     {
  237.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  238.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  239.         precache_model(szModelPath)
  240.     }
  241.  
  242.           for (iIndex = 0; iIndex < ArraySize(g_szHumanModel5); iIndex++)
  243.     {
  244.         ArrayGetString(g_szHumanModel5, iIndex, szPlayerModel, charsmax(szPlayerModel))
  245.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  246.         precache_model(szModelPath)
  247.     }
  248.  
  249.         for (iIndex = 0; iIndex < ArraySize(g_szHumanModel6); iIndex++)
  250.     {
  251.         ArrayGetString(g_szHumanModel6, iIndex, szPlayerModel, charsmax(szPlayerModel))
  252.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  253.         precache_model(szModelPath)
  254.     }
  255.  
  256.  
  257.    
  258.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminHumanKnifeModel); iIndex++)
  259.     {
  260.         ArrayGetString(g_v_szAdminHumanKnifeModel, iIndex, szModel, charsmax(szModel))
  261.         precache_model(szModel)
  262.     }
  263.    
  264.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  265.     {
  266.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  267.         precache_model(szModel)
  268.     }
  269.  
  270.    
  271.  
  272. }
  273.  
  274. public ze_user_humanized(id)
  275. {
  276.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  277.         return
  278.        
  279.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  280.  
  281.     // Player Admin?
  282.     if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  283.     {
  284.         // Set Admin Human Model
  285.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  286.         rg_set_user_model(id, szPlayerModel)
  287.        
  288.         // Set Admin Human Knife Model
  289.         ArrayGetString(g_v_szAdminHumanKnifeModel, random_num(0, ArraySize(g_v_szAdminHumanKnifeModel) - 1), szModel, charsmax(szModel))
  290.         cs_set_player_view_model(id, CSW_KNIFE, szModel)
  291.     }
  292.     else
  293.     {
  294.         // Rest Player Model (Model Randomly)
  295.         switch(ze_get_user_level(id))
  296.         {
  297.             case 0..5:
  298.             {
  299.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  300.                 rg_set_user_model(id, szPlayerModel)
  301.             }
  302.             case 6..15:
  303.             {
  304.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.                 rg_set_user_model(id, szPlayerModel)
  306.             }
  307.             case 16..25:
  308.             {
  309.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  310.                 rg_set_user_model(id, szPlayerModel)
  311.             }
  312.             case 26..35:
  313.             {
  314.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  315.                 rg_set_user_model(id, szPlayerModel)
  316.             }
  317.                         case 36..43:
  318.                             {
  319.                 ArrayGetString(g_szHumanModel5, random_num(0, ArraySize(g_szHumanModel5) - 1), szPlayerModel, charsmax(szPlayerModel))
  320.                 rg_set_user_model(id, szPlayerModel)
  321.             }
  322.                        case 44..50:
  323.                                
  324.                                       {
  325.                 ArrayGetString(g_szHumanModel6, random_num(0, ArraySize(g_szHumanModel6) - 1), szPlayerModel, charsmax(szPlayerModel))
  326.                 rg_set_user_model(id, szPlayerModel)
  327.                                      }
  328.                              
  329.         }
  330.     }
  331. }
  332.  
  333. public ze_user_infected(iVictim, iInfector)
  334. {
  335.     if(!is_user_alive(iVictim))
  336.         return
  337.        
  338.     // Set Zombie Models
  339.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  340.    
  341.     // Player Admin?
  342.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  343.     {
  344.         // Set Zombie Admin Model
  345.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  346.         rg_set_user_model(iVictim, szPlayerModel)
  347.        
  348.         // Set Admin Zombie Knife Model
  349.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  350.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  351.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  352.     }
  353. }
LOL

User avatar
sPe3doN
Senior Member
Senior Member
Algeria
Posts: 258
Joined: 7 years ago
Contact:

#4

Post by sPe3doN » 5 years ago

Rain1153 wrote: 5 years ago SPECIAL MODELS ACCORDING TO LEVELS

DESCRIPTION:The plugin name tells description already!.This is a modification of the ze_special_models in which non vip players(humans) will get skins according to levels!Tell me if you need zombie models too :D
WANNA PUT CUSTOM SKINS?:Go to zombie_escape.ini and find human1 human2 human3 human4 and put the skins accordingly (human1 = the level limit for the first case human2 = 2nd case and so on.....).
NOTE: Off your previous ze_special model if u want this plugin to work!

HOW TO EDIT: Just edit this from the code:
  1. switch(ze_get_user_level(id))
  2.         {
  3.             case 0..5: // x = first level  y = second level limit( so from x to y you get the case 0..5 skin) you can change the conditions here!
  4.             {
  5.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  6.                 rg_set_user_model(id, szPlayerModel)
  7.             }
  8.             case 6..15:
  9.             {
  10.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  11.                 rg_set_user_model(id, szPlayerModel)
  12.             }
  13.             case 16..25:
  14.             {
  15.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  16.                 rg_set_user_model(id, szPlayerModel)
  17.             }
  18.             case 26..35:
  19.             {
  20.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  21.                 rg_set_user_model(id, szPlayerModel)
  22.             }
  23.         }

THE PLUGIN CODE:
  1. #include <zombie_escape>
  2. #include <ze_levels>
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_H
  11.  
  12. // Default Models
  13. new const szAdminHumanModel[][] =
  14. {
  15.     "vip"
  16. }
  17.  
  18. new const szAdminZombieModel[][] =
  19. {
  20.     "zombie_admin"
  21. }
  22.  
  23. new const v_szAdminHumanKnifeModel[][] =
  24. {
  25.     "models/zombie_escape/v_knife_human_admin.mdl"
  26. }
  27.  
  28. new const v_szAdminZombieKnifeModel[][] =
  29. {
  30.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  31. }
  32.  
  33. new const szHumanModel1[][] =
  34. {
  35.     "human1"
  36. }
  37.  
  38. new const szHumanModel2[][] =
  39. {
  40.     "human2"
  41. }
  42.  
  43. new const szHumanModel3[][] =
  44. {
  45.     "human3"
  46. }
  47.  
  48. new const szHumanModel4[][] =
  49. {
  50.     "human4"
  51. }
  52.  
  53. // Dynamic Arrays: Models
  54. new Array:g_szAdminHumanModel, Array:g_szAdminZombieModel, Array:g_v_szAdminHumanKnifeModel, Array:g_v_szAdminZombieKnifeModel,
  55. Array:g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  56.  
  57. public plugin_init()
  58. {
  59.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  60. }
  61.  
  62. public plugin_precache()
  63. {
  64.     // Initialize Arrays
  65.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  66.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  67.     g_v_szAdminHumanKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  68.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  69.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  70.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  71.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  72.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  73.    
  74.     // Load From External File
  75.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
  76.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  77.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
  78.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  79.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  80.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  81.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  82.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  83.    
  84.     // Load our Default Values
  85.     new iIndex
  86.    
  87.     if(ArraySize(g_szAdminHumanModel) == 0)
  88.     {
  89.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  90.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  91.        
  92.         // Save to external file
  93.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
  94.     }
  95.    
  96.     if(ArraySize(g_szAdminZombieModel) == 0)
  97.     {
  98.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  99.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  100.        
  101.         // Save to external file
  102.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  103.     }
  104.    
  105.     if(ArraySize(g_v_szAdminHumanKnifeModel) == 0)
  106.     {
  107.         for(iIndex = 0; iIndex < sizeof v_szAdminHumanKnifeModel; iIndex++)
  108.             ArrayPushString(g_v_szAdminHumanKnifeModel, v_szAdminHumanKnifeModel[iIndex])
  109.        
  110.         // Save to external file
  111.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
  112.     }
  113.    
  114.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  115.     {
  116.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  117.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  118.        
  119.         // Save to external file
  120.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  121.     }
  122.    
  123.     if(ArraySize(g_szHumanModel1) == 0)
  124.     {
  125.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  126.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  127.        
  128.         // Save to external file
  129.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  130.     }
  131.    
  132.     if(ArraySize(g_szHumanModel2) == 0)
  133.     {
  134.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  135.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  136.        
  137.         // Save to external file
  138.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  139.     }
  140.    
  141.     if(ArraySize(g_szHumanModel3) == 0)
  142.     {
  143.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  144.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  145.        
  146.         // Save to external file
  147.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  148.     }
  149.    
  150.     if(ArraySize(g_szHumanModel4) == 0)
  151.     {
  152.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  153.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  154.        
  155.         // Save to external file
  156.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  157.     }
  158.  
  159.     // Precache
  160.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  161.    
  162.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  163.     {
  164.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  165.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  166.         precache_model(szModelPath)
  167.     }
  168.    
  169.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  170.     {
  171.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  172.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  173.         precache_model(szModelPath)
  174.     }
  175.    
  176.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  177.     {
  178.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  179.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  180.         precache_model(szModelPath)
  181.     }
  182.    
  183.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  184.     {
  185.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  186.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  187.         precache_model(szModelPath)
  188.     }
  189.    
  190.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  191.     {
  192.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  193.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  194.         precache_model(szModelPath)
  195.     }
  196.    
  197.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  198.     {
  199.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  200.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  201.         precache_model(szModelPath)
  202.     }
  203.    
  204.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminHumanKnifeModel); iIndex++)
  205.     {
  206.         ArrayGetString(g_v_szAdminHumanKnifeModel, iIndex, szModel, charsmax(szModel))
  207.         precache_model(szModel)
  208.     }
  209.    
  210.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  211.     {
  212.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  213.         precache_model(szModel)
  214.     }
  215. }
  216.  
  217. public ze_user_humanized(id)
  218. {
  219.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  220.         return
  221.        
  222.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  223.  
  224.     // Player Admin?
  225.     if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  226.     {
  227.         // Set Admin Human Model
  228.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  229.         rg_set_user_model(id, szPlayerModel)
  230.        
  231.         // Set Admin Human Knife Model
  232.         ArrayGetString(g_v_szAdminHumanKnifeModel, random_num(0, ArraySize(g_v_szAdminHumanKnifeModel) - 1), szModel, charsmax(szModel))
  233.         cs_set_player_view_model(id, CSW_KNIFE, szModel)
  234.     }
  235.     else
  236.     {
  237.         // Rest Player Model (Model Randomly)
  238.         switch(ze_get_user_level(id))
  239.         {
  240.             case 0..5:
  241.             {
  242.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  243.                 rg_set_user_model(id, szPlayerModel)
  244.             }
  245.             case 6..15:
  246.             {
  247.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  248.                 rg_set_user_model(id, szPlayerModel)
  249.             }
  250.             case 16..25:
  251.             {
  252.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  253.                 rg_set_user_model(id, szPlayerModel)
  254.             }
  255.             case 26..35:
  256.             {
  257.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  258.                 rg_set_user_model(id, szPlayerModel)
  259.             }
  260.         }
  261.     }
  262. }
  263.  
  264. public ze_user_infected(iVictim, iInfector)
  265. {
  266.     if(!is_user_alive(iVictim))
  267.         return
  268.        
  269.     // Set Zombie Models
  270.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  271.    
  272.     // Player Admin?
  273.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  274.     {
  275.         // Set Zombie Admin Model
  276.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  277.         rg_set_user_model(iVictim, szPlayerModel)
  278.        
  279.         // Set Admin Zombie Knife Model
  280.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  281.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  282.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  283.     }
  284. }
HOW TO INSTALL: JUST COPY THE CODE AND COMPILE IN THE LATEST COMPILER!
Can you add knifes too ?
Image

Rain1153
Senior Member
Senior Member
India
Posts: 278
Joined: 6 years ago
Contact:

#5

Post by Rain1153 » 5 years ago

Umm i can try but imma little busy plus jack knows better than me since this is his plugin so u can ask him about knives

Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Who is online

Users browsing this forum: No registered users and 2 guests