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

Pozycja czyli get_user_origin + set


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

#1 KariiO

    Super Hero

  • Power User

Reputacja: 396
Wszechpomocny

  • Postów:1 133
  • GG:
  • Imię:Korneliusz
  • Lokalizacja:Cieszyn
Offline

Napisano 16.02.2012 21:42

*
Popularny

Witam. Chciałbym napisać krótki poradnik lecz nie widziałem tutaj poradnika/tutka na temat pobierania i zmieniania pozycja gracza tzw: get_user_origin i set_user_origin

A więc:

Jeżeli chcemy zmienić pozycje gracza pierw musimy ją pobrać czyli:


new origin[3]
get_user_origin(id_gracza,origin)

następnie otrzymujemy:

origin[0] = oś X
origin[1] = oś Y
origin[2] = oś Z
Nie wiem czy można to nazywać osią no ale cóż, jeżeli nie to poprawcie mnie.

Za jaki kierunek odpowiada dana oś ?
Dołączona grafika
Z-góra i dół.
Y-przód i tył.
X-prawo i lewo.

Z+ - jeżeli będziemy chcieli zmienić pozycje(Z) czyli w tym przypadku Z+ musimy do origin[0] dodać jakąś wartość która jest większa od zera np. 50,1,4.
Z- - jeżeli będziemy chcieli zmienić pozycje(Z) czyli w tym przypadku Z- musimy od origin[0] odjąć jakąś wartość która jest mniejsza od zera np. -60,-2,-5.

Pozostałe czyli : Y-,Y-,Z+,Z- są prawie takie same lecz zmieniają pozycje w innym kierunku.

Zmiana pozycji:
new origin[3]
get_user_origin(id_gracza,origin)//pobieranie pozycji

origin[0]+=50 //zmieniamy pozycje X o +50 czyli do góry.
origin[0]=origin[0]+50 //<<LUB(działa tak samo). Zmieniamy pozycje X o +50 czyli do góry.

set_user_origin(id_gracza,origin)

Lub(fakameta):
new Float:origin[3];pev(id_gracza, pev_origin, origin )origin[0]+=50.0 //zmieniamy pozycje Z o +50 czyli do góry.origin[0]=origin[0]+50.0 //<<LUB(działa tak samo). Zmieniamy pozycje Z o +50 czyli do góry.set_pev(id_gracza, pev_origin, origin );
Po wykonaniu takiej czynności nasza postać przesunie się nieco w prawo :)


Dodaje jeszcze stock(nie mojego autorstwa) który zwraca true jeżeli jesteśmy "uwięzieni" czyli np. "wkopani" w ziemie:
stock bool:is_player_stuck(id) {
		static Float:fOrigin[3];
		pev(id, pev_origin, fOrigin);

		engfunc(EngFunc_TraceHull, fOrigin, fOrigin, 0, (pev(id, pev_flags) & FL_DUCKING) ? HULL_HEAD : HULL_HUMAN, id, 0);

		if(get_tr2(0, TR_StartSolid) || get_tr2(0, TR_AllSolid) || !get_tr2(0, TR_InOpen))
				return true;

		return false;
}

  • +
  • -
  • 7

#2 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 16.02.2012 21:49

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
AMX Mod XArtykuły i Instrukcje
do
Scripting AMXXTutoriale


  • +
  • -
  • 1

#3 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 16.02.2012 22:41

hahahahaha screen dużo mówi.. :D

Y powinienes narysować w "czyde"

ogólnie plus za pomysł, ale można dużo bardziej rozbudować np. płynne ruchy, pętelka, te sprawy

@edit: nie temu dałem plusa.. xD

Użytkownik Nakupenda. edytował ten post 16.02.2012 22:42

  • +
  • -
  • 0

#4 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 16.02.2012 23:04

Przyda się :) Leci plus.
  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 17.02.2012 00:06

czyli wg rysunku i opisu jak odwrócę się o 90st w prawo to osie X i Y się pokrywają lub tez zamieniają miejscami ??

warto dac normalny rysunek który byl kiedys na alliedach gdy byla mowa o anglesach

co do tutoriala to rozszerzylbym go o parametry tego get_user_origin i o zrobienie tego samego w fakemecie + mozna dodac cos o angle bo to się wielu ludziom moze przydać :D
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 985
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 17.02.2012 08:43

nie trzeba używać set/get_user_origin można pev_origin z fakemety ;)
  • +
  • -
  • 0

#7 ToRRent

    Czempion

  • Power User

Reputacja: 229
Wszechwidzący

  • Postów:861
  • Imię:Łukasz
  • Lokalizacja:Wrocław
Offline

Napisano 17.02.2012 11:24

nie trzeba używać set/get_user_origin można pev_origin z fakemety ;)


No właśnie, można :D
  • +
  • -
  • 0

#8 KariiO

    Super Hero

  • Autor tematu
  • Power User

Reputacja: 396
Wszechpomocny

  • Postów:1 133
  • GG:
  • Imię:Korneliusz
  • Lokalizacja:Cieszyn
Offline

Napisano 17.02.2012 11:52

czyli wg rysunku i opisu jak odwrócę się o 90st w prawo to osie X i Y się pokrywają lub tez zamieniają miejscami ??

warto dac normalny rysunek który byl kiedys na alliedach gdy byla mowa o anglesach

co do tutoriala to rozszerzylbym go o parametry tego get_user_origin i o zrobienie tego samego w fakemecie + mozna dodac cos o angle bo to się wielu ludziom moze przydać :D

przekierowanie do dokumentacji nie wystarczy ? :) Myślę że każdy na górze widzi set/get.

Co do fakamenty to prosiłbym jakiegoś moderatora o dodanie pod kodem od zmiany pozycji:
Lub(fakameta):
new Float:origin[3];	
pev(id_gracza, pev_origin, origin );

origin[0]+=50.0 //zmieniamy pozycje Z o +50 czyli do góry.
origin[0]=origin[0]+50.0 //<<LUB(działa tak samo). Zmieniamy pozycje Z o +50 czyli do góry.

set_pev(id_gracza, pev_origin, origin );

  • +
  • -
  • 0

#9 TIGER2142

    Początkujący

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:10
  • Lokalizacja:Gorzów
Offline

Napisano 18.02.2012 12:11

origin[0]+=50 //zmieniamy pozycje Z o +50 czyli do góry.
origin[0]=origin[0]+50 //<<LUB(działa tak samo). Zmieniamy pozycje Z o +50 czyli do góry.


Raczej pozycje X ;>
  • +
  • -
  • 1

#10 KariiO

    Super Hero

  • Autor tematu
  • Power User

Reputacja: 396
Wszechpomocny

  • Postów:1 133
  • GG:
  • Imię:Korneliusz
  • Lokalizacja:Cieszyn
Offline

Napisano 18.02.2012 14:02


origin[0]+=50 //zmieniamy pozycje Z o +50 czyli do góry.
origin[0]=origin[0]+50 //<<LUB(działa tak samo). Zmieniamy pozycje Z o +50 czyli do góry.


Raczej pozycje X ;>

Racja :)
Gdybym mógł to bym poprawił :P
  • +
  • -
  • 0

#11 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

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

Napisano 23.02.2012 17:21

Dla leniwych daje stock :D
Przykład :
set_player_orgin(id,50,50,50)
stock set_player_orgin(id,x,y,z)
{
	if(is_user_alive(id))
	{
		new origin[3]
		get_user_origin(id,origin)
		origin[0] += x;origin[1] += y;origin[2] += z
		set_user_origin(id,origin)
	}
}
Może się komuś przyda.
  • +
  • -
  • 1

If you can dream it, you can do it.


#12 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 23.02.2012 20:13

@@UP
Stock powinien nosić nazwę add_player_origin ponieważ dodajesz do aktualnych wartości
w sumie stock na taką rzecz nie jest zbyt potrzebny ale jak napisałeś "Może się komuś przyda."
  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#13 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 23.02.2012 21:23

nie jest zbyt potrzebny


uzytkownikom nigdy nic nie jest potrzebne a tematów z pytaniami na ktore odpowiedzi są w tym dziale przybywa xD

co do stocka lepiej przesylac tablice przesunięć i i w pętli zwiekszac kazdy parametr :D
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#14 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 24.02.2012 00:43

Dla ogarniających angielski wersja ludzka: http://forums.allied...ead.php?t=91474
  • +
  • -
  • 0

#15 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 24.02.2012 01:01

warto dac normalny rysunek który byl kiedys na alliedach gdy byla mowa o anglesach


Dla ogarniających angielski wersja ludzka: http://forums.allied...ead.php?t=91474


jakby ktos pytal to to ten rysunek na dole :D
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D




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

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