Page 1 of 1
Find entity
Posted: 2013 Jan 19 20:40
by MPD
Sveiki, susidūriau su problema - ar įmanoma surasti entity id turint jo pavadinimą(name)? Kiek ieškojau radau tik šituos:
Code: Select all
find_ent_by_class( StartEntity, Classname[] ) find_ent_by_model( StartEntity, Classname[], Model[] ) find_ent_by_owner( StartIndex, Classname[], OwnerEntity, [ type ] ) find_ent_by_target( StartEntity, Classname[] ) find_ent_by_tname( StartEntity, Classname[] ) find_ent_in_sphere( StartEntity, Float:origin[3], Float:radius ) find_sphere_class( aroundent, _lookforclassname[], Float:radius, entlist[], maxents, Float:origin[3] = {0.0, 0.0, 0.0} )
O nė vienas iš jų nėra entity radimas pagal pavadinimą (name)
Re: Find entity
Posted: 2013 Jan 19 21:27
by beast
Pats pirmas tavo sąraše.
Arba jei nori pagal targetname, tai find_ent_by_tname
Re: Find entity
Posted: 2013 Jan 19 22:49
by hleV
Entity neturi "name" reikšmės.
Re: Find entity
Posted: 2013 Jan 19 22:55
by aaarnas
Jau greičiau classname.
Re: Find entity
Posted: 2013 Jan 19 23:04
by MPD
Kaikuriem entity, kuriant žemėlapį, yra priskiriamas vardas (properties -> name -> norimas_pavadinimas), dažniausiai dėl mygtukų ar multi_manager.
Tai kaip suprantu, nėra tokios funkcijos, kad rasčiau būtent pagal suteiktą name?
Re: Find entity
Posted: 2013 Jan 19 23:10
by aaarnas
Tai tas name nebus classname ?
Arba tada reikės key value gauti.
Dar gali pamėginti:
Code: Select all
stock find_ent_by_globalname(startent, globalname[]) { new string[20], max_ent = entity_count() for (;startent < max_ent;startent++) { if (!is_valid_ent(startent)) continue; entity_get_string(startent, EV_SZ_globalname, string, charsmax(string)) if (equal(string, globalname)) return startent; } return -1;}
Gal tas globalname yra tai ko tau reikia.
Šiaip geriau būtų per classname, o efektyviausia būtų susikurti žemėlapio cfg failą, kur visus entity susiregistruoti ir iš karto visko ID turėsi. Nebent nori, kad nereiktų failų kurti ir serveris pats viską susirastų.
Re: Find entity
Posted: 2013 Jan 19 23:21
by beast
MPD wrote:Kaikuriem entity, kuriant žemėlapį, yra priskiriamas vardas (properties -> name -> norimas_pavadinimas), dažniausiai dėl mygtukų ar multi_manager.
Tai kaip suprantu, nėra tokios funkcijos, kad rasčiau būtent pagal suteiktą name?
beast wrote:Arba jei nori pagal targetname, tai find_ent_by_tname
Per vhe įjungus SmartEdit rašo Name, o išjungus targetname.
Re: Find entity
Posted: 2013 Jan 19 23:26
by MPD
Gerai, supratau. Ryt su šviežia galva viską patikrinsiu.