|
本帖最后由 retry 于 2009-8-28 14:44 编辑
这个是第一局雷战且手雷无限,用了感觉给手雷慢点,怎么改成扔出之后马上就给的那种,求高手看看,另外我想多玩几局雷战要怎么改,谢谢- #include <amxmodx>
- #include <cstrike>
- #include <fun>
- #include <engine>
- #define PLUGIN "FirstRoundhegrenade"
- #define VERSION "0.2.16"
- #define AUTHOR "iG_os"
- new bool:FirstRound = true
- new bool:iTask[33]
- new ModName[10]
- public switchweapon(id)
- {
- if(!FirstRound)
- return PLUGIN_CONTINUE
- new HE = cs_get_user_bpammo(id, CSW_HEGRENADE)
- if((!HE) && (!iTask[id]))
- {
- new paramID[1]
- paramID[0] = id
- set_task(0.6, "give_hegrenade", id, paramID, 1)
- iTask[id] = true
- return PLUGIN_CONTINUE
- }
- new WeaponID = read_data(2)
- if (HE)
- if (WeaponID!=CSW_HEGRENADE)
- engclient_cmd(id, "weapon_hegrenade")
- return PLUGIN_CONTINUE
- }
- public give_hegrenade(paramID[])
- {
- new id = paramID[0]
- if ( FirstRound && is_user_alive(id) )
- {
- new HE = cs_get_user_bpammo(id, CSW_HEGRENADE)
- if (!HE)
- give_item(id, "weapon_hegrenade") //给雷
- engclient_cmd(id, "weapon_hegrenade")
- iTask[id] = false
- }
- }
- public StartSetting(paramID[])
- {
- new id = paramID[0]
- if ( FirstRound && is_user_alive(id) )
- give_item(id, "item_assaultsuit")
- }
- public newround(id)
- {
- if (FirstRound)
- {
- new task_msgID = id+100
- new task_startID = id+200
- if (task_exists(task_msgID)) remove_task(task_msgID)
- if (task_exists(task_startID)) remove_task(task_startID)
- iTask[id] = false
- new paramID[1]
- paramID[0] = id
- set_task(3.0, "Mode_msg", task_msgID, paramID, 1, "a", 3)
- set_task(2.5, "StartSetting", task_startID, paramID, 1)
- }
- return PLUGIN_CONTINUE
- }
- public restartround()
- {
- FirstRound = true
- return PLUGIN_CONTINUE
- }
- public end_round()
- {
- FirstRound = false
- return PLUGIN_CONTINUE
- }
- public message_TextMsg(msg_id, msg_dest, entity)
-
- {
- if (!FirstRound || !get_cvar_num("he_blockfireinthehole"))
- return PLUGIN_CONTINUE
- new argNum = get_msg_args() //获取参数数量,少于5个就不是radio信息
- if (argNum<5) return PLUGIN_CONTINUE
- new string[30]
- if (equal(ModName,"cstrike"))
- { //适应CS
- get_msg_arg_string(3, string, 29)
- if (!equal(string, "#Game_radio"))
- return PLUGIN_CONTINUE
- get_msg_arg_string(5, string, 29) //CS 取第5个参数
- }
- else
- { //适应CZ
- get_msg_arg_string(3, string, 29)
- if (!equal(string, "#Game_radio_location"))
- return PLUGIN_CONTINUE
- get_msg_arg_string(6, string, 29) //CZ 取第6个参数
- }
- if (!equal(string, "#Fire_in_the_hole"))
- return PLUGIN_CONTINUE
- if (get_cvar_num("he_blockfireinthehole"))
- return PLUGIN_HANDLED // 消除 “Fire in the hole” 文字显示...
- return PLUGIN_CONTINUE
- }
- public message_SendAudio(msg_id, msg_dest, entity)
- {
- if (!FirstRound || !get_cvar_num("he_blockfireinthehole"))
- return PLUGIN_CONTINUE
- new string[20]
-
- get_msg_arg_string(2, string, 19)
- if (equal(string, "%!MRAD_FIREINHOLE"))
- return PLUGIN_HANDLED // 消除 “Fire in the hole” 声音...
- return PLUGIN_CONTINUE
- }
- public Mode_msg(paramID[])
- {
- new id = paramID[0]
- //client_print(id,print_chat,"->第一局混战<-")
- new msg[100]
- format(msg,99,"^x03轻松时间^x01>>^x04")
- message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id)
- write_byte(id)
- write_string(msg)
- message_end()
- }
- public plugin_init()
- {
- register_plugin(PLUGIN,VERSION,AUTHOR)
- register_cvar("he_blockfireinthehole", "1")
- register_event("ResetHUD", "newround", "be")
- register_event("TextMsg", "restartround", "a", "2&#Game_C", "2&#Game_w")
- register_event("SendAudio", "end_round", "a", "2&%!MRAD_terwin",
- "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw")
- register_event("CurWeapon", "switchweapon", "be", "1=1")
- register_message(get_user_msgid("SendAudio"), "message_SendAudio")
- register_message(get_user_msgid("TextMsg"), "message_TextMsg")
- get_modname(ModName, 9)
- }
复制代码 |
|