匪徒不同地图杀敌不同奖金的奖励插件
当地图dust2时,匪徒第一个杀警奖励500,第二个杀警300,第三个杀警100;别的地图时,匪徒第一个杀警2000,第二个杀警1000,第三个杀警500。
(源码可以自己修改金额,添加第四、第五...)
集成了“任务失败处死”插件,精简了代码!小巧实用,让悍匪们疯狂冲锋吧! 不错不凑..冲锋吧. 本帖最后由 kk阿朗 于 2010-11-11 14:49 编辑
没看过楼主的源码,
希望楼主把源码贴出来!
我个人想法用load file去读取数据!
比如文件内容是这样的:"de_dust" "400" "500"第一个是地图,第二个是T杀人,第三个是CT杀人!
这样可能会更人性化一点!不用去改源码!
edit:具体的可以看看这个贴子哈!http://www.dt-club.net/forum/thread-49678-1-1.html
在8楼有关于如何读取文件的方法! 支持,我顶..... 我在把Connor的这个代码给你贴出来!
你这个插件应该可以弄得更好,更人性化!/* Formatright ?2010, ConnorMcLeod
Kill Money is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Kill Money; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#define VERSION "0.1.1"
enum
{
DeathMsg_KillerID = 1, // byte
DeathMsg_VictimID, // byte
DeathMsg_IsHeadshot, // byte
DeathMsg_TruncatedWeaponName // string
}
#define Money_Amount 1
new g_iMaxPlayers
#define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )
#define XTRA_OFS_PLAYER 5
#define m_iAccount 115
#define cs_set_money_value(%1,%2) set_pdata_int(%1, m_iAccount, %2, XTRA_OFS_PLAYER)
new g_pCvarKillMoney, g_pCvarTkMoney, g_pCvarMaxMoney, g_pCvarKillMoneyHs
new g_iNewMoney
new g_iMsgHookMoney
new gmsgMoney
public plugin_init()
{
register_plugin("Kill Money", VERSION, "ConnorMcLeod")
g_pCvarKillMoney = register_cvar("amx_kill_money", "300")
g_pCvarKillMoneyHs = register_cvar("amx_kill_money_hs", "1337")
g_pCvarTkMoney = register_cvar("amx_teamkill_money", "-1337")
g_pCvarMaxMoney = register_cvar("amx_killmoney_maxmoney", "16000")
register_event("DeathMsg", "Event_DeathMsg", "a")
g_iMaxPlayers = get_maxplayers()
gmsgMoney = get_user_msgid("Money")
}
public Event_DeathMsg()
{
new iKiller = read_data(DeathMsg_KillerID)
if( IsPlayer(iKiller) && is_user_connected(iKiller) )
{
new iVictim = read_data(DeathMsg_VictimID)
if( iVictim != iKiller )
{
g_iNewMoney = clamp
(
cs_get_user_money(iKiller) + get_pcvar_num( cs_get_user_team(iVictim) == cs_get_user_team(iKiller) ? g_pCvarTkMoney : (read_data(DeathMsg_IsHeadshot) ? g_pCvarKillMoneyHs : g_pCvarKillMoney) ),
0,
get_pcvar_num(g_pCvarMaxMoney)
)
g_iMsgHookMoney = register_message(gmsgMoney, "Message_Money")
}
}
}
public Message_Money(iMsgId, iMsgDest, id)
{
unregister_message(gmsgMoney, g_iMsgHookMoney)
cs_set_money_value(id, g_iNewMoney)
set_msg_arg_int(Money_Amount, ARG_LONG, g_iNewMoney)
}
页:
[1]