@UP
Powiedzmy, że tak, ta funkcja zwróci id tych bytów przy zainicjalizowaniu toucha.
Troszkę wpadłem przy tym sposobie, bo mogłem rejestrować touch graczy. Użyłem filtra dla noża, bo mniej kodu potem trzeba sprawdzać.
Nie do końca wiem czy to zadziała ale żeby dalej się bawić na id atakującego i ofiary uderzenia potrzebujesz najpierw zwrócić id atakującego, bo w tym przypadku funkcja zarejestruje id broni.
iToucher = pev( id, pev_owner );
Takie rozwiązanie pozwoli dalej operować na graczach. Przynajmniej tylko w teorii nie mam jak sprawdzić.
Dalej robisz co chcesz np. sprawdzasz czy zmienna ma wartość np. true i decydujesz co ma dalej się wykonać. Jeśli chcesz przerzucanie w do innego teamu w trakcie rozgrywki to musisz użyć takiego stocka:
// by ConnorMcLeod
stock set_user_team(id, iTeam, iModel)
{
engclient_cmd(id, "drop", "weapon_c4")
set_pdata_int(id, 114, iTeam);
set_pdata_int(id, 126, iModel);
dllfunc(DLLFunc_ClientUserInfoChanged, id, engfunc(EngFunc_GetInfoKeyBuffer, id));
static const szTeams[] = { "TERRORIST" , "CT" };
emessage_begin(MSG_ALL, gmsgTeamInfo);
ewrite_byte(id);
ewrite_string(szTeams[iTeam-1]);
emessage_end();
}