←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Sprawdzanie broni gracza, wybieranie tylko...


Najlepsza odpowiedź Droso 24.12.2014 21:34

GetUserWeapon(id,&wid=0)
{
	const m_pActiveItem = 373
	const m_iId = 43
	if(!is_user_alive(id) || pev_valid((wid = get_pdata_cbase(id,m_pActiveItem,5))) != 2)	return 0
	
	return get_pdata_int(wid,m_iId,4)
}

Podmień ta funkcje sprawdz bron na tą i tak sprawdzaj: GetUserWeapon(id) == CSW_DEAGLE //tutaj zmieniasz model itd itd :D

I Od razu zmieniasz, ta funkcja nie ma opóźnienia.

 

Jak dobrze zrozumiałem, bo jak dla mnie dalej jest bez sensu ;P

 

+ Co za problem zrobić dwa deploye

 

   RegisterHam(Ham_Item_Deploy, "weapon_knife", "ZmianaModeluKnife", 1)

   RegisterHam(Ham_Item_Deploy, "weapon_deagle", "ZmianaModeluDeagle", 1)

 

i juz?

Przejdź do postu

  • +
  • -
Petpat - zdjęcie Petpat 23.12.2014

Witam wiem ,że jest stock który pozwala sprawdzić bronie gracza, ale czy da się sprawdzić masowo po czym wybrać tylko jedną jeżeli ją posiadasz ? :)

Odpowiedz

  • +
  • -
Petpat - zdjęcie Petpat 24.12.2014

@Up nie mogę już edytować

 

Sprecyzuje bardziej swoją wypowiedź, otóż aktualnie mam zrobione tak, chce aby broń się zmieniła po to aby był widoczny model broni od razu, aktualnie zrobiłem sprawdzanie czy gracz ma jakąś broń jeżeli ją posiada to zmieniam na tamtą broń po czym wracam do tej którą miałem, jeżeli natomiast nie ma tej broni to ją dodaje wykonuje ten sam proces zmieniam z 1 na 2 i usuwam tą broń, jakby to powiedzieć "łopatologiczne" rozwiązanie, no ale działa :)

Może jakieś propozycję jak to można ,że tak powiem "udoskonalić" ? :)


Użytkownik Petpat edytował ten post 24.12.2014 01:39
Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 24.12.2014

Dalej nie kminie, załącz może kod to będzie łatwiej.

Odpowiedz

  • +
  • -
Droso - zdjęcie Droso 24.12.2014

@Up nie mogę już edytować

 

Sprecyzuje bardziej swoją wypowiedź, otóż aktualnie mam zrobione tak, chce aby broń się zmieniła po to aby był widoczny model broni od razu, aktualnie zrobiłem sprawdzanie czy gracz ma jakąś broń jeżeli ją posiada to zmieniam na tamtą broń po czym wracam do tej którą miałem, jeżeli natomiast nie ma tej broni to ją dodaje wykonuje ten sam proces zmieniam z 1 na 2 i usuwam tą broń, jakby to powiedzieć "łopatologiczne" rozwiązanie, no ale działa :)

Może jakieś propozycję jak to można ,że tak powiem "udoskonalić" ? :)

Rozumiem, o co chodzi, ale dla mnie jest to bez sensu.

Podmiana modelu to podmiana modelu http://amxx.pl/topic...e-modeli-broni/, po co zmieniać z 1 do 2, żeby od razu był widoczny?

I yup podanie kodu to dobry pomysł i wyjaśnij do czego ma to służyć ;P

Odpowiedz

  • +
  • -
Petpat - zdjęcie Petpat 24.12.2014

Albo jeszcze, inaczej, myślę ,że teraz logiczniej to wyjaśnię ... :)

Chcę aby model się zmienił od razu, aby nie trzeba było samemu robić tej czynności czyli zmiana broni na inną i wrócenie do broni , w której podmieniłem model, bo gdy zmienię model na inny natychmiastowo poprzez serwer, nic sie nie dzieje ,dla tego wykonałem czynność, która działa (aczkolwiek chce się dowiedzieć czy jest jeszcze jakaś inna metoda, która pozwoli mi, natychmiastowo wyświetlić model noża, używam

    RegisterHam(Ham_Item_Deploy, "nazwa_broni", "ZmianaModelu", 1)

A co do podmiany to zrobiłem tak :))

                if(sprawdz_bronie(id, (1<<CSW_DEAGLE))){
                    engclient_cmd(id, "weapon_deagle")
                    engclient_cmd(id, "weapon_knife")
                } else {
                    give_item(id, "weapon_deagle")
                    engclient_cmd(id, "weapon_deagle")
                    engclient_cmd(id, "weapon_knife")
                    ham_strip_user_weapon(id, CSW_DEAGLE, _, false)
                }

 

sprawdz_bronie używam stocka od sebula

stock bool:sprawdz_bronie(id, disallowed) {
        new weapons[32], num;
        return bool:(get_user_weapons(id, weapons, num) & disallowed);
}

 

Z gory Dzięki za pomoc :)


Użytkownik Petpat edytował ten post 24.12.2014 13:53
Odpowiedz

  • +
  • -
Najlepsza odpowiedź Droso - zdjęcie Droso 24.12.2014

GetUserWeapon(id,&wid=0)
{
	const m_pActiveItem = 373
	const m_iId = 43
	if(!is_user_alive(id) || pev_valid((wid = get_pdata_cbase(id,m_pActiveItem,5))) != 2)	return 0
	
	return get_pdata_int(wid,m_iId,4)
}

Podmień ta funkcje sprawdz bron na tą i tak sprawdzaj: GetUserWeapon(id) == CSW_DEAGLE //tutaj zmieniasz model itd itd :D

I Od razu zmieniasz, ta funkcja nie ma opóźnienia.

 

Jak dobrze zrozumiałem, bo jak dla mnie dalej jest bez sensu ;P

 

+ Co za problem zrobić dwa deploye

 

   RegisterHam(Ham_Item_Deploy, "weapon_knife", "ZmianaModeluKnife", 1)

   RegisterHam(Ham_Item_Deploy, "weapon_deagle", "ZmianaModeluDeagle", 1)

 

i juz?


Użytkownik Droso edytował ten post 24.12.2014 21:40
Odpowiedz

  • +
  • -
Petpat - zdjęcie Petpat 24.12.2014

będę w domu sprawdze ale i tak dzięki
Odpowiedz