« Réunion du 14-06-2022 » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 234 : | Ligne 234 : | ||
[11:28] Ubit Umarov : bien sur les changements récents d'opensim, pas grand chose. | [11:28] Ubit Umarov : bien sur les changements récents d'opensim, pas grand chose. | ||
[11:29] Ubit Umarov: | [11:29] Ubit Umarov : j'ai essayé de rendre fsassets un peu plus robuste quand on utilise plusieurs instances. | ||
[11:30] Ubit Umarov: fsassets | |||
[11:30] Ubit Umarov: | [11:30] Ubit Umarov : fsassets stocke les assets dans un dossier et un dossier temporaire, et un thread les copie périodiquement dans le dossier principal et les supprime... | ||
[11:31] Ubit Umarov: | |||
[11:31] Ubit Umarov: | [11:30] Ubit Umarov : il ne peut y avoir qu'un seul thread comme ça, car le code n'a pas de provision pour le verrouillage des fichiers, et linux semble être un gros échec. | ||
[11:32] Ubit Umarov: | |||
[11:32] Ubit Umarov: | [11:31] Ubit Umarov : il y a quelque temps, Alicia a ajouté du code pour s'assurer qu'il n'y a qu'un seul thread sur un processus (qui peut lancer plusieurs instances de fsassets). | ||
[11:31] Ubit Umarov : j'ai enfermé cela sur LOCK pour être sûr qu'il n'y en ait qu'un seul. | |||
[11:32] Ubit Umarov : puis j'ai ajouté une entrée ini pour signaler les services secondaires fonctionnant sur d'autres processus, afin qu'ils n'essaient pas de les exécuter. | |||
[11:32] Ubit Umarov : ce n'est pas une belle solution... mais voyons voir... | |||
[11:33] Ubit Umarov: this issue may had cause a gird to lose data | [11:33] Ubit Umarov: this issue may had cause a gird to lose data | ||
[11:33] Vincent.Sylvester @hg.zetaworlds.com:8002: A well placed lock can prevent a lot of trouble hehe | [11:33] Vincent.Sylvester @hg.zetaworlds.com:8002: A well placed lock can prevent a lot of trouble hehe |
Version du 27 juin 2022 à 18:01
Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-06-14
Introduction
[11:00] Ubit Umarov : oh andrew est arrivé exactement à l'heure.
[11:00] Andrew Hellershanks : Bonjour, tout le monde.
[11:01] Ubit Umarov : motoko sous une forme plus humaine, si on ignore les yeux et les oreilles rouges.
[11:01] Motoko.Karu @login.digiworldz.com:8002 : motoko occasionnelle aujourd'hui :)
[11:02] Ubit Umarov : :)
Suivi de bogues
[11:02] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il ne s'est pas passé grand chose cette semaine, je continue à suivre les problèmes qui ont fait de leur mieux pour ne pas me donner de numéros de ligne sur les stacktraces.
[11:02] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je reçois plus de rapports de problèmes dernièrement après la dernière version de mono, ce qui me fait craindre qu'il y ait des bugs.
[11:02] Vincent.Sylvester @hg.zetaworlds.com:8002 : Difficile de tester de telles choses
[11:03] Ubit Umarov : ces dernières semaines j'ai été plus occupé à faire des bugs asm pic16f.
[11:03] Motoko.Karu @login.digiworldz.com:8002 : ohhh.. o_o pic microchip... sympa...
[11:04] Ubit Umarov : un petit 16f1823 dans ce cas :)
[11:04] Motoko.Karu @login.digiworldz.com:8002 : j'espère que ce n'est pas le 16f84 :)
[11:04] Andrew Hellershanks : Ubit, les miracles se produisent ;)
[11:04] Ubit Umarov : En gros, ça marche.
[11:04] Ubit Umarov : f84 c'était super.
[11:05] Andrew Hellershanks : Bah, PIC. AVR, FTW ;)
[11:05] Ubit Umarov : 1823 14 est un dérivé moderne ... enfin pas si moderne que ça maintenant.
[11:05] Andrew Hellershanks : Bonjour, Selby.
[11:05] Motoko.Karu @login.digiworldz.com:8002 : c'était bien pour les choses simples... avec a2d... c'est devenu ridicule.
[11:05] Selby.Evans @grid.kitely.com:8002 : bonjour à tous.
[11:05] Ubit Umarov : petit boîtier 14pin etc.
[11:05] Motoko.Karu @login.digiworldz.com:8002 : J'ai fini par en trouver un qui avait intégré a2d.
[11:05] Motoko.Karu @login.digiworldz.com:8002 : plus tard déplacé vers avr
[11:05] Ubit Umarov : salut selby.Evans
[11:05] Motoko.Karu @login.digiworldz.com:8002 : le changement de banque m'a toujours eu...
[11:05] Ubit Umarov : bien avr est aussi microchip maintenant
[11:06] Ubit Umarov : oui c'est une douleur, source de beaucoup de bogues.
[11:06] Andrew Hellershanks : Le changement de banque est l'une des choses qui m'ont fait renoncer aux PICs.
[11:06] Ubit Umarov : aussi des pages de rom effrayantes.
[11:06] Ubit Umarov : mais pas de problème sur le 1823... toutes les roms tiennent sur une seule page.
[11:07] Ubit Umarov : 24 également si je me souviens bien.
[11:07] Ubit Umarov : J'ai détesté la 508.
[11:07] Ubit Umarov : quand j'ai été obligé de l'utiliser...
[11:08] Andrew Hellershanks : Il n'y a pas beaucoup de monde aujourd'hui. Je vais attendre encore quelques minutes avant de commencer.
[11:08] Ubit Umarov : Je voulais utiliser l'avr... mais le client voulait 12f508 au maximum 509.
[11:08] Motoko.Karu @login.digiworldz.com:8002 : Je n'ai jamais beaucoup joué avec les 12F.
[11:09] Ubit Umarov : 171822/23/24 pour des petits projets, c'est génial :)
[11:09] Motoko.Karu @login.digiworldz.com:8002 : je voulais passer à 18F... puisque beaucoup avaient des options multiples...
[11:09] Ubit Umarov : oops
[11:09] Ubit Umarov : correction de fautes de frappe : donc 1822/23/24 pour les petits projets, c'est génial :)
[11:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Andrew, j'ai presque terminé le truc de la recherche maintenant, il ne reste que quelques cas limites étranges qui font que la recherche se lance sans raison. Il semble que le viewer envoie une chaîne de recherche vide pour vérifier si c'est disponible ou quelque chose, je ne suis pas sûr de ce qui se passe alors, mais je continue à obtenir des erreurs de termes de recherche invalides juste en restant sur une région.
[11:09] Ubit Umarov : avant j'ai utilisé le 684 :)
[11:09] Ubit Umarov : modèles similaires
[11:10] Ubit Umarov : et bf bien sûr f84
[11:10] Andrew Hellershanks : Vincent, sur quelles recherches as-tu travaillé ?
[11:11] Ubit Umarov : bien sûr, maintenant tout le monde utilise arduino... duhhhh
[11:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les lieux, les ventes de terrains et les petites annonces fonctionnent correctement maintenant.
[11:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : Pour Événements, je n'ai encore rien à tester car la procédure est manquante donc rien dans la table pour le moment.
[11:11] Ubit Umarov : toujours impressionné par le prix de vente des arduinos actuels fabriqués en Chine.
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai nettoyé quelques trucs là-dedans pour rendre les requêtes plus concises.
[11:12] Andrew Hellershanks : Ubit, ils sont souvent ridiculement bon marché.
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : Un peu de désordre avec les tables
[11:12] Ubit Umarov : le coût est inférieur à celui du processeur.
[11:12] Ubit Umarov : si on va acheter les pièces...
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : A l'origine, je voulais réutiliser les fonctions pour la recherche web, mais cela n'a pas fonctionné.
[11:12] Andrew Hellershanks : Vincent, ok. C'est pour la recherche de base ?
[11:13] Motoko.Karu @login.digiworldz.com:8002 : J'avais l'habitude de poopoo arduinos... et j'avais besoin de faire un projet pour un client, dans l'urgence.... j'ai pu obtenir quelque chose de bricolé, avec un arduino en quelques heures.... <pour passer de zéro à la production>
[11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : Dérivé de celui que vous maintenez oui
[11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : Simplement écrit avec le framework CodeIgniter pour le rendre plus accessible.
[11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mais cela peut être facilement déplacé à nouveau vers du php normal.
[11:14] Andrew Hellershanks : Vincent, ok. Tu m'as fait craindre pendant un moment qu'il y avait eu des changements majeurs quelque part car il y a tous ceux qui utilisent le module ossearch.
[11:14] Andrew Hellershanks : Intéressant que tu aies vu une requête de recherche vide. Je n'ai jamais remarqué cela lorsque je travaillais avec Ossearch.
[11:15] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, je ne sais pas encore d'où ça vient, je suis en train de nettoyer les choses depuis que j'ai ajouté beaucoup de logs.
[11:15] Vincent.Sylvester @hg.zetaworlds.com:8002 : Une fois que je peux confirmer que tout fonctionne, je vais commenter et documenter alors vous pouvez avoir le code à transférer dans le php simple à nouveau.
[11:16] Andrew Hellershanks : Vincent, le mieux est de le garder dans le code. Le cœur du système d'exploitation ne devrait pas être (trop) dépendant de pages externes pour sa fonctionnalité principale.
[11:16] Ubit Umarov : Je suppose que vous parlez tous les deux des modules de recherche.
[11:16] Ubit Umarov : ?
[11:16] Andrew Hellershanks : Ubit, oui
[11:17] Vincent.Sylvester @hg.zetaworlds.com:8002 : La plupart des recherches ne font qu'envoyer les requêtes vers des choses externes. Les personnes et les groupes sont gérés directement, mais les autres choses dépendent de choses externes.
[11:17] Ubit Umarov : les viewers s'attendent à ce que ces choses soient des choses externes.
[11:17] Andrew Hellershanks : Vincent, il y a une table séparée pour les événements. Ils doivent être créés en utilisant une page web externe. Il n'y a rien dans le viewer qui vous permet de les créer.
[11:17] Ubit Umarov : et pour certaines c'est logique que ce soit externe.
[11:17] Ubit Umarov : c'est la raison pour laquelle le noyau n'a pas de recherche.
[11:17] Ubit Umarov : c'est une chose globale côté grille.
[11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le fait qu'il s'agisse de php signifie qu'il est beaucoup plus facile d'implémenter un moteur de recherche.
[11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : La recherche web peut faire des mots-clés et d'autres choses
[11:18] Ubit Umarov : eh bien php peut ne rien vouloir dire... les régions servent des urls *php :)
[11:19] Andrew Hellershanks : La partie recherche web est délicate. Je n'ai pas encore trouvé comment faire une recherche sur plusieurs types de données et retourner les résultats mixtes pour les présenter à l'utilisateur.
[11:19] Vincent.Sylvester @hg.zetaworlds.com:8002 : beaucoup de inner join dans sql.
[11:19] Andrew Hellershanks : C'est nécessaire. Cela peut devenir assez compliqué.
[11:20] Ubit Umarov : bien sûr, beaucoup de recherches ont besoin de données sur plusieurs bases de données.
[11:20] Vincent.Sylvester @hg.zetaworlds.com:8002 : Une fois que j'ai compris qu'on ne peut pas mélanger charsets et collations sans perte massive de performance, cela fonctionne plutôt bien maintenant.
[11:20] Vincent.Sylvester @hg.zetaworlds.com:8002 : On peut probablement le faire en php aussi en joignant simplement des tableaux.
[11:20] Vincent.Sylvester @hg.zetaworlds.com:8002 : Même chose
[11:20] Ubit Umarov : il y a quelque chose qui ne va pas avec ça.
[11:20] Ubit Umarov : il est possible que mysql et maria ne fonctionnent pas bien pour le moment.
[11:21] Ubit Umarov : parce que l'on est supposé avoir des tables différentes, et le latin pour être rapide.
[11:21] Vincent.Sylvester @hg.zetaworlds.com:8002 : On m'a dit que c'était normal, ce qui est difficile à croire, mais les cochons peuvent aussi voler.
[11:21] Ubit Umarov : possiblement normal pour les codeurs actuels.
[11:21] Ubit Umarov : c'est fou ce qui se passe ici et là.
[11:21] Andrew Hellershanks : Vincent, cela pourrait fonctionner. La plupart des résultats de recherche proviennent d'une base de données, mais pour inclure des groupes, il faut généralement effectuer une recherche séparée, car ces données se trouvent dans une autre base de données.
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ils disent aussi que les sous-requêtes sont plus rapides que les inner join et je ne vois pas de différence.
[11:22] Ubit Umarov : duhh la version absurde de mono me vient à l'esprit.
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : La dernière version de mariadb m'a également posé des problèmes
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : les migrations de schéma de performance ont échoué.
[11:22] Ubit Umarov : et les notes de version ont perdu la mauvaise version.
[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002 : 10.3 à 10.8 était probablement un peu trop.
[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002 : Tout est resolvable, mais on ne s'en rend pas compte si on ne vérifie pas les logs.
[11:24] Ubit Umarov : je crains que les jours du bon code opensource soient révolus.
[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002 : Trop de cadres et de grandes idées qui réinventent la roue... mal.
[11:24] Andrew Hellershanks : MariaDB est à la version 10.x ?
[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pense que 10.8 est la dernière version maintenant.
[11:25] Ubit Umarov : j'ai eu une mantis sur 10.8 il y a longtemps
[11:25] Andrew Hellershanks : ok. J'ai deux machines distantes qui utilisent MariaDB. Elles fonctionnent avec une LTS donc elles ont une version beaucoup plus ancienne de Maria. 5.5 quelque chose, si je me souviens bien.
[11:25] Andrew Hellershanks : Mon ordinateur utilise toujours MySQL.
[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002 : Les versions de mariadb incluses dans les dépôts de la distro sont anciennes.
[11:26] Ubit Umarov : il semble que les tentatives d'utiliser mysql et maria sur osgrid ont échoué.
[11:26] Ubit Umarov : je les utilise en mode multi-serveur.
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il y a quelque chose qui est conçu pour ce genre de choses
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : Si on a besoin de configurations distribuées comme ça
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : CockroachDB
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : Est-ce que ça marche mieux ? Je n'en ai aucune idée, je ne l'ai pas encore essayé.
[11:28] Andrew Hellershanks : Je n'en avais jamais entendu parler avant aujourd'hui.
[11:28] Vincent.Sylvester @hg.zetaworlds.com:8002 : Une de ces nouvelles startups, donc qui sait combien de temps elles vont rester ou qui les rachètera à la fin ?
Changement récent d'OpenSim
[11:28] Ubit Umarov : bien sur les changements récents d'opensim, pas grand chose.
[11:29] Ubit Umarov : j'ai essayé de rendre fsassets un peu plus robuste quand on utilise plusieurs instances.
[11:30] Ubit Umarov : fsassets stocke les assets dans un dossier et un dossier temporaire, et un thread les copie périodiquement dans le dossier principal et les supprime...
[11:30] Ubit Umarov : il ne peut y avoir qu'un seul thread comme ça, car le code n'a pas de provision pour le verrouillage des fichiers, et linux semble être un gros échec.
[11:31] Ubit Umarov : il y a quelque temps, Alicia a ajouté du code pour s'assurer qu'il n'y a qu'un seul thread sur un processus (qui peut lancer plusieurs instances de fsassets).
[11:31] Ubit Umarov : j'ai enfermé cela sur LOCK pour être sûr qu'il n'y en ait qu'un seul.
[11:32] Ubit Umarov : puis j'ai ajouté une entrée ini pour signaler les services secondaires fonctionnant sur d'autres processus, afin qu'ils n'essaient pas de les exécuter.
[11:32] Ubit Umarov : ce n'est pas une belle solution... mais voyons voir...
[11:33] Ubit Umarov: this issue may had cause a gird to lose data [11:33] Vincent.Sylvester @hg.zetaworlds.com:8002: A well placed lock can prevent a lot of trouble hehe [11:33] Andrew Hellershanks: :) [11:34] Vincent.Sylvester @hg.zetaworlds.com:8002: I have no encountered issues with assets like that having a branching php-based asset server, would think it would show up there too [11:34] Vincent.Sylvester @hg.zetaworlds.com:8002: Can imagine that there is some permission not being honored [11:34] Vincent.Sylvester @hg.zetaworlds.com:8002: Mono no care about file in use [11:35] Vincent.Sylvester @hg.zetaworlds.com:8002: Ideally you want to run fsassets under it's own user on linux too, makes it easier to maintain in a lot of ways [11:37] Vincent.Sylvester @hg.zetaworlds.com:8002: Sadly none of the available designs are really working well for CDN. It works on short interval stale data, but that's a pain to setup unless you build the CDN yourself [11:37] Vincent.Sylvester @hg.zetaworlds.com:8002: Most providers don't have the level of control or grab the needed file info [11:38] Vincent.Sylvester @hg.zetaworlds.com:8002: I set it up with a failover, that works the best, but just a workaround not a solution [11:39] Vincent.Sylvester @hg.zetaworlds.com:8002: Someone really smart had the idea to use xml for all this which works great...not [11:40] Vincent.Sylvester @hg.zetaworlds.com:8002: I got a few requests this week regarding the inventory checking stuff of people reporting no inventory, seems at least one viewer has that out now already [11:41] Andrew Hellershanks: XML is useful for data exchange but not the best idea when passing a lot of data back and forth on a frequent basis. [11:41] Vincent.Sylvester @hg.zetaworlds.com:8002: It's great if your structure is not fixed and you need to know what a parameter is yes [11:41] Vincent.Sylvester @hg.zetaworlds.com:8002: Otherwise it's more description than data in way too many cases [11:42] Vincent.Sylvester @hg.zetaworlds.com:8002: Plus we convert between sql to xml which probably is slower than just getting straight xml, hence in some cases a document DB might be better suited [11:42] Andrew Hellershanks: Right [11:42] Andrew Hellershanks: Plus the time it takes to parse all the text. [11:43] Vincent.Sylvester @hg.zetaworlds.com:8002: But redoing things like inventory or groups into like mongoDB is... makes my brain hurt [11:43] Ubit Umarov: well some comms btw regions and mysq lare text also [11:43] Ubit Umarov: pure sql comands [11:44] Vincent.Sylvester @hg.zetaworlds.com:8002: It's on my todo list to look into, there is potential there, but also a mountain of work and testing [11:44] Vincent.Sylvester @hg.zetaworlds.com:8002: And coding in the summer heat is infinitely more difficult [11:44] Vincent.Sylvester @hg.zetaworlds.com:8002: Especially without a pool [11:45] Andrew Hellershanks: Risky coding in the pool. If you nod off the computer might go for a swim. :) [11:45] Ubit Umarov: yeak [11:45] Ubit Umarov: computers do not swim well [11:46] Vincent.Sylvester @hg.zetaworlds.com:8002: Could fill the pool with oil [11:47] Ubit Umarov: then not nice for humans [11:47] Ubit Umarov: :) [11:48] Ubit Umarov: one can actually run a pc on water [11:49] Ubit Umarov: several did it [11:49] Ubit Umarov: just destilated water etc [11:49] Andrew Hellershanks: 12 minutes before the top of the hour. I have a question. I heard that llSensor should be able to detect NPCs by using the value OS_NPC. However I've been told that only works with XEngine and not Y. I haven't confirmed that yet. Should there be any difference with llSensor based on the scripting engine in use? [11:49] Ubit Umarov: destilated water with little impurities is relative isolator [11:50] Ubit Umarov: ofc i would not dare to put the psu on water no matter what kind of water :) [11:50] Andrew Hellershanks: hehe... run it on water. FOr a moment I pictured a laptop floating on water. [11:50] Vincent.Sylvester @hg.zetaworlds.com:8002: That should work on Y as well [11:50] Ubit Umarov: ohh linus did that to cooldown a mac [11:51] Ubit Umarov: basicly jsut did run it with back on water :) [11:51] Ubit Umarov: to find out it was also power throttled.. so no real gain [11:51] Andrew Hellershanks: Vincent, That's what I thought. It is always possible it is a scripting error. I tried to track down where OS_NPC is used to verify that is the correct value to detect an NPC. I found where the value is defined but I couldn't track down where it was used in the llSensor code. [11:52] Ubit Umarov: no wonder M1 could bet intel cpus on suck macs [11:52] Ubit Umarov: the poor intel cpus where just not allowed to run, with either thermal or power throttle [11:52] Vincent.Sylvester @hg.zetaworlds.com:8002: I think the visitor logger I got keeps logging the greeter npc I have, think that uses a sensor [11:53] Vincent.Sylvester @hg.zetaworlds.com:8002: Should be easy to test [11:53] Vincent.Sylvester @hg.zetaworlds.com:8002: If you pastebin the script I can take a look at it in a few see if I can spot what might be wrong [11:56] Ubit Umarov: think OS_NPC has a issue [11:57] Ubit Umarov: there are actually 2 falgs [11:58] Ubit Umarov: OS_NPC_SENSE_AS_AGENT [11:58] Ubit Umarov: guess that is the one for sensros [11:59] Ubit Umarov: public const int OS_NPC = 0x01000000; [11:59] Andrew Hellershanks: Vincent, It isn't my script but I could get a hold of the person who has the problem with the script. [11:59] Ubit Umarov: not in use :) [12:00] Vincent.Sylvester @hg.zetaworlds.com:8002: Always easier to debug something with code at hand to see where the issue is [12:01] Andrew Hellershanks: Yes. [12:01] Ubit Umarov: don't remember what aht OS_NPC was suposed to be [12:01] Andrew Hellershanks: It did seem odd to me the difference in engine supposedly makes a difference. [12:02] Andrew Hellershanks: I don't even know where they read about using OS_NPC. [12:02] Ubit Umarov: ahh was to be a form of TYPW [12:02] Ubit Umarov: TYPE [12:03] Vincent.Sylvester @hg.zetaworlds.com:8002: Yeah think that was for isNPC and such [12:03] Ubit Umarov: on detect parameters [12:03] Ubit Umarov: but that is now 0x20 [12:03] Ubit Umarov: if((obj.colliderType & 0x21) != 0) // avatar or npc+ [12:04] Andrew Hellershanks: I found the sense as agent option in the code. It appears you need to set that flag when creating the NPC. [12:04] Ubit Umarov: colliderType = av.IsNPC ? 0x20 : 0x1, // OpenSim\Region\ScriptEngine\Shared\Helpers.cs [12:05] Ubit Umarov: so that OS_NPC seems just obsolete.. there just because [12:06] Andrew Hellershanks nods [12:06] Andrew Hellershanks: I just pulled up the web page about osNpcCreate. It says that for sense as agent to work there is an ini setting that needs to be enabled. [12:07] Andrew Hellershanks: That gives me a couple of things I can follow up on with the person reporting the problem.I won't be surprised to find they aren't passing the flag when crating the NPC and that the ini setting isn't enabled. [12:08] Andrew Hellershanks: Thanks for the information. [12:08] Ubit Umarov: by default a npc should not be sense as a agent [12:08] Ubit Umarov: unless told to do so on npc_create [12:09] Ubit Umarov: rivate LSL_Key NpcCreate(
string firstname, string lastname, LSL_Vector position, string notecard, bool owned, bool senseAsAgent, bool hostGroupID)
[12:09] Andrew Hellershanks: Yes, I think that is part of the problem they are running in to. The reason for being able to detect NPCs is to make sure they are removed from the scene when no longer needed. [12:09] Vincent.Sylvester @hg.zetaworlds.com:8002: I have a npc killer script somewhere [12:10] Vincent.Sylvester @hg.zetaworlds.com:8002: list inRegion=osGetAvatarList(); osIsNpc(llList2Key(inRegion,i)) [12:10] Andrew Hellershanks: Vincent, if you find it send me a copy and I'll pass it along as another option for them to use. Not all grids will have the feature enabled in the ini. [12:11] Andrew Hellershanks: Vincent, That's simple enough. [12:11] Vincent.Sylvester @hg.zetaworlds.com:8002: From there you have the npc key and can just nuke them [12:11] Andrew Hellershanks: Right. [12:12] Vincent.Sylvester @hg.zetaworlds.com:8002: You can fetch the agent params via the key too to see if it's the one you want to remove [12:13] Andrew Hellershanks: Vincent, I'll pass that info along was well. ty [12:13] Andrew Hellershanks: We are now an extra 15 minutes past the hour. Any final items for todays meeting before we wrap things up? [12:14] Andrew Hellershanks: I dont see anyone typing so I will take that as a no. [12:14] Ubit Umarov: :) [12:14] Andrew Hellershanks: That will do it for another week. Thank you all for coming. See you again next week.