Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Odpychanie gracza + poruszanie kamerą


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

#1 nPaul

    Zaawansowany

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Imię:Piotr
  • Lokalizacja:United Kingdom / Hereford
Offline

Napisano 04.12.2012 18:24

Witam.
Mam taką funkcję na odpychanie gracza:

new Float:fOrigin[3], vOrigin[3], flags;
	pev(id, pev_origin, fOrigin[1]);
	pev(id, pev_origin, fOrigin[0]);
	get_user_origin(id, vOrigin);
	flags = pev(id, pev_flags);
			
	fOrigin[1] -= fOrigin[0];
				
	if(flags & FL_ONGROUND){
		fOrigin[1] *= 5.0;
	}
			
	else{
		fOrigin[1] *= 2.0;
	}
			
	set_pev(id, pev_velocity, fOrigin[1]);
	}

Ale to nie odpycha gracza.
Chodzi mi o to że jak gracz dotknie byt X a nie ma uprawnień (czyt. flagi) to go odpycha. Jeżeli ktoś by taki kod poprawił lub napisałbym byłbym wdzięczny i teżbym uplusował takiego użytkownika.

W pytaniach jest dlatego że nie wiem dlaczego nie działa a mogło by się znajdować w Problemach/Pytaniach/Pluginach ale dodaje do pytania bo chcę znać odpowiedź na drugie pytanie.

A więc mam taki kod:

attach_view(id, pev(ent, pev_iuser1));
To jest kod że patrzy na kamerę bytu a pytanie brzmi jaki kod będzie żebym mógł ją poruszać? chodzi mi w różne strony do tyłu, przodu, lewo, prawo, góra, dół. Nie chodzi o przesuwanie a o patrzenie dokładnie w którymś kierunku jakim sobie myszką najedziemy.
Z góry dzięki, będą +
  • +
  • -
  • 0

#2 CheQ

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 1984
Godlike

  • Postów:5534
  • Imię:Adaś
  • Lokalizacja:Glinianka
Offline

Napisano 04.12.2012 18:41

Co do drugiego - ustawiaj mu w jakimś preThinku albo CmdStartem z Fakemety angles i origin z bytu pierwszego ;)

Co do pierwszego - flagi że Czy jest na ziemi, czy w powietrzy czy też chodzi o Flagi uprawnień Admina?
  • +
  • -
  • 0

b_560_95_1.png


#3 nPaul

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Imię:Piotr
  • Lokalizacja:United Kingdom / Hereford
Offline

Napisano 04.12.2012 18:44

Ja to brałem z działającego pluginu ale też z usuwaniem tego nie pomagały bo mój kod też nei działał więc usunąłem.

Co do 2.
new Float:Angle[3], Float:Velocity[3];
			velocity_by_aim(id, 700, Velocity);
			pev(id, pev_v_angle, Angle);
			
			set_pev(ent, pev_angles, Float:{0.0, 0.0, 0.0});
	
			set_pev(ent, pev_velocity, Velocity);
			set_pev(ent, pev_angles, Angle);

Miałem tak ale też nie działa ;C
  • +
  • -
  • 0

#4 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 04.12.2012 19:03

Kod na odpychanie:
new Float:velocity[3], Float:DW;
    pev(id, pev_velocity, velocity);

    DW = vector_length(velocity) + 0.0001;
    velocity[0] = (velocity[0] / DW) * (-500.0);
    velocity[1] = (velocity[1] / DW) * (-500.0);
    if(velocity[2] < 0){
        velocity[2] = velocity[2] * (-1.0) + 15.0;
    }
    set_pev(id, pev_velocity, velocity);

Zarejestruj Touch'a i sprawdzaj, czy gracz dotyka danego bytu, jeśli tak to niech wykona się funkcja podana powyżej ;)
  • +
  • -
  • 1

If you can dream it, you can do it.


#5 nPaul

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Imię:Piotr
  • Lokalizacja:United Kingdom / Hereford
Offline

Napisano 05.12.2012 15:01

Kod na odpychanie niestety nie działa lecz zwykły slap działa ale chcę żeby tylko odpychało więc slap odpada.
  • +
  • -
  • 0

#6 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

  • Postów:2733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 05.12.2012 20:08

Działa, tylko prędkość gracza musi być większa niż 0, ponieważ gdy będzie wynosić 0, to wszystko pomnożone przez zero będzie wynosić 0 ;)

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "speedkill"

public plugin_init(){
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_clcmd("say /test", "VelocityTest");
}
public VelocityTest(id){
	if(is_user_alive(id)){
		new Float:velocity[3], Float:DW;
		pev(id, pev_velocity, velocity);
		
		DW = vector_length(velocity) + 0.0001;
		velocity[0] = (velocity[0] / DW) * (-500.0);
		velocity[1] = (velocity[1] / DW) * (-500.0);
		if(velocity[2] < 0){
			velocity[2] = velocity[2] * (-1.0) + 15.0;
		}
		set_pev(id, pev_velocity, velocity);
	}
}

W załączniku znajduje się demko.

Załączone pliki


  • +
  • -
  • 1

If you can dream it, you can do it.


#7 nPaul

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Imię:Piotr
  • Lokalizacja:United Kingdom / Hereford
Offline

Napisano 05.12.2012 20:42

Dobra rozwiązane teraz czekam na rozwiązanie problemu z kamerą
  • +
  • -
  • 0




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

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