Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CoD Nowy

[ROZWIĄZANE] jak zwiększyć rozrzut

cod nowy

  • Zamknięty Temat jest zamknięty
11 odpowiedzi w tym temacie

#1 Eustachy8

    Wszechpomocny

  • Użytkownik

Reputacja: 116
Zaawansowany

  • Postów:304
  • Imię:Kuba
  • Lokalizacja:Buczacz
Offline

Napisano 04.07.2012 13:31

Witam!

Robię klasy z nowymi modelami broni oraz parametrami tych broni, wiem jak zmienić szybkość strzelania, dmg ale jak zwiekszyć rozrzut? Gdy robie w ten sposób:


if(ma_klase[id] && get_uc(uc_handle, UC_Buttons) & IN_ATTACK)
{
new Float:punchangle[3]
pev(id, pev_punchangle, punchangle)
for(new i=0; i<3;i++) 
punchangle[i]*=1.1;
set_pev(id, pev_punchangle, punchangle)
}
to podczas strzelania serią, kamera robi obroty o 360 stopni. W jaki inny sposób to zmieniać?
  • +
  • -
  • 0

24azdk0.jpg
b_350_20_692108_381007_FFFFFF_000000.png
 


#2 ric0

    Wszechwiedzący

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:558
  • Imię:Łukasz
  • Lokalizacja:Ostrołęka
Offline

Napisano 04.07.2012 13:58

Nie jestem pewny ale wydaje mi się że za rozrzut odpowiada ta linijka:
punchangle[i]*=1.1; 


zmieniasz liczbę 1.1 . tylko nie wiem czy im mniejsza liczba tym mniejszy rozrzut . najlepiej zmień liczbę na mnieszją i testuj potem na większą i testuj.

A jeśli się mylę to proszę mnie poprawić.
  • +
  • -
  • 0

To co piszę się nie liczy...

 


#3 Eustachy8

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 116
Zaawansowany

  • Postów:304
  • Imię:Kuba
  • Lokalizacja:Buczacz
Offline

Napisano 04.07.2012 14:11

im mniejsza, tym mniejszy rozrzut, więc wydedukowałem, że im większa tim większy rozrzut i tak jest, ale tak jak wspomniałem, gdy zwiększe, to podczas strzelania full auto ekran zaczyna robić 360 stopni obroty ;)
  • +
  • -
  • 0

24azdk0.jpg
b_350_20_692108_381007_FFFFFF_000000.png
 


#4 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 04.07.2012 15:53

Zmieniaj punchangle tylko w 2 wymiarach tablicy, ( [0] i [1] ).
  • +
  • -
  • 1

marwit-0.png


#5 Eustachy8

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 116
Zaawansowany

  • Postów:304
  • Imię:Kuba
  • Lokalizacja:Buczacz
Offline

Napisano 04.07.2012 16:49

działa elegancko +. A mógłbyś powiedzieć za co 3 wymiar odpowiada?
  • +
  • -
  • 0

24azdk0.jpg
b_350_20_692108_381007_FFFFFF_000000.png
 


#6 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 04.07.2012 19:14

Trzeci wymiar nic nie robi. ( Kąt zapisuje się tylko w 2ch wymiarach )
  • +
  • -
  • 0

marwit-0.png


#7 ogieR8

    Wszechmogący

  • Power User

Reputacja: 203
Profesjonalista

  • Postów:641
  • Imię:Mariusz
  • Lokalizacja:Ruda Śląska
Offline

Napisano 18.12.2014 13:19

Przepraszam, że odświeżam.. ale moje pytanie jest prawie identyczne, jak twórcy tematu.. w jaki inny sposób to zmienić ? 

 

Mam teraz taki kod:

public fwd_CmdStart(id, uc_handle, seed) {
	if(!is_alive[id] || !is_user_alive(id) || !is_user_connected(id)) return FMRES_HANDLED

	if(ofiara_rozrzutu[id] == 1 && get_uc(uc_handle, UC_Buttons) & IN_ATTACK) {
		new Float:punchangle[2]
		pev(id, pev_punchangle, punchangle)
		for(new i=0; i<2;i++) 
		punchangle[i]*=1.2;
		set_pev(id, pev_punchangle, punchangle)
	}

	return FMRES_IGNORED
}

Ale.. za każdym razem rozrzut kieruję się w prawy górny róg, ponadto, biorąc np takie AK47.. po kilku kulach z serii ekran nadal mi się obraca dookoła, później łapie wręcz teleporty (widok przód -> tył -> przód -> tył itd), najgorsze, gdy dochodzą do tego obroty do góry nogami. Jest jakiś dobry sposób ? Znalazłem kilka 'nowych broni' i w jednej z nich jest taki oto kodzik:

#define RECOIL 3.8
Float:cl_pushangle[33][3]

RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_galil", "fw_PrimaryAttack")
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_galil", "fw_PrimaryAttack_Post", 1)

public fw_PrimaryAttack(Weapon) {
	new Player = get_pdata_cbase(Weapon, 41, 4)
	
	if (ma_bron[Player]) pev(Player,pev_punchangle,cl_pushangle[Player])
}


public fw_PrimaryAttack_Post(Weapon) {
	new Player = get_pdata_cbase(Weapon, 41, 4)
	
	if(ma_bron[Player]) {
		new Float:push[3]
		pev(Player,pev_punchangle,push)
		xs_vec_sub(push,cl_pushangle[Player],push)
		
		xs_vec_mul_scalar(push,RECOIL,push)
		xs_vec_add(push,cl_pushangle[Player],push)
		set_pev(Player,pev_punchangle,push)
	}
}

Ale nie będę oszukiwał, że go nie rozumiem. 

 

I teraz tak:

a) aby to działało jak chcę (tak jak kod 'nowej broni') musi być to w primmaryattack ? Jak zastosować to do wszystkich broni ? Nie chce dla jednej..

B) wyjasni mi ktos te ostatnie linijki z 'nowej broni' ? Chce nie tylko mieć to zrobione, ale zrozumieć to.. te xs_vec.. - proszę nie kierować na poradniki zagraniczne, mój angielski i składnia translate daje marne wyniki.


  • +
  • -
  • 0

Irytuje mnie nieczytelny kod, jeśli oczekujesz ode mnie pomocy - zmień to !


#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 18.12.2014 13:35

Jak zastosować to do wszystkich broni ?

 

tutaj zmieniasz to

RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_galil", "fw_PrimaryAttack")
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_galil", "fw_PrimaryAttack_Post", 1)

  • +
  • -
  • 2

#9 ogieR8

    Wszechmogący

  • Power User

Reputacja: 203
Profesjonalista

  • Postów:641
  • Imię:Mariusz
  • Lokalizacja:Ruda Śląska
Offline

Napisano 18.12.2014 14:10

Dobra, jak zwykle po napisaniu tematu zacząłem szperać ostro po necie.. Jest taki plugin jak Recoil Control - wyrzuciłem z niego niepotrzebne rzeczy dotyczące cvarów do recoila na wybrane bronie i został mi piękny kodzik, wrzucę, może komuś się również przyda ;)

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>

#define PLUGIN	"Recoil Control"
#define AUTHOR	"OT"
#define VERSION	"1.5"

#define NO_RECOIL_WEAPONS_BITSUM  (1<<2 | 1<<CSW_KNIFE | 1<<CSW_HEGRENADE | 1<<CSW_FLASHBANG | 1<<CSW_SMOKEGRENADE | 1<<CSW_C4)
#define RECOIL 3.8

new Float:cl_pushangle[33][3]

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	new weapon_name[20]
	for (new i=CSW_P228;i<=CSW_P90;i++) 
	{         
		if(!(NO_RECOIL_WEAPONS_BITSUM & (1<<i)) && get_weaponname(i, weapon_name, charsmax(weapon_name))) 
		{ 
			RegisterHam(Ham_Weapon_PrimaryAttack, weapon_name, "fw_primary_attack")
			RegisterHam(Ham_Weapon_PrimaryAttack, weapon_name, "fw_primary_attack_post",1) 
		} 
	}
}

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

public fw_primary_attack_post(ent) {
	new id = pev(ent,pev_owner)

	new Float:push[3]
	pev(id,pev_punchangle,push)
	xs_vec_sub(push,cl_pushangle[id],push)
	xs_vec_mul_scalar(push,RECOIL,push)
	xs_vec_add(push,cl_pushangle[id],push)
	set_pev(id,pev_punchangle,push)

	return HAM_IGNORED
}

Dzięki DarkGL, a może mi ktoś objaśnić te xs_vec'y ? W dokumentacji nic nie umiałeś znaleźć :X


  • +
  • -
  • 0

Irytuje mnie nieczytelny kod, jeśli oczekujesz ode mnie pomocy - zmień to !


#10 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 18.12.2014 14:17

xs_vec_sub - odejmowanie wektórów

xs_vec_mul_scalar - mnożenie wektora przez skalar

xs_vec_add - dodawanie wektorów


  • +
  • -
  • 2

#11 ogieR8

    Wszechmogący

  • Power User

Reputacja: 203
Profesjonalista

  • Postów:641
  • Imię:Mariusz
  • Lokalizacja:Ruda Śląska
Offline

Napisano 18.12.2014 14:21

Ok, dzięki, już chyba czaję wszystko, z mojej strony - temat wyczerpany.


  • +
  • -
  • 0

Irytuje mnie nieczytelny kod, jeśli oczekujesz ode mnie pomocy - zmień to !


#12 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 18.12.2014 17:19

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !






Również z jednym lub większą ilością słów kluczowych: cod nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych