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

trigger_multiple i wywolanie funkcji


Najlepsza odpowiedź Asiap , 21.09.2015 12:18

velocity_by_aim

 

kod z mojego pluginu

static Float:fVelocity[3], fOrigin[3];

velocity_by_aim(id, 300, fVelocity); // pobranie wektora o dlugosci 300 w strone ktora patrzy gracz
fVelocity[2] += 100; // dodanie 100 do kata odchylenia od osi x

pev(id, pev_origin, fOrigin); // pobranie pozycji gracza

set_pev(iEnt, pev_origin, fOrigin); // ustawienie entowi pozycji gracza
set_pev(iEnt, pev_movetype, MOVETYPE_TOSS); // ustawie rodzaju ruchu entowi
set_pev(iEnt, pev_velocity, fVelocity); // ustawienie szybkosci entowi
Przejdź do postu


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

#1 Bunker

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:12
Offline

Napisano 12.09.2015 19:59

Witam,

Stworzyłem skrypt, który tworzy ent'a w miejscu gdzie stoi gracz i niestety ten ent nic nie zrobi bo nie mogę przekazać informacji o tym, że gracz na nim stoi.

Chciałbym aby ten element działał w podobny sposób jak amunicja w hl czyli jak na niego nadepnę to daje mi amunicję, napisał coś, robił cokolwiek. Jednak gdy na niego nachodzę to nic nie robi. I tutaj moje pytanie, jak mogę przechwyć to zdarzenie? Próbowałem zarówno za pomocą Engine jak i Fakemeta bez rezultatu.

 

A to kodzik

Spoiler

Obiekt nie ma blokować ani gracza ani pocisków, gdy blokuje to wszystko działa ale jeśli ustalę tak jak ma być to ponownie nie wywołuje funkcji

 

Za wszelką pomoc bardzo dziękuję :)  i liczę na szybkie rozwiązanie problemu.


  • +
  • -
  • 0

#2 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 12.09.2015 21:50

public Lecz(iEnt, id)
{
	static szClassName[32];
	entity_get_string(iEnt, EV_SZ_classname, szClassName, 31);
	if(!equal(szClassName, "Apteczka"))
	{
		return FMRES_IGNORED
	}

	set_user_health(id,20)
	client_print(0,print_center, "id")
	return FMRES_IGNORED
}

ps: nei wiem po co mieszasz engine z fakemeta, uzyj jednego modulu


  • +
  • -
  • 1

#3 Bunker

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:12
Offline

Napisano 13.09.2015 20:31

Dzięki Asiap niestety mam jeszcze jeden problem tym razem z set_task

Kod wyglada w ten sposob

public ZacznijLeczyc(iEnt, id)
{
	static szClassName[32];
	entity_get_string(iEnt, EV_SZ_classname, szClassName, 31);
	if(equal(szClassName, "Apteczka"))
	{
		new tdData[1]
		tdData[0]=id
		set_task(Float:1.0,"ZaleczanieRan",6973,tdData , sizeof( tdData ))
		return FMRES_IGNORED
	}
	return FMRES_IGNORED
}

public ZaleczanieRan(id)
{
        aktualnepz[id]=get_user_health(id)
	set_user_health(id,(aktualnepz[id]+1))
}

Chciałem aby co sekundę dodawało jeden hp ale niestety set_task nie działa. Proszę o wskazanie mi błędu/błędów jakie popełniłem.

Za odpowiedzi jak zawsze bardzo dziękuję :D


Użytkownik Bunker edytował ten post 13.09.2015 20:32

  • +
  • -
  • 0

#4 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 13.09.2015 21:15

set_task(1.0,"ZaleczanieRan", id)

 

i to nie bedzie leczyc co sekunde tylko za sekunde


  • +
  • -
  • 1

#5 Bunker

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:12
Offline

Napisano 20.09.2015 15:44

dzięki Asiap :D

Mam jeszcze ostatnie 2 pytania.

Chciałbym aby ten ent apteczki był wyrzucany jak bronie. Czy da się to zrobić i jeśli tak to jak to się robi?

Czytałem to http://amxx.pl/topic...rzedza-graczem/ ale mało co zrozumiałem :/


  • +
  • -
  • 0

#6 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 20.09.2015 19:03

musisz ustawic movetype na MOVETYPE_TOSS


  • +
  • -
  • 0

#7 Bunker

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:12
Offline

Napisano 21.09.2015 10:00

Mam to ale chodzi mi o sam ruch tego enta do przodu (tak jak jest to w przypadku wyrzucenia broni/bomby. Tak jakbym użył przycisku "g" do wywalenia apteczki. Nie chciałbym też podmieniać żadnej broni/paki :)


  • +
  • -
  • 0

#8 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 21.09.2015 12:18   Najlepsza odpowiedź

velocity_by_aim

 

kod z mojego pluginu

static Float:fVelocity[3], fOrigin[3];

velocity_by_aim(id, 300, fVelocity); // pobranie wektora o dlugosci 300 w strone ktora patrzy gracz
fVelocity[2] += 100; // dodanie 100 do kata odchylenia od osi x

pev(id, pev_origin, fOrigin); // pobranie pozycji gracza

set_pev(iEnt, pev_origin, fOrigin); // ustawienie entowi pozycji gracza
set_pev(iEnt, pev_movetype, MOVETYPE_TOSS); // ustawie rodzaju ruchu entowi
set_pev(iEnt, pev_velocity, fVelocity); // ustawienie szybkosci entowi

  • +
  • -
  • 1




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

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