Hi. I have a problem with the verbs. First, im making a game with the spanish versión.
I have a couch in a room and i add "sit"to the list verb with a simple message. But, when I write "sentarse en el sillón" (sit on the couch) the game says "I dont see that. (on the couch)". If i write "sentarse sillon" (sit couch), it works, but it doesnt work with sit on couch, sit the couch, or sit on the couch.
Can someone help me?
(Sorry, my english is horrible)
Hello,
Your English is fine! (It's better than my Spanish!)
First, this is what I use:
If you want SIT COUCH to work, too, you can make it:
You can edit that list, adding sentarse en:
I'm not fluent enough in Spanish to add the STAND UP command or the player.sitting attribute, but here's an example game with the verb (and I added things so the game understood English, too):
UPDATED:
<!--Saved by Quest 5.7.6404.15496-->
<asl version="550">
<include ref="Espanol.aslx" />
<include ref="Core.aslx" />
<template name="UnrecognisedCommand"><![CDATA[<span title='I didn’t understand your command.' style='cursor:pointer;text-decoration:underline'>No entiendo tu orden.</span>]]></template>
<game name="Verbos">
<gameid>1a3f7a50-568f-4967-91f5-b5bdd28edc32</gameid>
<version>2.0</version>
<firstpublished>2017</firstpublished>
<parserignoreprefixes type="stringlist">
<value>el</value>
<value>la</value>
<value>los</value>
<value>las</value>
<value>uno</value>
<value>una</value>
<value>unos</value>
<value>unas</value>
<value>a</value>
<value>an</value>
<value>the</value>
</parserignoreprefixes>
</game>
<object name="lugar">
<inherit name="editor_room" />
<object name="player">
<inherit name="editor_object" />
<inherit name="editor_player" />
<alias>jugador</alias>
</object>
<object name="sillón">
<inherit name="editor_object" />
<inherit name="surface" />
<alt type="stringlist">
<value>chair</value>
<value>armchair</value>
<value>sillon</value>
<value>silla</value>
</alt>
<feature_container />
<sentarse type="script"><![CDATA[
msg ("<span title=\"You sit on the armchair.\" style=\"text-decoration:underline;cursor:pointer\">Ahora estás sentado en el sillón.</span>")
]]></sentarse>
</object>
</object>
<verb>
<property>sentarse</property>
<pattern>sentarse;sentarse en; sit on; sit in; sentarte; siéntate; sientate; siéntese; sientese; sentarse en; siéntate en; sientate en; siéntese en; sientese en; sentarse sobre; siéntate sobre; sientate sobre; siéntese sobre; sientese sobre</pattern>
<defaultexpression>"No puedes sentarse;sentarse en; sentarte; siéntate; sientate; siéntese; sientese; sentarse en; siéntate en; sientate en; siéntese en; sientese en; sentarse sobre; siéntate sobre; sientate sobre; siéntese sobre; sientese sobre" + object.gender + "."</defaultexpression>
</verb>
</asl>
Noup. I add the code to my game, and edit the verb list, but it still doesnt work.
<!--Saved by Quest 5.7.6404.15496-->
<asl version="550">
<include ref="Espanol.aslx" />
<include ref="Core.aslx" />
<game name="Prueba">
<gameid>c45fbc3d-3fe8-4e42-bc2a-ff1984105137</gameid>
<version>1.0</version>
<firstpublished>2017</firstpublished>
<parserignoreprefixes type="stringlist">
<value>el</value>
<value>la</value>
<value>los</value>
<value>las</value>
<value>un</value>
<value>uno</value>
<value>una</value>
<value>unos</value>
<value>unas</value>
<value>a</value>
<value>an</value>
<value>the</value>
</parserignoreprefixes>
</game>
<object name="Salón">
<inherit name="editor_room" />
<description>Este es un salón bastante sencillo con una alfombra beige antigua y papel tapiz despegado</description>
<object name="jugador">
<inherit name="editor_object" />
<inherit name="editor_player" />
</object>
<exit alias="cocina" to="Cocina">
<inherit name="southdirection" />
<prefix>la</prefix>
</exit>
<object name="SILLON">
<inherit name="editor_object" />
<inherit name="masculine" />
<alias>sillón</alias>
<alt type="stringlist">
<value>sillon</value>
</alt>
<sit>No es momento de relajarse. </sit>
<look>Un sillón viejo. Te recuerda al de Los Simpsons</look>
<feature_container />
<sentarse type="script"><![CDATA[
msg ("<span title=\"You sit on the armchair.\" style=\"text-decoration:underline;cursor:pointer\">Ahora estás sentado en el sillón.</span>")
]]></sentarse>
</object>
</object>
<verb>
<property>sentarse</property>
<pattern>sentarse;sentarse en; sit on; sit in; sentarte; siéntate; sientate; siéntese; sientese; sentarse en; siéntate en; sientate en; siéntese en; sientese en; sentarse sobre; siéntate sobre; sientate sobre; siéntese sobre; sientese sobre</pattern>
<defaultexpression>"No puedes sentarse;sentarse en; sentarte; siéntate; sientate; siéntese; sientese; sentarse en; siéntate en; sientate en; siéntese en; sientese en; sentarse sobre; siéntate sobre; sientate sobre; siéntese sobre; sientese sobre" + object.gender + "."</defaultexpression>
</verb>
I add the list verbs too, but nothing. If i write "sit couch" it works, but "sit on the couch" shows me "i dont see that. (on the couch)". Maybe is a problem with the spanish version? cause the other verbs works perfectly, i can "read the newspaper", "watch the tv" but i cant sit on the fucking couch!
Got it.
Estás en un Salón.
Puedes ver un jugador y un sillón.
Este es un salón bastante sencillo con una alfombra beige antigua y papel tapiz despegado
> sit sillon
No es momento de relajarse.
> sit on sillon
No es momento de relajarse.
<!--Saved by Quest 5.7.6404.15496-->
<asl version="550">
<include ref="Espanol.aslx" />
<include ref="Core.aslx" />
<game name="Prueba">
<gameid>c45fbc3d-3fe8-4e42-bc2a-ff1984105137</gameid>
<version>1.0</version>
<firstpublished>2017</firstpublished>
<parserignoreprefixes type="stringlist">
<value>el</value>
<value>la</value>
<value>los</value>
<value>las</value>
<value>un</value>
<value>uno</value>
<value>una</value>
<value>unos</value>
<value>unas</value>
<value>a</value>
<value>an</value>
<value>the</value>
</parserignoreprefixes>
</game>
<object name="Salón">
<inherit name="editor_room" />
<description>Este es un salón bastante sencillo con una alfombra beige antigua y papel tapiz despegado</description>
<object name="jugador">
<inherit name="editor_object" />
<inherit name="editor_player" />
</object>
<object name="SILLON">
<inherit name="editor_object" />
<inherit name="masculine" />
<alias>sillón</alias>
<alt type="stringlist">
<value>sillon</value>
</alt>
<look>Un sillón viejo. Te recuerda al de Los Simpsons</look>
<feature_container />
<sentarseen>No es momento de relajarse.</sentarseen>
</object>
</object>
<verb>
<property>sentarseen</property>
<pattern>sit on;sentarse en; sentarse; sit; sit in; sentarte; siéntate; sientate; siéntese; sientese; sentarse en; siéntate en; sientate en; siéntese en; sientese en; sentarse sobre; siéntate sobre; sientate sobre; siéntese sobre; sientese sobre</pattern>
<defaultexpression>"No puedes sentarse en; sentarse; sit; sit on; sit in; sentarte; siéntate; sientate; siéntese; sientese; sentarse en; siéntate en; sientate en; siéntese en; sientese en; sentarse sobre; siéntate sobre; sientate sobre; siéntese sobre; sientese sobre" + object.gender + "."</defaultexpression>
</verb>
</asl>
YES! perfect!!!! Thank you very much, the code solve the problem. I think it was a problem with the article traduction but now its working perfectly.
Thanks for your patience, friend! ;)
Edit: in theory, this should work to every single couch in the game, right?
With lists of verbs, it will pick the first one that looks like what you typed, and assume the rest is the name of the object. So "sit on" has to be listed before "sit". You'd probably also want to put "sentarse sobre" before "sentarse" and similar.
If this was a command you could use a regular expression pattern like ^(sit|sentar[st]e|si[ée]nt(ate|ese)) *(in|on|en|sobre)? +(?<object>.*)$
(which I think matches all of the options in your list). Don't know if you can do that with verbs, though. I've not played with them much.
Just playing around with templates now:
EDIT
I fixed the Split with an extra space after the ;
.
msg (CapFirst(Template("SelfGender"))+" "+LCase(Template("LookAt"))+" [SelfArticle], [And] "+LCase(WriteVerb(player, "be"))+" "+LCase(Template("DefaultSelfDescription"))+"<br/><br/>"+CapFirst(WriteVerb(player, Split(Template("lookat"), "; ")[1]))+" [CompassN], [CompassS], [CompassW], [CompassE]... [SeeListHeader] [Nothing]. ")
In an English game:
You look at yourself, and you are looking good.
You look north, south, west, east... You can see nothing.
In a Spanish game:
Tú examinar tú mismo, y be te ves bien.
Examinar norte, sur, oeste, este... Puedes ver nada.
It's a bit tedious, but...
(KV shrugs.)
Shouldn't it be "Tú examinar norte,...", "Usted examina el norte,...", "Examinas el norte,...", or "Miras hacias norte,..."?
Hrmm...
I don't know enough Spanish to be sure. I definitely don't know enough of any other language to even waste the time checking it.
It's pretty much nonsense, but it's the best I could come up with using the templates.
Your spanish its well, i can understand it xD i really thank your help. That template is interesting, im going to test it.
I really thank you again and when i finish my game dont expect be able yo play it, cause its going to be in spanish xD
If this was a command you could use a regular expression pattern like
^(sit|sentar[st]e|si[ée]nt(ate|ese)) *(in|on|en|sobre)? +(?<object>.*)$
(which I think matches all of the options in your list). Don't know if you can do that with verbs, though. I've not played with them much.
Yes you can use regular expressions.
You can also use #object#
as a stand-in for the object, by the way, which is useful for verbs that surround the noun (eg, PUT HAT ON).
Of course you can only do that in the off-line version...
Is that what that's for?
I had a ball object, and I set up a verb on it, throw #object# to Ralph
, a while back...
I thought that meant throw this
to Ralph.
Hehehe.
No wonder it didn't look right when it printed the command after I selected it from the verbs list!
>throw ball to ralph ball
He catches it.
So... that was really the equivalent of:
throw #object# to Ralph
[this
]
(Ha! That's funny.)