搜索
楼主: lwj@cser

CSDM2.1.2运行时,屏幕上出现的两行聊天信息如何修改?

[复制链接]
发表于 2011-10-6 08:20:38 | 显示全部楼层 来自 江苏无锡
不需要那么麻烦
//Disables the CSDM welcome message
//This is useful if you only use CSDM as an engine
//Returns the old value. Pass -1 to do nothing.
native csdm_set_intromsg(value=-1);

这个就是怎样关闭CSDM welcome message的方法。
如果你不懂就算了,会的人一眼就看出来了
回复

使用道具 举报

发表于 2011-10-6 10:37:43 | 显示全部楼层 来自 江苏无锡
算了,源码发给你,自己修改吧
  1. /*
  2. * csdm_main.sma
  3. */
  4. #include <amxmodx>
  5. #include <amxmisc>
  6. #include <cstrike>
  7. #include <csdm>
  8. new D_PLUGIN[]        = "CSDM Main"
  9. new D_ACCESS        = ADMIN_MAP
  10. #define CSDM_OPTIONS_TOTAL                2
  11. #define WELCOMEMSG_1    "[CSDM]* 老秋汉化最终版 @ CSDM 2.1.2!"
  12. #define WELCOMEMSG_2    "[CSDM] Have fun my baby!"
  13. new bool:g_StripWeapons = true
  14. new bool:g_RemoveBomb = true
  15. new g_StayTime
  16. new g_drop_fwd
  17. new g_options[CSDM_OPTIONS_TOTAL]

  18. //new g_MenuPages[33]
  19. new g_MainMenu = -1

  20. public plugin_init()
  21. {
  22.         register_plugin(D_PLUGIN, CSDM_VERSION, "CSDM Team")
  23.         csdm_set_intromsg( 0 );                //关闭CSDM广告信息
  24.         register_clcmd("say respawn", "say_respawn")
  25.         register_clcmd("say /respawn", "say_respawn")
  26.         register_concmd("csdm_enable", "csdm_enable", D_ACCESS, "Enables CSDM")
  27.         register_concmd("csdm_disable", "csdm_disable", D_ACCESS, "Disables CSDM")
  28.         register_concmd("csdm_ctrl", "csdm_ctrl", D_ACCESS, "")
  29.         register_concmd("csdm_reload", "csdm_reload", D_ACCESS, "Reloads CSDM Config")
  30.         register_clcmd("csdm_menu", "csdm_menu", ADMIN_MENU, "CSDM Menu")
  31.         register_clcmd("drop", "hook_drop")
  32.        
  33.         register_concmd("csdm_cache", "cacheInfo", ADMIN_MAP, "Shows cache information")
  34.        
  35.         AddMenuItem("死亡竞技", "csdm_menu", D_ACCESS, D_PLUGIN)
  36.         g_MainMenu = menu_create("CSDM 设置菜单", "use_csdm_menu")
  37.        
  38.         new callback = menu_makecallback("hook_item_display")
  39.         menu_additem(g_MainMenu, "Enable/Disable", "csdm_ctrl", D_ACCESS, callback)
  40.         menu_additem(g_MainMenu, "Reload Config", "csdm_reload", D_ACCESS)
  41.        
  42.         g_drop_fwd = CreateMultiForward("csdm_HandleDrop", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL)
  43. }


  44. public plugin_natives()
  45. {
  46.         register_native("csdm_main_menu", "native_main_menu")
  47.         register_native("csdm_set_mainoption", "__csdm_allow_option")
  48.         register_native("csdm_fwd_drop", "__csdm_fwd_drop")
  49.         register_library("csdm_main")
  50. }

  51. public client_putinserver( id )
  52.         set_task( 5.0, "WelcomeMsg", id );

  53. public WelcomeMsg( id ) {
  54.         if( is_user_connected( id ) ) {
  55.                 client_print( id, print_chat, "%s", WELCOMEMSG_1 );
  56.                 client_print( id, print_chat, "%s", WELCOMEMSG_2 );
  57.             }
  58. }

  59. public native_main_menu(id, num)
  60. {
  61.         return g_MainMenu
  62. }

  63. public __csdm_allow_option(id, num)
  64. {
  65.         new option = get_param(1)
  66.        
  67.         if (option <= 0 || option >= CSDM_OPTIONS_TOTAL)
  68.         {
  69.                 log_error(AMX_ERR_NATIVE, "Invalid option number: %d", option)
  70.                 return 0
  71.         }
  72.        
  73.         g_options[option] = get_param(2)
  74.        
  75.         return 1
  76. }

  77. public __csdm_fwd_drop(id, num)
  78. {
  79.         new id = get_param(1)
  80.         new wp = get_param(2)
  81.         new name[32]
  82.        
  83.         get_string(3, name, 31)
  84.        
  85.         return run_drop(id, wp, name)       
  86. }

  87. public csdm_Init(const version[])
  88. {
  89.         if (version[0] == 0)
  90.         {
  91.                 set_fail_state("CSDM failed to load.")
  92.                 return
  93.         }
  94. }

  95. public csdm_CfgInit()
  96. {       
  97.         csdm_reg_cfg("settings", "read_cfg")
  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. public hook_drop(id)
  114. {
  115.         if (!csdm_active())
  116.         {
  117.                 return
  118.         }
  119.        
  120.         if (!is_user_connected(id))
  121.         {
  122.                 return
  123.         }
  124.        
  125.         new wp, c, a, name[24]
  126.         if (cs_get_user_shield(id))
  127.         {
  128.                 //entirely different...
  129.                 wp = -1
  130.                 copy(name, 23, "weapon_shield")
  131.         } else {
  132.                 if (read_argc() <= 1)
  133.                 {
  134.                         wp = get_user_weapon(id, c, a)
  135.                 } else {
  136.                         read_argv(1, name, 23)
  137.                         wp = getWepId(name)
  138.                 }
  139.         }

  140.         run_drop(id, wp, name)
  141. }

  142. run_drop(id, wp, const name[])
  143. {
  144.         new ret
  145.         ExecuteForward(g_drop_fwd, ret, id, wp, 0)
  146.        
  147.         if (ret == CSDM_DROP_REMOVE)
  148.         {
  149.                 new _name[24]
  150.                 if (name[0] == 0)
  151.                 {
  152.                         get_weaponname(wp, _name, 23)
  153.                 }
  154.                 csdm_remove_weapon(id, _name, 0, 1)
  155.                 return 1
  156.         } else if (ret == CSDM_DROP_IGNORE) {
  157.                 return 0
  158.         }
  159.        
  160.         if (g_StayTime > 20 || g_StayTime < 0)
  161.         {
  162.                 return 0
  163.         }
  164.        
  165.         if (wp)
  166.         {
  167.                 remove_weapon(id, wp)
  168.                 return 1
  169.         }
  170.        
  171.         return 0
  172. }

  173. public csdm_PostDeath(killer, victim, headshot, const weapon[])
  174. {
  175.         if (g_StayTime > 20 || g_StayTime < 0)
  176.                 return PLUGIN_CONTINUE

  177.         new weapons[MAX_WEAPONS], num, name[24]
  178.         new wp, slot, ret

  179.         get_user_weapons(victim, weapons, num)

  180.         for (new i=0; i<num; i++)
  181.         {
  182.                 wp = weapons[i]
  183.                 slot = g_WeaponSlots[wp]

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

  185.                 if (ret == CSDM_DROP_REMOVE)
  186.                 {
  187.                         get_weaponname(wp, name, 23)
  188.                         csdm_remove_weapon(victim, name, 0, 1)
  189.                 } else if (ret == CSDM_DROP_IGNORE) {
  190.                         continue
  191.                 } else {
  192.                         if (slot == SLOT_PRIMARY || slot == SLOT_SECONDARY || slot == SLOT_C4)
  193.                         {
  194.                                 remove_weapon(victim, wp)
  195.                         }
  196.                 }
  197.         }
  198.        
  199.         if (cs_get_user_shield(victim))
  200.         {
  201.                 ExecuteForward(g_drop_fwd, ret, victim, -1, 1)
  202.                 if (ret == CSDM_DROP_REMOVE)
  203.                 {
  204.                         csdm_remove_weapon(victim, "weapon_shield", 0, 1)
  205.                 } else if (ret == CSDM_DROP_IGNORE) {
  206.                         /* do nothing */
  207.                 } else {
  208.                         remove_weapon(victim, -1)
  209.                 }
  210.         }
  211.        
  212.         return PLUGIN_CONTINUE
  213. }

  214. public csdm_PreSpawn(player, bool:fake)
  215. {
  216.         //we'll just have to back out for now
  217.         if (cs_get_user_shield(player))
  218.         {
  219.                 return
  220.         }
  221.         new team = get_user_team(player)
  222.         if (g_StripWeapons)
  223.         {
  224.                 if (team == _TEAM_T)
  225.                 {
  226.                         if (cs_get_user_shield(player))
  227.                         {
  228.                                 drop_with_shield(player, CSW_GLOCK18)
  229.                         } else {
  230.                                 csdm_force_drop(player, "weapon_glock18")
  231.                         }
  232.                 } else if (team == _TEAM_CT) {
  233.                         if (cs_get_user_shield(player))
  234.                         {
  235.                                 drop_with_shield(player, CSW_USP)
  236.                         } else {
  237.                                 csdm_force_drop(player, "weapon_usp")
  238.                         }
  239.                 }
  240.         }
  241.         if (team == _TEAM_T)
  242.         {
  243.                 if (g_RemoveBomb)
  244.                 {
  245.                         new weapons[MAX_WEAPONS], num
  246.                         get_user_weapons(player, weapons, num)
  247.                         for (new i=0; i<num; i++)
  248.                         {
  249.                                 if (weapons[i] == CSW_C4)
  250.                                 {
  251.                                         if (cs_get_user_shield(player))
  252.                                         {
  253.                                                 drop_with_shield(player, CSW_C4)
  254.                                         } else {
  255.                                                 csdm_force_drop(player, "weapon_c4")
  256.                                         }
  257.                                         break
  258.                                 }
  259.                         }
  260.                 }
  261.         }
  262. }

  263. remove_weapon(id, wp)
  264. {
  265.         new name[24]
  266.        
  267.         if (wp == -1)
  268.         {
  269.                 copy(name, 23, "weapon_shield")
  270.         } else {
  271.                 get_weaponname(wp, name, 23)
  272.         }

  273.         if ((wp == CSW_C4) && g_RemoveBomb)
  274.         {       
  275.                 csdm_remove_weapon(id, name, 0, 1)
  276.         } else {
  277.                 if (wp != CSW_C4)
  278.                 {
  279.                         csdm_remove_weapon(id, name, g_StayTime, 1)
  280.                 }
  281.         }
  282. }

  283. public hook_item_display(player, menu, item)
  284. {
  285.         new paccess, command[24], call
  286.        
  287.         menu_item_getinfo(menu, item, paccess, command, 23, _, 0, call)
  288.        
  289.         if (equali(command, "csdm_ctrl"))
  290.         {
  291.                 if (!csdm_active())
  292.                 {
  293.                         menu_item_setname(menu, item, "Enable")
  294.                 } else {
  295.                         menu_item_setname(menu, item, "Disable")
  296.                 }
  297.         }
  298. }

  299. public read_cfg(readAction, line[], section[])
  300. {
  301.         if (readAction == CFG_READ)
  302.         {
  303.                 new setting[24], sign[3], value[32];

  304.                 parse(line, setting, 23, sign, 2, value, 31);
  305.                
  306.                 if (equali(setting, "strip_weapons"))
  307.                 {
  308.                         g_StripWeapons = str_to_num(value) ? true : false
  309.                 } else if (equali(setting, "weapons_stay")) {
  310.                         g_StayTime = str_to_num(value)
  311.                 } else if (equali(setting, "spawnmode")) {
  312.                         new var = csdm_setstyle(value)
  313.                         if (var)
  314.                         {
  315.                                 log_amx("CSDM spawn mode set to %s", value)
  316.                         } else {
  317.                                 log_amx("CSDM spawn mode %s not found", value)
  318.                         }
  319.                 } else if (equali(setting, "remove_bomb")) {
  320.                         g_RemoveBomb = str_to_num(value) ? true : false
  321.                 } else if (equali(setting, "enabled")) {
  322.                         csdm_set_active(str_to_num(value))
  323.                 } else if (equali(setting, "spawn_wait_time")) {
  324.                         csdm_set_spawnwait(str_to_float(value))
  325.                 }
  326.         }
  327. }

  328. public csdm_reload(id, level, cid)
  329. {
  330.         if (!cmd_access(id, level, cid, 1))
  331.                 return PLUGIN_HANDLED
  332.                
  333.         new file[33] = ""
  334.         if (read_argc() >= 2)
  335.         {
  336.                 read_argv(1, file, 32)
  337.         }
  338.                
  339.         if (csdm_reload_cfg(file))
  340.         {
  341.                 client_print(id, print_chat, "[CSDM] 配置文件已重新载入.")
  342.         } else {
  343.                 client_print(id, print_chat, "[CSDM] 无法找到配置文件.")
  344.         }
  345.                
  346.         return PLUGIN_HANDLED
  347. }

复制代码
回复

使用道具 举报

发表于 2011-10-6 10:38:42 | 显示全部楼层 来自 江苏无锡
  1. public csdm_menu(id, level, cid)
  2. {
  3.         if (!cmd_access(id, level, cid, 1))
  4.                 return PLUGIN_HANDLED
  5.        
  6.         menu_display(id, g_MainMenu, 0)
  7.        
  8.         return PLUGIN_HANDLED
  9. }

  10. public csdm_ctrl(id, level, cid)
  11. {
  12.         if (!cmd_access(id, level, cid, 1))
  13.                 return PLUGIN_HANDLED
  14.        
  15.         csdm_set_active( csdm_active() ? 0 : 1 )
  16.         client_print(id, print_chat, "CSDM active changed.")
  17.        
  18.         return PLUGIN_HANDLED
  19. }

  20. public use_csdm_menu(id, menu, item)
  21. {
  22.         if (item < 0)
  23.                 return PLUGIN_CONTINUE
  24.        
  25.         new command[24], paccess, call
  26.         if (!menu_item_getinfo(g_MainMenu, item, paccess, command, 23, _, 0, call))
  27.         {
  28.                 log_amx("Error: csdm_menu_item() failed (menu %d) (page %d) (item %d)", g_MainMenu, 0, item)
  29.                 return PLUGIN_HANDLED
  30.         }
  31.         if (paccess && !(get_user_flags(id) & paccess))
  32.         {
  33.                 client_print(id, print_chat, "You do not have access to this menu option.")
  34.                 return PLUGIN_HANDLED
  35.         }
  36.        
  37.         client_cmd(id, command)
  38.        
  39.         return PLUGIN_HANDLED
  40. }

  41. public csdm_enable(id, level, cid)
  42. {
  43.         if (!cmd_access(id, level, cid, 1))
  44.                 return PLUGIN_HANDLED

  45.         csdm_set_active(1)
  46.         client_print(id, print_chat, "CSDM enabled.")
  47.        
  48.         return PLUGIN_HANDLED       
  49. }

  50. public csdm_disable(id, level, cid)
  51. {
  52.         if (!cmd_access(id, level, cid, 1))
  53.                 return PLUGIN_HANDLED

  54.         csdm_set_active(0)
  55.         client_print(id, print_chat, "CSDM disabled.")
  56.        
  57.         return PLUGIN_HANDLED       
  58. }

  59. public say_respawn(id)
  60. {
  61.         if (g_options[CSDM_OPTION_SAYRESPAWN] == CSDM_SET_DISABLED)
  62.         {
  63.                 client_print(id, print_chat, "[CSDM] This command is disabled!")
  64.                 return PLUGIN_HANDLED
  65.         }
  66.        
  67.         if (!is_user_alive(id) && csdm_active())
  68.         {
  69.                 new team = get_user_team(id)
  70.                 if (team == _TEAM_T || team == _TEAM_CT)
  71.                 {
  72.                         csdm_respawn(id)
  73.                 }
  74.         }
  75.        
  76.         return PLUGIN_CONTINUE
  77. }
复制代码
回复

使用道具 举报

发表于 2011-10-6 10:41:56 | 显示全部楼层 来自 江苏无锡
以上是csdm_main.sma的源码,你自己修改编译吧,
这个是去掉了原有的广告,加入了自己的广告。这个是秋海岸的死亡服版本。
这个源码是他自己搞的。
不用修改csdm.dll文件.
这么简单的方法不用,哎。
有些人不懂装懂没办法。
回复

使用道具 举报

发表于 2011-10-6 10:44:57 | 显示全部楼层 来自 江苏无锡
lwj@cser 你的钱那么多,如果帮得上你,给我点钱啊妈的
回复

使用道具 举报

发表于 2011-10-6 10:46:58 | 显示全部楼层 来自 江苏无锡
我是穷疯了,哎哎哎
回复

使用道具 举报

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

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