W tym tutku pokaże jak zmienić szybkość ataku dla danej broni:)
1. Tworzymy klasę ( standard: punkty, nazwa/opis klasy, itd. )
2. W plugin init dodajemy:
- Jeżeli chcemy zmienić szybkość ataku nożem:
- Jeżeli chcemy zmienić szybkość ataku każdej innej broni:
3. Gdzieś niżej dodajemy:
- Dla noża:
- Dla kazdej innej broni
Teraz drobne tłumaczenie:
Aby zwiększyć/zmniejszyć prędkość ataku zmieniamy
fSpeedMultiplier. Gdzie 0.3 ustawiamy na własną ( i mniejsza wartość tym wieksza prędkość ataku )
Aby zmienić bron na której ma być wieksza prędkość ataku:
1. Sposób ( tylko 1 bron ):
Szukamy linijki
if(iWeapon == CSW_DEAGLE)
gdzie CSW_DEAGLE zmieniamy na własne
oraz
iEnt = fm_find_ent_by_owner(-1, "weapon_deagle", id)
gdzie "weapon_deagle", zmieniamy na własne.
2. Sposób ( wiecej broni )
Zamiast
static Float:fSpeedMultiplier = 0.3;
if(iWeapon == CSW_DEAGLE)
{
iEnt = fm_find_ent_by_owner(-1, "weapon_deagle", id)
set_pdata_float( iEnt, 46, ( get_pdata_float(iEnt, 46, 4) * fSpeedMultiplier), 4 );
set_pdata_float( iEnt, 47, ( get_pdata_float(iEnt, 47, 4) * fSpeedMultiplier), 4 );
}
dajemy
static Float:fSpeedMultiplier;
switch(iWeapon)
{
case CSW_AK47: {
fSpeedMultiplier = 0.3
iEnt = fm_find_ent_by_owner(-1, "weapon_ak47", id)
}
case CSW_AWP: {
fSpeedMultiplier = 0.8
iEnt = fm_find_ent_by_owner(-1, "weapon_awp", id)
}
default: return PLUGIN_CONTINUE
}
set_pdata_float( iEnt, 46, ( get_pdata_float(iEnt, 46, 4) * fSpeedMultiplier), 4 );
set_pdata_float( iEnt, 47, ( get_pdata_float(iEnt, 47, 4) * fSpeedMultiplier), 4 );
Oczywiście gdzie CSW_AWP/CSW_AK47 i "weapon_awp"/"weapon_ak47" zmieniamy na własne np. jeżeli chcemy mieć o połowe wiekszą predkość ataku na deagle, glock'u i m4 switch bedzie wyglądał tak:
switch(iWeapon)
{
case CSW_GLOCK18: {
fSpeedMultiplier = 0.5
iEnt = fm_find_ent_by_owner(-1, "weapon_glock18", id)
}
case CSW_DEAGLE: {
fSpeedMultiplier = 0.5
iEnt = fm_find_ent_by_owner(-1, "weapon_deagle", id)
}
case CSW_M4A1: {
fSpeedMultiplier = 0.5
iEnt = fm_find_ent_by_owner(-1, "weapon_m4a1", id)
}
default: return PLUGIN_CONTINUE
}
set_pdata_float( iEnt, 46, ( get_pdata_float(iEnt, 46, 4) * fSpeedMultiplier), 4 );
set_pdata_float( iEnt, 47, ( get_pdata_float(iEnt, 47, 4) * fSpeedMultiplier), 4 );
Przykładowa klasa ( 5x szybszy atak na m4 )
Przydatna strona z nazwami broni ( CSW_* oraz weapon_* ): KLIK lub KLIK
Jeżeli czegoś nie rozumiecie, piszcie pod tematem
