Witam,
Mam taką funkcję:
public vexd_pfntouch(pToucher, pTouched) {
if ( !get_pcvar_num(cvar_awp_on) )
return PLUGIN_CONTINUE;
new iTouchId = pToucher;
new iPlayerId = pTouched;
if ( iPlayerId < 0 || iPlayerId > 32 || !is_user_alive( iPlayerId ) )
return PLUGIN_CONTINUE;
new szClassName[32];
entity_get_string( iTouchId, EV_SZ_classname, szClassName, 31 );
if ( equal( szClassName, "weaponbox" ) ) // a dropped or already 'fired' weapon
{
new szGunModel[32];
entity_get_string( iTouchId, EV_SZ_model, szGunModel, 31 );
new bool:bHasPrimaryWeapon = check_primary( iPlayerId );
if ( get_entity_flags( iTouchId ) & FL_ONGROUND && !bHasPrimaryWeapon && equal( szGunModel, model_awp ) )
{
set_entity_flags( iTouchId, FL_ONGROUND, 0 );
new iTeam = get_user_team( iPlayerId );
if ( iTeam == 1 ) // TERRORIST
{
if ( g_iSniperNum[iTeam] < get_pcvar_num(cvar_max_awptt) )
{
set_entity_flags( iTouchId, FL_ONGROUND, 1 );
}
else
{
client_print( iPlayerId, print_chat , "TEST" );
}
}
else
if ( iTeam == 2 ) // COUNTER-TERRORIST
{
if ( g_iSniperNum[iTeam] < get_pcvar_num(cvar_max_awpct) )
{
set_entity_flags( iTouchId, FL_ONGROUND, 1 );
}
else
{
client_print( iPlayerId, print_chat, "TEST" );
}
}
}
}
return PLUGIN_CONTINUE;
}
polega ona na tym, że jeżeli wejdziemy w, np. AWP (a jest ono ograniczone cvarem na team), to wiadomość "TEST" pojawia się 15 razy na czacie. Czy da się jakoś naprawić, aby funkcja vexd_pfntouch nie wykonywała się tyle razy? A może użyć register_touch?
Użytkownik Luverde edytował ten post 30.06.2014 14:16


Dodatki SourceMod




Temat jest zamknięty








