Цитата(CH0CAPIC @ 28.8.2014, 2:29)

Хоть с неупрявляемой тачки можешь задавить, но всё равно это пустяки, главное работает.
можно еще так сделать, не давит если свой игрок заюзал тачку, даже если он не за рулем.
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define USE_SET 2
#define VEHICLE_CLASSNAME "func_vehicle"
/*
((CFuncVehicle *)pTrain)->m_pDriver = NULL;
window *(_DWORD *)(v33 + 340) = 0;
340 / 4 = 85
linux *(_DWORD *)(v38 + 356) = 0;
356 / 4 = 89
*/
new maxplayers;
const m_iTeam = 114;
const m_pDriver = 85;
public plugin_init() {
if(!engfunc(EngFunc_FindEntityByString,-1,"classname",VEHICLE_CLASSNAME)) {
pause("d");
}
RegisterHam(Ham_Use,VEHICLE_CLASSNAME,"CFuncVehicle__Use_Post",1);
RegisterHam(Ham_Blocked,VEHICLE_CLASSNAME,"CFuncVehicle__Blocked");
maxplayers = get_maxplayers();
}
public CFuncVehicle__Blocked(ent,id)
{
new pDriver = get_pdata_cbase(ent,m_pDriver,4);
if(pDriver == id) {
return HAM_IGNORED;
}
if(pDriver < 1 || pDriver > maxplayers) {
pDriver = pev(ent,pev_iuser3);
if(!pDriver || !is_user_alive(pDriver)) {
return HAM_IGNORED;
}
}
return (get_pdata_int(pDriver,m_iTeam) == get_pdata_int(id,m_iTeam)) ? HAM_SUPERCEDE : HAM_IGNORED;
}
public CFuncVehicle__Use_Post(ent,idcaller,idactivator,type,Float:fValue)
{
if(pev(ent,pev_iuser3) == idcaller || type != USE_SET || !is_user_alive(idcaller)) {
return HAM_IGNORED;
}
set_pev(ent,pev_iuser3,idcaller);
return HAM_IGNORED;
}