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

Tracers, beams.Lasery do customowych broni

lasers tracer tracers beam beams make_beam

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

#1 TekLak

    Zaawansowany

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:118
  • Steam:steam
  • Imię:Wojtek
  • Lokalizacja:Kanzas
Offline

Napisano 18.08.2019 00:30

Witam,

Nigdzie nie widziałem tematu o tak zwanych "tracers" lub "beams" do customowych broni np w Zombie Modzie. 

Chodzi mi o te lasery ,które nazywane w przypadku goldenak'a są "złotymi kulami" i kod takich złotych kuli wygląda tak:

public make_tracer(id)
{
	if (get_pcvar_num(cvar_goldbullets))
	{
		new clip,ammo
		new wpnid = get_user_weapon(id,clip,ammo)
		new pteam[16]
		
		get_user_team(id, pteam, 15)
		
		if ((bullets[id] > clip) && (wpnid == CSW_AK47) && g_HasAk[id]) 
		{
			new vec1[3], vec2[3]
			get_user_origin(id, vec1, 1) // origin; your camera point.
			get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
			
			
			//BEAMENTPOINTS
			message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
			write_byte (0)     //TE_BEAMENTPOINTS 0
			write_coord(vec1[0])
			write_coord(vec1[1])
			write_coord(vec1[2])
			write_coord(vec2[0])
			write_coord(vec2[1])
			write_coord(vec2[2])
			write_short( m_spriteTexture )
			write_byte(1) // framestart
			write_byte(5) // framerate
			write_byte(2) // life
			write_byte(10) // width
			write_byte(0) // noise
			write_byte( 255 )     // r, g, b
			write_byte( 215 )       // r, g, b
			write_byte( 0 )       // r, g, b
			write_byte(200) // brightness
			write_byte(150) // speed
			message_end()
		}
	
		bullets[id] = clip
	}
	
}

A w grze wygląda tak:

https://imgur.com/a/Y7jAp5T

 

No nie wygląda to dobrze lecz na alliedmods znaleźć można lepszy kod takiego tracer'a ,który wygląda tak:

make_laser_beam(id, 8, 255, 255, 0);


make_laser_beam(id, Size, R, G, B) 
{
    static End[3];
    get_user_origin(id, End, 3);
	
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
    write_byte (TE_BEAMENTPOINT)
    write_short( id |0x1000 )
    write_coord(End[0])
    write_coord(End[1])
    write_coord(End[2])
    write_short(jakis_sprite)
    write_byte(1)
    write_byte(5)
    write_byte(2)
    write_byte(Size)
    write_byte(0)
    write_byte(R)
    write_byte(G)
    write_byte(B)
    write_byte(200)
    write_byte(150)
    message_end()
}

A w grze wygląda tak:

https://imgur.com/a/Ok5A2FH

No i jest duża różnica między tam tym kodem a tym i tu przychodzę z pytaniem "Co tak znacząco zmienia to skąd kule będą leciały?"

 

 


  • +
  • -
  • 0

#2 Robiin

    Godlike

  • Support Team

Reputacja: 1 106
Super Hero

  • Postów:2 049
  • Imię:Robert
  • Lokalizacja:Wrocław
Online

Napisano 18.08.2019 01:05

write_byte(10) // width

get_user_origin

 

mode - jakie współrzędne ma pobierać:

  1. 0 - aktualna pozycja gracza (domyślnie)
  2. 1 - pozycja gdzie gracz aktualnie patrzy/celuje
  3. 2 - End position from player position
  4. 3 - End position from eyes (hit point for weapon)
  5. 4 - Position from last bullet hit (only CS)

 

W pierwszym mode == 1, w drugim mode == 3.


Użytkownik aSiorr edytował ten post 18.08.2019 01:07

  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.





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

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