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.