Half-Life SDK: Iom da sonoj de pafado
Ĉefaĵo: Iom da pafsonoj por la armilo.
Ekzemple, "MP5" en "dlls/mp5.cpp" en "::Precache()" per "PRECACHE_SOUND(...)" estas tri sonoj: "hks(1-3).wav":
PRECACHE_SOUND("weapons/hks1.wav"); PRECACHE_SOUND("weapons/hks2.wav"); PRECACHE_SOUND("weapons/hks3.wav");
Sonludado estas en "cl_dlls/ev_hldm.cpp" en funkcio "EV_FireMP5":
switch (gEngfuncs.pfnRandomLong(0, 1)) { case 0: gEngfuncs.pEventAPI->EV_PlaySound(idx, origin, CHAN_WEAPON, "weapons/hks1.wav", 1, ATTN_NORM, 0, 94 + gEngfuncs.pfnRandomLong(0, 0xf)); break; case 1: gEngfuncs.pEventAPI->EV_PlaySound(idx, origin, CHAN_WEAPON, "weapons/hks2.wav", 1, ATTN_NORM, 0, 94 + gEngfuncs.pfnRandomLong(0, 0xf)); break; }
Ĉi tie ni instalas proprajn sonojn. Kiomon de sonoj ni regulas per dua parametro de "gEngfuncs.pfnRandomLong(a, b)". Ekzemple, se necese estas ludi tri sonojn, do anstataŭ 1 ni skribas 2 kaj aldonas plie unun "case" ("case 2:"), kopiante enhavon de aliaj "case". Nur ne forgesu aldoni necesatan sonon en "PRECACHE_SOUND"on en funkcion "Precache" de necesata armilo.
Por aliaj armiloj ĉio estas sama. Ekzemple, por "glock" en dosiero "cl_dlls/ev_hldm.cpp" en funkcio "EV_FireGlock1":
gEngfuncs.pEventAPI->EV_PlaySound(idx, origin, CHAN_WEAPON, "weapons/pl_gun3.wav", gEngfuncs.pfnRandomFloat(0.92, 1.0), ATTN_NORM, 0, 98 + gEngfuncs.pfnRandomLong(0, 3));
Aldonas "switch-case"on kiel en "MP5" kaj kaŝmemoras sonon en "Precache".