Fast Reload | Быстрая перезарядка [CSS/CS:GO]Добрый вечер форумчата, хотел узнать есть ли плагин быстрой перезарядки для CS:S v34
Не которые находил, но они не работают.
А причем тут старый синтаксис?На старом синтаксе не компилируется
#include <sdkhooks>
public OnEntityCreated(iEntity, const String:sClassname[])
{
if(StrContains(sClassname, "weapon_", false) != -1) SDKHook(iEntity, SDKHook_Reload, Reload);
}
/*public OnEntityDestroyed(iEntity)
{
SDKUnhook(iEntity, SDKHook_Reload, Reload);
}*/
public Action:Reload(iWeapon)
{
CreateTimer(0.0, TimerFastReload, iWeapon);
}
public Action:TimerFastReload(Handle:hTimer, any:iWeapon)
{
if(IsValidEntity(iWeapon))
{
new iClient = GetEntPropEnt(iWeapon, Prop_Send, "m_hOwnerEntity");
if(IsClientInGame(iClient) && IsPlayerAlive(iClient))
{
SetEntPropFloat(iWeapon, Prop_Send, "m_flTimeWeaponIdle", 0.0);
SetEntPropFloat(iWeapon, Prop_Send, "m_flNextPrimaryAttack", 0.0);
SetEntPropFloat(iClient, Prop_Send, "m_flNextAttack", 0.0);
}
}
return Plugin_Stop;
}
Все компилируетьсяПодключен
PHP:#include <sdkhooks> public OnEntityCreated(iEntity, const String:sClassname[]) { if(StrContains(sClassname, "weapon_", false) != -1) SDKHook(iEntity, SDKHook_Reload, Reload); } /*public OnEntityDestroyed(iEntity) { SDKUnhook(iEntity, SDKHook_Reload, Reload); }*/ public Action:Reload(iWeapon) { CreateTimer(0.0, TimerFastReload, iWeapon); } public Action:TimerFastReload(Handle:hTimer, any:iWeapon) { if(IsValidEntity(iWeapon)) { new iClient = GetEntPropEnt(iWeapon, Prop_Send, "m_hOwnerEntity"); if(IsClientInGame(iClient) && IsPlayerAlive(iClient)) { SetEntPropFloat(iWeapon, Prop_Send, "m_flTimeWeaponIdle", 0.0); SetEntPropFloat(iWeapon, Prop_Send, "m_flNextPrimaryAttack", 0.0); SetEntPropFloat(iClient, Prop_Send, "m_flNextAttack", 0.0); } } return Plugin_Stop; }
#include <sdkhooks>
public Action:OnPlayerRunCmd(iClient, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
if (buttons & IN_RELOAD)
CreateTimer(0.0, TimerFastReload, weapon);
return Plugin_Continue;
}
public Action:TimerFastReload(Handle:hTimer, any:iWeapon)
{
if(IsValidEntity(iWeapon))
{
new iClient = GetEntPropEnt(iWeapon, Prop_Send, "m_hOwnerEntity");
if(IsClientInGame(iClient) && IsPlayerAlive(iClient))
{
SetEntPropFloat(iWeapon, Prop_Send, "m_flTimeWeaponIdle", 0.0);
SetEntPropFloat(iWeapon, Prop_Send, "m_flNextPrimaryAttack", 0.0);
SetEntPropFloat(iClient, Prop_Send, "m_flNextAttack", 0.0);
}
}
return Plugin_Stop;
}
#include <sdktools_hooks>
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
static bool:bInReload[MAXPLAYERS+1];
if(!bInReload[client] && buttons & IN_RELOAD) CreateTimer(0.0, TimerFastReload, weapon);
bInReload[client] = bool:(buttons & IN_RELOAD);
return Plugin_Continue;
}
public Action:TimerFastReload(Handle:hTimer, any:weapon)
{
static client;
if(IsValidEntity(weapon) && (client = GetEntPropEnt(weapon, Prop_Send, "m_hOwnerEntity")) > 0 && IsClientInGame(client) && IsPlayerAlive(client))
{
SetEntPropFloat(weapon, Prop_Send, "m_flTimeWeaponIdle", 0.0);
SetEntPropFloat(weapon, Prop_Send, "m_flNextPrimaryAttack", 0.0);
SetEntPropFloat(client, Prop_Send, "m_flNextAttack", 0.0);
}
}
Синтаксис на старый можно?@Felton, @Mensi1337, а попробуйте использовать код из темы на которую во втором сообщении ссылка (там код в 7 сообщении)
#include <sdktools_functions>
#include <sdktools_hooks>
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
static bool:bInReload[MAXPLAYERS+1];
if(!bInReload[client] && buttons & IN_RELOAD)
{
SetEntPropFloat(client, Prop_Data, "m_flNextAttack", 0.0);
new Handle:pack = CreateDataPack();
WritePackCell(pack, client);
WritePackCell(pack, weapon);
CreateDataTimer(0.0, TimerFastReload, pack, TIMER_DATA_HNDL_CLOSE);
}
bInReload[client] = bool:(buttons & IN_RELOAD);
return Plugin_Continue;
}
public Action:TimerFastReload(Handle:hTimer, Handle:pack)
{
static client, wpn;
ResetPack(pack);
if(IsClientInGame((client = ReadPackCell(pack))) && IsPlayerAlive(client) && IsValidEntity((wpn = ReadPackCell(pack))))
{
RemovePlayerItem(client, wpn);
EquipPlayerWeapon(client, wpn);
}
return Plugin_Stop;
}