hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.17. 09:52



Jelenlévő felhasználók

Jelenleg 326 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 325 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot]az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: csdm menu eltüntetése
HozzászólásElküldve:2012.04.01. 12:54 
Offline
Őstag
Avatar

Csatlakozott:2010.04.16. 16:50
Hozzászólások:1342
Megköszönt másnak: 42 alkalommal
Megköszönték neki: 58 alkalommal
Azt szeretném elérni hogy a csdm menüje ami az amxmodmenuben van bent 1 es menüpontban, az tünjön ell mert nincs rá szükségem !! Az eredeti vagyis a játékos kirugása menüpont legyen ott ugyan ugy !
Kód:
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <cstrike>

  4. #include <csdm>

  5.  

  6. new D_PLUGIN[]  = "CSDM Main"

  7. new D_ACCESS    = ADMIN_MAP

  8.  

  9. #define CSDM_OPTIONS_TOTAL              2

  10.  

  11. new bool:g_StripWeapons = true

  12. new bool:g_RemoveBomb = true

  13. new g_StayTime

  14. new g_drop_fwd

  15. new g_options[CSDM_OPTIONS_TOTAL]

  16.  

  17. //new g_MenuPages[33]

  18. new g_MainMenu = -1

  19.  

  20. public plugin_natives()

  21. {

  22.         register_native("csdm_main_menu", "native_main_menu")

  23.         register_native("csdm_set_mainoption", "__csdm_allow_option")

  24.         register_native("csdm_fwd_drop", "__csdm_fwd_drop")

  25.         register_library("csdm_main")

  26. }

  27.  

  28. public native_main_menu(id, num)

  29. {

  30.         return g_MainMenu

  31. }

  32.  

  33. public __csdm_allow_option(id, num)

  34. {

  35.         new option = get_param(1)

  36.        

  37.         if (option <= 0 || option >= CSDM_OPTIONS_TOTAL)

  38.         {

  39.                 log_error(AMX_ERR_NATIVE, "Invalid option number: %d", option)

  40.                 return 0

  41.         }

  42.        

  43.         g_options[option] = get_param(2)

  44.        

  45.         return 1

  46. }

  47.  

  48. public __csdm_fwd_drop(id, num)

  49. {

  50.         new id = get_param(1)

  51.         new wp = get_param(2)

  52.         new name[32]

  53.        

  54.         get_string(3, name, 31)

  55.        

  56.         return run_drop(id, wp, name)  

  57. }

  58.  

  59. public csdm_Init(const version[])

  60. {

  61.         if (version[0] == 0)

  62.         {

  63.                 set_fail_state("CSDM failed to load.")

  64.                 return

  65.         }

  66. }

  67.  

  68. public csdm_CfgInit()

  69. {      

  70.         csdm_reg_cfg("settings", "read_cfg")

  71. }

  72.  

  73. public plugin_init()

  74. {

  75.         register_plugin(D_PLUGIN, CSDM_VERSION, "CSDM Team")

  76.        

  77.         register_clcmd("say respawn", "say_respawn")

  78.         register_clcmd("say /respawn", "say_respawn")

  79.        

  80.         register_concmd("csdm_enable", "csdm_enable", D_ACCESS, "Enables CSDM")

  81.         register_concmd("csdm_disable", "csdm_disable", D_ACCESS, "Disables CSDM")

  82.         register_concmd("csdm_ctrl", "csdm_ctrl", D_ACCESS, "")

  83.         register_concmd("csdm_reload", "csdm_reload", D_ACCESS, "Reloads CSDM Config")

  84.         register_clcmd("csdm_menu", "csdm_menu", ADMIN_MENU, "CSDM Menu")

  85.         register_clcmd("drop", "hook_drop")

  86.        

  87.         register_concmd("csdm_cache", "cacheInfo", ADMIN_MAP, "Shows cache information")

  88.        

  89.         AddMenuItem("CSDM Menu", "csdm_menu", D_ACCESS, D_PLUGIN)

  90.         g_MainMenu = menu_create("CSDM Menu", "use_csdm_menu")

  91.        

  92.         new callback = menu_makecallback("hook_item_display")

  93.         menu_additem(g_MainMenu, "DM Be/DM Ki", "csdm_ctrl", D_ACCESS, callback)

  94.         menu_additem(g_MainMenu, "DM config ujratoltese", "csdm_reload", D_ACCESS)

  95.        

  96.         g_drop_fwd = CreateMultiForward("csdm_HandleDrop", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL)

  97. }

  98.  

  99. public cacheInfo(id, level, cid)

  100. {

  101.         if (!cmd_access(id, level, cid, 1))

  102.                 return PLUGIN_HANDLED

  103.                

  104.         new ar[6]

  105.         csdm_cache(ar)

  106.        

  107.         console_print(id, "[CSDM] Free tasks: respawn=%d, findweapon=%d", ar[0], ar[5])

  108.         console_print(id, "[CSDM] Weapon removal cache: %d total, %d live", ar[4], ar[3])

  109.         console_print(id, "[CSDM] Live tasks: %d (%d free)", ar[2], ar[1])

  110.        

  111.         return PLUGIN_HANDLED

  112. }

  113.  

  114. public hook_drop(id)

  115. {

  116.         if (!csdm_active())

  117.         {

  118.                 return

  119.         }

  120.        

  121.         if (!is_user_connected(id))

  122.         {

  123.                 return

  124.         }

  125.        

  126.         new wp, c, a, name[24]

  127.         if (cs_get_user_shield(id))

  128.         {

  129.                 //entirely different...

  130.                 wp = -1

  131.                 copy(name, 23, "weapon_shield")

  132.         } else {

  133.                 if (read_argc() <= 1)

  134.                 {

  135.                         wp = get_user_weapon(id, c, a)

  136.                 } else {

  137.                         read_argv(1, name, 23)

  138.                         wp = getWepId(name)

  139.                 }

  140.         }

  141.  

  142.         run_drop(id, wp, name)

  143. }

  144.  

  145. run_drop(id, wp, const name[])

  146. {

  147.         new ret

  148.         ExecuteForward(g_drop_fwd, ret, id, wp, 0)

  149.        

  150.         if (ret == CSDM_DROP_REMOVE)

  151.         {

  152.                 new _name[24]

  153.                 if (name[0] == 0)

  154.                 {

  155.                         get_weaponname(wp, _name, 23)

  156.                 }

  157.                 csdm_remove_weapon(id, _name, 0, 1)

  158.                 return 1

  159.         } else if (ret == CSDM_DROP_IGNORE) {

  160.                 return 0

  161.         }

  162.        

  163.         if (g_StayTime > 20 || g_StayTime < 0)

  164.         {

  165.                 return 0

  166.         }

  167.        

  168.         if (wp)

  169.         {

  170.                 remove_weapon(id, wp)

  171.                 return 1

  172.         }

  173.        

  174.         return 0

  175. }

  176.  

  177. public csdm_PostDeath(killer, victim, headshot, const weapon[])

  178. {

  179.         if (g_StayTime > 20 || g_StayTime < 0)

  180.                 return PLUGIN_CONTINUE

  181.  

  182.         new weapons[MAX_WEAPONS], num, name[24]

  183.         new wp, slot, ret

  184.  

  185.         get_user_weapons(victim, weapons, num)

  186.  

  187.         for (new i=0; i<num; i++)

  188.         {

  189.                 wp = weapons[i]

  190.                 slot = g_WeaponSlots[wp]

  191.  

  192.                 ExecuteForward(g_drop_fwd, ret, victim, wp, 1)

  193.  

  194.                 if (ret == CSDM_DROP_REMOVE)

  195.                 {

  196.                         get_weaponname(wp, name, 23)

  197.                         csdm_remove_weapon(victim, name, 0, 1)

  198.                 } else if (ret == CSDM_DROP_IGNORE) {

  199.                         continue

  200.                 } else {

  201.                         if (slot == SLOT_PRIMARY || slot == SLOT_SECONDARY || slot == SLOT_C4)

  202.                         {

  203.                                 remove_weapon(victim, wp)

  204.                         }

  205.                 }

  206.         }

  207.        

  208.         if (cs_get_user_shield(victim))

  209.         {

  210.                 ExecuteForward(g_drop_fwd, ret, victim, -1, 1)

  211.                 if (ret == CSDM_DROP_REMOVE)

  212.                 {

  213.                         csdm_remove_weapon(victim, "weapon_shield", 0, 1)

  214.                 } else if (ret == CSDM_DROP_IGNORE) {

  215.                         /* do nothing */

  216.                 } else {

  217.                         remove_weapon(victim, -1)

  218.                 }

  219.         }

  220.        

  221.         return PLUGIN_CONTINUE

  222. }

  223.  

  224. public csdm_PreSpawn(player, bool:fake)

  225. {

  226.         //we'll just have to back out for now

  227.         if (cs_get_user_shield(player))

  228.         {

  229.                 return

  230.         }

  231.         new team = get_user_team(player)

  232.         if (g_StripWeapons)

  233.         {

  234.                 if (team == _TEAM_T)

  235.                 {

  236.                         if (cs_get_user_shield(player))

  237.                         {

  238.                                 drop_with_shield(player, CSW_GLOCK18)

  239.                         } else {

  240.                                 csdm_force_drop(player, "weapon_glock18")

  241.                         }

  242.                 } else if (team == _TEAM_CT) {

  243.                         if (cs_get_user_shield(player))

  244.                         {

  245.                                 drop_with_shield(player, CSW_USP)

  246.                         } else {

  247.                                 csdm_force_drop(player, "weapon_usp")

  248.                         }

  249.                 }

  250.         }

  251.         if (team == _TEAM_T)

  252.         {

  253.                 if (g_RemoveBomb)

  254.                 {

  255.                         new weapons[MAX_WEAPONS], num

  256.                         get_user_weapons(player, weapons, num)

  257.                         for (new i=0; i<num; i++)

  258.                         {

  259.                                 if (weapons[i] == CSW_C4)

  260.                                 {

  261.                                         if (cs_get_user_shield(player))

  262.                                         {

  263.                                                 drop_with_shield(player, CSW_C4)

  264.                                         } else {

  265.                                                 csdm_force_drop(player, "weapon_c4")

  266.                                         }

  267.                                         break

  268.                                 }

  269.                         }

  270.                 }

  271.         }

  272. }

  273.  

  274. remove_weapon(id, wp)

  275. {

  276.         new name[24]

  277.        

  278.         if (wp == -1)

  279.         {

  280.                 copy(name, 23, "weapon_shield")

  281.         } else {

  282.                 get_weaponname(wp, name, 23)

  283.         }

  284.  

  285.         if ((wp == CSW_C4) && g_RemoveBomb)

  286.         {      

  287.                 csdm_remove_weapon(id, name, 0, 1)

  288.         } else {

  289.                 if (wp != CSW_C4)

  290.                 {

  291.                         csdm_remove_weapon(id, name, g_StayTime, 1)

  292.                 }

  293.         }

  294. }

  295.  

  296. public hook_item_display(player, menu, item)

  297. {

  298.         new paccess, command[24], call

  299.        

  300.         menu_item_getinfo(menu, item, paccess, command, 23, _, 0, call)

  301.        

  302.         if (equali(command, "csdm_ctrl"))

  303.         {

  304.                 if (!csdm_active())

  305.                 {

  306.                         menu_item_setname(menu, item, "DM Be")

  307.                 } else {

  308.                         menu_item_setname(menu, item, "DM Ki")

  309.                 }

  310.         }

  311. }

  312.  

  313. public read_cfg(readAction, line[], section[])

  314. {

  315.         if (readAction == CFG_READ)

  316.         {

  317.                 new setting[24], sign[3], value[32];

  318.  

  319.                 parse(line, setting, 23, sign, 2, value, 31);

  320.                

  321.                 if (equali(setting, "strip_weapons"))

  322.                 {

  323.                         g_StripWeapons = str_to_num(value) ? true : false

  324.                 } else if (equali(setting, "weapons_stay")) {

  325.                         g_StayTime = str_to_num(value)

  326.                 } else if (equali(setting, "spawnmode")) {

  327.                         new var = csdm_setstyle(value)

  328.                         if (var)

  329.                         {

  330.                                 log_amx("CSDM spawn mode set to %s", value)

  331.                         } else {

  332.                                 log_amx("CSDM spawn mode %s not found", value)

  333.                         }

  334.                 } else if (equali(setting, "remove_bomb")) {

  335.                         g_RemoveBomb = str_to_num(value) ? true : false

  336.                 } else if (equali(setting, "enabled")) {

  337.                         csdm_set_active(str_to_num(value))

  338.                 } else if (equali(setting, "spawn_wait_time")) {

  339.                         csdm_set_spawnwait(str_to_float(value))

  340.                 }

  341.         }

  342. }

  343.  

  344. public csdm_reload(id, level, cid)

  345. {

  346.         if (!cmd_access(id, level, cid, 1))

  347.                 return PLUGIN_HANDLED

  348.                

  349.         new file[33] = ""

  350.         if (read_argc() >= 2)

  351.         {

  352.                 read_argv(1, file, 32)

  353.         }

  354.                

  355.         if (csdm_reload_cfg(file))

  356.         {

  357.                 client_print(id, print_chat, "[CSDM] Deathmatch config ujratoltve.")

  358.         } else {

  359.                 client_print(id, print_chat, "[CSDM] Unable to find config file.")

  360.         }

  361.                

  362.         return PLUGIN_HANDLED

  363. }

  364.  

  365. public csdm_menu(id, level, cid)

  366. {

  367.         if (!cmd_access(id, level, cid, 1))

  368.                 return PLUGIN_HANDLED

  369.        

  370.         menu_display(id, g_MainMenu, 0)

  371.        

  372.         return PLUGIN_HANDLED

  373. }

  374.  

  375. public csdm_ctrl(id, level, cid)

  376. {

  377.         if (!cmd_access(id, level, cid, 1))

  378.                 return PLUGIN_HANDLED

  379.        

  380.         csdm_set_active( csdm_active() ? 0 : 1 )

  381.         client_print(id, print_chat, "CSDM Deathmatch mod magyarositotta,Expert_IMI")

  382.        

  383.         return PLUGIN_HANDLED

  384. }

  385.  

  386. public use_csdm_menu(id, menu, item)

  387. {

  388.         if (item < 0)

  389.                 return PLUGIN_CONTINUE

  390.        

  391.         new command[24], paccess, call

  392.         if (!menu_item_getinfo(g_MainMenu, item, paccess, command, 23, _, 0, call))

  393.         {

  394.                 log_amx("Error: csdm_menu_item() failed (menu %d) (page %d) (item %d)", g_MainMenu, 0, item)

  395.                 return PLUGIN_HANDLED

  396.         }

  397.         if (paccess && !(get_user_flags(id) & paccess))

  398.         {

  399.                 client_print(id, print_chat, "You do not have access to this menu option.")

  400.                 return PLUGIN_HANDLED

  401.         }

  402.        

  403.         client_cmd(id, command)

  404.        

  405.         return PLUGIN_HANDLED

  406. }

  407.  

  408. public csdm_enable(id, level, cid)

  409. {

  410.         if (!cmd_access(id, level, cid, 1))

  411.                 return PLUGIN_HANDLED

  412.  

  413.         csdm_set_active(1)

  414.         client_print(id, print_chat, "CSDM Deathmatch mod bekapcsolva.")

  415.        

  416.         return PLUGIN_HANDLED  

  417. }

  418.  

  419. public csdm_disable(id, level, cid)

  420. {

  421.         if (!cmd_access(id, level, cid, 1))

  422.                 return PLUGIN_HANDLED

  423.  

  424.         csdm_set_active(0)

  425.         client_print(id, print_chat, "CSDM Deathmach mod kikapcsolva.")

  426.        

  427.         return PLUGIN_HANDLED  

  428. }

  429.  

  430. public say_respawn(id)

  431. {

  432.         if (g_options[CSDM_OPTION_SAYRESPAWN] == CSDM_SET_DISABLED)

  433.         {

  434.                 client_print(id, print_chat, "[CSDM] Parancs letiltva")

  435.                 return PLUGIN_HANDLED

  436.         }

  437.        

  438.         if (!is_user_alive(id) && csdm_active())

  439.         {

  440.                 new team = get_user_team(id)

  441.                 if (team == _TEAM_T || team == _TEAM_CT)

  442.                 {

  443.                         csdm_respawn(id)

  444.                 }

  445.         }

  446.        

  447.         return PLUGIN_CONTINUE

  448. }

  449.  

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: csdm menu eltüntetése
HozzászólásElküldve:2012.04.01. 15:35 
Offline
Őskövület
Avatar

Csatlakozott:2011.09.17. 17:54
Hozzászólások:2350
Megköszönt másnak: 40 alkalommal
Megköszönték neki: 57 alkalommal
Try

Kód:
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <cstrike>

  4. #include <csdm>

  5.  

  6. new D_PLUGIN[]  = "CSDM Main"

  7. new D_ACCESS    = ADMIN_MAP

  8.  

  9. #define CSDM_OPTIONS_TOTAL              2

  10.  

  11. new bool:g_StripWeapons = true

  12. new bool:g_RemoveBomb = true

  13. new g_StayTime

  14. new g_drop_fwd

  15. new g_options[CSDM_OPTIONS_TOTAL]

  16.  

  17. //new g_MenuPages[33]

  18. new g_MainMenu = -1

  19.  

  20. public plugin_natives()

  21. {

  22.         register_native("csdm_main_menu", "native_main_menu")

  23.         register_native("csdm_set_mainoption", "__csdm_allow_option")

  24.         register_native("csdm_fwd_drop", "__csdm_fwd_drop")

  25.         register_library("csdm_main")

  26. }

  27.  

  28. public native_main_menu(id, num)

  29. {

  30.         return g_MainMenu

  31. }

  32.  

  33. public __csdm_allow_option(id, num)

  34. {

  35.         new option = get_param(1)

  36.        

  37.         if (option <= 0 || option >= CSDM_OPTIONS_TOTAL)

  38.         {

  39.                 log_error(AMX_ERR_NATIVE, "Invalid option number: %d", option)

  40.                 return 0

  41.         }

  42.        

  43.         g_options[option] = get_param(2)

  44.        

  45.         return 1

  46. }

  47.  

  48. public __csdm_fwd_drop(id, num)

  49. {

  50.         new id = get_param(1)

  51.         new wp = get_param(2)

  52.         new name[32]

  53.        

  54.         get_string(3, name, 31)

  55.        

  56.         return run_drop(id, wp, name)  

  57. }

  58.  

  59. public csdm_Init(const version[])

  60. {

  61.         if (version[0] == 0)

  62.         {

  63.                 set_fail_state("CSDM failed to load.")

  64.                 return

  65.         }

  66. }

  67.  

  68. public csdm_CfgInit()

  69. {      

  70.         csdm_reg_cfg("settings", "read_cfg")

  71. }

  72.  

  73. public plugin_init()

  74. {

  75.         register_plugin(D_PLUGIN, CSDM_VERSION, "CSDM Team")

  76.        

  77.         register_clcmd("say respawn", "say_respawn")

  78.         register_clcmd("say /respawn", "say_respawn")

  79.        

  80.         register_concmd("csdm_enable", "csdm_enable", D_ACCESS, "Enables CSDM")

  81.         register_concmd("csdm_disable", "csdm_disable", D_ACCESS, "Disables CSDM")

  82.         register_concmd("csdm_ctrl", "csdm_ctrl", D_ACCESS, "")

  83.         register_concmd("csdm_reload", "csdm_reload", D_ACCESS, "Reloads CSDM Config")

  84.         register_clcmd("drop", "hook_drop")

  85.        

  86.         register_concmd("csdm_cache", "cacheInfo", ADMIN_MAP, "Shows cache information")

  87.        

  88.         g_drop_fwd = CreateMultiForward("csdm_HandleDrop", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL)

  89. }

  90.  

  91. public cacheInfo(id, level, cid)

  92. {

  93.         if (!cmd_access(id, level, cid, 1))

  94.                 return PLUGIN_HANDLED

  95.                

  96.         new ar[6]

  97.         csdm_cache(ar)

  98.        

  99.         console_print(id, "[CSDM] Free tasks: respawn=%d, findweapon=%d", ar[0], ar[5])

  100.         console_print(id, "[CSDM] Weapon removal cache: %d total, %d live", ar[4], ar[3])

  101.         console_print(id, "[CSDM] Live tasks: %d (%d free)", ar[2], ar[1])

  102.        

  103.         return PLUGIN_HANDLED

  104. }

  105.  

  106. public hook_drop(id)

  107. {

  108.         if (!csdm_active())

  109.         {

  110.                 return

  111.         }

  112.        

  113.         if (!is_user_connected(id))

  114.         {

  115.                 return

  116.         }

  117.        

  118.         new wp, c, a, name[24]

  119.         if (cs_get_user_shield(id))

  120.         {

  121.                 //entirely different...

  122.                 wp = -1

  123.                 copy(name, 23, "weapon_shield")

  124.         } else {

  125.                 if (read_argc() <= 1)

  126.                 {

  127.                         wp = get_user_weapon(id, c, a)

  128.                 } else {

  129.                         read_argv(1, name, 23)

  130.                         wp = getWepId(name)

  131.                 }

  132.         }

  133.  

  134.         run_drop(id, wp, name)

  135. }

  136.  

  137. run_drop(id, wp, const name[])

  138. {

  139.         new ret

  140.         ExecuteForward(g_drop_fwd, ret, id, wp, 0)

  141.        

  142.         if (ret == CSDM_DROP_REMOVE)

  143.         {

  144.                 new _name[24]

  145.                 if (name[0] == 0)

  146.                 {

  147.                         get_weaponname(wp, _name, 23)

  148.                 }

  149.                 csdm_remove_weapon(id, _name, 0, 1)

  150.                 return 1

  151.         } else if (ret == CSDM_DROP_IGNORE) {

  152.                 return 0

  153.         }

  154.        

  155.         if (g_StayTime > 20 || g_StayTime < 0)

  156.         {

  157.                 return 0

  158.         }

  159.        

  160.         if (wp)

  161.         {

  162.                 remove_weapon(id, wp)

  163.                 return 1

  164.         }

  165.        

  166.         return 0

  167. }

  168.  

  169. public csdm_PostDeath(killer, victim, headshot, const weapon[])

  170. {

  171.         if (g_StayTime > 20 || g_StayTime < 0)

  172.                 return PLUGIN_CONTINUE

  173.  

  174.         new weapons[MAX_WEAPONS], num, name[24]

  175.         new wp, slot, ret

  176.  

  177.         get_user_weapons(victim, weapons, num)

  178.  

  179.         for (new i=0; i<num; i++)

  180.         {

  181.                 wp = weapons[i]

  182.                 slot = g_WeaponSlots[wp]

  183.  

  184.                 ExecuteForward(g_drop_fwd, ret, victim, wp, 1)

  185.  

  186.                 if (ret == CSDM_DROP_REMOVE)

  187.                 {

  188.                         get_weaponname(wp, name, 23)

  189.                         csdm_remove_weapon(victim, name, 0, 1)

  190.                 } else if (ret == CSDM_DROP_IGNORE) {

  191.                         continue

  192.                 } else {

  193.                         if (slot == SLOT_PRIMARY || slot == SLOT_SECONDARY || slot == SLOT_C4)

  194.                         {

  195.                                 remove_weapon(victim, wp)

  196.                         }

  197.                 }

  198.         }

  199.        

  200.         if (cs_get_user_shield(victim))

  201.         {

  202.                 ExecuteForward(g_drop_fwd, ret, victim, -1, 1)

  203.                 if (ret == CSDM_DROP_REMOVE)

  204.                 {

  205.                         csdm_remove_weapon(victim, "weapon_shield", 0, 1)

  206.                 } else if (ret == CSDM_DROP_IGNORE) {

  207.                         /* do nothing */

  208.                 } else {

  209.                         remove_weapon(victim, -1)

  210.                 }

  211.         }

  212.        

  213.         return PLUGIN_CONTINUE

  214. }

  215.  

  216. public csdm_PreSpawn(player, bool:fake)

  217. {

  218.         //we'll just have to back out for now

  219.         if (cs_get_user_shield(player))

  220.         {

  221.                 return

  222.         }

  223.         new team = get_user_team(player)

  224.         if (g_StripWeapons)

  225.         {

  226.                 if (team == _TEAM_T)

  227.                 {

  228.                         if (cs_get_user_shield(player))

  229.                         {

  230.                                 drop_with_shield(player, CSW_GLOCK18)

  231.                         } else {

  232.                                 csdm_force_drop(player, "weapon_glock18")

  233.                         }

  234.                 } else if (team == _TEAM_CT) {

  235.                         if (cs_get_user_shield(player))

  236.                         {

  237.                                 drop_with_shield(player, CSW_USP)

  238.                         } else {

  239.                                 csdm_force_drop(player, "weapon_usp")

  240.                         }

  241.                 }

  242.         }

  243.         if (team == _TEAM_T)

  244.         {

  245.                 if (g_RemoveBomb)

  246.                 {

  247.                         new weapons[MAX_WEAPONS], num

  248.                         get_user_weapons(player, weapons, num)

  249.                         for (new i=0; i<num; i++)

  250.                         {

  251.                                 if (weapons[i] == CSW_C4)

  252.                                 {

  253.                                         if (cs_get_user_shield(player))

  254.                                         {

  255.                                                 drop_with_shield(player, CSW_C4)

  256.                                         } else {

  257.                                                 csdm_force_drop(player, "weapon_c4")

  258.                                         }

  259.                                         break

  260.                                 }

  261.                         }

  262.                 }

  263.         }

  264. }

  265.  

  266. remove_weapon(id, wp)

  267. {

  268.         new name[24]

  269.        

  270.         if (wp == -1)

  271.         {

  272.                 copy(name, 23, "weapon_shield")

  273.         } else {

  274.                 get_weaponname(wp, name, 23)

  275.         }

  276.  

  277.         if ((wp == CSW_C4) && g_RemoveBomb)

  278.         {      

  279.                 csdm_remove_weapon(id, name, 0, 1)

  280.         } else {

  281.                 if (wp != CSW_C4)

  282.                 {

  283.                         csdm_remove_weapon(id, name, g_StayTime, 1)

  284.                 }

  285.         }

  286. }

  287.  

  288. public hook_item_display(player, menu, item)

  289. {

  290.         new paccess, command[24], call

  291.        

  292.         menu_item_getinfo(menu, item, paccess, command, 23, _, 0, call)

  293.        

  294.         if (equali(command, "csdm_ctrl"))

  295.         {

  296.                 if (!csdm_active())

  297.                 {

  298.                         menu_item_setname(menu, item, "DM Be")

  299.                 } else {

  300.                         menu_item_setname(menu, item, "DM Ki")

  301.                 }

  302.         }

  303. }

  304.  

  305. public read_cfg(readAction, line[], section[])

  306. {

  307.         if (readAction == CFG_READ)

  308.         {

  309.                 new setting[24], sign[3], value[32];

  310.  

  311.                 parse(line, setting, 23, sign, 2, value, 31);

  312.                

  313.                 if (equali(setting, "strip_weapons"))

  314.                 {

  315.                         g_StripWeapons = str_to_num(value) ? true : false

  316.                 } else if (equali(setting, "weapons_stay")) {

  317.                         g_StayTime = str_to_num(value)

  318.                 } else if (equali(setting, "spawnmode")) {

  319.                         new var = csdm_setstyle(value)

  320.                         if (var)

  321.                         {

  322.                                 log_amx("CSDM spawn mode set to %s", value)

  323.                         } else {

  324.                                 log_amx("CSDM spawn mode %s not found", value)

  325.                         }

  326.                 } else if (equali(setting, "remove_bomb")) {

  327.                         g_RemoveBomb = str_to_num(value) ? true : false

  328.                 } else if (equali(setting, "enabled")) {

  329.                         csdm_set_active(str_to_num(value))

  330.                 } else if (equali(setting, "spawn_wait_time")) {

  331.                         csdm_set_spawnwait(str_to_float(value))

  332.                 }

  333.         }

  334. }

  335.  

  336. public csdm_reload(id, level, cid)

  337. {

  338.         if (!cmd_access(id, level, cid, 1))

  339.                 return PLUGIN_HANDLED

  340.                

  341.         new file[33] = ""

  342.         if (read_argc() >= 2)

  343.         {

  344.                 read_argv(1, file, 32)

  345.         }

  346.                

  347.         if (csdm_reload_cfg(file))

  348.         {

  349.                 client_print(id, print_chat, "[CSDM] Deathmatch config ujratoltve.")

  350.         } else {

  351.                 client_print(id, print_chat, "[CSDM] Unable to find config file.")

  352.         }

  353.                

  354.         return PLUGIN_HANDLED

  355. }

  356.  

  357. public csdm_ctrl(id, level, cid)

  358. {

  359.         if (!cmd_access(id, level, cid, 1))

  360.                 return PLUGIN_HANDLED

  361.        

  362.         csdm_set_active( csdm_active() ? 0 : 1 )

  363.         client_print(id, print_chat, "CSDM Deathmatch mod magyarositotta,Expert_IMI")

  364.        

  365.         return PLUGIN_HANDLED

  366. }

  367.  

  368. public csdm_enable(id, level, cid)

  369. {

  370.         if (!cmd_access(id, level, cid, 1))

  371.                 return PLUGIN_HANDLED

  372.  

  373.         csdm_set_active(1)

  374.         client_print(id, print_chat, "CSDM Deathmatch mod bekapcsolva.")

  375.        

  376.         return PLUGIN_HANDLED  

  377. }

  378.  

  379. public csdm_disable(id, level, cid)

  380. {

  381.         if (!cmd_access(id, level, cid, 1))

  382.                 return PLUGIN_HANDLED

  383.  

  384.         csdm_set_active(0)

  385.         client_print(id, print_chat, "CSDM Deathmach mod kikapcsolva.")

  386.        

  387.         return PLUGIN_HANDLED  

  388. }

  389.  

  390. public say_respawn(id)

  391. {

  392.         if (g_options[CSDM_OPTION_SAYRESPAWN] == CSDM_SET_DISABLED)

  393.         {

  394.                 client_print(id, print_chat, "[CSDM] Parancs letiltva")

  395.                 return PLUGIN_HANDLED

  396.         }

  397.        

  398.         if (!is_user_alive(id) && csdm_active())

  399.         {

  400.                 new team = get_user_team(id)

  401.                 if (team == _TEAM_T || team == _TEAM_CT)

  402.                 {

  403.                         csdm_respawn(id)

  404.                 }

  405.         }

  406.        

  407.         return PLUGIN_CONTINUE

  408. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: csdm menu eltüntetése
HozzászólásElküldve:2012.04.01. 16:08 
Offline
Őstag
Avatar

Csatlakozott:2010.04.16. 16:50
Hozzászólások:1342
Megköszönt másnak: 42 alkalommal
Megköszönték neki: 58 alkalommal
és mit is szedtél ki belőle ??

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: csdm menu eltüntetése
HozzászólásElküldve:2012.04.01. 16:28 
Offline
Őskövület
Avatar

Csatlakozott:2011.09.17. 17:54
Hozzászólások:2350
Megköszönt másnak: 40 alkalommal
Megköszönték neki: 57 alkalommal
Most hogy jobban elnézem a kódot látom hogy nem azt csináltam amit kell XD


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: csdm menu eltüntetése
HozzászólásElküldve:2012.04.02. 20:19 
Offline
Őstag
Avatar

Csatlakozott:2010.04.16. 16:50
Hozzászólások:1342
Megköszönt másnak: 42 alkalommal
Megköszönték neki: 58 alkalommal
Valaki tudna segiteni ?? Légyszives !

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: csdm menu eltüntetése
HozzászólásElküldve:2012.04.02. 20:24 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2011.09.18. 13:01
Hozzászólások:4274
Megköszönt másnak: 55 alkalommal
Megköszönték neki: 515 alkalommal
Kód:
    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>
    #include <csdm>
     
    new D_PLUGIN[]  = "CSDM Main"
    new D_ACCESS    = ADMIN_MAP
     
    #define CSDM_OPTIONS_TOTAL              2
     
    new bool:g_StripWeapons = true
    new bool:g_RemoveBomb = true
    new g_StayTime
    new g_drop_fwd
    new g_options[CSDM_OPTIONS_TOTAL]
     
    //new g_MenuPages[33]
    new g_MainMenu = -1
     
    public plugin_natives()
    {
            register_native("csdm_main_menu", "native_main_menu")
            register_native("csdm_set_mainoption", "__csdm_allow_option")
            register_native("csdm_fwd_drop", "__csdm_fwd_drop")
            register_library("csdm_main")
    }
     
    public native_main_menu(id, num)
    {
            return g_MainMenu
    }
     
    public __csdm_allow_option(id, num)
    {
            new option = get_param(1)
           
            if (option <= 0 || option >= CSDM_OPTIONS_TOTAL)
            {
                    log_error(AMX_ERR_NATIVE, "Invalid option number: %d", option)
                    return 0
            }
           
            g_options[option] = get_param(2)
           
            return 1
    }
     
    public __csdm_fwd_drop(id, num)
    {
            new id = get_param(1)
            new wp = get_param(2)
            new name[32]
           
            get_string(3, name, 31)
           
            return run_drop(id, wp, name) 
    }
     
    public csdm_Init(const version[])
    {
            if (version[0] == 0)
            {
                    set_fail_state("CSDM failed to load.")
                    return
            }
    }
     
    public csdm_CfgInit()
    {     
            csdm_reg_cfg("settings", "read_cfg")
    }
     
    public plugin_init()
    {
            register_plugin(D_PLUGIN, CSDM_VERSION, "CSDM Team")
           
            register_clcmd("say respawn", "say_respawn")
            register_clcmd("say /respawn", "say_respawn")
           
            register_concmd("csdm_enable", "csdm_enable", D_ACCESS, "Enables CSDM")
            register_concmd("csdm_disable", "csdm_disable", D_ACCESS, "Disables CSDM")
            register_concmd("csdm_ctrl", "csdm_ctrl", D_ACCESS, "")
            register_concmd("csdm_reload", "csdm_reload", D_ACCESS, "Reloads CSDM Config")
            register_clcmd("drop", "hook_drop")
           
            register_concmd("csdm_cache", "cacheInfo", ADMIN_MAP, "Shows cache information")
           
           
            new callback = menu_makecallback("hook_item_display")
            menu_additem(g_MainMenu, "DM Be/DM Ki", "csdm_ctrl", D_ACCESS, callback)
            menu_additem(g_MainMenu, "DM config ujratoltese", "csdm_reload", D_ACCESS)
           
            g_drop_fwd = CreateMultiForward("csdm_HandleDrop", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL)
    }
     
    public cacheInfo(id, level, cid)
    {
            if (!cmd_access(id, level, cid, 1))
                    return PLUGIN_HANDLED
                   
            new ar[6]
            csdm_cache(ar)
           
            console_print(id, "[CSDM] Free tasks: respawn=%d, findweapon=%d", ar[0], ar[5])
            console_print(id, "[CSDM] Weapon removal cache: %d total, %d live", ar[4], ar[3])
            console_print(id, "[CSDM] Live tasks: %d (%d free)", ar[2], ar[1])
           
            return PLUGIN_HANDLED
    }
     
    public hook_drop(id)
    {
            if (!csdm_active())
            {
                    return
            }
           
            if (!is_user_connected(id))
            {
                    return
            }
           
            new wp, c, a, name[24]
            if (cs_get_user_shield(id))
            {
                    //entirely different...
                    wp = -1
                    copy(name, 23, "weapon_shield")
            } else {
                    if (read_argc() <= 1)
                    {
                            wp = get_user_weapon(id, c, a)
                    } else {
                            read_argv(1, name, 23)
                            wp = getWepId(name)
                    }
            }
     
            run_drop(id, wp, name)
    }
     
    run_drop(id, wp, const name[])
    {
            new ret
            ExecuteForward(g_drop_fwd, ret, id, wp, 0)
           
            if (ret == CSDM_DROP_REMOVE)
            {
                    new _name[24]
                    if (name[0] == 0)
                    {
                            get_weaponname(wp, _name, 23)
                    }
                    csdm_remove_weapon(id, _name, 0, 1)
                    return 1
            } else if (ret == CSDM_DROP_IGNORE) {
                    return 0
            }
           
            if (g_StayTime > 20 || g_StayTime < 0)
            {
                    return 0
            }
           
            if (wp)
            {
                    remove_weapon(id, wp)
                    return 1
            }
           
            return 0
    }
     
    public csdm_PostDeath(killer, victim, headshot, const weapon[])
    {
            if (g_StayTime > 20 || g_StayTime < 0)
                    return PLUGIN_CONTINUE
     
            new weapons[MAX_WEAPONS], num, name[24]
            new wp, slot, ret
     
            get_user_weapons(victim, weapons, num)
     
            for (new i=0; i<num; i++)
            {
                    wp = weapons[i]
                    slot = g_WeaponSlots[wp]
     
                    ExecuteForward(g_drop_fwd, ret, victim, wp, 1)
     
                    if (ret == CSDM_DROP_REMOVE)
                    {
                            get_weaponname(wp, name, 23)
                            csdm_remove_weapon(victim, name, 0, 1)
                    } else if (ret == CSDM_DROP_IGNORE) {
                            continue
                    } else {
                            if (slot == SLOT_PRIMARY || slot == SLOT_SECONDARY || slot == SLOT_C4)
                            {
                                    remove_weapon(victim, wp)
                            }
                    }
            }
           
            if (cs_get_user_shield(victim))
            {
                    ExecuteForward(g_drop_fwd, ret, victim, -1, 1)
                    if (ret == CSDM_DROP_REMOVE)
                    {
                            csdm_remove_weapon(victim, "weapon_shield", 0, 1)
                    } else if (ret == CSDM_DROP_IGNORE) {
                            /* do nothing */
                    } else {
                            remove_weapon(victim, -1)
                    }
            }
           
            return PLUGIN_CONTINUE
    }
     
    public csdm_PreSpawn(player, bool:fake)
    {
            //we'll just have to back out for now
            if (cs_get_user_shield(player))
            {
                    return
            }
            new team = get_user_team(player)
            if (g_StripWeapons)
            {
                    if (team == _TEAM_T)
                    {
                            if (cs_get_user_shield(player))
                            {
                                    drop_with_shield(player, CSW_GLOCK18)
                            } else {
                                    csdm_force_drop(player, "weapon_glock18")
                            }
                    } else if (team == _TEAM_CT) {
                            if (cs_get_user_shield(player))
                            {
                                    drop_with_shield(player, CSW_USP)
                            } else {
                                    csdm_force_drop(player, "weapon_usp")
                            }
                    }
            }
            if (team == _TEAM_T)
            {
                    if (g_RemoveBomb)
                    {
                            new weapons[MAX_WEAPONS], num
                            get_user_weapons(player, weapons, num)
                            for (new i=0; i<num; i++)
                            {
                                    if (weapons[i] == CSW_C4)
                                    {
                                            if (cs_get_user_shield(player))
                                            {
                                                    drop_with_shield(player, CSW_C4)
                                            } else {
                                                    csdm_force_drop(player, "weapon_c4")
                                            }
                                            break
                                    }
                            }
                    }
            }
    }
     
    remove_weapon(id, wp)
    {
            new name[24]
           
            if (wp == -1)
            {
                    copy(name, 23, "weapon_shield")
            } else {
                    get_weaponname(wp, name, 23)
            }
     
            if ((wp == CSW_C4) && g_RemoveBomb)
            {     
                    csdm_remove_weapon(id, name, 0, 1)
            } else {
                    if (wp != CSW_C4)
                    {
                            csdm_remove_weapon(id, name, g_StayTime, 1)
                    }
            }
    }
     
    public hook_item_display(player, menu, item)
    {
            new paccess, command[24], call
           
            menu_item_getinfo(menu, item, paccess, command, 23, _, 0, call)
           
            if (equali(command, "csdm_ctrl"))
            {
                    if (!csdm_active())
                    {
                            menu_item_setname(menu, item, "DM Be")
                    } else {
                            menu_item_setname(menu, item, "DM Ki")
                    }
            }
    }
     
    public read_cfg(readAction, line[], section[])
    {
            if (readAction == CFG_READ)
            {
                    new setting[24], sign[3], value[32];
     
                    parse(line, setting, 23, sign, 2, value, 31);
                   
                    if (equali(setting, "strip_weapons"))
                    {
                            g_StripWeapons = str_to_num(value) ? true : false
                    } else if (equali(setting, "weapons_stay")) {
                            g_StayTime = str_to_num(value)
                    } else if (equali(setting, "spawnmode")) {
                            new var = csdm_setstyle(value)
                            if (var)
                            {
                                    log_amx("CSDM spawn mode set to %s", value)
                            } else {
                                    log_amx("CSDM spawn mode %s not found", value)
                            }
                    } else if (equali(setting, "remove_bomb")) {
                            g_RemoveBomb = str_to_num(value) ? true : false
                    } else if (equali(setting, "enabled")) {
                            csdm_set_active(str_to_num(value))
                    } else if (equali(setting, "spawn_wait_time")) {
                            csdm_set_spawnwait(str_to_float(value))
                    }
            }
    }
     
    public csdm_reload(id, level, cid)
    {
            if (!cmd_access(id, level, cid, 1))
                    return PLUGIN_HANDLED
                   
            new file[33] = ""
            if (read_argc() >= 2)
            {
                    read_argv(1, file, 32)
            }
                   
            if (csdm_reload_cfg(file))
            {
                    client_print(id, print_chat, "[CSDM] Deathmatch config ujratoltve.")
            } else {
                    client_print(id, print_chat, "[CSDM] Unable to find config file.")
            }
                   
            return PLUGIN_HANDLED
    }
     
    public csdm_menu(id, level, cid)
    {
            if (!cmd_access(id, level, cid, 1))
                    return PLUGIN_HANDLED
           
            menu_display(id, g_MainMenu, 0)
           
            return PLUGIN_HANDLED
    }
     
    public csdm_ctrl(id, level, cid)
    {
            if (!cmd_access(id, level, cid, 1))
                    return PLUGIN_HANDLED
           
            csdm_set_active( csdm_active() ? 0 : 1 )
            client_print(id, print_chat, "CSDM Deathmatch mod magyarositotta,Expert_IMI")
           
            return PLUGIN_HANDLED
    }
     
    public use_csdm_menu(id, menu, item)
    {
            if (item < 0)
                    return PLUGIN_CONTINUE
           
            new command[24], paccess, call
            if (!menu_item_getinfo(g_MainMenu, item, paccess, command, 23, _, 0, call))
            {
                    log_amx("Error: csdm_menu_item() failed (menu %d) (page %d) (item %d)", g_MainMenu, 0, item)
                    return PLUGIN_HANDLED
            }
            if (paccess && !(get_user_flags(id) & paccess))
            {
                    client_print(id, print_chat, "You do not have access to this menu option.")
                    return PLUGIN_HANDLED
            }
           
            client_cmd(id, command)
           
            return PLUGIN_HANDLED
    }
     
    public csdm_enable(id, level, cid)
    {
            if (!cmd_access(id, level, cid, 1))
                    return PLUGIN_HANDLED
     
            csdm_set_active(1)
            client_print(id, print_chat, "CSDM Deathmatch mod bekapcsolva.")
           
            return PLUGIN_HANDLED 
    }
     
    public csdm_disable(id, level, cid)
    {
            if (!cmd_access(id, level, cid, 1))
                    return PLUGIN_HANDLED
     
            csdm_set_active(0)
            client_print(id, print_chat, "CSDM Deathmach mod kikapcsolva.")
           
            return PLUGIN_HANDLED 
    }
     
    public say_respawn(id)
    {
            if (g_options[CSDM_OPTION_SAYRESPAWN] == CSDM_SET_DISABLED)
            {
                    client_print(id, print_chat, "[CSDM] Parancs letiltva")
                    return PLUGIN_HANDLED
            }
           
            if (!is_user_alive(id) && csdm_active())
            {
                    new team = get_user_team(id)
                    if (team == _TEAM_T || team == _TEAM_CT)
                    {
                            csdm_respawn(id)
                    }
            }
           
            return PLUGIN_CONTINUE
    }
     




Probald nembiztos jo nincs csdm incem szoval nemtudom lefut-e

_________________
Idk. Csak ugy funbooo.
Kép


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása Hozzászólás a témához  [6 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 9 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole