Page 1 of 2

entity

Posted: 2013 Jun 09 22:36
by alfre
kaip uzfiksuoti,kai zaidejas ct komandoje yra prie pat entity?

Code: Select all

public priepat1(ent){    new iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "entt")              new iPlayers[ 32 ], iNum;         get_players( iPlayers, iNum, "a", "CT" );              new Float:flClosestDist = 150.0;         new iPlayer, Float:flDist;         new victim        for( new i = 0; i < iNum; i++ )         {             iPlayer = iPlayers[ i ];             flDist = entity_range( iPlayer, iEntity );                      if( flDist <= flClosestDist )             {             blablabla           }       } }
neveikia. su origin veikia,bet man reikia, kad prie pat entity,nes entity sukuriama daug.

Re: entity

Posted: 2013 Jun 10 00:40
by aaarnas
Šiaip viskas gerai. Tik, kad jei nori prie pat, tai 150.0 daugoka. O šiaip, tai turėtų gerai veikti, jei entity turi nustatytą normaliai origin tikrinimo metu. Ir jeigu "iEntity" yra tavo tas objektas, iki kurio atstumą ir skaičiuoji.

Re: entity

Posted: 2013 Jun 10 09:41
by alfre
iEntity nera nustatytas origin. pagal ta pavadinima iesko,o ne pagal origin

Re: entity

Posted: 2013 Jun 10 10:37
by aaarnas
alfre wrote:iEntity nera nustatytas origin. pagal ta pavadinima iesko,o ne pagal origin
engfunc(EngFunc_FindEntityByString, iEntity....

Suranda tavo objekto id.

entity_range išgauna žaidėjo ir to objekto vietos koordinates ir paskaičiuoja atstumą tarp jų.

Re: entity

Posted: 2013 Jun 10 11:00
by alfre
o jeigu objektu daugiau negu 1?

Re: entity

Posted: 2013 Jun 10 21:46
by aaarnas
Šitas kodas ras tik pirmą pasitaikiusį (su mažiausiu ID) objektą.
Be to, parametras "ent" niekur nepanaudojamas, jei su juo kažką darai.

Re: entity

Posted: 2013 Jun 11 00:29
by alfre
o tai kaip tada ieskot ne pagal pirma pasitaikiusi o pagal visus?

Re: entity

Posted: 2013 Jun 12 11:16
by aaarnas
Tai visą šitai dėti į while ciklą, kur engfunc yra ciklo sąlyga.

Re: entity

Posted: 2013 Jun 13 12:58
by alfre
dekui,bet pasidariau sitaip :
register_touch("spit_ent", "player", "FwdPlayerTouchTriggerOnce");

Re: entity

Posted: 2013 Jun 13 14:45
by aaarnas
Na matai. Būvimas netoliese != palietimui.
Jei palietimo tau ir reikėjo, tai beabejo tokiu metodu.