Help Knife Player & VIP

Coding Help/Re-API Supported
Post Reply
User avatar
Null
Member
Member
Saudi Arabia
Posts: 28
Joined: 3 years ago
Location: Saudi Arabia, Riyadh
Contact:

Help Knife Player & VIP

#1

Post by Null » 3 years ago

Fix this guys maybe need more #include
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Error: Undefined symbol "register_plugin" on line 56
Error: Undefined symbol "register_native" on line 61
Error: Undefined symbol "ArrayCreate" on line 67
Error: Undefined symbol "ArrayCreate" on line 68
Error: Undefined symbol "ArrayCreate" on line 69
Error: Undefined symbol "ArrayCreate" on line 70
Error: Undefined symbol "ArrayCreate" on line 71
Error: Undefined symbol "ArrayCreate" on line 72
Warning: Tag mismatch on line 72
Error: Undefined symbol "amx_load_setting_string_arr" on line 75
Error: Undefined symbol "amx_load_setting_string_arr" on line 76
Error: Undefined symbol "amx_load_setting_string_arr" on line 78
Error: Undefined symbol "amx_load_setting_string_arr" on line 79
Error: Undefined symbol "amx_load_setting_string_arr" on line 81
Error: Undefined symbol "amx_load_setting_string_arr" on line 82
Error: Undefined symbol "ArraySize" on line 87
Error: Undefined symbol "ArrayPushString" on line 90
Error: Undefined symbol "amx_save_setting_string_arr" on line 92
Error: Undefined symbol "ArraySize" on line 95
Error: Undefined symbol "ArrayPushString" on line 98
Error: Undefined symbol "amx_save_setting_string_arr" on line 100
Error: Undefined symbol "ArraySize" on line 104
Error: Undefined symbol "ArrayPushString" on line 107
Error: Undefined symbol "amx_save_setting_string_arr" on line 109
Error: Undefined symbol "ArraySize" on line 112
Error: Undefined symbol "ArrayPushString" on line 115
Error: Undefined symbol "amx_save_setting_string_arr" on line 117

Compilation aborted.
26 Errors.
Could not locate output file D:\Program Files (x86)\AMX Mod X\amxxstudio\Untitled.amx (compile failed).
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <zombie_escape>
  4.  
  5. #define MODEL_MAX_LENGTH 64
  6.  
  7. // setting resource
  8. new ZE_SETTING[] = "zombie_escape.ini"
  9.  
  10. // models
  11. // Knife 1
  12. new const v_szKnife1[][] =
  13. {
  14.     "models/zombie_escape/v_knife.mdl"
  15. }
  16.  
  17. new const p_szKnife1[][] =
  18. {
  19.     "models/zombie_escape/p_knife.mdl"
  20.  
  21. }
  22.  
  23. // Knife VIP
  24. new const v_szKnifevp[][] =
  25. {
  26.     "models/zombie_escape/v_knifevp.mdl"
  27. }
  28.  
  29. new const p_szKnifevp[][] =
  30. {
  31.     "models/zombie_escape/p_knifevp.mdl"
  32. }
  33.  
  34. // Knife VIP 2
  35. new const v_szKnifevp2[][] =
  36. {
  37.     "models/zombie_escape/v_knifevp2.mdl"
  38. }
  39.  
  40. new const p_szKnifevp2[][] =
  41. {
  42.     "models/zombie_escape/p_knifevp2.mdl"
  43. }
  44.  
  45.  
  46. // Array
  47. new Array:g_v_szKnife1, Array:g_p_szKnife1
  48. new Array:g_v_szKnifevp, Array:g_p_szKnifevp
  49. new Array:g_v_szKnifevp2, Array:g_p_szKnifevp2
  50.  
  51. // Variables
  52. new CurWeapon[33] = 0
  53. new iMenu
  54.  
  55. public plugin_init() {
  56.     register_plugin("[ZE] Knife Menu", "1.5", "LiZou Mapper")
  57. }
  58.  
  59. public plugin_natives()
  60. {
  61.     register_native("ze_get_knifemenu", "_native_ze_get_knifemenu", 1)
  62. }
  63.  
  64. public plugin_precache()
  65. {
  66.     // Initialize Array
  67.     g_v_szKnife1 = ArrayCreate(MODEL_MAX_LENGTH, 1)
  68.     g_p_szKnife1 = ArrayCreate(MODEL_MAX_LENGTH, 1)
  69.     g_v_szKnifevp = ArrayCreate(MODEL_MAX_LENGTH, 1)
  70.     g_p_szKnifevp = ArrayCreate(MODEL_MAX_LENGTH, 1)
  71.     g_v_szKnifevp2 = ArrayCreate(MODEL_MAX_LENGTH, 1)
  72.     g_p_szKnifevp2 = ArrayCreate(MODEL_MAX_LENGTH, 1)
  73.    
  74.     // Load From External File:Models
  75.     amx_load_setting_string_arr(ZE_SETTING, "Weapon Models", "V_KNIFE1", g_v_szKnife1)
  76.     amx_load_setting_string_arr(ZE_SETTING, "Weapon Models", "P_KNIFE1", g_p_szKnife1)
  77.  
  78.     amx_load_setting_string_arr(ZE_SETTING, "Weapon Models", "V_KNIFE VIP", g_v_szKnifevp)
  79.     amx_load_setting_string_arr(ZE_SETTING, "Weapon Models", "P_KNIFE VIP", g_p_szKnifevp)
  80.    
  81.     amx_load_setting_string_arr(ZE_SETTING, "Weapon Models", "V_KNIFE VIP2", g_v_szKnifevp2)
  82.     amx_load_setting_string_arr(ZE_SETTING, "Weapon Models", "P_KNIFE VIP2", g_p_szKnifevp2)
  83.    
  84.     new iIndex
  85.    
  86.     // Load our Default Values: Models
  87.     if(ArraySize(g_v_szKnife1) == 0)
  88.     {
  89.         for(new iIndex = 0;iIndex < sizeof v_szKnife1;iIndex++)
  90.             ArrayPushString(g_v_szKnife1, v_szKnife1[iIndex])
  91.        
  92.         amx_save_setting_string_arr(ZE_SETTING, "Weapon Models", "V_KNIFE1", g_v_szKnife1)
  93.     }
  94.    
  95.     if(ArraySize(g_p_szKnife1) == 0)
  96.     {
  97.         for(new iIndex = 0;iIndex < sizeof p_szKnife1;iIndex++)
  98.             ArrayPushString(g_p_szKnife1, p_szKnife1[iIndex])
  99.            
  100.         amx_save_setting_string_arr(ZE_SETTING, "Weapon Models", "P_KNIFE1", g_p_szKnife1)
  101.        
  102.     }
  103.     // Knife VIP
  104.     if(ArraySize(g_v_szKnifevp) == 0)
  105.     {
  106.         for(new iIndex = 0;iIndex < sizeof v_szKnifevp;iIndex++)
  107.             ArrayPushString(g_v_szKnifevp, v_szKnifevp[iIndex])
  108.        
  109.         amx_save_setting_string_arr(ZE_SETTING, "Weapon Models", "V_KNIFE VIP", g_v_szKnifevp)
  110.     }
  111.    
  112.     if(ArraySize(g_p_szKnifevp) == 0)
  113.     {
  114.         for(new iIndex = 0;iIndex < sizeof v_szKnifevp;iIndex++)
  115.             ArrayPushString(g_v_szKnifevp, p_szKnifevp[iIndex])
  116.            
  117.         amx_save_setting_string_arr(ZE_SETTING, "Weapon Models", "P_KNIFE VIP", g_v_szKnifevp)
  118.        
  119.     }
  120.  
  121.     // Knife VIP 2
  122.     if(ArraySize(g_v_szKnifevp2) == 0)
  123.     {
  124.         for(new iIndex = 0;iIndex < sizeof v_szKnifevp2;iIndex++)
  125.             ArrayPushString(g_v_szKnifevp2, v_szKnifevp2[iIndex])
  126.        
  127.         amx_save_setting_string_arr(ZE_SETTING, "Weapon Models", "V_KNIFE VIP2", g_v_szKnifevp2)
  128.     }
  129.    
  130.     if(ArraySize(g_p_szKnifevp2) == 0)
  131.     {
  132.         for(new iIndex = 0;iIndex < sizeof p_szKnifevp2;iIndex++)
  133.             ArrayPushString(g_p_szKnifevp2, p_szKnifevp2[iIndex])
  134.            
  135.         amx_save_setting_string_arr(ZE_SETTING, "Weapon Models", "P_KNIFE VIP2", g_p_szKnifevp2)
  136.        
  137.     }
  138.    
  139.     new szModel[MODEL_MAX_LENGTH]
  140.     // Precache; Models
  141.     for(iIndex = 0;iIndex < ArraySize(g_v_szKnife1);iIndex++)
  142.     {
  143.         ArrayGetString(g_v_szKnife1, iIndex, szModel, charsmax(szModel))
  144.         precache_model(szModel)
  145.     }
  146.    
  147.     for(iIndex = 0;iIndex < ArraySize(g_p_szKnife1);iIndex++)
  148.     {
  149.         ArrayGetString(g_v_szKnife1, iIndex, szModel, charsmax(szModel))
  150.         precache_model(szModel)
  151.     }
  152.    
  153.     // Knife VIP
  154.     for(iIndex = 0;iIndex < ArraySize(g_v_szKnifevp);iIndex++)
  155.     {
  156.         ArrayGetString(g_v_szKnifevp, iIndex, szModel, charsmax(szModel))
  157.         precache_model(szModel)
  158.     }
  159.    
  160.     for(iIndex = 0;iIndex < ArraySize(g_v_szKnifevp);iIndex++)
  161.     {
  162.         ArrayGetString(g_v_szKnifevp, iIndex, szModel, charsmax(szModel))
  163.         precache_model(szModel)
  164.     }
  165.    
  166.     // Knife VIP 2
  167.     for(iIndex = 0;iIndex < ArraySize(g_v_szKnifevp2);iIndex++)
  168.     {
  169.         ArrayGetString(g_v_szKnifevp2, iIndex, szModel, charsmax(szModel))
  170.         precache_model(szModel)
  171.     }
  172.    
  173.     for(iIndex = 0;iIndex < ArraySize(g_p_szKnifevp2);iIndex++)
  174.     {
  175.         ArrayGetString(g_p_szKnifevp2, iIndex, szModel, charsmax(szModel))
  176.         precache_model(szModel)
  177.     }
  178. }
  179.  
  180. public ze_user_humanized(id)
  181. {
  182.     // get current knife
  183.     GetKnife(id, CurWeapon[id])
  184. }
  185.  
  186. public CheckPlayer(id)
  187. {
  188.     if(is_user_alive(id) && !ze_is_user_zombie(id))
  189.     {
  190.         MenuKnife(id)
  191.     }
  192.    
  193.     return PLUGIN_CONTINUE
  194. }
  195.  
  196. public MenuKnife(id)
  197. {
  198.     new iLength[64]
  199.    
  200.     formatex(iLength, charsmax(iLength), "%L", LANG_PLAYER, "TITLE_MENU_KNIFE")
  201.     iMenu = menu_create(iLength, "HandlerKnife")
  202.  
  203.     formatex(iLength, charsmax(iLength), "%L", LANG_PLAYER, "KNIFE1")
  204.     menu_additem(iMenu, iLength, "", 0)
  205.    
  206.     menu_additem(iMenu, iLength, "", 0)
  207.        
  208.     if(get_user_flags(id) & ADMIN_LEVEL_H) {
  209.         formatex(iLength, charsmax(iLength), "%L", LANG_PLAYER, "KNIFEVIP")
  210.         menu_additem(iMenu, iLength, "", 0)
  211.     } else {
  212.         formatex(iLength, charsmax(iLength), "%L", LANG_PLAYER, "NO_KNIFEVIP")
  213.         menu_additem(iMenu, iLength, "", 0)
  214.     }
  215.        
  216.     if(get_user_flags(id) & ADMIN_LEVEL_H) {
  217.         formatex(iLength, charsmax(iLength), "%L", LANG_PLAYER, "KNIFEVIP2")
  218.         menu_additem(iMenu, iLength, "", 0)
  219.     } else {
  220.         formatex(iLength, charsmax(iLength), "%L", LANG_PLAYER, "NO_KNIFEVIP2")
  221.         menu_additem(iMenu, iLength, "", 0)
  222.     }
  223.    
  224.     menu_setprop(iMenu, MPROP_EXITNAME, "%L", LANG_PLAYER, "EXIT")
  225.     menu_display(id, iMenu, 0)
  226. }
  227.  
  228. public HandlerKnife(id, iMenu, item)
  229. {
  230.     GetKnife(id, item)
  231.  
  232.     menu_destroy(iMenu)
  233.     return PLUGIN_HANDLED
  234. }
  235.  
  236. stock GetKnife(id, Num)
  237. {
  238.     new szModel[MODEL_MAX_LENGTH]
  239.    
  240.     switch( Num)
  241.     {
  242.         case 0:
  243.         {
  244.             ArrayGetString(g_v_szKnife1, random_num(0, ArraySize(g_v_szKnife1) - 1), szModel, charsmax(szModel))
  245.             cs_set_player_view_model(id, CSW_KNIFE, szModel)
  246.            
  247.             ArrayGetString(g_p_szKnife1, random_num(0, ArraySize(g_p_szKnife1) - 1), szModel, charsmax(szModel))
  248.             cs_set_player_weap_model(id, CSW_KNIFE, szModel)   
  249.            
  250.             CurWeapon[id] = 0
  251.         }
  252.        
  253.         case 5:
  254.         {
  255.             ArrayGetString(g_v_szKnifevp, random_num(0, ArraySize(g_v_szKnifevp) - 1), szModel, charsmax(szModel))
  256.             cs_set_player_view_model(id, CSW_KNIFE, szModel)
  257.            
  258.             ArrayGetString(g_p_szKnifevp, random_num(0, ArraySize(g_p_szKnifevp) - 1), szModel, charsmax(szModel))
  259.             cs_set_player_weap_model(id, CSW_KNIFE, szModel)   
  260.            
  261.             CurWeapon[id] = 5
  262.         }
  263.        
  264.         case 6:
  265.         {
  266.             ArrayGetString(g_v_szKnifevp2, random_num(0, ArraySize(g_v_szKnifevp2) - 1), szModel, charsmax(szModel))
  267.             cs_set_player_view_model(id, CSW_KNIFE, szModel)
  268.            
  269.             ArrayGetString(g_p_szKnifevp2, random_num(0, ArraySize(g_p_szKnifevp2) - 1), szModel, charsmax(szModel))
  270.             cs_set_player_weap_model(id, CSW_KNIFE, szModel)   
  271.            
  272.             CurWeapon[id] = 6
  273.         }
  274.     }  
  275. }
  276.  
  277. public _native_ze_get_knifemenu(id)
  278. {
  279.     if(!is_user_connected(id))
  280.     {
  281.         log_error(AMX_ERR_NATIVE, "!g[ZombieEscape] Invalid Player (%d)", id)
  282.         return false
  283.     }
  284.    
  285.     MenuKnife(id)
  286.     return true
  287. }
  288.  

User avatar
Supremache
Member
Member
Egypt
Posts: 9
Joined: 2 years ago
Contact:

#2

Post by Supremache » 2 years ago

You Need to add include files names to compile this plugin like:
#include <amx_load_setting_string_arr>
#include <amxmodx>

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 6 guests