Nie chcę używać fun'a
stock ham_give_weapon(id, weapon[]) {
if(!equal(weapon, "weapon_", 7) ) return 0
new wEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, weapon))
if(!pev_valid(wEnt)) return 0
set_pev(wEnt, pev_spawnflags, SF_NORESPAWN)
dllfunc(DLLFunc_Spawn, wEnt)
if(!ExecuteHamB(Ham_AddPlayerItem, id, wEnt)) {
if(pev_valid(wEnt)) set_pev(wEnt, pev_flags, pev(wEnt, pev_flags) | FL_KILLME)
return 0
}
ExecuteHamB(Ham_Item_AttachToPlayer, wEnt, id)
return 1
}
czy
stock fm_give_item(index, const item[]) {
if(!equal(item, "weapon_", 7)) return 0
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item))
if(!pev_valid(ent)) return 0
new Float:origin[3]
pev(index, pev_origin, origin)
set_pev(ent, pev_origin, origin)
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
dllfunc(DLLFunc_Spawn, ent)
new save = pev(ent, pev_solid)
dllfunc(DLLFunc_Touch, ent, index)
if(pev(ent, pev_solid) != save) return ent
engfunc(EngFunc_RemoveEntity, ent)
return -1
}