Rozrzut.

  • Thread starter Thread starter ViHuRa
  • Rozpoczęty Rozpoczęty
Status
Zamknięty.
V

ViHuRa

Gość
Otóż wyciągnąłem no-recoil z perku eliminator rozrzutu.
Kod:
public PreThink(id)
{
	if(ma_perk[id])
		set_pev(id, pev_punchangle, {0.0,0.0,0.0})
}
		
public UpdateClientData(id, sw, cd_handle)
{
	if(ma_perk[id])
		set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})   
}
I zastanawiam się jakie maksymalne wartości mogą być zamiast tych zer i jakie wartości przyjmuje normalny rozrzut broni. Podpowie ktoś? :D
 
dokładnie to nie wiem pewnie od 0.0 do 255.0 lub od 0.0 do 1.0 nie jestem pewien. I jak widzę to też złe dajesz tak: {0.0,0.0,0.0} powinno być
Float:{0.0,0.0,0.0}
P.S a jeszcze lepiej jak byś z takiego kodu korzystał:
Kod:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Patryk"

new Float:cl_pushangle[33][3];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	for (new i=CSW_P228;i<=CSW_P90;i++)
	{
		new WeaponName[24]
		if(!(((1<<2)|(1<<CSW_HEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_KNIFE)|(1<<CSW_C4))&(1<<i)))//csw_* tym nie daje norecoila
		{
			get_weaponname(i, WeaponName, charsmax(WeaponName))
			RegisterHam(Ham_Weapon_PrimaryAttack, WeaponName, "primary_attack");
			RegisterHam(Ham_Weapon_PrimaryAttack, WeaponName, "primary_attack_post", 1);
		}
	}
}

public primary_attack(ent){
	new id = pev(ent, pev_owner)
	pev(id,pev_punchangle,cl_pushangle[id]);
	return HAM_IGNORED;
}

public primary_attack_post(ent)
{
	new Float:push[3], id = pev(ent, pev_owner);
	pev(id,pev_punchangle,push);
	xs_vec_sub(push,cl_pushangle[id],push);
	xs_vec_mul_scalar(push, 0.0,push);//tu ustawisz zmieniasz 0.0 na ile chcesz do chyba 255.0
	xs_vec_add(push,cl_pushangle[id],push);
	set_pev(id,pev_punchangle,push);
	return HAM_IGNORED;
}
kod pisałem na szybko mogą być błędy z działaniem ale nie powinno :)
 
Chcę dodać statystykę ze zmniejszaniem rozrzutu broni, więc wykorzystam to :D. Ale z 2 strony z tego kodu co ja dałem jest więcej "cyferek", które są odpowiedzialne za rozrzut. Wiem, że 1 jest odpowiedzialna za rozrzut w biegu, a coś takiego też bym chciał wykorzystać.(nie mogłem znaleźć w dokumentacji)
 
tu xs_vec_mul_scalar(push, 0.0,push); 0.0 - nie ma wcale rozrzut, jak 1.0 to normalny rozrzut broni :)
p.s
(1.0 - (float(punkty[id])/100.0)) - to wykorzystaj do statystyk podstaw za 0.0 w xs_vec_mul_scalar(push, 0.0,push);
 
Wiadomość wygenerowana przez Kid Mod,a.

Ten temat został zamknięty przez: oMISIUo
Powód zamknięcia: Raczej problem został rozwiązany. //Close


Z pozdrowieniami,
Administracja Działu AMXX.
 
Status
Zamknięty.
Back
Do góry