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

Kopiowanie entity na który patrze


Najlepsza odpowiedź Zuzza, 13.01.2021 10:32

Klonowanie klocka o podanym id, funkcja tworzy identyczną kopie i zwraca id nowo utworzonego klocka.

public createClone(entView){
	new ent=create_entity("func_wall")
	if( !pev_valid(ent) ){
		return -1;
	}
	new szClassName[16]
	pev(entView, pev_classname, szClassName, sizeof(szClassName))
	set_pev(ent,pev_classname, szClassName)
	
	pev(entView, pev_model, szClassName, sizeof(szClassName))
	set_pev(ent,pev_model, szClassName)
	
	
	set_pev(ent,pev_solid, pev(entView, pev_solid))
	set_pev(ent,pev_movetype, pev(entView, pev_movetype))
	set_pev(ent,pev_modelindex, pev(entView, pev_modelindex))
	set_pev(ent,pev_body, pev(entView, pev_body))
	set_pev(ent,pev_skin, pev(entView, pev_skin))
	set_pev(ent,pev_flags, pev(entView, pev_flags))
	set_pev(ent,pev_spawnflags, pev(entView, pev_spawnflags))
	set_pev(ent,pev_team, pev(entView, pev_team))
	
	new Float:fFloat[3]
	pev(entView, pev_mins, fFloat)
	set_pev(ent, pev_mins, fFloat)
	
	pev(entView, pev_maxs, fFloat)
	set_pev(ent, pev_maxs, fFloat)	
	
	pev(entView, pev_vuser3, fFloat)
	set_pev(ent, pev_vuser3, fFloat)
	
	pev(entView, pev_vuser1, fFloat)
	set_pev(ent, pev_vuser1, fFloat)	
	
	pev(entView, pev_origin, fFloat)
	entity_set_origin(ent, fFloat)
	set_pev(ent, pev_iuser4, 3)
	
	return ent;
		
}
Przejdź do postu


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

#1 TafiT

    Zaawansowany

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:80
  • Imię:Dawid
  • Lokalizacja:Trzebnica
Offline

Napisano 11.01.2021 17:38

Witam, próbuje skopiować entity na który patrzę, funkcja jest wywoływana komendą /copy. Niestety nic się nie dzieje po jej wywołaniu.
 

public Skopiuj(id){
	//new ent = get_tr2(trace, TR_pHit)
	new ent, bodypart
	get_user_aiming (id,ent,bodypart)
	
	if(entity_get_int( ent, EV_INT_iuser4 ) == id){
		new NazwaEnta[32], NazwaModelu[32], Float:bmins[3],Float:bmaxs[3];
		
		entity_get_string(ent, EV_SZ_classname, NazwaEnta, sizeof(NazwaEnta))
		new byt=create_entity(NazwaEnta)
		
		pev(ent, pev_model, NazwaModelu)
		entity_set_model(byt,NazwaModelu)
		
		entity_get_vector(ent, EV_VEC_mins, bmins )
		entity_get_vector(ent, EV_VEC_maxs, bmaxs )
		entity_set_size(byt,bmins,bmaxs)
		
		new Float:origin[3]
		entity_get_vector(ent,EV_VEC_origin,origin)
		origin[0]+=50.0
		entity_set_origin(byt,origin)
		
		entity_set_int(byt,EV_INT_solid,SOLID_BBOX)//ustawiamy dotykalność bytu (bez ustawionego movetype ( MOVETYPE_NONE ) nie przynosi efektu)
		entity_set_int(byt,EV_INT_movetype,MOVETYPE_TOSS)//ustawiamy sposób poruszania się bytu, wybrany tutaj to po prostu kolidowanie z entitami, grawitacja
	}
}

jakieś pomysły? ;d


  • +
  • -
  • 0

Pomogłem?

Daj +

ponieważ walczę ze znikającą reputacją na tym forum!


#2 Vakos

    Wszechwidzący

  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 11.01.2021 18:32

Z tego co pamiętam taka opcja była dostępna w modzie BaseBuilder przy kopiowaniu klocków. Nie wiem czy było to w silniku czy jako osobny plugin ale może Cię trochę naprowadzę na trop.


  • +
  • -
  • 0

#3 TafiT

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:80
  • Imię:Dawid
  • Lokalizacja:Trzebnica
Offline

Napisano 11.01.2021 22:12

Właśnie to piszę do BB i funkcja powinna działac aczkolwiek nie działa, jest to drobny błąd z którym i tak sobie poradze ale zejdzie mi z tym troche czasu więc napisałem o poradę tutaj


  • +
  • -
  • 0

Pomogłem?

Daj +

ponieważ walczę ze znikającą reputacją na tym forum!


#4 Zuzza

    Pomocny

  • Girl

Reputacja: 48
Pomocny

  • Postów:44
  • Imię:Zuzza
  • Lokalizacja:Sosowiec
Offline

Napisano 13.01.2021 10:32   Najlepsza odpowiedź

Klonowanie klocka o podanym id, funkcja tworzy identyczną kopie i zwraca id nowo utworzonego klocka.

public createClone(entView){
	new ent=create_entity("func_wall")
	if( !pev_valid(ent) ){
		return -1;
	}
	new szClassName[16]
	pev(entView, pev_classname, szClassName, sizeof(szClassName))
	set_pev(ent,pev_classname, szClassName)
	
	pev(entView, pev_model, szClassName, sizeof(szClassName))
	set_pev(ent,pev_model, szClassName)
	
	
	set_pev(ent,pev_solid, pev(entView, pev_solid))
	set_pev(ent,pev_movetype, pev(entView, pev_movetype))
	set_pev(ent,pev_modelindex, pev(entView, pev_modelindex))
	set_pev(ent,pev_body, pev(entView, pev_body))
	set_pev(ent,pev_skin, pev(entView, pev_skin))
	set_pev(ent,pev_flags, pev(entView, pev_flags))
	set_pev(ent,pev_spawnflags, pev(entView, pev_spawnflags))
	set_pev(ent,pev_team, pev(entView, pev_team))
	
	new Float:fFloat[3]
	pev(entView, pev_mins, fFloat)
	set_pev(ent, pev_mins, fFloat)
	
	pev(entView, pev_maxs, fFloat)
	set_pev(ent, pev_maxs, fFloat)	
	
	pev(entView, pev_vuser3, fFloat)
	set_pev(ent, pev_vuser3, fFloat)
	
	pev(entView, pev_vuser1, fFloat)
	set_pev(ent, pev_vuser1, fFloat)	
	
	pev(entView, pev_origin, fFloat)
	entity_set_origin(ent, fFloat)
	set_pev(ent, pev_iuser4, 3)
	
	return ent;
		
}

  • +
  • -
  • 1

Parę moich rzeczy możesz zobaczyć na mojej stronie Zuzzart, oraz moim kanale youtube

 





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

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