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

Granat odpychający


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 MyBot

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:61
  • Lokalizacja:Jelenia Góra
Offline

Napisano 19.09.2010 08:55

Witam i szukam pluginu co po wyrzuceniu He (Granatu Wybuchowego) Odpycha i to daleko

Właściwości mają byc takie:

Granat ma odpychać Ct czyli np jak mnie goni ct to ja rzucam pośrodku nas he i tylko go odpycha a mnie zostawia w spokoju

i na odwrót czyli ct rzuci he tylko tt odpycha

Oczywiście będą karmy + :)
  • +
  • -
  • 0
Nowy Serwer Fragownia [HnS Easy Block] [NoSlow] S/NS !!!

188.165.209.38:27223 ---> [HnS Easy Block]

#2 kyku

    Wszechmogący

  • Użytkownik

Reputacja: 166
Profesjonalista

  • Postów:612
  • Lokalizacja:Jasło
Offline

Napisano 19.09.2010 09:33

#include <amxmodx>
#include <engine>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>

#define PLUGIN "odpychajacy HE"
#define VERSION "1.0"
#define AUTHOR "kyku"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
	// Add your code here...
}
public fw_ThinkGrenade(entity)
{

	if (!pev_valid(entity)) return HAM_IGNORED;

	static Float:dmgtime
	pev(entity, pev_dmgtime, dmgtime)

	if (dmgtime > get_gametime())
		return HAM_IGNORED;

	if (!is_user_connected(pev(entity, pev_owner)))
		return HAM_IGNORED;
	if(get_user_weapon(pev(entity, pev_owner))!=CSW_HEGRENADE)
		return HAM_IGNORED;
	
	new Float:origin[3], Float:origin2[3]; 
	
	
	// ~~~~~~~~~~~~~~ TUTAJ USTAWIENIA ~~~~~~~~~~~~~~
	
	new Float:sila = 1000.0; // tu zmieniasz sile
	new Float:dystans_wybuchu = 500.0; // tu zasieg wybuchu
	
	// ~~~~~~~~~~~~~~ KONIEC USTAWIEN ~~~~~~~~~~~~~~
	
	
	
	for(new i=1;i<33;i++)if(is_user_alive(i)&&get_user_team(i)!=get_user_team(pev(entity, pev_owner))){
		entity_get_vector(i, EV_VEC_origin, origin2);entity_get_vector(entity, EV_VEC_origin, origin);

		new Float: wynik = sila - (sila*(get_distance_f(origin, origin2)/dystans_wybuchu));
		// akurat takie obliczanie sily wpadlo do glowy <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/tongue.gif' class='bbc_emoticon' alt=':P' /> 
		//przyklad: 1000 - (1000 * (300 / 500)) = 400 czyli sila wybuchu bedzie rowna 400/1000 gdy bedzie stal w odleglosci 300/500 units
		
	
		if(sila)set_velocity_from_origin(i, origin, wynik);
	}
	
	//engfunc(EngFunc_RemoveEntity, entity)
	return HAM_SUPERCEDE;
}
stock get_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3] )
{
    new Float:fEntOrigin[3];
    entity_get_vector( ent, EV_VEC_origin, fEntOrigin );



    new Float:fDistance[3];
    fDistance[0] = fEntOrigin[0] - fOrigin[0];
    fDistance[1] = fEntOrigin[1] - fOrigin[1];
    fDistance[2] = fEntOrigin[2] - fOrigin[2];

    new Float:fTime = ( vector_distance( fEntOrigin,fOrigin ) / fSpeed );

    fVelocity[0] = fDistance[0] / fTime;
    fVelocity[1] = fDistance[1] / fTime;
    fVelocity[2] = fDistance[2] / fTime;

    return ( fVelocity[0] && fVelocity[1] && fVelocity[2] );
}



stock set_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed )
{
    new Float:fVelocity[3];
    get_velocity_from_origin( ent, fOrigin, fSpeed, fVelocity )

    entity_set_vector( ent, EV_VEC_velocity, fVelocity );

    return ( 1 );
}
Powinno dzialac :P

Dodano 19 wrzesień 2010 - 10:35:
jesli nie bedzie wypychalo (lub za slabo) w gore dodaj przed
if(sila)set_velocity_from_origin(i, origin, wynik);
origin[2] += wynik/2; // w gore wybija 2 razy slabiej niz w bok, jak chcesz mizesz zmienic na ile chcesz

Użytkownik kyku edytował ten post 19.09.2010 09:36

  • +
  • -
  • 0




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

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