←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Jak daleko poleciał granat

  • +
  • -
Eryk172's Photo Eryk172 10.09.2014

Witam, istnieje funkcja która zwraca jak daleko poleciał granat ? na przykład Smoke

 

Dziękuje  ^D^

Quote

PowerShot's Photo PowerShot 11.09.2014

TAK ISTNIEJE
 

Quote

  • +
  • -
G[o]Q's Photo G[o]Q 11.09.2014

2 opcje:
-lapiesz spawn granatu i touch ziemi pobierasz coordy w obu przypadkach i liczysz odległość

-pobierasz prędkość granatu w spawn post i obliczasz na jej podstawie gdzie uderzy w ziemie i liczysz odleglosc

Quote

  • +
  • -
Puchate's Photo Puchate 11.09.2014

 

-pobierasz prędkość granatu w spawn post i obliczasz na jej podstawie gdzie uderzy w ziemie i liczysz odleglosc

Nie tylko predkosc odpowiada za to gdzie granat wybuchnie ;)
 

 

-lapiesz spawn granatu i touch ziemi pobierasz coordy w obu przypadkach i liczysz odległość

 

 

Nie touch ziemii, tylko moment jego wybuchu

Quote

  • +
  • -
G[o]Q's Photo G[o]Q 11.09.2014


Nie touch ziemii, tylko moment jego wybuchu

 

tak wiem nie wiem czemu ale myslalem ze chodzi o odleglosc pierwszego uderzenia

Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 11.09.2014

Tu właśnie zależy, czy liczymy to, gdzie się 1 raz odbije czy to, gdzie spadnie.

Co do wybuchu, żeby być "szybszym" można złapać nie tylko moment wybuchu, ale też moment, gdy granat się zatrzyma, co może nastąpić wcześniej niż wybuch, wtedy podamy dystans zanim granat wybuchnie :)
Quote

  • +
  • -
Eryk172's Photo Eryk172 11.09.2014

TAK ISTNIEJE


Nagroda w postaci reputacji adekwatna do wypowiedzi ^D^

 

Coś z tego będzie ?  :wstyd:

RegisterHam(Ham_Touch,"grenade","fwTouch")


new Float:preOrigin[3]; // Pozycja Gracza
new Float:vfOrigin[3]; // Pozycja Smoke

public grenade_throw(id, idGranade, wId){
	if(wId==CSW_SMOKEGRENADE){
		pev(id, pev_origin, preOrigin);
	}
	
	return PLUGIN_CONTINUE;
}

public fw_touch(touched, toucher)
{
    static class[32],Float:forigin[3];
    pev(toucher, pev_classname, class, sizeof class - 1);
    pev(toucher, pev_origin, forigin);
    
    if(containi(class, "grenade") != -1 && !touched)
    {
        new wid = get_pdata_int(toucher,OFFSET_ENT_TO_INDEX);
        if(wid == CSW_SMOKE)
		{
			pev(toucher, pev_origin, vfOrigin);
		}
    }
}
Quote

  • +
  • -
Puchate's Photo Puchate 11.09.2014

Porownywanie ciagu znakow w czesto wykonujacych sie funkcjach jest istnym marnotrawstwem mocy obliczeniowej.

 

 
 
Zalacznik, w sumie ma to sens jakis

 

Attached Files


Edited by Puchate, 11.09.2014 21:27.
Quote

  • +
  • -
Eryk172's Photo Eryk172 12.09.2014

Liczyć będzie to bardzo rzadko, do max kilku razy na mapę.

 

Który kod obciąży bardziej serwer, mój czy Twój?

 

Quote

PowerShot's Photo PowerShot 12.09.2014

Eryk plugin 

Puchate

mniej obciąży testowalem.

Quote

  • +
  • -
Eryk172's Photo Eryk172 14.09.2014

Eryk plugin 

Puchate

mniej obciąży testowalem.

 

Dobrze zrozumiałem, że plugin puchate mniej obciąży serwer?

Quote