From kevijeps@telusplanet.net Sat Jul 1 16:55:06 2006 Received: with ECARTIS (v1.0.0; list encore); Sat, 01 Jul 2006 16:55:06 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 98D665BE5 for ; Sat, 1 Jul 2006 16:55:06 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 5D2E64955 for ; Sat, 1 Jul 2006 16:55:06 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 14433-01-45 for ; Sat, 1 Jul 2006 16:55:04 -0500 (CDT) Received: from priv-edtnes16.telusplanet.net (defout.telus.net [199.185.220.240]) by mx2.utdallas.edu (Postfix) with ESMTP id E48142CA1 for ; Sat, 1 Jul 2006 16:55:03 -0500 (CDT) Received: from priv-edtnaa05.telusplanet.net ([199.126.223.252]) by priv-edtnes16.telusplanet.net (InterMail vM.6.01.05.04 201-2131-123-105-20051025) with ESMTP id <20060701215502.THEN20995.priv-edtnes16.telusplanet.net@priv-edtnaa05.telusplanet.net> for ; Sat, 1 Jul 2006 15:55:02 -0600 Received: from lilith (d199-126-223-252.abhsia.telus.net [199.126.223.252]) by priv-edtnaa05.telusplanet.net (BorderWare MXtreme Infinity Mail Firewall) with ESMTP id 98SU0KR4JM for ; Sat, 1 Jul 2006 15:55:01 -0600 (MDT) From: "Kevin Jepson" To: Subject: [encore] MOO Database Browser Date: Sat, 1 Jul 2006 15:54:55 -0600 Message-ID: <002e01c69d58$fde5b350$5a0119ac@lilith> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_002F_01C69D26.B34FD730" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Importance: Normal X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1708 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: kevijeps@telusplanet.net Precedence: bulk Reply-to: kevijeps@telusplanet.net List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------=_NextPart_000_002F_01C69D26.B34FD730 Content-Type: text/plain; charset="windows-1250" Content-Transfer-Encoding: quoted-printable Hi Folks =20 Happy Canada Day! =20 I just came across this page which is MOO DB browser. =20 HYPERLINK "http://neil.fraser.name/software/moobrowser/"http://neil.fraser.name/sof= twa re/moobrowser/ =20 This is pretty cool and allows looking inside a DB even if the MOO is = not running. There are many potentially useful reasons to do this, like resurrecting = data from acorrupted DB or just looking at stuff in an old archive copy of a = DB. =20 From the Home page: Moo Database Browser Tools for querying and exporting inactive Moo databases. These applications allow one to easily extract information from a Moo database which is not executing. For sporatic look-ups, they are more efficient than booting up a live Moo and faster than loading the = emergency wizard mode. This is particularly useful when one has an archive of historical databases, or if one is just looking for a verb that recently = got deleted. =20 This page also has documentation on the internals of the DB, very cool. =20 Enjoy Ciao KJ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D Kevin Jepson R.E.T. President 4K Consulting Inc. =20 An't nanum hearm deth, doth hwaet ye willath. PHONE: (403) 875-8372 Email: kevijeps@telusplanet.net =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D =20 =20 --=20 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006 =20 ------=_NextPart_000_002F_01C69D26.B34FD730 Content-Type: text/html; charset="windows-1250" Content-Transfer-Encoding: quoted-printable Message
Hi=20 Folks
 
Happy = Canada=20 Day!
 
I just = came across=20 this page which is MOO DB browser.
 
http://neil.fraser.= name/software/moobrowser/
 
This = is pretty cool=20 and allows looking inside a DB even if the MOO is not=20 running.
There = are many=20 potentially useful reasons to do this, like resurrecting data from = acorrupted DB=20 or just looking at stuff in an old archive copy of a = DB.
 
From = the Home=20 page:
<Begin=20 Quote>

Moo Database Browser

Tools for querying and exporting inactive Moo databases.

These applications allow one to easily extract information from a Moo = database which is not executing. For sporatic look-ups, they are more = efficient=20 than booting up a live Moo and faster than loading the emergency wizard = mode.=20 This is particularly useful when one has an archive of historical = databases, or=20 if one is just looking for a verb that recently got=20 deleted.

<End=20 Quote>
 
This = page also has=20 documentation on the internals of the DB, very cool.
 
Enjoy
Ciao
KJ

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D
Kevin=20 Jepson R.E.T.
President
4K Consulting=20 Inc.           &nb= sp;        
An't=20 nanum hearm deth, doth hwaet ye willath.

PHONE: (403) = 875-8372
Email:=20 kevijeps@telusplanet.net
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

 =20

 

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006

------=_NextPart_000_002F_01C69D26.B34FD730-- From jean-marc.giffin@acadiau.ca Thu Jul 6 09:07:36 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 09:07:36 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id E621C5BB0 for ; Thu, 6 Jul 2006 09:07:35 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 95A5051B1 for ; Thu, 6 Jul 2006 09:07:35 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 11208-01-77 for ; Thu, 6 Jul 2006 09:07:28 -0500 (CDT) Received: from stanley.acadiau.ca (stanley.acadiau.ca [131.162.201.38]) by mx2.utdallas.edu (Postfix) with ESMTP id DABED34A6 for ; Thu, 6 Jul 2006 09:07:13 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by stanley.acadiau.ca (Postfix) with ESMTP id A4AA219BC56 for ; Thu, 6 Jul 2006 11:07:12 -0300 (ADT) Received: from stanley.acadiau.ca ([127.0.0.1]) by localhost (helios.acadiau.ca [127.0.0.1]) (amavisd-new, port 10026) with LMTP id 92739-01-9 for ; Thu, 6 Jul 2006 11:07:07 -0300 (ADT) Received: from exchange.ad.acadiau.ca (exchange.acadiau.ca [131.162.200.60]) by stanley.acadiau.ca (Postfix) with ESMTP id 692D219BB5F for ; Thu, 6 Jul 2006 11:07:05 -0300 (ADT) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6A105.4FAC6B42" Subject: [encore] Wait For an Action? Date: Thu, 6 Jul 2006 11:06:09 -0300 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Wait For an Action? Thread-Index: AcadWRZDvfGA7O1kSkOwFy/SwYaN3gDq6Uew From: "Jean-Marc Giffin" To: X-Virus-Scanned: by amavisd-new at acadiau.ca X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1709 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: jean-marc.giffin@acadiau.ca Precedence: bulk Reply-to: jean-marc.giffin@acadiau.ca List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------_=_NextPart_001_01C6A105.4FAC6B42 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hey all! =20 Because of the nature of how I am making the MOO, I have bots that expect you to give them items. For example, to take a carriage, you have to talk to the driver and then he asks for 2 pounds. I want to make it so that he waits a bit of time for you to "give driver 2 pounds", but if you take too long, he'll get annoyed with you and move on. I was thinking that it would be possible to do a "read(player)", but then (as far as I know) it would take away from allowing the normal "give" command to take place, since it wouldn't parse the string. I then thought of making a "fork" or "suspend", but if the suspend was 10 seconds (for example), and I gave the coins after 2 seconds, I would have to wait 8 seconds for the driver to respond. Is there a good way to make the bot wait a certain amount of time for an event, and as soon as it takes place, things continue? =20 Thanks! =20 Jean-Marc Giffin -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: 30/06/2006 ------_=_NextPart_001_01C6A105.4FAC6B42 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Message

Hey = all!

 

Because of the nature of how I am = making the MOO, I have bots that expect you to give them = items.

For example, to take a carriage, = you have to talk to the driver and then he asks for 2 pounds. I want to make it = so that he waits a bit of time for you to “give driver 2 pounds”, = but if you take too long, he’ll get annoyed with you and move on. I was thinking that = it would be possible to do a “read(player)”, but then (as far as I know) = it would take away from allowing the normal “give” command to take place, since = it wouldn’t parse the string. I then thought of making a “fork” or = “suspend”, but if the suspend was 10 seconds (for example), and I gave the coins after 2 seconds, I = would have to wait 8 seconds for the driver to respond. Is there a good way to = make the bot wait a certain amount of time for an event, and as soon as it = takes place, things continue?

 

Thanks!

=

 

Jean-Marc = Giffin


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006

------_=_NextPart_001_01C6A105.4FAC6B42-- From alexborgia@hotmail.com Thu Jul 6 09:44:23 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 09:44:23 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 069115BB0 for ; Thu, 6 Jul 2006 09:44:22 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id ACDE749AF for ; Thu, 6 Jul 2006 09:44:22 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 15868-01-44 for ; Thu, 6 Jul 2006 09:44:20 -0500 (CDT) Received: from bay0-omc2-s2.bay0.hotmail.com (bay0-omc2-s2.bay0.hotmail.com [65.54.246.138]) by mx2.utdallas.edu (Postfix) with ESMTP id 03907345B for ; Thu, 6 Jul 2006 09:44:19 -0500 (CDT) Received: from hotmail.com ([65.54.161.90]) by bay0-omc2-s2.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 6 Jul 2006 07:44:19 -0700 Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Thu, 6 Jul 2006 07:44:19 -0700 Message-ID: Received: from 198.168.153.20 by BAY106-DAV18.phx.gbl with DAV; Thu, 06 Jul 2006 14:44:15 +0000 X-Originating-IP: [198.168.153.20] X-Originating-Email: [alexborgia@hotmail.com] X-Sender: alexborgia@hotmail.com From: "Alexandre Borgia" To: Subject: [encore] Re: Wait For an Action? Date: Thu, 6 Jul 2006 10:47:22 -0400 Message-ID: <000401c6a10b$16d926c0$2ac71fac@CLINFO.MCGILL.CA> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0005_01C6A0E9.8FC786C0" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Importance: Normal In-Reply-To: X-OriginalArrivalTime: 06 Jul 2006 14:44:19.0310 (UTC) FILETIME=[A98EF0E0:01C6A10A] X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1710 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: alexborgia@hotmail.com Precedence: bulk Reply-to: alexborgia@hotmail.com List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------=_NextPart_000_0005_01C6A0E9.8FC786C0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Jean-Marc, =20 You could keep state information in a property on the driver. For = instance, after you talk with the driver set something like "waiting_for_money" to = 1 and fork a process that will check this property again 10 seconds later. = In the meanwhile, if the player decides to give him two pounds set the = property back to 0 and continue with your next actions. When your forked process responds back, make it first check if "waiting_for_money" is still set = to 1 and if so make the driver react as if he had not received the money in = time, else exit the process without doing anything since the driver got the = money and everything is all right. =20 Hope this helps! - Alex =20 =20 -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin Sent: Thursday, July 06, 2006 10:06 AM To: encore@utdallas.edu Subject: [encore] Wait For an Action? =20 Hey all! =20 Because of the nature of how I am making the MOO, I have bots that = expect you to give them items. For example, to take a carriage, you have to talk to the driver and then = he asks for 2 pounds. I want to make it so that he waits a bit of time for = you to "give driver 2 pounds", but if you take too long, he'll get annoyed = with you and move on. I was thinking that it would be possible to do a "read(player)", but then (as far as I know) it would take away from = allowing the normal "give" command to take place, since it wouldn't parse the = string. I then thought of making a "fork" or "suspend", but if the suspend was = 10 seconds (for example), and I gave the coins after 2 seconds, I would = have to wait 8 seconds for the driver to respond. Is there a good way to make = the bot wait a certain amount of time for an event, and as soon as it takes place, things continue? =20 Thanks! =20 Jean-Marc Giffin -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006 ------=_NextPart_000_0005_01C6A0E9.8FC786C0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Message

Hi Jean-Marc,

 

You could keep = state information in a property on the driver.  For instance, after you talk with the = driver set something like “waiting_for_money” to 1 and fork a = process that will check this property again 10 seconds later.  In the meanwhile, = if the player decides to give him two pounds set the property back to 0 and = continue with your next actions.  When your forked process responds back, = make it first check if “waiting_for_money” is still set to 1 and if so = make the driver react as if he had not received the money in time, else exit the process without doing anything since the driver got the money and everything is = all right.

 

Hope this helps!

-          Alex

 

 

-----Original = Message-----
From: = encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin
Sent:
Thursday, July 06, 2006 10:06 = AM
To:
encore@utdallas.edu<= /font>
Subject: [encore] Wait = For an Action?

 

Hey = all!

 

Because of the = nature of how I am making the MOO, I have bots that expect you to give them = items.

For example, to = take a carriage, you have to talk to the driver and then he asks for 2 pounds. = I want to make it so that he waits a bit of time for you to “give driver = 2 pounds”, but if you take too long, he’ll get annoyed with = you and move on. I was thinking that it would be possible to do a “read(player)”, but then (as far as I know) it would take = away from allowing the normal “give” command to take place, since it wouldn’t parse the string. I then thought of making a = “fork” or “suspend”, but if the suspend was 10 seconds (for = example), and I gave the coins after 2 seconds, I would have to wait 8 seconds for the = driver to respond. Is there a good way to make the bot wait a certain amount of = time for an event, and as soon as it takes place, things = continue?

 

Thanks!

 

Jean-Marc = Giffin


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006

------=_NextPart_000_0005_01C6A0E9.8FC786C0-- From jean-marc.giffin@acadiau.ca Thu Jul 6 11:47:06 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 11:47:06 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id DCBE55BB0 for ; Thu, 6 Jul 2006 11:47:05 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 9F5DB5188 for ; Thu, 6 Jul 2006 11:47:05 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 29266-01-14 for ; Thu, 6 Jul 2006 11:46:55 -0500 (CDT) Received: from stanley.acadiau.ca (stanley.acadiau.ca [131.162.201.38]) by mx2.utdallas.edu (Postfix) with ESMTP id 21108346D for ; Thu, 6 Jul 2006 11:46:17 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by stanley.acadiau.ca (Postfix) with ESMTP id 8544B19BBB2 for ; Thu, 6 Jul 2006 13:46:16 -0300 (ADT) Received: from stanley.acadiau.ca ([127.0.0.1]) by localhost (helios.acadiau.ca [127.0.0.1]) (amavisd-new, port 10026) with LMTP id 15679-01-2 for ; Thu, 6 Jul 2006 13:46:13 -0300 (ADT) Received: from exchange.ad.acadiau.ca (exchange.acadiau.ca [131.162.200.60]) by stanley.acadiau.ca (Postfix) with ESMTP id D12BA19AD0E for ; Thu, 6 Jul 2006 13:46:13 -0300 (ADT) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6A11B.ABDC7517" Subject: [encore] Re: Wait For an Action? Date: Thu, 6 Jul 2006 13:46:11 -0300 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [encore] Re: Wait For an Action? Thread-Index: AcahCr+j2phZ74rJS7O2IDBtdg18CgAEBvIg From: "Jean-Marc Giffin" To: X-Virus-Scanned: by amavisd-new at acadiau.ca X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1711 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: jean-marc.giffin@acadiau.ca Precedence: bulk Reply-to: jean-marc.giffin@acadiau.ca List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------_=_NextPart_001_01C6A11B.ABDC7517 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hey Alex, =20 Thanks for the response. However, I have tried what you described, but there's a problem. See, as soon as the "fork" is encountered, all variables within it are what they are when the fork is called, not what they will be once it is executed. So changing the value of "waiting_for_money" after it's been done won't affect the fork at all. The alternative that I've tried is to give the fork a task name, and then kill that task once something is read in: =20 fork complain (15) statements; endfork read =3D read(player); kill_task(complain); =20 This works fine, as long as the user answers before the fork is executed. However, if the user answers after the fork is executed, then it gives an "invalid argument" error, since that task is no longer running. I tried making it conditional, like this: =20 complain =3D 0; fork complain (15) complain =3D 0; statements; endfork read =3D read(player); if (complain) kill_task(complain); endif =20 However, whatever happens within the fork doesn't seem to affect the outside, so this doesn't work either. Is there a built-in command that would quickly check if "complain" is a valid task? Something like: =20 is_running(complain) ? =20 Or any alternatives to what I have been trying? =20 Thanks! =20 Jean-Marc Giffin =20 ________________________________ From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Alexandre Borgia Sent: Thursday, July 06, 2006 11:47 AM To: encore@utdallas.edu Subject: [encore] Re: Wait For an Action? =20 Hi Jean-Marc, =20 You could keep state information in a property on the driver. For instance, after you talk with the driver set something like "waiting_for_money" to 1 and fork a process that will check this property again 10 seconds later. In the meanwhile, if the player decides to give him two pounds set the property back to 0 and continue with your next actions. When your forked process responds back, make it first check if "waiting_for_money" is still set to 1 and if so make the driver react as if he had not received the money in time, else exit the process without doing anything since the driver got the money and everything is all right. =20 Hope this helps! - Alex =20 =20 -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin Sent: Thursday, July 06, 2006 10:06 AM To: encore@utdallas.edu Subject: [encore] Wait For an Action? =20 Hey all! =20 Because of the nature of how I am making the MOO, I have bots that expect you to give them items. For example, to take a carriage, you have to talk to the driver and then he asks for 2 pounds. I want to make it so that he waits a bit of time for you to "give driver 2 pounds", but if you take too long, he'll get annoyed with you and move on. I was thinking that it would be possible to do a "read(player)", but then (as far as I know) it would take away from allowing the normal "give" command to take place, since it wouldn't parse the string. I then thought of making a "fork" or "suspend", but if the suspend was 10 seconds (for example), and I gave the coins after 2 seconds, I would have to wait 8 seconds for the driver to respond. Is there a good way to make the bot wait a certain amount of time for an event, and as soon as it takes place, things continue? =20 Thanks! =20 Jean-Marc Giffin -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: 30/06/2006 ------_=_NextPart_001_01C6A11B.ABDC7517 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Message

Hey = Alex,

 

Thanks for the response. However, I = have tried what you described, but there’s a problem. See, as soon as = the “fork” is encountered, all variables within it are what they are when the fork = is called, not what they will be once it is executed. So changing the value = of “waiting_for_money” after it’s been done won’t affect the fork at = all.

The alternative that I’ve = tried is to give the fork a task name, and then kill that task once something is = read in:

 

fork complain = (15)

      =       statements;

endfork

=

read =3D = read(player);

kill_task(complain);

 

This works fine, as long as the = user answers before the fork is executed. However, if the user answers after = the fork is executed, then it gives an “invalid argument” error, = since that task is no longer running.

I tried making it conditional, like = this:

 

complain =3D = 0;

fork complain = (15)

      =       complain =3D = 0;

      =       statements;

endfork

=

read =3D = read(player);

if = (complain)

kill_task(complai= n);

endif

 

However, whatever happens within = the fork doesn’t seem to affect the outside, so this doesn’t work = either.

Is there a built-in command that = would quickly check if “complain” is a valid task? Something = like:

 

is_running(complain) = ?

 

Or any alternatives to what I have = been trying?

 

Thanks!

=

 

Jean-Marc = Giffin

 


From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Alexandre Borgia
Sent: Thursday, July 06, = 2006 11:47 AM
To: = encore@utdallas.edu
Subject: [encore] Re: = Wait For an Action?

 

Hi = Jean-Marc,

 

You could keep = state information in a property on the driver.  For instance, after you = talk with the driver set something like “waiting_for_money” to 1 = and fork a process that will check this property again 10 seconds = later.  In the meanwhile, if the player decides to give him two pounds set the = property back to 0 and continue with your next actions.  When your forked = process responds back, make it first check if “waiting_for_money” is = still set to 1 and if so make the driver react as if he had not received the = money in time, else exit the process without doing anything since the driver got = the money and everything is all right.

 

Hope this = helps!

-          = Alex

 

 

-----Original = Message-----
From: = encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin
Sent: Thursday, July 06, = 2006 10:06 AM
To: = encore@utdallas.edu
Subject: [encore] Wait = For an Action?

 

Hey = all!

 

Because of the = nature of how I am making the MOO, I have bots that expect you to give them = items.

For example, to = take a carriage, you have to talk to the driver and then he asks for 2 pounds. = I want to make it so that he waits a bit of time for you to “give driver = 2 pounds”, but if you take too long, he’ll get annoyed with = you and move on. I was thinking that it would be possible to do a “read(player)”, but then (as far as I know) it would take = away from allowing the normal “give” command to take place, since it wouldn’t parse the string. I then thought of making a = “fork” or “suspend”, but if the suspend was 10 seconds (for = example), and I gave the coins after 2 seconds, I would have to wait 8 seconds for the = driver to respond. Is there a good way to make the bot wait a certain amount of = time for an event, and as soon as it takes place, things = continue?

 

Thanks!

 

Jean-Marc = Giffin


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006

------_=_NextPart_001_01C6A11B.ABDC7517-- From jung@uib.no Thu Jul 6 12:19:02 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 12:19:03 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id CDEEC5BB0 for ; Thu, 6 Jul 2006 12:19:02 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id B7686518D for ; Thu, 6 Jul 2006 12:19:02 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 03486-01-12 for ; Thu, 6 Jul 2006 12:18:57 -0500 (CDT) Received: from noralf.uib.no (noralf.uib.no [129.177.30.12]) by mx2.utdallas.edu (Postfix) with ESMTP id 73D37350D for ; Thu, 6 Jul 2006 12:17:13 -0500 (CDT) Received: from alfred.uib.no (smtp.uib.no) [129.177.30.120] by noralf.uib.no for encore@utdallas.edu with esmtp (Exim 4.34) id 1FyXTT-0003xH-Qh; Thu, 06 Jul 2006 19:17:12 +0200 Received: from 117.84-48-30.nextgentel.com ([10.24.104.19]) [84.48.30.117] by smtp.uib.no for encore@utdallas.edu with esmtp (Exim 4.34) id 1FyXTT-0005WU-Ik; Thu, 06 Jul 2006 19:17:11 +0200 Message-ID: <44AD458F.9070804@uib.no> Date: Thu, 06 Jul 2006 19:17:03 +0200 From: Daniel Jung User-Agent: Mozilla Thunderbird 0.8 (Windows/20040913) X-Accept-Language: en-us, en MIME-Version: 1.0 To: encore Subject: [encore] Re: Wait For an Action? References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-checked-clean: by exiscan on noralf X-Scanner: d341b9c8bfd5058a93e8d8222260b430 http://tjinfo.uib.no/virus.html X-UiB-SpamFlag: NO UIB: 0 hits, 8.0 required X-UiB-SpamReport: spamassassin found; X-Virus-Scanned: amavisd-new at utdallas.edu X-Amavis-Alert: BAD HEADER Improper folded header field made up entirely of whitespace in message header 'X-UiB-SpamReport': X-archive-position: 1712 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: jung@uib.no Precedence: bulk Reply-to: jung@uib.no List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Jean-Marc Giffin wrote: > For example, to take a carriage, you have to talk to the driver and then > he asks for 2 pounds. I want to make it so that he waits a bit of time > for you to "give driver 2 pounds", but if you take too long, he'll get > annoyed with you and move on. Like Alex said, the best solution would be to store the value "paid|not paid" into a property. This code below is off the sleeve, NOT tested. It is a mere suggestion for structuring your verb. You need three properties: driver.received_money = 0; driver.busy = 0; driver.max_wait = 10; ******************************************************************** if (this.busy) player:tell("Please wait. There is another customer before you."); else this.received_money = 0; player:tell("Please give me two pounds"); fork() answer = read(player); if (match(answer, "give driver two pounds")) this.received_money = 1; endif endfork t = time(); while (time() - t < this.max_wait && !this.received_money) suspend(1); endwhile if (this.received_money) player:tell("Thanks. The ride begins"); else player:tell("I don't bother waiting any more. Bye."); endif this.received_money = this.busy = 0; endif ******************************************************************** The clue is the while() clause which checks every second if the condition is met, and stops at a given maximum of seconds. HTH - Daniel From jean-marc.giffin@acadiau.ca Thu Jul 6 12:34:20 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 12:34:21 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id AA9825BB0 for ; Thu, 6 Jul 2006 12:34:20 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 81DD2453C for ; Thu, 6 Jul 2006 12:34:20 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 03611-01-66 for ; Thu, 6 Jul 2006 12:34:13 -0500 (CDT) Received: from stanley.acadiau.ca (stanley.acadiau.ca [131.162.201.38]) by mx2.utdallas.edu (Postfix) with ESMTP id 1F6FB34A6 for ; Thu, 6 Jul 2006 12:32:57 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by stanley.acadiau.ca (Postfix) with ESMTP id 555C319BC54 for ; Thu, 6 Jul 2006 14:32:56 -0300 (ADT) Received: from stanley.acadiau.ca ([127.0.0.1]) by localhost (helios.acadiau.ca [127.0.0.1]) (amavisd-new, port 10026) with LMTP id 24508-01-5 for ; Thu, 6 Jul 2006 14:32:54 -0300 (ADT) Received: from exchange.ad.acadiau.ca (exchange.acadiau.ca [131.162.200.60]) by stanley.acadiau.ca (Postfix) with ESMTP id 3F24619BB61 for ; Thu, 6 Jul 2006 14:32:54 -0300 (ADT) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: [encore] Re: Wait For an Action? Date: Thu, 6 Jul 2006 14:32:58 -0300 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [encore] Re: Wait For an Action? Thread-Index: AcahIGTBGSzaJFvOSPGgkXceodF6wQAAVe4g From: "Jean-Marc Giffin" To: "encore" X-Virus-Scanned: by amavisd-new at acadiau.ca X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1713 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: jean-marc.giffin@acadiau.ca Precedence: bulk Reply-to: jean-marc.giffin@acadiau.ca List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Thanks for the reply, this method seems to run a lot more smoothly. By the way, before I do a bunch of extra work, is there already an implementation of a quantity item? By that I mean, the way the MOO is set up is that a "shovel" is a shovel object, and a "cat" is a cat object, but if I wanted to have a certain amount of money that I could transfer to another player, or bot, is there a quantity item system already set up to do that? That way all that really changes is the amount that each player has... the difficulty I'm facing is the parsing of giving, since it expects: give thing to whoever But we want: give amount thing to whoever. Any ideas? I have a few if I have to do it myself, but no need if it already exists. Thanks, Jean-Marc Giffin -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Daniel Jung Sent: Thursday, July 06, 2006 2:17 PM To: encore Subject: [encore] Re: Wait For an Action? Jean-Marc Giffin wrote: > For example, to take a carriage, you have to talk to the driver and then > he asks for 2 pounds. I want to make it so that he waits a bit of time > for you to "give driver 2 pounds", but if you take too long, he'll get > annoyed with you and move on.=20 Like Alex said, the best solution would be to store the value "paid|not=20 paid" into a property. This code below is off the sleeve, NOT tested. It is a mere suggestion=20 for structuring your verb. You need three properties: driver.received_money =3D 0; driver.busy =3D 0; driver.max_wait =3D 10; ******************************************************************** if (this.busy) player:tell("Please wait. There is another customer before you."); else this.received_money =3D 0; player:tell("Please give me two pounds"); fork() answer =3D read(player); if (match(answer, "give driver two pounds")) this.received_money =3D 1; endif endfork t =3D time(); while (time() - t < this.max_wait && !this.received_money) suspend(1); endwhile if (this.received_money) player:tell("Thanks. The ride begins"); else player:tell("I don't bother waiting any more. Bye."); endif this.received_money =3D this.busy =3D 0; endif ******************************************************************** The clue is the while() clause which checks every second if the=20 condition is met, and stops at a given maximum of seconds. HTH - Daniel From alexborgia@hotmail.com Thu Jul 6 12:36:04 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 12:36:04 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 8CEE65BB0 for ; Thu, 6 Jul 2006 12:36:04 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 5A24E476D for ; Thu, 6 Jul 2006 12:36:04 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 03611-01-80 for ; Thu, 6 Jul 2006 12:35:52 -0500 (CDT) Received: from bay0-omc1-s15.bay0.hotmail.com (bay0-omc1-s15.bay0.hotmail.com [65.54.246.87]) by mx2.utdallas.edu (Postfix) with ESMTP id D4B5D3506 for ; Thu, 6 Jul 2006 12:34:41 -0500 (CDT) Received: from hotmail.com ([65.54.161.77]) by bay0-omc1-s15.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 6 Jul 2006 10:34:41 -0700 Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Thu, 6 Jul 2006 10:34:41 -0700 Message-ID: Received: from 198.168.153.20 by BAY106-DAV5.phx.gbl with DAV; Thu, 06 Jul 2006 17:34:39 +0000 X-Originating-IP: [198.168.153.20] X-Originating-Email: [alexborgia@hotmail.com] X-Sender: alexborgia@hotmail.com From: "Alexandre Borgia" To: Subject: [encore] Re: Wait For an Action? Date: Thu, 6 Jul 2006 13:37:57 -0400 Message-ID: <000f01c6a122$eb1b6940$2ac71fac@CLINFO.MCGILL.CA> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0010_01C6A101.6409C940" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Importance: Normal In-Reply-To: X-OriginalArrivalTime: 06 Jul 2006 17:34:41.0059 (UTC) FILETIME=[76320F30:01C6A122] X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1714 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: alexborgia@hotmail.com Precedence: bulk Reply-to: alexborgia@hotmail.com List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------=_NextPart_000_0010_01C6A101.6409C940 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi again, =20 Ops, maybe I didn't emphasize enough, but I meant "waiting_for_money" to be a property on your object, not a local = variable - this way you'll be able to share the value between different tasks. For exemple, the code that triggers the wait could look like this: =20 this.waiting_for_money =3D 1; =20 suspend(15); if (this.waiting_for_money) player has still not given the money - do something interesting! else player has given the money - nothing to do here end if =20 =20 . then create another verb that the player can use to give = the money. This verb should set the "waiting_for_money" property to 0. =20 =20 -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin Sent: Thursday, July 06, 2006 12:46 PM To: encore@utdallas.edu Subject: [encore] Re: Wait For an Action? =20 Hey Alex, =20 Thanks for the response. However, I have tried what you described, but there's a problem. See, as soon as the "fork" is encountered, all = variables within it are what they are when the fork is called, not what they will = be once it is executed. So changing the value of "waiting_for_money" after = it's been done won't affect the fork at all. The alternative that I've tried is to give the fork a task name, and = then kill that task once something is read in: =20 fork complain (15) statements; endfork read =3D read(player); kill_task(complain); =20 This works fine, as long as the user answers before the fork is = executed. However, if the user answers after the fork is executed, then it gives = an "invalid argument" error, since that task is no longer running. I tried making it conditional, like this: =20 complain =3D 0; fork complain (15) complain =3D 0; statements; endfork read =3D read(player); if (complain) kill_task(complain); endif =20 However, whatever happens within the fork doesn't seem to affect the outside, so this doesn't work either. Is there a built-in command that would quickly check if "complain" is a valid task? Something like: =20 is_running(complain) ? =20 Or any alternatives to what I have been trying? =20 Thanks! =20 Jean-Marc Giffin =20 _____ =20 From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Alexandre Borgia Sent: Thursday, July 06, 2006 11:47 AM To: encore@utdallas.edu Subject: [encore] Re: Wait For an Action? =20 Hi Jean-Marc, =20 You could keep state information in a property on the driver. For = instance, after you talk with the driver set something like "waiting_for_money" to = 1 and fork a process that will check this property again 10 seconds later. = In the meanwhile, if the player decides to give him two pounds set the = property back to 0 and continue with your next actions. When your forked process responds back, make it first check if "waiting_for_money" is still set = to 1 and if so make the driver react as if he had not received the money in = time, else exit the process without doing anything since the driver got the = money and everything is all right. =20 Hope this helps! - Alex =20 =20 -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin Sent: Thursday, July 06, 2006 10:06 AM To: encore@utdallas.edu Subject: [encore] Wait For an Action? =20 Hey all! =20 Because of the nature of how I am making the MOO, I have bots that = expect you to give them items. For example, to take a carriage, you have to talk to the driver and then = he asks for 2 pounds. I want to make it so that he waits a bit of time for = you to "give driver 2 pounds", but if you take too long, he'll get annoyed = with you and move on. I was thinking that it would be possible to do a "read(player)", but then (as far as I know) it would take away from = allowing the normal "give" command to take place, since it wouldn't parse the = string. I then thought of making a "fork" or "suspend", but if the suspend was = 10 seconds (for example), and I gave the coins after 2 seconds, I would = have to wait 8 seconds for the driver to respond. Is there a good way to make = the bot wait a certain amount of time for an event, and as soon as it takes place, things continue? =20 Thanks! =20 Jean-Marc Giffin -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006 ------=_NextPart_000_0010_01C6A101.6409C940 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Message

Hi again,

 

      =       Ops, maybe I didn’t emphasize enough, but I meant = “waiting_for_money” to be a property on your object, not a local variable – this way = you’ll be able to share the value between different tasks.  For exemple, = the code that triggers the wait could look like this:

 

      =       this.waiting_for_money =3D 1;

 

      =       suspend(15);

      =       if (this.waiting_for_money)

player has still not given the money – do something interesting!

      =       else

player has given the money – nothing to do = here

end = if

 

 

      =       … then create another verb that the player can use to give the = money.  This verb should set the “waiting_for_money” property to = 0.

 

 

-----Original = Message-----
From: = encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin
Sent:
Thursday, July 06, 2006 12:46 = PM
To:
encore@utdallas.edu<= /font>
Subject: [encore] Re: = Wait For an Action?

 

Hey = Alex,

 

Thanks for the = response. However, I have tried what you described, but there’s a problem. = See, as soon as the “fork” is encountered, all variables within it = are what they are when the fork is called, not what they will be once it is = executed. So changing the value of “waiting_for_money” after it’s = been done won’t affect the fork at all.

The alternative = that I’ve tried is to give the fork a task name, and then kill that = task once something is read in:

 

fork complain = (15)

   = ;         statements;

endfork

read =3D = read(player);

kill_task(complai= n);

 

This works fine, = as long as the user answers before the fork is executed. However, if the user = answers after the fork is executed, then it gives an “invalid = argument” error, since that task is no longer running.

I tried making = it conditional, like this:

 

complain =3D = 0;

fork complain = (15)

   = ;         complain =3D 0;

   = ;         statements;

endfork

read =3D = read(player);

if = (complain)

kill_task(complain);

endif

 

However, = whatever happens within the fork doesn’t seem to affect the outside, so this = doesn’t work either.

Is there a = built-in command that would quickly check if “complain” is a valid = task? Something like:

 

is_running(compla= in) ?

 

Or any = alternatives to what I have been trying?

 

Thanks!

 

Jean-Marc = Giffin

 


From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Alexandre Borgia
Sent: Thursday, July 06, = 2006 11:47 AM
To: = encore@utdallas.edu
Subject: [encore] Re: = Wait For an Action?

 

Hi = Jean-Marc,

 

You could keep state information in a property on the = driver.  For instance, after you talk with the driver set something like “waiting_for_money” to 1 and fork a process that will check = this property again 10 seconds later.  In the meanwhile, if the player = decides to give him two pounds set the property back to 0 and continue with your = next actions.  When your forked process responds back, make it first = check if “waiting_for_money” is still set to 1 and if so make the = driver react as if he had not received the money in time, else exit the process without doing anything since the driver got the money and everything is = all right.

 

Hope this = helps!

-          = Alex

 

 

-----Original = Message-----
From: = encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin
Sent: Thursday, July 06, = 2006 10:06 AM
To: = encore@utdallas.edu
Subject: [encore] Wait = For an Action?

 

Hey = all!

 

Because of the nature of how I am making the MOO, I have bots that expect you to = give them items.

For example, to take a carriage, you have to talk to the driver and then he = asks for 2 pounds. I want to make it so that he waits a bit of time for you = to “give driver 2 pounds”, but if you take too long, = he’ll get annoyed with you and move on. I was thinking that it would be possible to do a “read(player)”, but then (as far as I know) it would take = away from allowing the normal “give” command to take place, since it wouldn’t parse the string. I then thought of making a = “fork” or “suspend”, but if the suspend was 10 seconds (for = example), and I gave the coins after 2 seconds, I would have to wait 8 seconds for the = driver to respond. Is there a good way to make the bot wait a certain amount of = time for an event, and as soon as it takes place, things = continue?

 

Thanks!

 

Jean-Marc Giffin


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006

------=_NextPart_000_0010_01C6A101.6409C940-- From jung@uib.no Thu Jul 6 12:38:01 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 12:38:01 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 7ABA15BB0 for ; Thu, 6 Jul 2006 12:38:01 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 3F35E484A for ; Thu, 6 Jul 2006 12:38:01 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 04889-01-57 for ; Thu, 6 Jul 2006 12:37:55 -0500 (CDT) Received: from noralf.uib.no (noralf.uib.no [129.177.30.12]) by mx2.utdallas.edu (Postfix) with ESMTP id 3E61A34FD for ; Thu, 6 Jul 2006 12:37:10 -0500 (CDT) Received: from alfred.uib.no (smtp.uib.no) [129.177.30.120] by noralf.uib.no for encore@utdallas.edu with esmtp (Exim 4.34) id 1FyXmn-0005IW-0O; Thu, 06 Jul 2006 19:37:09 +0200 Received: from 117.84-48-30.nextgentel.com ([10.24.104.19]) [84.48.30.117] by smtp.uib.no for encore@utdallas.edu with esmtp (Exim 4.34) id 1FyXmm-0005Xz-PO; Thu, 06 Jul 2006 19:37:08 +0200 Message-ID: <44AD4A3C.70001@uib.no> Date: Thu, 06 Jul 2006 19:37:00 +0200 From: Daniel Jung User-Agent: Mozilla Thunderbird 0.8 (Windows/20040913) X-Accept-Language: en-us, en MIME-Version: 1.0 To: encore Subject: [encore] Re: Wait For an Action? References: <44AD458F.9070804@uib.no> In-Reply-To: <44AD458F.9070804@uib.no> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-checked-clean: by exiscan on noralf X-Scanner: 107e3cceb91571ef1f8a3561d5748acd http://tjinfo.uib.no/virus.html X-UiB-SpamFlag: NO UIB: 0 hits, 8.0 required X-UiB-SpamReport: spamassassin found; X-Virus-Scanned: amavisd-new at utdallas.edu X-Amavis-Alert: BAD HEADER Improper folded header field made up entirely of whitespace in message header 'X-UiB-SpamReport': X-archive-position: 1715 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: jung@uib.no Precedence: bulk Reply-to: jung@uib.no List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Daniel Jung wrote: I suggested > fork() > answer = read(player); > if (match(answer, "give driver two pounds")) > this.received_money = 1; > endif > endfork Addendum: The read() builtin stops automatically after two minutes (I think). Of course, this is too long, and could mess up the workings when another customer comes after the ten seconds have elapsed and before the two minutes are completed. So you probably should insert a counter (or even better: a simple check) inside the fork as well, like the counter on the outside. Then kill the read(), if it's still active, or let it run, but without setting the properties. E.g., if (match(answer, "give driver two pounds") && time() - t < this.max_waiting) this.received_money = 1; endif HTH - Daniel From kevijeps@telusplanet.net Thu Jul 6 12:57:47 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 12:57:47 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 6F8A95BB0 for ; Thu, 6 Jul 2006 12:57:47 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 1D62A50DD for ; Thu, 6 Jul 2006 12:57:47 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 06551-01-23 for ; Thu, 6 Jul 2006 12:57:43 -0500 (CDT) Received: from defout.telus.net (defout.telus.net [199.185.220.240]) by mx2.utdallas.edu (Postfix) with ESMTP id 227943434 for ; Thu, 6 Jul 2006 12:57:42 -0500 (CDT) Received: from priv-edtnaa05.telusplanet.net ([199.126.223.252]) by priv-edtnes86.telusplanet.net (InterMail vM.7.05.01.01 201-2174-106-103-20060222) with ESMTP id <20060706175741.PGOB8051.priv-edtnes86.telusplanet.net@priv-edtnaa05.telusplanet.net>; Thu, 6 Jul 2006 11:57:41 -0600 Received: from lilith (d199-126-223-252.abhsia.telus.net [199.126.223.252]) by priv-edtnaa05.telusplanet.net (BorderWare MXtreme Infinity Mail Firewall) with ESMTP id F1QHDMKESQ; Thu, 6 Jul 2006 11:57:34 -0600 (MDT) From: "Kevin Jepson" To: , Subject: [encore] Re: Wait For an Action? Date: Thu, 6 Jul 2006 11:57:24 -0600 Message-ID: <004b01c6a125$a9995ce0$5a0119ac@lilith> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_004C_01C6A0F3.5EFEECE0" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Importance: Normal In-Reply-To: X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1716 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: kevijeps@telusplanet.net Precedence: bulk Reply-to: kevijeps@telusplanet.net List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------=_NextPart_000_004C_01C6A0F3.5EFEECE0 Content-Type: text/plain; charset="windows-1250" Content-Transfer-Encoding: quoted-printable Jean-Marc Variables only exist while a verb is executing, ie they are temporary = and onlyvisible tothat verb code. Therfore don't use a "variable", which only exists during the lifetime = of a verb/task, if you want info to be persistent. That is why Alex suggested using a Property which is persistent on the object regardless of which verbs are running. Check out the LambdaMoo Programming manual for more info. Ciao KJ -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin Sent: July 6, 2006 10:46 AM To: encore@utdallas.edu Subject: [encore] Re: Wait For an Action? Hey Alex, =20 Thanks for the response. However, I have tried what you described, but there=92s a problem. See, as soon as the =93fork=94 is encountered, all = variables within it are what they are when the fork is called, not what they will = be once it is executed. So changing the value of =93waiting_for_money=94 = after it=92s been done won=92t affect the fork at all. The alternative that I=92ve tried is to give the fork a task name, and = then kill that task once something is read in: =20 fork complain (15) statements; endfork read =3D read(player); kill_task(complain); =20 This works fine, as long as the user answers before the fork is = executed. However, if the user answers after the fork is executed, then it gives = an =93invalid argument=94 error, since that task is no longer running. I tried making it conditional, like this: =20 complain =3D 0; fork complain (15) complain =3D 0; statements; endfork read =3D read(player); if (complain) kill_task(complain); endif =20 However, whatever happens within the fork doesn=92t seem to affect the outside, so this doesn=92t work either. Is there a built-in command that would quickly check if =93complain=94 = is a valid task? Something like: =20 is_running(complain) ? =20 Or any alternatives to what I have been trying? =20 Thanks! =20 Jean-Marc Giffin =20 _____ =20 From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Alexandre Borgia Sent: Thursday, July 06, 2006 11:47 AM To: encore@utdallas.edu Subject: [encore] Re: Wait For an Action? =20 Hi Jean-Marc, =20 You could keep state information in a property on the driver. For = instance, after you talk with the driver set something like = =93waiting_for_money=94 to 1 and fork a process that will check this property again 10 seconds later. = In the meanwhile, if the player decides to give him two pounds set the = property back to 0 and continue with your next actions. When your forked process responds back, make it first check if =93waiting_for_money=94 is still = set to 1 and if so make the driver react as if he had not received the money in = time, else exit the process without doing anything since the driver got the = money and everything is all right. =20 Hope this helps! - Alex =20 =20 -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin Sent: Thursday, July 06, 2006 10:06 AM To: encore@utdallas.edu Subject: [encore] Wait For an Action? =20 Hey all! =20 Because of the nature of how I am making the MOO, I have bots that = expect you to give them items. For example, to take a carriage, you have to talk to the driver and then = he asks for 2 pounds. I want to make it so that he waits a bit of time for = you to =93give driver 2 pounds=94, but if you take too long, he=92ll get = annoyed with you and move on. I was thinking that it would be possible to do a =93read(player)=94, but then (as far as I know) it would take away from = allowing the normal =93give=94 command to take place, since it wouldn=92t parse = the string. I then thought of making a =93fork=94 or =93suspend=94, but if the = suspend was 10 seconds (for example), and I gave the coins after 2 seconds, I would = have to wait 8 seconds for the driver to respond. Is there a good way to make = the bot wait a certain amount of time for an event, and as soon as it takes place, things continue? =20 Thanks! =20 Jean-Marc Giffin -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006 -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.9/382 - Release Date: = 04/07/2006 --=20 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.9/382 - Release Date: = 04/07/2006 =20 ------=_NextPart_000_004C_01C6A0F3.5EFEECE0 Content-Type: text/html; charset="windows-1250" Content-Transfer-Encoding: quoted-printable Message
Jean-Marc
Variables only exist while a verb is executing, ie they are = temporary and=20 onlyvisible tothat verb code.
Therfore don't use a "variable", which only exists during the = lifetime of=20 a verb/task, if you want info to be persistent.
That=20 is why Alex suggested using a Property which is persistent on the object = regardless of which verbs are running.
Check=20 out the LambdaMoo Programming manual for more info.
Ciao
KJ
-----Original Message-----
From:=20 encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On = Behalf Of=20 Jean-Marc Giffin
Sent: July 6, 2006 10:46 = AM
To:=20 encore@utdallas.edu
Subject: [encore] Re: Wait For an=20 Action?

Hey=20 Alex,

 

Thanks for = the=20 response. However, I have tried what you described, but there=92s a = problem.=20 See, as soon as the =93fork=94 is encountered, all variables within it = are what=20 they are when the fork is called, not what they will be once it is = executed.=20 So changing the value of =93waiting_for_money=94 after it=92s been = done won=92t affect=20 the fork at all.

The = alternative that=20 I=92ve tried is to give the fork a task name, and then kill that task = once=20 something is read in:

 

fork = complain=20 (15)

           = =20 statements;

endfork

read =3D=20 read(player);

kill_task(complain);

 

This works = fine, as=20 long as the user answers before the fork is executed. However, if the = user=20 answers after the fork is executed, then it gives an =93invalid = argument=94 error,=20 since that task is no longer running.

I tried = making it=20 conditional, like this:

 

complain = =3D=20 0;

fork = complain=20 (15)

           = =20 complain =3D 0;

           = =20 statements;

endfork

read =3D=20 read(player);

if=20 (complain)

kill_task(complain);

endif

 

However, = whatever=20 happens within the fork doesn=92t seem to affect the outside, so this = doesn=92t=20 work either.

Is there a = built-in=20 command that would quickly check if =93complain=94 is a valid task? = Something=20 like:

 

is_running(complain)=20 ?

 

Or any = alternatives=20 to what I have been trying?

 

Thanks!

 

Jean-Marc=20 Giffin

 


From:=20 encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] = On Behalf Of Alexandre = Borgia
Sent: Thursday, July 06, 2006 = 11:47=20 AM
To:=20 encore@utdallas.edu
Subject:=20 [encore] Re: Wait For an Action?

 

Hi=20 Jean-Marc,

 

You=20 could keep state information in a property on the driver.  For = instance,=20 after you talk with the driver set something like = =93waiting_for_money=94 to 1 and=20 fork a process that will check this property again 10 seconds = later.  In=20 the meanwhile, if the player decides to give him two pounds set the = property=20 back to 0 and continue with your next actions.  When your forked = process=20 responds back, make it first check if =93waiting_for_money=94 is still = set to 1=20 and if so make the driver react as if he had not received the money in = time,=20 else exit the process without doing anything since the driver got the = money=20 and everything is all right.

 

Hope this=20 helps!

-         =20 Alex

 

 

-----Original=20 Message-----
From:=20 encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] = On Behalf Of Jean-Marc = Giffin
Sent: Thursday, July 06, 2006 = 10:06=20 AM
To:=20 encore@utdallas.edu
Subject:=20 [encore] Wait For an Action?

 

Hey=20 all!

 

Because=20 of the nature of how I am making the MOO, I have bots that expect you = to give=20 them items.

For=20 example, to take a carriage, you have to talk to the driver and then = he asks=20 for 2 pounds. I want to make it so that he waits a bit of time for you = to=20 =93give driver 2 pounds=94, but if you take too long, he=92ll get = annoyed with you=20 and move on. I was thinking that it would be possible to do a = =93read(player)=94,=20 but then (as far as I know) it would take away from allowing the = normal =93give=94=20 command to take place, since it wouldn=92t parse the string. I then = thought of=20 making a =93fork=94 or =93suspend=94, but if the suspend was 10 = seconds (for example),=20 and I gave the coins after 2 seconds, I would have to wait 8 seconds = for the=20 driver to respond. Is there a good way to make the bot wait a certain = amount=20 of time for an event, and as soon as it takes place, things=20 continue?

 

Thanks!

 

Jean-Marc=20 Giffin


--
No virus found in this outgoing = message.
Checked by=20 AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.8/380 - = Release=20 Date: 30/06/2006


--
No virus found in this incoming = message.
Checked by=20 AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.9/382 - = Release=20 Date: 04/07/2006


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.9/382 - Release Date: = 04/07/2006

------=_NextPart_000_004C_01C6A0F3.5EFEECE0-- From jean-marc.giffin@acadiau.ca Thu Jul 6 13:00:07 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 13:00:07 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 1D1EB5BB0 for ; Thu, 6 Jul 2006 13:00:07 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id E1A8F20F1 for ; Thu, 6 Jul 2006 13:00:06 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 06551-01-38 for ; Thu, 6 Jul 2006 12:59:55 -0500 (CDT) Received: from stanley.acadiau.ca (stanley.acadiau.ca [131.162.201.38]) by mx2.utdallas.edu (Postfix) with ESMTP id E8E5E3430 for ; Thu, 6 Jul 2006 12:59:54 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by stanley.acadiau.ca (Postfix) with ESMTP id 49C6519BB52 for ; Thu, 6 Jul 2006 14:59:54 -0300 (ADT) Received: from stanley.acadiau.ca ([127.0.0.1]) by localhost (helios.acadiau.ca [127.0.0.1]) (amavisd-new, port 10026) with LMTP id 27776-01-4 for ; Thu, 6 Jul 2006 14:59:51 -0300 (ADT) Received: from exchange.ad.acadiau.ca (exchange.acadiau.ca [131.162.200.60]) by stanley.acadiau.ca (Postfix) with ESMTP id 90B9719ACE9 for ; Thu, 6 Jul 2006 14:59:51 -0300 (ADT) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6A125.F00BC408" Subject: [encore] Re: Wait For an Action? Date: Thu, 6 Jul 2006 14:59:44 -0300 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [encore] Re: Wait For an Action? Thread-Index: AcahJbwgu/oiznihSkiNwr47OOhnTgAAB3yw From: "Jean-Marc Giffin" To: X-Virus-Scanned: by amavisd-new at acadiau.ca X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1717 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: jean-marc.giffin@acadiau.ca Precedence: bulk Reply-to: jean-marc.giffin@acadiau.ca List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------_=_NextPart_001_01C6A125.F00BC408 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hey, =20 Sorry, what I said was misleading. I actually did mean an object's property, not a variable. =20 Thanks, =20 Jean-Marc Giffin =20 ________________________________ From: Kevin Jepson [mailto:kevijeps@telusplanet.net]=20 Sent: Thursday, July 06, 2006 2:57 PM To: jean-marc.giffin@acadiau.ca; encore@utdallas.edu Subject: RE: [encore] Re: Wait For an Action? =20 Jean-Marc Variables only exist while a verb is executing, ie they are temporary and onlyvisible tothat verb code. Therfore don't use a "variable", which only exists during the lifetime of a verb/task, if you want info to be persistent. That is why Alex suggested using a Property which is persistent on the object regardless of which verbs are running. Check out the LambdaMoo Programming manual for more info. Ciao KJ -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin Sent: July 6, 2006 10:46 AM To: encore@utdallas.edu Subject: [encore] Re: Wait For an Action? Hey Alex, =20 Thanks for the response. However, I have tried what you described, but there's a problem. See, as soon as the "fork" is encountered, all variables within it are what they are when the fork is called, not what they will be once it is executed. So changing the value of "waiting_for_money" after it's been done won't affect the fork at all. The alternative that I've tried is to give the fork a task name, and then kill that task once something is read in: =20 fork complain (15) statements; endfork read =3D read(player); kill_task(complain); =20 This works fine, as long as the user answers before the fork is executed. However, if the user answers after the fork is executed, then it gives an "invalid argument" error, since that task is no longer running. I tried making it conditional, like this: =20 complain =3D 0; fork complain (15) complain =3D 0; statements; endfork read =3D read(player); if (complain) kill_task(complain); endif =20 However, whatever happens within the fork doesn't seem to affect the outside, so this doesn't work either. Is there a built-in command that would quickly check if "complain" is a valid task? Something like: =20 is_running(complain) ? =20 Or any alternatives to what I have been trying? =20 Thanks! =20 Jean-Marc Giffin =20 =09 ________________________________ From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Alexandre Borgia Sent: Thursday, July 06, 2006 11:47 AM To: encore@utdallas.edu Subject: [encore] Re: Wait For an Action? =20 Hi Jean-Marc, =20 You could keep state information in a property on the driver. For instance, after you talk with the driver set something like "waiting_for_money" to 1 and fork a process that will check this property again 10 seconds later. In the meanwhile, if the player decides to give him two pounds set the property back to 0 and continue with your next actions. When your forked process responds back, make it first check if "waiting_for_money" is still set to 1 and if so make the driver react as if he had not received the money in time, else exit the process without doing anything since the driver got the money and everything is all right. =20 Hope this helps! - Alex =20 =20 -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin Sent: Thursday, July 06, 2006 10:06 AM To: encore@utdallas.edu Subject: [encore] Wait For an Action? =20 Hey all! =20 Because of the nature of how I am making the MOO, I have bots that expect you to give them items. For example, to take a carriage, you have to talk to the driver and then he asks for 2 pounds. I want to make it so that he waits a bit of time for you to "give driver 2 pounds", but if you take too long, he'll get annoyed with you and move on. I was thinking that it would be possible to do a "read(player)", but then (as far as I know) it would take away from allowing the normal "give" command to take place, since it wouldn't parse the string. I then thought of making a "fork" or "suspend", but if the suspend was 10 seconds (for example), and I gave the coins after 2 seconds, I would have to wait 8 seconds for the driver to respond. Is there a good way to make the bot wait a certain amount of time for an event, and as soon as it takes place, things continue? =20 Thanks! =20 Jean-Marc Giffin =20 -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: 30/06/2006 =20 -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.9/382 - Release Date: 04/07/2006 -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.9/382 - Release Date: 04/07/2006 ------_=_NextPart_001_01C6A125.F00BC408 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Message

Hey,

 

Sorry, what I said was misleading. = I actually did mean an object’s property, not a = variable.

 

Thanks,

=

 

Jean-Marc = Giffin

 


From: Kevin = Jepson [mailto:kevijeps@telusplanet.net]
Sent: Thursday, July 06, = 2006 2:57 PM
To: = jean-marc.giffin@acadiau.ca; encore@utdallas.edu
Subject: RE: [encore] Re: = Wait For an Action?

 

Jean-Marc

Variables only exist while a verb = is executing, ie they are temporary and onlyvisible tothat verb = code.

Therfore don't use a = "variable", which only exists during the lifetime of a verb/task, if you want info = to be persistent.

That is why Alex suggested using a Property which is persistent on the object regardless of which verbs are running.

Check out the LambdaMoo Programming = manual for more info.

Ciao

KJ

-----Original = Message-----
From: = encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin
Sent: July 6, 2006 10:46 = AM
To: = encore@utdallas.edu
Subject: [encore] Re: = Wait For an Action?

Hey = Alex,

 

Thanks for the response. However, I = have tried what you described, but there’s a problem. See, as soon as = the “fork” is encountered, all variables within it are what they are when the fork is = called, not what they will be once it is executed. So changing the value of “waiting_for_money” after it’s been done won’t = affect the fork at all.

The alternative that I’ve = tried is to give the fork a task name, and then kill that task once something is read = in:

 

fork complain = (15)

      =       statements;

endfork

=

read =3D = read(player);

kill_task(complain);

 

This works fine, as long as the = user answers before the fork is executed. However, if the user answers after = the fork is executed, then it gives an “invalid argument” error, = since that task is no longer running.

I tried making it conditional, like = this:

 

complain =3D = 0;

fork complain = (15)

      =       complain =3D 0;

      =       statements;

endfork

=

read =3D = read(player);

if = (complain)

kill_task(complai= n);

endif

 

However, whatever happens within = the fork doesn’t seem to affect the outside, so this doesn’t work = either.

Is there a built-in command that = would quickly check if “complain” is a valid task? Something = like:

 

is_running(complain) = ?

 

Or any alternatives to what I have = been trying?

 

Thanks!

=

 

Jean-Marc = Giffin

 


From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Alexandre Borgia
Sent: Thursday, July 06, = 2006 11:47 AM
To: = encore@utdallas.edu
Subject: [encore] Re: = Wait For an Action?

 

Hi = Jean-Marc,

 

You could keep = state information in a property on the driver.  For instance, after you = talk with the driver set something like “waiting_for_money” to 1 = and fork a process that will check this property again 10 seconds later.  In the = meanwhile, if the player decides to give him two pounds set the property back to 0 = and continue with your next actions.  When your forked process responds = back, make it first check if “waiting_for_money” is still set to 1 = and if so make the driver react as if he had not received the money in time, else exit the = process without doing anything since the driver got the money and everything is = all right.

 

Hope this = helps!

-          = Alex

 

 

-----Original = Message-----
From: = encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin
Sent: Thursday, July 06, = 2006 10:06 AM
To: = encore@utdallas.edu
Subject: [encore] Wait = For an Action?

 

Hey = all!

 

Because of the = nature of how I am making the MOO, I have bots that expect you to give them = items.

For example, to = take a carriage, you have to talk to the driver and then he asks for 2 pounds. = I want to make it so that he waits a bit of time for you to “give driver = 2 pounds”, but if you take too long, he’ll get annoyed with you and move on. = I was thinking that it would be possible to do a “read(player)”, = but then (as far as I know) it would take away from allowing the normal “give” = command to take place, since it wouldn’t parse the string. I then thought of = making a “fork” or “suspend”, but if the suspend was 10 seconds (for example), = and I gave the coins after 2 seconds, I would have to wait 8 seconds for the driver to respond. Is there a good way to make the bot wait a certain amount of = time for an event, and as soon as it takes place, things = continue?

 

Thanks!

 

Jean-Marc = Giffin

 

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.8/380 - Release Date: = 30/06/2006

 

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.9/382 - Release Date: = 04/07/2006


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.9/382 - Release Date: = 04/07/2006

------_=_NextPart_001_01C6A125.F00BC408-- From kevijeps@telusplanet.net Thu Jul 6 13:08:23 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 13:08:24 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id CBE6C5BB0 for ; Thu, 6 Jul 2006 13:08:23 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 87C6E505D for ; Thu, 6 Jul 2006 13:08:23 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 07770-01-62 for ; Thu, 6 Jul 2006 13:08:13 -0500 (CDT) Received: from priv-edtnes10.telusplanet.net (outbound02.telus.net [199.185.220.221]) by mx2.utdallas.edu (Postfix) with ESMTP id 4659F345B for ; Thu, 6 Jul 2006 13:08:06 -0500 (CDT) Received: from priv-edtnaa06.telusplanet.net ([199.126.223.252]) by priv-edtnes10.telusplanet.net (InterMail vM.6.01.05.04 201-2131-123-105-20051025) with ESMTP id <20060706180805.TYJO14156.priv-edtnes10.telusplanet.net@priv-edtnaa06.telusplanet.net>; Thu, 6 Jul 2006 12:08:05 -0600 Received: from lilith (d199-126-223-252.abhsia.telus.net [199.126.223.252]) by priv-edtnaa06.telusplanet.net (BorderWare MXtreme Infinity Mail Firewall) with ESMTP id A0F5QGQMFU; Thu, 6 Jul 2006 12:07:48 -0600 (MDT) From: "Kevin Jepson" To: , "'encore'" Subject: [encore] Re: Wait For an Action? Date: Thu, 6 Jul 2006 12:07:42 -0600 Message-ID: <005201c6a127$1724c500$5a0119ac@lilith> MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1250" Content-Transfer-Encoding: quoted-printable X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Importance: Normal In-Reply-To: X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1718 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: kevijeps@telusplanet.net Precedence: bulk Reply-to: kevijeps@telusplanet.net List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Jean-Marc WRT multiple quantities of objects like money, consumables etc. There = are lots of MOO objects like that. There are logical issues that need to be addressed using such systems in MOOS. Do you want real objects represented by the quantity, ie 3 cans of beer #345,#346,#347? If so what happens when someone wants a fourth? What if someone looses = #346 or you recycle it by accident? Or do you want to have a MONEY property on the Player that get's = incremented when they get money and decremented when they spend it? In which case = you need to make sure that that property is protected so that the Player = can't mess with it except througfh suthorized verbs/objects (like a banker). One set of such objects freely available, in that they are already = coded, is the money, ammunition system in the RPG core which is available here: http://members.aol.com/geocorona/rpgmoo.html I have split out the objects, preparatory to porting them into my MOO = (which I never actually got around to doing) and could send them to you if you like. Ciao KJ -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Jean-Marc Giffin Sent: July 6, 2006 11:33 AM To: encore Subject: [encore] Re: Wait For an Action? Thanks for the reply, this method seems to run a lot more smoothly. By = the way, before I do a bunch of extra work, is there already an = implementation of a quantity item? By that I mean, the way the MOO is set up is that a "shovel" is a shovel object, and a "cat" is a cat object, but if I = wanted to have a certain amount of money that I could transfer to another player, = or bot, is there a quantity item system already set up to do that? That way all that really changes is the amount that each player has... = the difficulty I'm facing is the parsing of giving, since it expects: give thing to whoever But we want: give amount thing to whoever. Any ideas? I have a few if I have to do it myself, but no need if it = already exists. Thanks, Jean-Marc Giffin -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu] On Behalf Of Daniel Jung Sent: Thursday, July 06, 2006 2:17 PM To: encore Subject: [encore] Re: Wait For an Action? Jean-Marc Giffin wrote: > For example, to take a carriage, you have to talk to the driver and then > he asks for 2 pounds. I want to make it so that he waits a bit of time = > for you to "give driver 2 pounds", but if you take too long, he'll get = > annoyed with you and move on. Like Alex said, the best solution would be to store the value "paid|not=20 paid" into a property. This code below is off the sleeve, NOT tested. It is a mere suggestion=20 for structuring your verb. You need three properties: driver.received_money =3D 0; driver.busy =3D 0; driver.max_wait =3D 10; ******************************************************************** if (this.busy) player:tell("Please wait. There is another customer before you."); = else this.received_money =3D 0; player:tell("Please give me two pounds"); fork() answer =3D read(player); if (match(answer, "give driver two pounds")) this.received_money =3D 1; endif endfork t =3D time(); while (time() - t < this.max_wait && !this.received_money) suspend(1); endwhile if (this.received_money) player:tell("Thanks. The ride begins"); else player:tell("I don't bother waiting any more. Bye."); endif this.received_money =3D this.busy =3D 0; endif ******************************************************************** The clue is the while() clause which checks every second if the=20 condition is met, and stops at a given maximum of seconds. HTH - Daniel --=20 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.9/382 - Release Date: = 04/07/2006 =20 --=20 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.9/382 - Release Date: = 04/07/2006 =20 From jung@uib.no Thu Jul 6 14:34:34 2006 Received: with ECARTIS (v1.0.0; list encore); Thu, 06 Jul 2006 14:34:35 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id A28105BB0 for ; Thu, 6 Jul 2006 14:34:34 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 5E2105026 for ; Thu, 6 Jul 2006 14:34:34 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 15859-01-78 for ; Thu, 6 Jul 2006 14:34:28 -0500 (CDT) Received: from noralf.uib.no (noralf.uib.no [129.177.30.12]) by mx2.utdallas.edu (Postfix) with ESMTP id E30BD344E for ; Thu, 6 Jul 2006 14:34:27 -0500 (CDT) Received: from alfred.uib.no (smtp.uib.no) [129.177.30.120] by noralf.uib.no for encore@utdallas.edu with esmtp (Exim 4.34) id 1FyZcH-00057Y-Qh; Thu, 06 Jul 2006 21:34:27 +0200 Received: from 117.84-48-30.nextgentel.com ([10.24.104.19]) [84.48.30.117] by smtp.uib.no for encore@utdallas.edu with esmtp (Exim 4.34) id 1FyZcH-0005je-If; Thu, 06 Jul 2006 21:34:25 +0200 Message-ID: <44AD65B9.9030107@uib.no> Date: Thu, 06 Jul 2006 21:34:17 +0200 From: Daniel Jung User-Agent: Mozilla Thunderbird 0.8 (Windows/20040913) X-Accept-Language: en-us, en MIME-Version: 1.0 To: encore Subject: [encore] Re: Wait For an Action? References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-checked-clean: by exiscan on noralf X-Scanner: d90dfb7bb0d637e5255dd07ff890e9bb http://tjinfo.uib.no/virus.html X-UiB-SpamFlag: NO UIB: 0 hits, 8.0 required X-UiB-SpamReport: spamassassin found; X-Virus-Scanned: amavisd-new at utdallas.edu X-Amavis-Alert: BAD HEADER Improper folded header field made up entirely of whitespace in message header 'X-UiB-SpamReport': X-archive-position: 1719 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: jung@uib.no Precedence: bulk Reply-to: jung@uib.no List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Jean-Marc Giffin wrote: > Thanks for the reply, this method seems to run a lot more smoothly. > By the way, before I do a bunch of extra work, is there already an > implementation of a quantity item? Hm. Depends on what you mean by the term. There is the quota system. And even the bare notion of INT (integers) as a data type couldbe said to be the implementation of quantity. That being said, the string verb directObjectString preposition indirectObjectString must ALWAYS be parsed. First, the verb is parsed. One word up to the first whitespace. Then, the preposition is looked for. If a "to" is encountered, it is regarded as the preposition "to" - if it is meant that way or not. E.g., whisper What to do now to Jean would be parsed as verb: whisper dobjstr: What prep: to iobjstr: do now to Jean Of course, you don't want that. It results in a matching error: "do now to Jean" is not a player. You want verb: whisper dobjstr: What to do now prep: to iobjstr: Jean In order to achieve this, you must put the dobjstr into quotes: whisper "What to do now" to Jean and you're there. Why am I writing this? Well, as I said, all commands need to be parsed. So if you have a verb give any to this (defined on the object), or give any to any (defined on the room, or player) the first "any" (i.e., what it stands for) must be interpreted. So if you type give 40 bucks to driver the phrase "40 bucks" need to be dissected. If the verb arguments are "this to any" etc., then "40 bucks" is automatically matched against the object in question and the verb executed if matched. If the args are "any to any", then the first "any" is just a string you must parse yourself. You could do it this way: ********************************************** phrase = iobjstr; // "iobjstr" is a builtin variable. use it! parts = $string_utils:explode(phrase); amount = parts[1]; if ($string_utils:is_integer(amount)) value = toint(amount); "example of what to do below"; "you must have sufficient perms to do this!"; player.savings = player.savings - value; this.savings = this.savings + value; player:tell(tostr("You have given ", value, " bucks to the driver.")); this:tell(tostr(player.name, " jsut gave you ", value, " bucks.")); else player:tell("Sorry, didn't get that. How many bucks?"); endif ********************************************** Of course, it should check if the player still has enough money to take that ride, etc. Again, this is not a complete verb such as I would write it, it is just an explanation of the structure. Just one more suggestion: You could extend the exploding, and make sure somebody is not giving the driver 40 elephant droppings: ********************************************** if (length(parts) > 1) allowed_units = {"dollars", "bucks", "clams"}; old_units = {"lire", "francs", "marks"}; if ((parts[2] in (allowed_units)) "do the maths"; elseif (((parts[2] in (old_units)) player:tell("Those coins are old. Please pay in dollars."); endif player:tell("I don't recognize the currency"); endif endif ********************************************** ... and even call a currency converting verb and calculate the worth in dollars when somebody wants to pay in Euros... I recall very dimly that someone did that once. No idea when, where and who though. HTH - Daniel From kevijeps@telusplanet.net Sun Jul 9 13:58:04 2006 Received: with ECARTIS (v1.0.0; list encore); Sun, 09 Jul 2006 13:58:04 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id E60935BCE for ; Sun, 9 Jul 2006 13:58:03 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id ABC244CF9 for ; Sun, 9 Jul 2006 13:58:03 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 10460-01-89 for ; Sun, 9 Jul 2006 13:58:01 -0500 (CDT) Received: from defout.telus.net (defout.telus.net [204.209.205.55]) by mx2.utdallas.edu (Postfix) with ESMTP id DA4613384 for ; Sun, 9 Jul 2006 13:58:00 -0500 (CDT) Received: from priv-edmwaa06.telusplanet.net ([199.126.223.252]) by priv-edmwes23.telusplanet.net (InterMail vM.7.05.01.01 201-2174-106-103-20060222) with ESMTP id <20060709185759.IZJP6294.priv-edmwes23.telusplanet.net@priv-edmwaa06.telusplanet.net>; Sun, 9 Jul 2006 12:57:59 -0600 Received: from lilith (d199-126-223-252.abhsia.telus.net [199.126.223.252]) by priv-edmwaa06.telusplanet.net (BorderWare MXtreme Infinity Mail Firewall) with ESMTP id 2382T27STB; Sun, 9 Jul 2006 12:57:53 -0600 (MDT) From: "Kevin Jepson" To: "'encore'" , , Subject: [encore] Thar's doin's at the Barn! Date: Sun, 9 Jul 2006 12:57:53 -0600 Message-ID: <000e01c6a389$962fa630$5a0119ac@lilith> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_000F_01C6A357.4B953630" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Importance: Normal X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1720 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: kevijeps@telusplanet.net Precedence: bulk Reply-to: kevijeps@telusplanet.net List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------=_NextPart_000_000F_01C6A357.4B953630 Content-Type: text/plain; charset="windows-1250" Content-Transfer-Encoding: quoted-printable Good Afternoon Folks =20 I hope you're enjoying your weekend. =20 Lennie has passed me the keys to the Barn, HYPERLINK "http://www.encore-consortium.org/Barn/default.htm"http://www.encore-cons= ort ium.org/Barn/default.htm , along with a broom shovel, bucket, hammer, = saw and a lot of tools for some major renovations. :-) =20 Over the next couple of weeks please take a look and you should see lots = of shiny new (and classic old) content and some new and interesting = information for EnCore users, Wizards and MOO enthusiasts generally.=20 =20 Lennie's original rationale still applies: About The Barn The Barn was built out of a discussion on the encore-list in May of 2004 about the need for a common repository of moo code and knowledge. Call = it a library, call it a container, call it a shared knowledge base--it is = only as good as those who contribute to it make it. Here useful innovations created by individuals or institutions can be = made available to the community of enCore users.=20 Lennie Irvin founder of The Barn, May, 2004 Please feel free to send me comments and suggestions about what you see = at the Barn. Submissions of Code, as either Objects or snippets, and links to useful = MOO info are welcome. =20 More info soon, as the dust starts to fly. :-) =20 Stay tuned. =20 Ciao KJ =20 P.S. Sorry for the crossposting if you are on more than one of these = lists. =20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D Kevin Jepson R.E.T. President 4K Consulting Inc. =20 An't nanum hearm deth, doth hwaet ye willath. Email: kevijeps@telusplanet.net =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D --=20 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.9.10/383 - Release Date: = 07/07/2006 =20 ------=_NextPart_000_000F_01C6A357.4B953630 Content-Type: text/html; charset="windows-1250" Content-Transfer-Encoding: quoted-printable Message
Good = Afternoon=20 Folks
 
I hope = you're=20 enjoying your weekend.
 
Lennie = has passed me=20 the keys to the Barn, http://www.enc= ore-consortium.org/Barn/default.htm ,=20 along with a broom shovel, bucket, hammer, saw and a lot of tools for = some major=20 renovations. :-)
 
Over = the next couple=20 of weeks please take a look and you should see lots of shiny new = (and=20 classic old) content and some new and interesting information for EnCore = users,=20 Wizards and MOO enthusiasts generally. 
 
Lennie's original rationale = still=20 applies:

About The = Barn

The Barn was = built out of=20 a discussion on the encore-list in May of 2004 about the need for a = common=20 repository of moo code and knowledge. Call it a library, call it a = container,=20 call it a shared knowledge base--it is only as good as those who = contribute to=20 it make it.

Here useful = innovations=20 created by individuals or institutions can be made available to the = community=20 of enCore users.

Lennie = Irvin
founder of=20 The Barn, May, 2004

Please = feel free to=20 send me comments and suggestions about what you see at the=20 Barn.
Submissions of Code,=20 as either Objects or snippets, and links to useful MOO info are=20 welcome.
 
More = info soon, as=20 the dust starts to fly. :-)
 
Stay=20 tuned.
 
Ciao
KJ
 
P.S. = Sorry for the=20 crossposting if you are on more than one of these = lists.
 
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D
Kevin Jepson=20 R.E.T.
President
4K Consulting=20 Inc.           &nb= sp;        
An't=20 nanum hearm deth, doth hwaet ye willath.
Email:=20 kevijeps@telusplanet.net
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.9.10/383 - Release Date: = 07/07/2006

------=_NextPart_000_000F_01C6A357.4B953630-- From Lirvin@accdvm.accd.edu Wed Jul 12 10:02:31 2006 Received: with ECARTIS (v1.0.0; list encore); Wed, 12 Jul 2006 10:02:32 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id ADBC35BEE for ; Wed, 12 Jul 2006 10:02:31 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 735B7535C for ; Wed, 12 Jul 2006 10:02:31 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 25314-01-40 for ; Wed, 12 Jul 2006 10:02:20 -0500 (CDT) Received: from mx3.lsn.net (mx3.lsn.net [66.90.130.75]) by mx2.utdallas.edu (Postfix) with ESMTP id 809F53462 for ; Wed, 12 Jul 2006 10:02:09 -0500 (CDT) Received: from Gilgamesh.accdvm.accd.edu (66-90-183-6.dyn.grandenetworks.net [66.90.183.6]) by mx3.lsn.net (8.13.5/8.13.5) with ESMTP id k6CF2AVb008047 for ; Wed, 12 Jul 2006 10:02:11 -0500 Message-Id: <6.2.5.6.0.20060712095739.02938b50@accdvm.accd.edu> X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6 Date: Wed, 12 Jul 2006 10:02:05 -0500 To: encore@utdallas.edu From: Lennie Irvin Subject: [encore] encore hosting Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Virus-Scanned: ClamAV 0.88.2/1593/Wed Jul 12 08:59:03 2006 on mx0.lsn.net X-Virus-Status: Clean X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1721 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: Lirvin@accdvm.accd.edu Precedence: bulk Reply-to: Lirvin@accdvm.accd.edu List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore ******************************* This message was initially posted to the development@encore-consortium.org list Please pardon the cross-posting for some of you LI ****************************** Hi Everyone, I had some conversations with Daniel in Jung about the crucial issue of solidifying how people host an enCore site. Secondary Worlds (now Literary Worlds) experienced a major loss of data due to problems they encountered with hosting enCore. It is not completely enCore's fault, but from a usability standpoint, instructions and guidance for hosting need to be created such that hosting is made easier. If hosting enCore is too complicated that general users can't do it, then in my book it is enCore's fault. So I am calling on enCore developers to see if they can't put together a clear guide for hosting an enCore site, and perhaps brainstorm how to make hosting more reliable and simpler. Here are a few related considerations that seem pertinent to me: 1) Part of the cause of lost data is some confusion between the three versions of the database--moo.db, moo.newdb, moo.olddb (pardon if my naming is off). We can't forget the database that lives in vapor within the RAM (that gets checkpointed to moo.newdb periodically). None tech people have problems knowing what and how they should backup their database. The odd situation of Secondary Worlds--They ran into an odd situation where the server they were hosted on ran out of room. It checkpointed and backed up to moo.newdb but the server aborted the operation for lack of memory so their backedup versions of the moo.newdb were all corrupted and incomplete. THEN when they restarted the moo, they lost the real version of the moo that lived in the database. I believe something similar happened to me when I lost two months of up time and could not recover it. I didn't have a problem with memory, but somehow the true database (living in the RAM) was not updated into the moo.new.db. I wonder if a periodic total moo restart would not be such a bad thing to automate and have happen. If checkpoints happen every 30 minutes and update the moo.newdb, then perhaps a total moo server restart would update the moo.olddb as well once a day or once a week. This is only a suggestion 2) Any batch files that may be needed so that the mooserver restarts automatically upon a server reboot need to be provided (this seemed to be an issue for me hosting on a windows server so I'm not sure for a UNIX or LINUX box). 3) IF we can facilitate enCore hosting on profession web hosting sites via Control Panels, we would greatly expand the availability of enCore to general users. For instance, Moodle a course platform, is installable on my webhost via an application called "Fantastico." Here is a description of how Fantastico works: http://www.webmasterstop.com/110.html Here is the company link about Fantastico: http://netenberg.com/fantastico.php Personally, enabling enCore installation via Fantastico into webhosted spaces would help me immensely (since it looks like I don't have a encore home anymore with the shuttering of Nouspace). I'd like to install enCore with a few clicks. 4) Installation and hosting issues bring up the BIG issue also of updating an enCore database. Would we be able to facilitate automated updating of an enCore database (rather than the laborsome copy and paste process right now)? Could we have options for installation --Custom install which would be the current method for sites that have customized their database and must be careful how they install the new code --Autoinstall for users who pretty much use enCore as is and don't create local customizations other than content. I believe these issues are really important for enCore's future. I encourage you to use this list development@encore-consortium.org to discuss and work on this issue and I'm looking forward to hearing your ideas. Please share how you host enCore right now. How do you back it up? Cheers, Lennie From rozemar@gvsu.edu Wed Jul 12 10:15:21 2006 Received: with ECARTIS (v1.0.0; list encore); Wed, 12 Jul 2006 10:15:21 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 938D75D7B for ; Wed, 12 Jul 2006 10:15:21 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 742E0A158 for ; Wed, 12 Jul 2006 10:15:21 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 25617-01-66 for ; Wed, 12 Jul 2006 10:15:14 -0500 (CDT) Received: from gvsu.edu (gwise-a2.server.gvsu.edu [148.61.5.164]) by mx2.utdallas.edu (Postfix) with ESMTP id 06940343E for ; Wed, 12 Jul 2006 10:15:07 -0500 (CDT) Received: from SMTPDOM-MTA by gvsu.edu with Novell_GroupWise; Wed, 12 Jul 2006 11:15:07 -0400 Message-Id: X-Mailer: Novell GroupWise Internet Agent 6.5.5 Beta Date: Wed, 12 Jul 2006 11:14:51 -0400 From: "Robert Rozema" To: "Lennie Irvin" , Subject: [encore] Re: encore hosting Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1722 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: rozemar@gvsu.edu Precedence: bulk Reply-to: rozemar@gvsu.edu List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Lennie, Having used Fantastico plugins on my bluehost web account (e.g. I plugged = in a Wordpress blog and a wiki), I think your idea makes a great deal of = sense. Educators interested in using enCore should be able to direct = their techies to a site where they can simply plugin the application to = their existing server. =20 My guess is, though, that enCore's required telnet connection might hinder = things. NOt too many sys admins are willing to compromise security, which = was the problem at the heart of the Secondary Worlds/Literary Worlds = fiasco. =20 Robert Rozema English Dept. Grand Valley State University http://faculty.gvsu.edu/rozemar >>> Lennie Irvin 07/12/06 11:02 AM >>> ******************************* This message was initially posted to the development@encore-consortium.org = list Please pardon the cross-posting for some of you LI ****************************** Hi Everyone, I had some conversations with Daniel in Jung about the crucial issue of solidifying how people host an enCore site. Secondary Worlds (now=20 Literary Worlds) experienced a major loss of data due to problems they encountered with hosting enCore. It is not completely enCore's fault, but from a usability standpoint, instructions and guidance for hosting need to be created such that hosting is made easier. If hosting enCore is too complicated that general users can't do it, then in my book it is enCore's fault. So I am calling on enCore developers to see if they can't put together a clear guide for hosting an enCore site, and perhaps brainstorm how to make hosting more reliable and simpler. Here are a few related considerations that seem pertinent to me: 1) Part of the cause of lost data is some confusion between the three versions of the database--moo.db, moo.newdb, moo.olddb (pardon if my naming is off). We can't forget the database that lives in vapor within the RAM (that gets checkpointed to moo.newdb periodically). None tech people have problems knowing what and how they should backup their database. The odd situation of Secondary Worlds--They ran into an odd situation where the server they were hosted on ran out of room. It checkpointed and backed up to moo.newdb but the server aborted the operation for lack of memory so their backedup versions of the moo.newdb were all corrupted and incomplete. THEN when they restarted the moo, they lost the real version of the moo that lived in the database. I believe something similar happened to me when I lost two months of up time and could not recover it. I didn't have a problem with memory, but somehow the true database (living in the RAM) was not updated into the moo.new.db. I wonder if a periodic total moo restart would not be such a bad thing to automate and have happen. If checkpoints happen every 30 minutes and update the moo.newdb, then perhaps a total moo server restart would update the moo.olddb as well once a day or once a week. This is only a suggestion 2) Any batch files that may be needed so that the mooserver restarts automatically upon a server reboot need to be provided (this seemed to be an issue for me hosting on a windows server so I'm not sure for a UNIX or LINUX box). 3) IF we can facilitate enCore hosting on profession web hosting sites via Control Panels, we would greatly expand the availability of enCore to general users. For instance, Moodle a course platform, is installable on my webhost via an application called "Fantastico." Here is a description of how Fantastico works: http://www.webmasterstop.com/110.html=20 Here is the company link about Fantastico: http://netenberg.com/fantastico.= php=20 Personally, enabling enCore installation via Fantastico into webhosted spaces would help me immensely (since it looks like I don't have a encore home anymore with the shuttering of Nouspace). I'd like to install enCore with a few clicks. 4) Installation and hosting issues bring up the BIG issue also of updating an enCore database. Would we be able to facilitate automated updating of an enCore database (rather than the laborsome copy and paste process right now)? Could we have options for installation --Custom install which would be the current method for sites that have customized their database and must be careful how they install the new code --Autoinstall for users who pretty much use enCore as is and don't create local customizations other than content. I believe these issues are really important for enCore's future. I encourage you to use this list development@encore-consortium.org to discuss and work on this issue and I'm looking forward to hearing your ideas. Please share how you host enCore right now. How do you back it up? Cheers, Lennie From Lirvin@accdvm.accd.edu Wed Jul 12 10:43:24 2006 Received: with ECARTIS (v1.0.0; list encore); Wed, 12 Jul 2006 10:43:24 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 3846F5CAF for ; Wed, 12 Jul 2006 10:43:24 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 052325149 for ; Wed, 12 Jul 2006 10:43:24 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 28978-01-55 for ; Wed, 12 Jul 2006 10:43:18 -0500 (CDT) Received: from mx2.lsn.net (mx2.lsn.net [66.90.130.74]) by mx2.utdallas.edu (Postfix) with ESMTP id D139A3565 for ; Wed, 12 Jul 2006 10:40:55 -0500 (CDT) Received: from Gilgamesh.accdvm.accd.edu (66-90-183-6.dyn.grandenetworks.net [66.90.183.6]) by mx2.lsn.net (8.13.5.20060308/8.13.5) with ESMTP id k6CFepWx028162 for ; Wed, 12 Jul 2006 10:40:53 -0500 Message-Id: <6.2.5.6.0.20060712104001.02937818@accdvm.accd.edu> X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6 Date: Wed, 12 Jul 2006 10:40:52 -0500 To: encore@utdallas.edu From: Lennie Irvin Subject: [encore] Re: encore hosting In-Reply-To: References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Virus-Scanned: ClamAV 0.88.2/1593/Wed Jul 12 08:59:03 2006 on mx0.lsn.net X-Virus-Status: Clean X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1723 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: Lirvin@accdvm.accd.edu Precedence: bulk Reply-to: Lirvin@accdvm.accd.edu List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Perhaps v5 will be easier to host since telnet access is done away with. (Lennie looks Daniel's way...) Lennie At 10:14 AM 7/12/2006, you wrote: >Lennie, > >Having used Fantastico plugins on my bluehost web account (e.g. I >plugged in a Wordpress blog and a wiki), I think your idea makes a >great deal of sense. Educators interested in using enCore should be >able to direct their techies to a site where they can simply plugin >the application to their existing server. > >My guess is, though, that enCore's required telnet connection might >hinder things. NOt too many sys admins are willing to compromise >security, which was the problem at the heart of the Secondary >Worlds/Literary Worlds fiasco. > > > >Robert Rozema >English Dept. >Grand Valley State University >http://faculty.gvsu.edu/rozemar > > >>> Lennie Irvin 07/12/06 11:02 AM >>> >******************************* >This message was initially posted to the >development@encore-consortium.org list >Please pardon the cross-posting for some of you >LI >****************************** > >Hi Everyone, > >I had some conversations with Daniel in Jung about the crucial issue >of solidifying how people host an enCore site. Secondary Worlds (now >Literary Worlds) >experienced a major loss of data due to problems they encountered >with hosting enCore. It is not completely enCore's fault, but from a >usability standpoint, instructions and guidance for hosting need to be >created such that hosting is made easier. If hosting enCore is too >complicated that general users can't do it, then in my book it is >enCore's fault. > >So I am calling on enCore developers to see if they can't put >together a clear guide for hosting an enCore site, and perhaps >brainstorm how to make hosting more reliable and simpler. Here are a >few related considerations that seem pertinent to me: > >1) Part of the cause of lost data is some confusion between the three >versions of the database--moo.db, moo.newdb, moo.olddb (pardon if my >naming is off). We can't forget the database that lives in vapor >within the RAM (that gets checkpointed to moo.newdb >periodically). None tech people have problems knowing what and how >they should backup their database. > >The odd situation of Secondary Worlds--They ran into an odd situation >where the server they were hosted on ran out of room. It >checkpointed and backed up to moo.newdb but the server aborted the >operation for lack of memory so their backedup versions of the >moo.newdb were all corrupted and incomplete. THEN when they >restarted the moo, they lost the real version of the moo that lived >in the database. I believe something similar happened to me when I >lost two months of up time and could not recover it. I didn't have a >problem with memory, but somehow the true database (living in the >RAM) was not updated into the moo.new.db. > >I wonder if a periodic total moo restart would not be such a bad >thing to automate and have happen. If checkpoints happen every 30 >minutes and update the moo.newdb, then perhaps a total moo server >restart would update the moo.olddb as well once a day or once a >week. This is only a suggestion > >2) Any batch files that may be needed so that the mooserver restarts >automatically upon a server reboot need to be provided (this seemed >to be an issue for me hosting on a windows server so I'm not sure for >a UNIX or LINUX box). > >3) IF we can facilitate enCore hosting on profession web hosting >sites via Control Panels, we would greatly expand the availability of >enCore to general users. For instance, Moodle a course platform, is >installable on my webhost via an application called >"Fantastico." Here is a description of how Fantastico works: >http://www.webmasterstop.com/110.html > >Here is the company link about Fantastico: >http://netenberg.com/fantastico.php > >Personally, enabling enCore installation via Fantastico into >webhosted spaces would help me immensely (since it looks like I don't >have a encore home anymore with the shuttering of Nouspace). I'd >like to install enCore with a few clicks. > >4) Installation and hosting issues bring up the BIG issue also of >updating an enCore database. Would we be able to facilitate automated >updating of an enCore database (rather than the laborsome copy and >paste process right now)? Could we have options for installation >--Custom install which would be the current method for sites that >have customized their database and must be careful how they install >the new code >--Autoinstall for users who pretty much use enCore as is and don't >create local customizations other than content. > >I believe these issues are really important for enCore's future. I >encourage you to use this list development@encore-consortium.org to >discuss and work on this issue and I'm looking forward to hearing >your ideas. Please share how you host enCore right now. How do you >back it up? > >Cheers, > >Lennie From matthew.coupe@nccedu.com Wed Jul 12 11:36:15 2006 Received: with ECARTIS (v1.0.0; list encore); Wed, 12 Jul 2006 11:36:16 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id C752A5C86 for ; Wed, 12 Jul 2006 11:36:15 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 86CD4A174 for ; Wed, 12 Jul 2006 11:36:15 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 05375-01-28 for ; Wed, 12 Jul 2006 11:36:09 -0500 (CDT) X-Greylist: delayed 1521 seconds by postgrey-1.21 at mx2; Wed, 12 Jul 2006 11:28:39 CDT Received: from he204war.uk.vianw.net (he204war.uk.vianw.net [195.102.244.151]) by mx2.utdallas.edu (Postfix) with ESMTP id 3706C3663 for ; Wed, 12 Jul 2006 11:28:39 -0500 (CDT) Received: from [195.102.153.3] (helo=UKNCCEDSQL01.nccedu.com) by he204war.uk.vianw.net with esmtp (Exim 4.20) id 1G0hBF-00049p-CP; Wed, 12 Jul 2006 17:03:17 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Subject: [encore] Re: encore hosting Date: Wed, 12 Jul 2006 17:04:47 +0100 Message-ID: <2B63F9A3B9982B45B4AA80F42F377C623CF3A3@uknccedsql01.nccedu.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [encore] Re: encore hosting Thread-Index: Acalyi7tHHLujyJxRsqy3kXl/WklMAAACtaQ From: "Matthew Coupe" To: , X-NAIMIME-Disclaimer: 1 X-NAIMIME-Modified: 1 X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1724 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: matthew.coupe@nccedu.com Precedence: bulk Reply-to: matthew.coupe@nccedu.com List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Hi there, A plug and play hosting service sounds like a great idea. =46rom a techie perspective having the MOO shut down periodically to update a db backup file is not really desirable. Maybe doing a periodic db dump into this file is more like it.=20 Currently at NCC Edu we use server side scripts (we host our own MOO) to do our backups. Each day we copy the files and whisk them away to another server where we keep daily, weekly and monthly backups as well as tape backups for disaster recovery. This is probably not possible on a hosted service. Even though they will have their own backup mechanisms for Disaster Recovery it's unlikely they'll use them to help you restore a corrupt db. Perhaps a solution would be to have an admin interface with an option allowing you to set the frequency of your database dumps and how many you want to keep. Eg I want to have a backup every month and keep 10 of these at any one time. So in my repository would be. Moodb.db.new - latest Moodb.db.1 (1 month earlier) Moodb.db.2 (2 months earlier) =2E =2E Moodb.db.10 (10 months earlier) After 10 months it could reset to number 1. IMHO Losing the telnet connection and the java applet are massive strides forward. Do we know where are with ports too? Perhaps this is another hosting issue that no one has brought up? Warmest regards, Matthew NCC Education =E2=80=93 Bringing International Education to You since 196= 6=0A=0ANCC Education is a global leader in the certification and delivery= of quality higher education programmes in transnational markets.=0A=0AVi= sit our website at www.nccedu.com=0A From egoff@mindspring.com Wed Jul 12 16:51:23 2006 Received: with ECARTIS (v1.0.0; list encore); Wed, 12 Jul 2006 16:51:23 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id F0D525C8B for ; Wed, 12 Jul 2006 16:51:22 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id B59985396 for ; Wed, 12 Jul 2006 16:51:22 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 08571-01-75 for ; Wed, 12 Jul 2006 16:51:14 -0500 (CDT) Received: from elasmtp-spurfowl.atl.sa.earthlink.net (elasmtp-spurfowl.atl.sa.earthlink.net [209.86.89.66]) by mx2.utdallas.edu (Postfix) with ESMTP id EF804372E for ; Wed, 12 Jul 2006 16:35:46 -0500 (CDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=dk20050327; d=mindspring.com; b=V2gsJ9kpn62DcmXIFi8Aior/fUg+aYdpHURTFyob6oPw1e69c3WalVQ3dyLcsGZa; h=Received:From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:X-Priority:X-MSMail-Priority:X-Mailer:Importance:X-MimeOLE:In-Reply-To:Disposition-Notification-To:X-ELNK-Trace:X-Originating-IP; Received: from [69.250.78.202] (helo=master) by elasmtp-spurfowl.atl.sa.earthlink.net with asmtp (Exim 4.34) id 1G0mN0-00063H-Cx; Wed, 12 Jul 2006 17:35:46 -0400 From: "Edward Goff" To: , Subject: [encore] Re: encore hosting Date: Wed, 12 Jul 2006 17:29:59 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506 In-Reply-To: <6.2.5.6.0.20060712095739.02938b50@accdvm.accd.edu> X-ELNK-Trace: 23f5b2bec61e6078d4c20f6b8d69d888866e14058d4cf7af3d63d211e927227bdf3900b520287470350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 69.250.78.202 X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1725 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: egoff@mindspring.com Precedence: bulk Reply-to: egoff@mindspring.com List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore -----Original Message----- From: encore-bounce@utdallas.edu [mailto:encore-bounce@utdallas.edu]On Behalf Of Lennie Irvin Sent: Wednesday, July 12, 2006 11:02 AM To: encore@utdallas.edu Subject: [encore] encore hosting ******************************* This message was initially posted to the development@encore-consortium.org list Please pardon the cross-posting for some of you LI ****************************** After reading Lennie's message and others I've got to submit one piece of information. Yes, most systems administrators, will freak out about opening Telnet ports. If on the other hand our wonderful development team can take a few moments and install SHH into, at least the telnet side, encore system it would help a lot of the reserve questions some folks have. I've been running a moo since the days when l could chat with Lambda himself and the changes I've seen are amazing. While I don't have the time to delve into it like some have, hats off to Lennie and his group especially, I do notice some things. My biggest concern is NOT the insecurity, yes this is an issue, but to make it more user friendly. This will require the processes that run the moo to be LESS ram and cpu intensive. So while progress forward is always a good thing we must keep in mind what college budget is going to provide a $2500 server to run something such as this? My point you ask is simple take a moment and step back and see if there isn't some way to clean up the code and make it more efficient before adding more fluff and hoorah. Then again maybe I'm just re-inventing the wheel. :) Great job to all who have done so much with MOO and Encore. I'll keep watching from the wings and poking around now and then. From Lirvin@accdvm.accd.edu Mon Jul 17 10:35:42 2006 Received: with ECARTIS (v1.0.0; list encore); Mon, 17 Jul 2006 10:35:43 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id CF0C45BE0 for ; Mon, 17 Jul 2006 10:35:42 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id C502050E1 for ; Mon, 17 Jul 2006 10:35:42 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 18283-01-5 for ; Mon, 17 Jul 2006 10:35:32 -0500 (CDT) Received: from mx3.lsn.net (mx3.lsn.net [66.90.130.75]) by mx2.utdallas.edu (Postfix) with ESMTP id 9124334B4 for ; Mon, 17 Jul 2006 10:33:20 -0500 (CDT) Received: from Gilgamesh.accdvm.accd.edu (24-155-47-67.dyn.grandenetworks.net [24.155.47.67]) by mx3.lsn.net (8.13.5/8.13.5) with ESMTP id k6HFXGLo004454; Mon, 17 Jul 2006 10:33:23 -0500 Message-Id: <6.2.5.6.0.20060717100841.026f1dd8@accdvm.accd.edu> X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6 Date: Mon, 17 Jul 2006 10:33:22 -0500 To: encore@utdallas.edu, development@encore-consortium.org From: Lennie Irvin Subject: [encore] Feedback/input on High Five Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="=====================_7178984==.ALT" X-Virus-Scanned: ClamAV 0.88.2/1600/Sat Jul 15 10:03:46 2006 on mx0.lsn.net X-Virus-Status: Clean X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1726 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: Lirvin@accdvm.accd.edu Precedence: bulk Reply-to: Lirvin@accdvm.accd.edu List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore --=====================_7178984==.ALT Content-Type: text/plain; charset="us-ascii"; format=flowed Hi Everyone, I want to urge all interested enCore users once again to delve into the new High Five (beta version of v5) and kick the tires. I am happy to create a character for you, or you can request your own from the login: http://lingo.uib.no:6002/ Now is the time when we need to give High Five a good review and voice our feedback. We have a good usability study to start from http://www.encore-consortium.org/reports/2006usabilitystudyreport.pdf but nothing beats diving into the program yourself and working with it. Join the Discussion Within High Five (at http://lingo.uib.no:6002/) there is a forum devoted to discussing High Five issues . --Click Mail/Forum in the menu bar --Click Subscribe and join the High Five Forum. --Click Forum and enter the High Five forum to read and post messages. I have recently been pursuing these issues related to High Five: 1) enCore hosting--we need to work out clear instructions for how to host an enCore site. This includes installation, backup, updating, and moving. Anyone interested in working on this? 2) Default settings--Do any adjustments need to be made to the default settings for the program (such as keeping logs automatically). Most significant seems to be where the player window is set by default. Should it be in the lower right in the web panel? Should it be in the lower or upper left in the chat panel? 3) KTML--web editor for textboxes in some or all enCore descriptions. I have advocated HTMLArea in the past, but KTML looks better--http://www.interaktonline.com/Products/Online-HTML-Editor/KTML-for-JSP/Overview/ Anyone want to try KTML integration to see how it works? 4) Play/interactive generics for the general release--right now the general release of enCore has no play objects. Should it have some? Can you contribute one? Perhaps we can collect them through The Barn? 5) Manual CSS?--High Five has users set Appearance by manually manipulating css code (rather than with a form as before). Is this a good thing? Would it be too difficult for our general users? 6) Other items? What are issues you care about? If anyone is interested, I would be up for a High Five party where we get together and chat about High Five. Let me know if you are interested in this and when would be the best time for you and we'll set up a time. Cheers, Lennie --=====================_7178984==.ALT Content-Type: text/html; charset="us-ascii" Hi Everyone,

I want to urge all interested enCore users once again to delve into the new High Five (beta version of v5) and kick the tires.  I am happy to create a character for you, or you can request your own from the login:

http://lingo.uib.no:6002/

Now is the time when we need to give High Five a good review and voice our feedback.  We have a good usability study to start from http://www.encore-consortium.org/reports/2006usabilitystudyreport.pdf
but nothing beats diving into the program yourself and working with it. 

Join the Discussion
Within High Five (at http://lingo.uib.no:6002/) there is a forum devoted to discussing High Five issues . 
--Click Mail/Forum in the menu bar
--Click Subscribe  and join the High Five Forum.
--Click Forum and enter the High Five forum to read and post messages. 

I have recently been pursuing these issues related to High Five:

1) enCore hosting--we need to work out clear instructions for how to host an enCore site.  This includes installation, backup, updating, and moving. Anyone interested in working on this? 
2) Default settings--Do any adjustments need to be made to the default settings for the program (such as keeping logs automatically). Most significant seems to be where the player window is set by default.  Should it be in the lower right in the web panel?  Should it be in the lower or upper left in the chat panel? 
3) KTML--web editor for textboxes in some or all enCore descriptions.  I have advocated HTMLArea in the past, but KTML looks better--http://www.interaktonline.com/Products/Online-HTML-Editor/KTML-for-JSP/Overview/  Anyone want to try KTML integration to see how it works?
4) Play/interactive generics for the general release--right now the general release of enCore has no play objects. Should it have some?  Can you contribute one? Perhaps we can collect them through The Barn?
5) Manual CSS?--High Five has users set Appearance by manually manipulating css code (rather than with a form as before).  Is this a good thing? Would it be too difficult for our general users?
6) Other items?  What are issues you care about? 

If anyone is interested, I would be up for a High Five party where we get together and chat about High Five.  Let me know if you are interested in this and when would be the best time for you and we'll set up a time.

Cheers,

Lennie --=====================_7178984==.ALT-- From st05223@lingo.uib.no Mon Jul 17 12:22:46 2006 Received: with ECARTIS (v1.0.0; list encore); Mon, 17 Jul 2006 12:22:47 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id B8B365BD0 for ; Mon, 17 Jul 2006 12:22:46 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 7D394518E for ; Mon, 17 Jul 2006 12:22:46 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 28710-01-71 for ; Mon, 17 Jul 2006 12:22:36 -0500 (CDT) X-Greylist: delayed 689 seconds by postgrey-1.21 at mx2; Mon, 17 Jul 2006 12:18:56 CDT Received: from alf.uib.no (alf.uib.no [129.177.30.3]) by mx2.utdallas.edu (Postfix) with ESMTP id 64186353B for ; Mon, 17 Jul 2006 12:18:56 -0500 (CDT) Received: from 112.80-202-111.nextgentel.com ([10.0.0.28]) [80.202.111.112] by alf.uib.no with esmtp (Exim 4.34) id 1G2WZ0-0002aG-8N; Mon, 17 Jul 2006 19:07:23 +0200 Message-ID: <44BBC3CC.3090507@lingo.uib.no> Date: Mon, 17 Jul 2006 19:07:24 +0200 From: "Trond K. Pettersen" User-Agent: Thunderbird 1.5.0.4 (Windows/20060516) MIME-Version: 1.0 To: Lirvin@accdvm.accd.edu Cc: encore@utdallas.edu, development@encore-consortium.org Subject: [encore] Re: Feedback/input on High Five References: <6.2.5.6.0.20060717100841.026f1dd8@accdvm.accd.edu> In-Reply-To: <6.2.5.6.0.20060717100841.026f1dd8@accdvm.accd.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-checked-clean: by exiscan on alf X-Scanner: f7cd6abf52fab2c609df3564177e6231 http://tjinfo.uib.no/virus.html X-UiB-SpamFlag: Not scanned (1) X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1727 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: st05223@lingo.uib.no Precedence: bulk Reply-to: st05223@lingo.uib.no List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Hi Lennie (and all others), Lennie Irvin wrote: > 3) KTML--web editor for textboxes in some or all enCore descriptions. > I have advocated HTMLArea in the past, but KTML looks > better--http://www.interaktonline.com/Products/Online-HTML-Editor/KTML-for-JSP/Overview/ > Anyone want to try KTML integration to see how it works? KTML seems cool, but from what I can see (I might be wrong/blind) there are two reasons as to why KTML may not be integrated into enCore: 1) Incompatible license. Anything that is supposed to "ship" with enCore has to be GPL licensed (or the like), right? 2) Makes use of JSP (Java Server Pages), meaning that it would only work on those enCore installations using e.g. Apache Tomcat for web server. I've done some testing with integrating the GPL licensed TinyMCE editor by Moxiecode [1], which is 100% JavaScript based (meaning that it is 100% independent of server side technologies), and enCore. I've used / integrated this web editor on other projects earlier, and must say it's a neat and powerful little thing. It works with most browsers (incl. IE, Firefox, Opera, Safari on Mac, etc.), but there are a few issues when it comes to integrating WYSIWYG editors in enCore. TinyMCE + enCore works fine with Internet Explorer, but that's only due to one of the many security holes of that particular browser. IE ought to block some of the scripts -- those imported from the external server; the web server being a different server than the enCore server -- but doesn't (who would have guessed! :D). Mozilla, Firefox and Opera all do the right thing and block the external scripts from loading/executing, resulting in parts of the editor being unusable (when used inside enCore). Now, I did make the prototype - which is implemented on a test MOO at Lingo - browser-aware, so that it initializes the editor (generates the script tags) based on the user's browser. I.e. if the user uses IE, it will go for the advanced version including image and table editor options [2], but if the user uses Opera or some kind of Gecko browser, it goes for a much more simple version, enabling only those functions that will work under the given browser [3]. Perhaps this is something that people is interested in? It might not make it into v5, but I could perhaps make a patch for it later on... -Trond [1] http://tinymce.moxiecode.com/ [2] http://lingo.uib.no/mootabor/encore/upload/userfiles/407/wysiwyg-msie.jpg [3] http://lingo.uib.no/mootabor/encore/upload/userfiles/407/wysiwyg-opera.jpg From kevijeps@telusplanet.net Mon Jul 17 12:26:54 2006 Received: with ECARTIS (v1.0.0; list encore); Mon, 17 Jul 2006 12:26:54 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id EE3CE5BD0 for ; Mon, 17 Jul 2006 12:26:53 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id AC31851A9 for ; Mon, 17 Jul 2006 12:26:53 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 29361-01-23 for ; Mon, 17 Jul 2006 12:26:46 -0500 (CDT) Received: from defout.telus.net (defout.telus.net [199.185.220.240]) by mx2.utdallas.edu (Postfix) with ESMTP id 019F2359F for ; Mon, 17 Jul 2006 12:22:03 -0500 (CDT) Received: from localhost ([199.185.220.240]) by priv-edtnes51.telusplanet.net (InterMail vM.7.05.01.01 201-2174-106-103-20060222) with ESMTP id <20060717172202.QHZ7905.priv-edtnes51.telusplanet.net@localhost>; Mon, 17 Jul 2006 11:22:02 -0600 Received: from 209.115.226.106 ( [209.115.226.106]) as user kevijeps@192.168.200.1 by webmail.telus.net with HTTP; Mon, 17 Jul 2006 11:19:38 -0600 Message-ID: <1153156778.44bbc6aa2dece@webmail.telus.net> Date: Mon, 17 Jul 2006 11:19:38 -0600 From: kevijeps@telusplanet.net To: Lirvin@accdvm.accd.edu Cc: encore@utdallas.edu, development@encore-consortium.org Subject: [encore] Re: Feedback/input on High Five References: <6.2.5.6.0.20060717100841.026f1dd8@accdvm.accd.edu> In-Reply-To: <6.2.5.6.0.20060717100841.026f1dd8@accdvm.accd.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.1-cvs X-Originating-IP: 209.115.226.106 X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1728 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: kevijeps@telusplanet.net Precedence: bulk Reply-to: kevijeps@telusplanet.net List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Lennie Quickly looking at the KTML website it appears that their license will NOT permit us to inlcude their product in EnCore. From their License Comparison Page: 6. Ability to include it into and redistribute with free/open source products You have no right to include KTML into any Free/Open Source application and then redistribute it for free. None of the KTML licenses will allow you to include it into a program/application which is later distributed free of charge. Ex: You have developed/improved a CMS, which you distribute free of charge or under an Open Source license. In this case, you have NO rights to include KTML into your CMS. That would make it unuseable for us if I understand our "Open Source" style right? Otherwise it looks like a good tool. Ciao KJ From jean-marc.giffin@acadiau.ca Tue Jul 18 08:39:03 2006 Received: with ECARTIS (v1.0.0; list encore); Tue, 18 Jul 2006 08:39:04 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id C8F3C5D1B for ; Tue, 18 Jul 2006 08:39:03 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id BF1885384 for ; Tue, 18 Jul 2006 08:39:03 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 26422-01-65 for ; Tue, 18 Jul 2006 08:38:55 -0500 (CDT) Received: from stanley.acadiau.ca (stanley.acadiau.ca [131.162.201.38]) by mx2.utdallas.edu (Postfix) with ESMTP id 3FBAE2DE6 for ; Tue, 18 Jul 2006 08:38:55 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by stanley.acadiau.ca (Postfix) with ESMTP id 2FBBE19BBC5 for ; Tue, 18 Jul 2006 10:38:54 -0300 (ADT) Received: from stanley.acadiau.ca ([127.0.0.1]) by localhost (helios.acadiau.ca [127.0.0.1]) (amavisd-new, port 10026) with LMTP id 95559-02-8 for ; Tue, 18 Jul 2006 10:38:51 -0300 (ADT) Received: from exchange.ad.acadiau.ca (exchange.acadiau.ca [131.162.200.60]) by stanley.acadiau.ca (Postfix) with ESMTP id 2DDDC19ABFC for ; Tue, 18 Jul 2006 10:38:51 -0300 (ADT) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6AA6F.7F7F4783" Subject: [encore] Examine? Date: Tue, 18 Jul 2006 10:38:47 -0300 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Examine? Thread-Index: Acaqb38+35rgnuslS9al/j97TLOuXg== From: "Jean-Marc Giffin" To: X-Virus-Scanned: by amavisd-new at acadiau.ca X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1729 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: jean-marc.giffin@acadiau.ca Precedence: bulk Reply-to: jean-marc.giffin@acadiau.ca List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------_=_NextPart_001_01C6AA6F.7F7F4783 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hey enCore exPerts, =20 I was briefly trying to figure something out, but I figured it would be faster to check here instead. Does anyone know what allows enCore to determine what deserves it's own WEB page? By this I mean, every room has its own WEB page when you go it, as does every player. When you @exam a $bot, you also get a page with a description of the bot. =20 However, I made my own kind of bot, called a storybot, which is similar to an NPC in modern video games, and if I @exam $storybot, I go get the usual information about the bot in the client, but it does not bring the web side to any special web page. Any idea as to how to do this? =20 Thanks! =20 Jean Of mArc ------_=_NextPart_001_01C6AA6F.7F7F4783 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hey enCore exPerts,

 

I was briefly trying to figure something out, but I = figured it would be faster to check here instead.

Does anyone know what allows enCore to determine what deserves it’s own WEB page? By this I mean, every room has its own = WEB page when you go it, as does every player. When you @exam a $bot, you = also get a page with a description of the bot.

 

However, I made my own kind of bot, called a = storybot, which is similar to an NPC in modern video games, and if I @exam $storybot, I = go get the usual information about the bot in the client, but it does not bring = the web side to any special web page. Any idea as to how to do = this?

 

Thanks!

 

Jean Of mArc

------_=_NextPart_001_01C6AA6F.7F7F4783-- From Lirvin@accdvm.accd.edu Tue Jul 18 08:40:47 2006 Received: with ECARTIS (v1.0.0; list encore); Tue, 18 Jul 2006 08:40:47 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 3419C5D1B for ; Tue, 18 Jul 2006 08:40:47 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id EDBC95393 for ; Tue, 18 Jul 2006 08:40:46 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 26496-01-73 for ; Tue, 18 Jul 2006 08:40:40 -0500 (CDT) Received: from mx1.lsn.net (mx1.lsn.net [66.90.130.73]) by mx2.utdallas.edu (Postfix) with ESMTP id 45E793452 for ; Tue, 18 Jul 2006 08:40:40 -0500 (CDT) Received: from Gilgamesh.accdvm.accd.edu (66-90-182-170.dyn.grandenetworks.net [66.90.182.170]) by mx1.lsn.net (8.13.5.20060308/8.13.5) with ESMTP id k6IDea1i028636 for ; Tue, 18 Jul 2006 08:40:38 -0500 Message-Id: <6.2.5.6.0.20060718083020.02951008@accdvm.accd.edu> X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6 Date: Tue, 18 Jul 2006 08:40:33 -0500 To: encore@utdallas.edu From: Lennie Irvin Subject: [encore] Re: Feedback/input on High Five In-Reply-To: <44BBC3CC.3090507@lingo.uib.no> References: <6.2.5.6.0.20060717100841.026f1dd8@accdvm.accd.edu> <44BBC3CC.3090507@lingo.uib.no> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Virus-Scanned: ClamAV 0.88.2/1600/Sat Jul 15 10:03:46 2006 on mx0.lsn.net X-Virus-Status: Clean X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1730 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: Lirvin@accdvm.accd.edu Precedence: bulk Reply-to: Lirvin@accdvm.accd.edu List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore Hey Trond, Bad news about KTML. It looks like a good tool. However, I was VERY excited to see the example of how TinyMCE looked in Internet Explorer (http://lingo.uib.no/mootabor/encore/upload/userfiles/407/wysiwyg-msie.jpg). I see that HTML Area from dynarch is defunk, but this site is a directory of wysiwyg editors http://www.htmlarea.com/ . I know we are open source; however, if we found a good editor that was implementable and the license was right, I think it would be worth the price. Are there any better options that would work cross-browser? One option that I would be interested in is still using TinyMCE since most all of my users tend to access via Internet Explorer (alas, I know...). We could then NOT apply the edtor across the whole moo, but implement it only with a new generic room and generic note objects. Then people could select to use the improved editor or not. Eventually, I still see it as really important to get an editor like KTML or TinyMCE to work across all of enCore. I'd be very interested in having the TinyMCE patch available! Thanks, Lennie At 12:07 PM 7/17/2006, you wrote: >Hi Lennie (and all others), > >Lennie Irvin wrote: >>3) KTML--web editor for textboxes in some or all enCore descriptions. >>I have advocated HTMLArea in the past, but KTML looks >>better--http://www.interaktonline.com/Products/Online-HTML-Editor/KTML-for-JSP/Overview/ >> >>Anyone want to try KTML integration to see how it works? >KTML seems cool, but from what I can see (I might be wrong/blind) >there are two reasons as to why KTML may not be integrated into enCore: > >1) Incompatible license. Anything that is supposed to "ship" with >enCore has to be GPL licensed (or the like), right? >2) Makes use of JSP (Java Server Pages), meaning that it would only >work on those enCore installations using e.g. Apache Tomcat for web server. > >I've done some testing with integrating the GPL licensed TinyMCE >editor by Moxiecode [1], which is 100% JavaScript based (meaning >that it is 100% independent of server side technologies), and >enCore. I've used / integrated this web editor on other projects >earlier, and must say it's a neat and powerful little thing. It >works with most browsers (incl. IE, Firefox, Opera, Safari on Mac, >etc.), but there are a few issues when it comes to integrating >WYSIWYG editors in enCore. > >TinyMCE + enCore works fine with Internet Explorer, but that's only >due to one of the many security holes of that particular browser. IE >ought to block some of the scripts -- those imported from the >external server; the web server being a different server than the >enCore server -- but doesn't (who would have guessed! :D). Mozilla, >Firefox and Opera all do the right thing and block the external >scripts from loading/executing, resulting in parts of the editor >being unusable (when used inside enCore). > >Now, I did make the prototype - which is implemented on a test MOO >at Lingo - browser-aware, so that it initializes the editor >(generates the script tags) based on the user's browser. I.e. if the >user uses IE, it will go for the advanced version including image >and table editor options [2], but if the user uses Opera or some >kind of Gecko browser, it goes for a much more simple version, >enabling only those functions that will work under the given browser [3]. > >Perhaps this is something that people is interested in? It might not >make it into v5, but I could perhaps make a patch for it later on... > >-Trond > > >[1] http://tinymce.moxiecode.com/ >[2] http://lingo.uib.no/mootabor/encore/upload/userfiles/407/wysiwyg-msie.jpg >[3] http://lingo.uib.no/mootabor/encore/upload/userfiles/407/wysiwyg-opera.jpg > > > > From kevijeps@telusplanet.net Sun Jul 23 13:45:33 2006 Received: with ECARTIS (v1.0.0; list encore); Sun, 23 Jul 2006 13:45:33 -0500 (CDT) Return-Path: X-Original-To: encore@nobel.utdallas.edu Delivered-To: encore@nobel.utdallas.edu Received: from iq1.utdallas.edu (iq1-pmn.utdallas.edu [192.168.1.7]) by nobel.utdallas.edu (Postfix) with ESMTP id 641205BB3 for ; Sun, 23 Jul 2006 13:45:33 -0500 (CDT) Received: from localhost (mf2-pmn.utdallas.edu [192.168.1.14]) by iq1.utdallas.edu (Postfix) with ESMTP id 415DF2CEB for ; Sun, 23 Jul 2006 13:45:33 -0500 (CDT) Received: from mx2.utdallas.edu ([129.110.10.17]) by localhost (mf2.utdallas.edu [10.110.10.14]) (amavisd-new, port 10024) with LMTP id 17560-01-25 for ; Sun, 23 Jul 2006 13:45:31 -0500 (CDT) Received: from defout.telus.net (defout.telus.net [199.185.220.240]) by mx2.utdallas.edu (Postfix) with ESMTP id DA9B42DE6 for ; Sun, 23 Jul 2006 13:45:30 -0500 (CDT) Received: from priv-edtnaa05.telusplanet.net ([199.126.223.252]) by priv-edtnes86.telusplanet.net (InterMail vM.7.05.01.01 201-2174-106-103-20060222) with ESMTP id <20060723184529.RUBO440.priv-edtnes86.telusplanet.net@priv-edtnaa05.telusplanet.net>; Sun, 23 Jul 2006 12:45:29 -0600 Received: from lilith (d199-126-223-252.abhsia.telus.net [199.126.223.252]) by priv-edtnaa05.telusplanet.net (BorderWare MXtreme Infinity Mail Firewall) with ESMTP id 05JPCSNBPW; Sun, 23 Jul 2006 12:45:24 -0600 (MDT) From: "Kevin Jepson" To: "'encore'" , Subject: [encore] MOO Code documention guidelines for the Barn, ideas? Date: Sun, 23 Jul 2006 12:45:22 -0600 Message-ID: <001701c6ae88$27d53fb0$5a0119ac@lilith> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0018_01C6AE55.DD3ACFB0" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.6626 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Importance: Normal X-Virus-Scanned: amavisd-new at utdallas.edu X-archive-position: 1731 X-ecartis-version: Ecartis v1.0.0 Sender: encore-bounce@utdallas.edu Errors-to: encore-bounce@utdallas.edu X-original-sender: kevijeps@telusplanet.net Precedence: bulk Reply-to: kevijeps@telusplanet.net List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: X-List-ID: X-list: encore This is a multi-part message in MIME format. ------=_NextPart_000_0018_01C6AE55.DD3ACFB0 Content-Type: text/plain; charset="windows-1250" Content-Transfer-Encoding: quoted-printable Good Afternoon Folks =20 I'm trying to put together some guidelines for MOO code documentation = that I can use for The Barn. =20 My objective is to make sure that "documented" code submitted is useful = and eductaional for those who might want to port it or just look at it for ideas. =20 Does anyone have recommendations for minimum standard code = documentation? =20 Do you have such documentation guidelines on your MOOs? =20 I see two parts to this myself: =20 a) Object Documentation =20 b) Verb Documentation =20 The first is fairly straight forward and includes: =20 a) What the Object does and briefly how it does it. =20 b) What requirements does it have for parental Generic Objects, MOO = patch levels, Wizardly code etc.=20 =20 c) How should it be installed and by what level of player.=20 =20 d) Any gotchas or known bugs. =20 e) A Changelog if it has changed from previous versions. =20 All this would be included in a Readme text file kept with the code = files available for download from The Barn. =20 The Verb Documentation is a bit trickier. =20 It could be done by text file and that would be a "nice to have" thing = but not required IMHO. However, because of the object oriented nature of MOO, code from a = ported object may end up being used by people far removed in time (and MOO = space) from those who originally ported it. This means that any documentation = not contained in the Verb code itself could potentially be lost resulting in = a bunch of "reverse engineering" should someone need to understand or = reuse the object or code.=20 =20 I have traditionally used a "header block" of comments at the start of = each Verb that includes: =20 a) The Usage of the Verb ie what is the command to use the Verb and it's arguments. =20 b) A few lines of comments that are a brief help file on what the verb = does, what the arguments are and what the verb returns if anything. (On text = based LambdaMOOs this text is displayed by Help Object:Verb.) =20 I also try to comment blocks of code that do something tricky, ie = anything I'm likely to forget before the next time I look at the code :-). =20 LambdaMOO (and EnCore) also appears to append a "last modified" line to = the end of the Verb. I like to keep a comment line just before that which = has the history of the changes to the verb.=20 =20 All this text resides in the DB itself and therefore leads to a certain amount of DB bloat and longer Checkpoints. At least in our Object = Oriented world these text strings only occur once on the original object and it's verbs, not on any children of that object. I think the benefits to other programmers and even users of our systems outweighs the downside of DB = size. =20 I can hear all the hotshot MOO programmers out there now... =20 Verb documentation? We don't need no stinkin verb documentation! :-) =20 A sentiment I often agree with when in the midst of coding something. = Who wants to waste time with stuff like that when there are robots and = puzzles and beer mugs and places to build and enjoy. =20 At least when we prepare Objects and code to share with the community ( = via The Barn, hint hint) we should try to make it easy for people to make = use of all our hard work. =20 Thoughts comments and suggestions welcome as always. =20 Ciao KJ=20 =20 P.S. I have made some changes to The Barn and added some new info so = check it out when you get a chance: HYPERLINK "http://www.encore-consortium.org/Barn/default.htm"http://www.encore-cons= ort ium.org/Barn/default.htm =20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D Kevin Jepson R.E.T. President 4K Consulting Inc. =20 An't nanum hearm deth, doth hwaet ye willath. Email: kevijeps@telusplanet.net =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D =20 --=20 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.10.3/395 - Release Date: = 21/07/2006 =20 ------=_NextPart_000_0018_01C6AE55.DD3ACFB0 Content-Type: text/html; charset="windows-1250" Content-Transfer-Encoding: quoted-printable Message
Good = Afternoon=20 Folks
 
I'm = trying to put=20 together some guidelines for MOO code documentation that I can use for = The=20 Barn.
 
My = objective is to=20 make sure that "documented" code submitted is useful and eductaional for = those=20 who might want to port it or just look at it for=20 ideas.
 
Does = anyone have=20 recommendations for minimum standard code = documentation?
 
Do you = have such=20 documentation guidelines on your MOOs?
 
I see = two parts to=20 this myself:
 
a) = Object=20 Documentation
 
b) = Verb=20 Documentation
 
The = first is fairly=20 straight forward and includes:
 
a) = What the Object=20 does and briefly how it does it.
 
b) = What requirements=20 does it have for parental Generic Objects, MOO patch levels, Wizardly = code etc.=20
 
c) How = should it be=20 installed and by what level of player. 
 
d) Any = gotchas or=20 known bugs.
 
e) A = Changelog if it=20 has changed from previous versions.
 
All = this would be=20 included in a Readme text file kept with the code files available for = download=20 from The Barn.
 
The = Verb=20 Documentation is a bit trickier.
 
It = could be done by=20 text file and that would be a "nice to have" thing but not required=20 IMHO.
However, because of=20 the object oriented nature of MOO, code from a ported object may end up = being=20 used by people far removed in time (and MOO space) from those who=20 originally ported it.  This means=20 that any documentation not contained in the Verb code itself could = potentially=20 be lost resulting in a bunch of "reverse engineering"=20 should someone need to understand or reuse the object or=20 code. 
 
I have = traditionally=20 used a "header block" of comments at the start of each Verb that=20 includes:
 
a) The = Usage of the=20 Verb ie what is the command to use the Verb and it's=20 arguments.
 
b) A = few lines of=20 comments that are a brief help file on what the verb does, what the = arguments=20 are and what the verb returns if anything. (On text based LambdaMOOs = this text=20 is displayed by Help Object:Verb.)
 
I also = try to=20 comment blocks of code that do something tricky, ie anything I'm likely = to=20 forget before the next time I look at the code :-).
 
LambdaMOO (and=20 EnCore) also appears to append a "last modified" line to the end of = the=20 Verb.  I like to keep a comment line just before=20 that which has the history of the changes to the=20 verb. 
 
All = this text=20 resides in the DB itself and therefore leads to a certain amount of DB = bloat=20 and longer Checkpoints.  At least in our Object Oriented world = these=20 text strings only occur once on the original object and it's verbs, not = on any=20 children of that object. I think the benefits to other programmers and = even=20 users of our systems outweighs the downside of DB = size.
 
I can = hear all the=20 hotshot MOO programmers out there now...
 
Verb=20 documentation?  We don't need no stinkin verb documentation!=20 :-)
 
A = sentiment I often=20 agree with when in the midst of coding something. Who wants to waste = time with=20 stuff like that when there are robots and puzzles and beer mugs and = places to=20 build and enjoy.
 
At = least when we=20 prepare Objects and code to share with the community ( via The = Barn, hint=20 hint) we should try to make it easy for people to make use of all = our hard=20 work.
 
Thoughts comments=20 and suggestions welcome as always.
 
Ciao
KJ 
 
P.S. I = have made=20 some changes to The Barn and added some new info so check it out when = you get a=20 chance:
http://www.enc= ore-consortium.org/Barn/default.htm
 
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D
Kevin Jepson=20 R.E.T.
President
4K Consulting=20 Inc.           &nb= sp;        
An't=20 nanum hearm deth, doth hwaet ye willath.

Email:=20 kevijeps@telusplanet.net
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

 
<= /BODY>

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.10.3/395 - Release Date: = 21/07/2006

------=_NextPart_000_0018_01C6AE55.DD3ACFB0--