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

Model Placer - byty solidne również dla broninieprzenikalne byty/modele dla broni


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
11 odpowiedzi w tym temacie

#1 Sooldierr

    Zaawansowany

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 29.03.2015 00:20

Witam.

 

Jak zapewne wielu użytkowników plugimu:

 

http://amxx.pl/topic...7-model-placer/

 

wie, o ile postać gracza może stawać na wstawianych modelach przez plugin to dla broni są one przenikalne.

Wie ktoś jak rozwiązać taki problem?

Jak sprawić, aby wyrzucane bronie zachowywały się tak samo przy kontakcie z tymi modelami jak i z resztą ścian?


  • +
  • -
  • 0

#2 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 29.03.2015 01:22

Przy tworzeniu bytu ustawiasz mu pev_solid na SOLID_BBOX ;)


  • +
  • -
  • 0

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul


#3 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 29.03.2015 19:41

A dokładniej w pluginie?

Bo z tego co patrzyłem to on ustawia SOLID_BBOX już

 

Ale pełno tak też sprawdzania warunków jest, gdzie pojawia się pev_solid  i tego już nie ogarniam, prawdopodobnie ustawia gdy bytem stykający się jest gracz.

A żeby dodać do tego gracz lub broń...

 

Poniżej fragmenty kodu:

setSolid(ent, model)<edit>{
#pragma unused model
	set_pev(ent, pev_solid, SOLID_BBOX);
}
setSolid(ent, model)<normal>{
	if(pev(ent, pev_iuser4))
		set_pev(ent, pev_solid, pev(ent, pev_iuser3));
	else
		set_pev(ent, pev_solid, ArrayGetCell(giSolid, model));
}
if(pev_valid(gLastEnt)){
	iTemp = str_to_num(szTemp);
		set_pev(gLastEnt, giPevs[param], iTemp);
			if(giPevs[param] == pev_solid){
				set_pev(gLastEnt, pev_iuser3, iTemp);
				set_pev(gLastEnt, pev_iuser4, 1);
				}
			}
		}
public editModeBegin(id)<normal>{
	state edit;
	
	new ent = -1;
	while((ent = find_ent_by_class(ent, gszClassname))){
		set_pev(ent, pev_solid, SOLID_BBOX);
	}
	
	forwardPreThink = register_forward(FM_PlayerPreThink, "fwPlayerPreThink", 1);
	
	client_print(id, print_chat, "%L", id, "EDITMODE_BEGIN");
}
public editModeEnd(id)<edit>{
	state normal;
	
	new ent = -1;
	new model;
	while((ent = find_ent_by_class(ent, gszClassname))){
		model = pev(ent, pev_body);
		if(pev(ent, pev_iuser4)) 
			set_pev(ent, pev_solid, pev(ent, pev_iuser3));
		else
			set_pev(ent, pev_solid, ArrayGetCell(giSolid, model));
	}
	
	unregister_forward(FM_PlayerPreThink, forwardPreThink, 1);
	
	client_print(id, print_chat, "%L", id, "EDITMODE_END");
	giChoosedEnts[id] = 0;
}

Co to jest:

pev_iuser1

pev_iuser2

pev_iuser3

pev_iuser4


Użytkownik Sooldierr edytował ten post 29.03.2015 19:42

  • +
  • -
  • 0

#4 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 08.04.2015 22:44

To dodatkowe właściwości bytu, do których możesz przypisywać wartości, niektóre pluginy z tego korzystają, przydatne, gdy chcesz zapisać jakieś dane do konkretnego bytu. pev_iuser* to inty, a pev_fuser* to chyba floaty jak sie nie myle.

pev_iuser2, o ile sie nie myle, przechowuje id gracza którego obserwujemy (spect).

pev_fuser2 też ma swoje zastosowanie, zobacz http://amxx.pl/pevresearch#pev_fuser2


  • +
  • -
  • 0

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul


#5 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 10.04.2015 15:27

A reszta tych parametrów?

jeszcze są pev_euser'y

 

A generalnie ktoś wie jak wykonać to co opisałem w problemie?

Czy w pluginie określone jest zdarzenie, gdy byt broni ma kontakt z bytem modelu wstawianego poprzez Model Placer?

Wtedy wystarczyłoby poprawić, tak aby były względem siebie solid, "func_wall" czy coś tam.

A jeśli nie, to jak złapać zdarzenie lub ID bytu, które wchodzi w kontakt z bronią?


  • +
  • -
  • 0

#6 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 18.04.2015 07:43

ktos umialby pomoc? Jest to plugin autorstwa jednego z forumowych majstrow, R3X'a. Albo nie jest ustawiony SOLID_BBOX dla 'weaponbox' albo dla broni to nie dziala i trzeba inaczej oszukac to np grawitacje wyzerowac dla broni przy kontakcie z modelem.
  • +
  • -
  • 0

#7 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 19.04.2015 00:02

Jeszcze można określić rozmiar bytu (np entity_set_size). Próbowałeś?


  • +
  • -
  • 0

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul


#8 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 19.04.2015 00:38

Nie rozumiem, w jaki sposób miało by my to pomóc?

Czy masz na myśli, że broń nie ma rozmiaru i dlatego przelatuje przez te modele?


  • +
  • -
  • 0

#9 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 19.04.2015 09:20

Udało mi się złapać event, gdy broń wchodzi w kontakt z modelami za pomocą funkcji:

register_touch("weaponbox","customone", "WeaponModel")

Teraz mam problem, co mogę zrobić z weaponbox, aby jakoś naturalnie się zachowywał do np skrzynek wstawianych przez Model Placer tak samo jak do skrzynek wbudowanych w mapę. Próbowałem nadać przeróżne MOVETYPE , nadawałem broni SOLID_BBOX . Ale przy nadawaniu movetype, broń jakoś albo odlatuje, odbija się mocno. Jak nadałem jej SOLID_BBOX to znieruchomiała w momencie kontaktu z Modelem i stała się bytem przenikalnym w powietrzu.


  • +
  • -
  • 0

#10 Puchate

    Wszechobecny

  • Użytkownik

Reputacja: 204
Profesjonalista

  • Postów:433
  • Lokalizacja:Polska
Offline

Napisano 22.04.2015 22:33


Teraz mam problem, co mogę zrobić z weaponbox, aby jakoś naturalnie się zachowywał do np skrzynek wstawianych przez Model Placer tak samo jak do skrzynek wbudowanych w mapę. Próbowałem nadać przeróżne MOVETYPE , nadawałem broni SOLID_BBOX . Ale przy nadawaniu movetype, broń jakoś albo odlatuje, odbija się mocno. Jak nadałem jej SOLID_BBOX to znieruchomiała w momencie kontaktu z Modelem i stała się bytem przenikalnym w powietrzu.

Weaponbox jest dość specyficzny w kwestii jego dotyku nawet na broniach które są wbudowane w mapę, więc może stąd też wynikają Twoje problemy. Jednak powinieneś jeszcze spróbować nadać tym entity rozmiar (size).
  • +
  • -
  • 0

#11 Sooldierr

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:94
  • Lokalizacja:Turek
Offline

Napisano 22.04.2015 23:02

Ale dokładniej, jak mam to zastosować?


  • +
  • -
  • 0

#12 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 25.04.2015 21:34

Pisałem wyżej, np entity_set_size albo pev_size jak sie nie myle.


  • +
  • -
  • 0

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul





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

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