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

[ROZWIĄZANE] Najechanie na byt


  • Zamknięty Temat jest zamknięty
21 odpowiedzi w tym temacie

#1 Nenczoks

    Banned

  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 09.12.2011 22:13

Witam,

Jaka jest funkcja na to, aby po najechaniu celownikiem na byt, tu chodzi mi o pakę wykonywała się dana czynność? Nie mogę niestety zbytnio znaleźć w dokumentacji odnośnie bomby.

Użytkownik Nenczoks edytował ten post 09.12.2011 22:13


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 09.12.2011 22:21

get_user_aiming
najechanie na gracza możesz wykryć poprzez register_event statusvalue/statustext
  • +
  • -
  • 0

#3 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 09.12.2011 23:16

http://forums.allied...d.php?p=1419078 - a tutaj? Bo ja chciałem zrobić coś takiego, że celownikiem na bombę i wyświetli się tekst, hmm?

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 10.12.2011 11:02

Emp` podał kod w tamtym temacie
stock Float:get_user_aiming2( iPlayer, &id, &body=0, dist=9999 )
{
	new Float:vStart[3], Float:vEnd[3], Float:vReturn[3];
	GetOriginOutsidePlayer( iPlayer, vStart );
	velocity_by_aim( iPlayer, dist, vEnd );
	xs_vec_add( vStart, vEnd, vEnd );

	#if defined _engine_included
		id = trace_line(0, vStart, vEnd, vReturn);
		body = traceresult( TR_Hitgroup );
		return get_distance_f( vStart, vReturn );
	#else
		engfunc(EngFunc_TraceLine, vStart, vEnd, DONT_IGNORE_MONSTERS, 0, 0);
		id = get_tr2(0, TR_pHit);
		body = get_tr2(0, TR_iHitgroup);
		get_tr2(0, TR_vecEndPos, vReturn);
		return get_distance_f( vStart, vReturn );
	#endif
}

stock GetOriginOutsidePlayer( iPlayer, Float:vecReturn[ 3 ] )
{
	velocity_by_aim( iPlayer, 1, vecReturn );

	new Float:vAbsAim[3];
	vAbsAim[0] = floatabs( vecReturn[0] );
	vAbsAim[1] = floatabs( vecReturn[1] );
	vAbsAim[2] = floatabs( vecReturn[2] );

	new longest_axis;
	if( vAbsAim[1] > vAbsAim[0] && vAbsAim[1] > vAbsAim[2] )
		longest_axis = 1;
	else if( vAbsAim[2] > vAbsAim[0] && vAbsAim[2] > vAbsAim[1] )
		longest_axis = 2;

	new Float:box[3];
	pev( iPlayer, ( vecReturn[ longest_axis ] < 0.0 ) ? pev_mins : pev_maxs, box );

	xs_vec_mul_scalar( vecReturn, ( ( 1.0 + floatabs( box[ longest_axis ] ) ) / ( vAbsAim[ longest_axis ] ) ), vecReturn );

	new Float:vOrigin[3];
	pev( iPlayer, pev_origin, vOrigin );
	xs_vec_add( vecReturn, vOrigin, vecReturn );
}

  • +
  • -
  • 0

#5 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 10.12.2011 16:43

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <xs>

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


new const g_classname[] = "classname"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_forward(FM_PlayerPreThink, "ltm_PreThink");
}

public ltm_PreThink(id)
{
new ent, body;
get_user_aiming2(id, ent, body);

new const c4 = engfunc(EngFunc_FindEntityByString, FM_NULLENT, g_classname, "weapon_c4")

if( ent == c4 )
{
get_user_aiming(id, ent, body);
set_hudmessage(255, 255, 0, -1.0, 0.62, 0, 6.0, 0.5);
show_hudmessage(id, "Test");
}

return FMRES_IGNORED;
}

stock Float:get_user_aiming2( iPlayer, &id, &body=0, dist=9999 )
{
new Float:vStart[3], Float:vEnd[3], Float:vReturn[3];
GetOriginOutsidePlayer( iPlayer, vStart );
velocity_by_aim( iPlayer, dist, vEnd );
xs_vec_add( vStart, vEnd, vEnd );

#if defined _engine_included
id = trace_line(0, vStart, vEnd, vReturn);
body = traceresult( TR_Hitgroup );
return get_distance_f( vStart, vReturn );
#else
engfunc(EngFunc_TraceLine, vStart, vEnd, DONT_IGNORE_MONSTERS, 0, 0);
id = get_tr2(0, TR_pHit);
body = get_tr2(0, TR_iHitgroup);
get_tr2(0, TR_vecEndPos, vReturn);
return get_distance_f( vStart, vReturn );
#endif
}

stock GetOriginOutsidePlayer( iPlayer, Float:vecReturn[ 3 ] )
{
velocity_by_aim( iPlayer, 1, vecReturn );

new Float:vAbsAim[3];
vAbsAim[0] = floatabs( vecReturn[0] );
vAbsAim[1] = floatabs( vecReturn[1] );
vAbsAim[2] = floatabs( vecReturn[2] );

new longest_axis;
if( vAbsAim[1] > vAbsAim[0] && vAbsAim[1] > vAbsAim[2] )
longest_axis = 1;
else if( vAbsAim[2] > vAbsAim[0] && vAbsAim[2] > vAbsAim[1] )
longest_axis = 2;

new Float:box[3];
pev( iPlayer, ( vecReturn[ longest_axis ] < 0.0 ) ? pev_mins : pev_maxs, box );

xs_vec_mul_scalar( vecReturn, ( ( 1.0 + floatabs( box[ longest_axis ] ) ) / ( vAbsAim[ longest_axis ] ) ), vecReturn );

new Float:vOrigin[3];
pev( iPlayer, pev_origin, vOrigin );
xs_vec_add( vecReturn, vOrigin, vecReturn );
}



i nie działa.

Użytkownik Nenczoks edytował ten post 10.12.2011 16:43


#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 10.12.2011 16:59

jakieś logi masz ?
  • +
  • -
  • 0

#7 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 10.12.2011 18:11

Nie.

#8 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 10.12.2011 19:56

Głupio spytam, włączyłeś moduły i masz xs ?
  • +
  • -
  • 0

#9 Kukol

    Zaawansowany

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 10.12.2011 20:15

Głupio spytam, włączyłeś moduły i masz xs ?


Moduły włączają się same, a gdyby nie miał xs to by nie skompilował. ;F

#10 Gh0st

    :)

  • Power User

Reputacja: 852
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 10.12.2011 20:17

Fili'emu chodziło o plik modules.ini ... czy tam masz odblokowane moduły
  • +
  • -
  • 0

#11 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 10.12.2011 20:46

Fili'emu chodziło o plik modules.ini ... czy tam masz odblokowane moduły

Dokładnie.
  • +
  • -
  • 0

#12 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 10.12.2011 23:15

A może to jest powód tego, że paka ma model choinki? A co do tego, dodałem do modules ini "xs" i nadal nie pokazuje po najechaniu na c4 "test". Czy ktoś może podjąć się zrobienia tego? Dla Was to proste :)

#13 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 11.12.2011 15:24

xs to nie moduł

A może to jest powód tego, że paka ma model choinki

tak to też może mieć znaczenie jeśli ta choinka to odzielnny ent i ma nadane mins i maxs
  • +
  • -
  • 0

#14 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 16.12.2011 22:03

Sprawdziłem to, wyłączyłem plugin i niestety nadal nie pokazuje.

Hm?

Dalej czekam.

#15 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 16.12.2011 22:05

a podłożona paka nie ma przypadkiem classname grenade
sprawdź za pomocą tego http://amxx.pl/topic...ine-entity-lab/
  • +
  • -
  • 0

#16 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 16.12.2011 22:30

weapon_c4 masz jak ją wyrzucisz na ziemie bodajże a jak jest podlozona to jest grenade i trzeba sprawdzić model najlepiej
  • +
  • -
  • 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

#17 Stachuu :D ??

    Wszechobecny

  • Użytkownik

Reputacja: 237
Wszechwidzący

  • Postów:476
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Karsznice
Offline

Napisano 17.12.2011 07:53

find_ent_by_model(-1, "grenade", "models/w_c4.mdl"))
)
  • +
  • -
  • 0

#18 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 17.12.2011 16:40

/* Plugin generated by AMXX-Studio*/

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <xs>
#include <engine>

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


new const g_classname[] = "classname"
new const g_c4[] = find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl"))
//"weapon_c4"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_forward(FM_PlayerPreThink, "ltm_PreThink");
}

public ltm_PreThink(id)
{
new ent, body;
get_user_aiming2(id, ent, body);

new const c4 = engfunc(EngFunc_FindEntityByString, FM_NULLENT, g_classname, g_c4) //if(find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl"))

if( ent == c4 )//if(find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl"))
{
get_user_aiming(id, ent, body);
set_hudmessage(255, 255, 0, -1.0, 0.62, 0, 6.0, 0.5);
show_hudmessage(id, "Test");
}
return FMRES_IGNORED;
}

stock Float:get_user_aiming2( iPlayer, &id, &body=0, dist=9999 )
{
new Float:vStart[3], Float:vEnd[3], Float:vReturn[3];
GetOriginOutsidePlayer( iPlayer, vStart );
velocity_by_aim( iPlayer, dist, vEnd );
xs_vec_add( vStart, vEnd, vEnd );

#if defined _engine_included
id = trace_line(0, vStart, vEnd, vReturn);
body = traceresult( TR_Hitgroup );
return get_distance_f( vStart, vReturn );
#else
engfunc(EngFunc_TraceLine, vStart, vEnd, DONT_IGNORE_MONSTERS, 0, 0);
id = get_tr2(0, TR_pHit);
body = get_tr2(0, TR_iHitgroup);
get_tr2(0, TR_vecEndPos, vReturn);
return get_distance_f( vStart, vReturn );
#endif
}

stock GetOriginOutsidePlayer( iPlayer, Float:vecReturn[ 3 ] )
{
velocity_by_aim( iPlayer, 1, vecReturn );

new Float:vAbsAim[3];
vAbsAim[0] = floatabs( vecReturn[0] );
vAbsAim[1] = floatabs( vecReturn[1] );
vAbsAim[2] = floatabs( vecReturn[2] );

new longest_axis;
if( vAbsAim[1] > vAbsAim[0] && vAbsAim[1] > vAbsAim[2] )
longest_axis = 1;
else if( vAbsAim[2] > vAbsAim[0] && vAbsAim[2] > vAbsAim[1] )
longest_axis = 2;

new Float:box[3];
pev( iPlayer, ( vecReturn[ longest_axis ] < 0.0 ) ? pev_mins : pev_maxs, box );

xs_vec_mul_scalar( vecReturn, ( ( 1.0 + floatabs( box[ longest_axis ] ) ) / ( vAbsAim[ longest_axis ] ) ), vecReturn );

new Float:vOrigin[3];
pev( iPlayer, pev_origin, vOrigin );
xs_vec_add( vecReturn, vOrigin, vecReturn );
}


Popatrz gdzie to wstawialem, nadal nie działa.
@DarkGL - nie znam tego kodowania.

Użytkownik Nenczoks edytował ten post 17.12.2011 16:43


#19 Stachuu :D ??

    Wszechobecny

  • Użytkownik

Reputacja: 237
Wszechwidzący

  • Postów:476
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Karsznice
Offline

Napisano 17.12.2011 21:33

daj moze

new c4
    if ((c4 = find_ent_by_model(-1, "grenade", g_c4)))

zamiast


new const c4 = engfunc(EngFunc_FindEntityByString, FM_NULLENT, g_classname, g_c4) //if(find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl"))



  • +
  • -
  • 0

#20 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 17.12.2011 21:39

nie znam tego kodowania.

???:(

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <xs>
#include <engine>

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


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_forward(FM_PlayerPreThink, "ltm_PreThink");
}

public ltm_PreThink(id)
{
	new ent, body;
	get_user_aiming2(id, ent, body);
	
	new const c4 = find_ent_by_model(-1, "grenade", "models/c14-cristmastree.mdl");
	
	if( ent && c4 && ent == c4 ){
		get_user_aiming(id, ent, body);
		set_hudmessage(255, 255, 0, -1.0, 0.62, 0, 6.0, 0.5);
		show_hudmessage(id, "Test");
	}
	return FMRES_IGNORED;
}

stock Float:get_user_aiming2( iPlayer, &id, &body=0, dist=9999 )
{
	new Float:vStart[3], Float:vEnd[3], Float:vReturn[3];
	GetOriginOutsidePlayer( iPlayer, vStart );
	velocity_by_aim( iPlayer, dist, vEnd );
	xs_vec_add( vStart, vEnd, vEnd );
	
	#if defined _engine_included
	id = trace_line(0, vStart, vEnd, vReturn);
	body = traceresult( TR_Hitgroup );
	return get_distance_f( vStart, vReturn );
	#else
	engfunc(EngFunc_TraceLine, vStart, vEnd, DONT_IGNORE_MONSTERS, 0, 0);
	id = get_tr2(0, TR_pHit);
	body = get_tr2(0, TR_iHitgroup);
	get_tr2(0, TR_vecEndPos, vReturn);
	return get_distance_f( vStart, vReturn );
	#endif
}

stock GetOriginOutsidePlayer( iPlayer, Float:vecReturn[ 3 ] )
{
	velocity_by_aim( iPlayer, 1, vecReturn );
	
	new Float:vAbsAim[3];
	vAbsAim[0] = floatabs( vecReturn[0] );
	vAbsAim[1] = floatabs( vecReturn[1] );
	vAbsAim[2] = floatabs( vecReturn[2] );
	
	new longest_axis;
	if( vAbsAim[1] > vAbsAim[0] && vAbsAim[1] > vAbsAim[2] )
		longest_axis = 1;
	else if( vAbsAim[2] > vAbsAim[0] && vAbsAim[2] > vAbsAim[1] )
		longest_axis = 2;
	
	new Float:box[3];
	pev( iPlayer, ( vecReturn[ longest_axis ] < 0.0 ) ? pev_mins : pev_maxs, box );
	
	xs_vec_mul_scalar( vecReturn, ( ( 1.0 + floatabs( box[ longest_axis ] ) ) / ( vAbsAim[ longest_axis ] ) ), vecReturn );
	
	new Float:vOrigin[3];
	pev( iPlayer, pev_origin, vOrigin );
	xs_vec_add( vecReturn, vOrigin, vecReturn );
}
lub
zamiast c14-cristmastree.mdl daj standardowy model c4
sprawdzić możesz go przy pomocy pluginu który podałem wcześniej

  • +
  • -
  • 1




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

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