|
本帖最后由 心静如水 于 2009-7-8 00:59 编辑
#include <amxmod>
#include <cstrike>
public plugin_init(){
register_plugin("AMX Medkit","1.0","john")
register_cvar("amx_medkit", "1")
register_cvar("amx_medkithealth", "25")
register_event("ResetHUD", "newRound","b")
register_event("DeathMsg","deathevent","a")
}
public newRound(){
new chocolate = find_ent_by_class(-1, "chocolate")
while(chocolate) {
remove_entity(chocolate)
chocolate = find_ent_by_class(chocolate, "chocolate")
}
return PLUGIN_CONTINUE
}
public deathevent(){
if ( !get_cvar_num("amx_medkit") )
return PLUGIN_CONTINUE
new killer = read_data(1)
new victim = read_data(2)
if ( killer != victim )
{
createChocolate(victim)
}
if(is_user_connected(victim))
cs_reset_user_model(victim)
return PLUGIN_CONTINUE
}
public createChocolate(victim){
new Float:vAim[3], Float:vOrigin[3]
entity_get_vector(victim, EV_VEC_origin, vOrigin)
VelocityByAim(victim, random_num(2, 4), vAim)
vOrigin[0] += vAim[0]
vOrigin[1] += vAim[1]
vOrigin[2] += 30.0
new chocolate = create_entity("info_target")
entity_set_string(chocolate, EV_SZ_classname, "chocolate")
entity_set_model(chocolate, "models/w_isotopebox.mdl")
entity_set_size(chocolate, Float:{-2.5, -2.5, -1.5}, Float:{2.5, 2.5, 1.5})
entity_set_int(chocolate, EV_INT_solid, 2)
entity_set_int(chocolate, EV_INT_movetype, 6)
entity_set_vector(chocolate, EV_VEC_origin, vOrigin)
}
public plugin_precache(){
precache_model("models/w_isotopebox.mdl")
precache_model("models/w_isotopeboxt.mdl")
precache_sound( "weapons/c4_disarm.wav")
}
public pfn_touch(ptr, ptd){
new ptdname[32]
get_user_name(ptd,ptdname,31)
if( !is_valid_ent(ptd) || !is_valid_ent(ptr) )
return PLUGIN_CONTINUE
if( !is_user_connected(ptd) || !is_user_alive(ptd) || get_user_health(ptd)>=100 )
return PLUGIN_CONTINUE
new classname[32]
entity_get_string(ptr, EV_SZ_classname, classname, 31)
if(equal(classname, "chocolate"))
{
new gOrigHealth = get_user_health(ptd)
new health = gOrigHealth + get_cvar_num("amx_medkithealth")
set_user_health(ptd, health);
client_print(0,print_chat,"*【奖励】: %s 抢到一个急救包,里面有(25生命值+KTV包厢费200元)!",ptdname);
cs_set_user_money(ptd, cs_get_user_money(ptd)+200);
if( get_user_health(ptd)>100 ){
set_user_health(ptd, 100)
}
emit_sound(ptd,CHAN_VOICE,"weapons/c4_disarm.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
remove_entity(ptr)
}
return PLUGIN_CONTINUE
}
public client_death(killer, victim, wpnindex, hitplace, TK){
if(wpnindex == CSW_C4 && is_user_connected(victim))
cs_reset_user_model(victim)
}
服务器有时会挂机或卡........能帮忙一下吗? |
|