PHP Code:
public TouchEnt(iEnt, iToucher)
{
if (is_valid_ent(iEnt))
{
new CsTeams:iPlayerTeam, iEntTeam
new Float:fDropTime, szName[32], iEntMoney, iPlayerMoney
new Float:fVelo[3], Float:fUserVelo[3]
iEntTeam = entity_get_int(iEnt, EV_INT_team)
fDropTime = entity_get_float(iEnt, EV_FL_fuser1)
iEntMoney = entity_get_int(iEnt, EV_INT_iuser2)
if (get_gametime() - fDropTime < 0.5)
return
if ( iEntTeam && entity_get_int(iEnt, EV_INT_iuser3)) //ball
{
entity_get_vector(iToucher, EV_VEC_velocity, fUserVelo)
if (IsPlayer(iToucher))
{
iPlayerTeam = cs_get_user_team(iToucher)
iPlayerMoney = cs_get_user_money(iToucher)
if (iEntTeam == _:iPlayerTeam)
{
#if defined IN_USE_BUTTON
if (entity_get_int(iToucher, EV_INT_button) & IN_USE)
{
#endif
velocity_by_aim(iToucher, 300, fVelo)
fVelo[0] += fUserVelo[0]
fVelo[1] += fUserVelo[1]
fVelo[2] += fUserVelo[2] + 250.0
entity_set_vector(iEnt, EV_VEC_velocity, fVelo)
entity_set_float(iEnt, EV_FL_scale, 0.5)
entity_set_int(iEnt, EV_INT_sequence, 2) // set ball model movement
entity_set_float(iEnt, EV_FL_animtime, 1.0) // set ball movement speed
entity_set_float(iEnt, EV_FL_framerate, 1.0) // set ball frame rate
beam(iEnt, g_TeamColors[iPlayerTeam])
#if defined IN_USE_BUTTON
}
#endif
}
else
{
if (g_bPickUp[iToucher])
{
g_bPickUp[iToucher] = false
get_user_name(iToucher, szName, charsmax(szName))
set_task(get_pcvar_float(g_pCvarPickUpDelay), "PickUpDelay", iToucher)//make a few delay
cs_set_user_money(iToucher, iPlayerMoney + iEntMoney)
print_color(0, iToucher, PICKUPMSG, szName, iEntMoney)
client_cmd(iToucher,"spk buttons/button9")
remove_entity(iEnt)
g_BallCount--
}
}
}
else
{
new Float:fEntVelo[3]
entity_get_vector(iEnt, EV_VEC_velocity, fEntVelo)
xs_vec_mul_scalar(fEntVelo, 0.85, fEntVelo)
entity_set_vector(iEnt, EV_VEC_velocity, fEntVelo)
entity_set_float(iEnt, EV_FL_scale, 0.5)
entity_set_int(iEnt, EV_INT_sequence, (get_speed(iEnt) <= 30) ? 3:2) // set ball model movement
entity_set_float(iEnt, EV_FL_animtime, 1.0) // set ball movement speed
entity_set_float(iEnt, EV_FL_framerate, 1.0) // set ball frame rate
if (get_speed(iEnt) >= 30)
emit_sound(iEnt, CHAN_ITEM, BALLTOUCH, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
else {
if (IsPlayer(iToucher))
{
iPlayerMoney = cs_get_user_money(iToucher)
if (g_bPickUp[iToucher])
{
g_bPickUp[iToucher] = false
get_user_name(iToucher, szName, charsmax(szName))
set_task(get_pcvar_float(g_pCvarPickUpDelay), "PickUpDelay", iToucher)//make a few delay
cs_set_user_money(iToucher, iPlayerMoney + iEntMoney)
print_color(0, iToucher, PICKUPMSG, szName, iEntMoney)
client_cmd(iToucher,"spk buttons/button9")
remove_entity(iEnt)
g_BillCount--
}
}
}
}
}