Talk:How to Script: Difference between revisions

From Elanthipedia
Jump to navigation Jump to search
Line 26: Line 26:
It would nice to see SAVE explained, even if it's deprecated. I'm still trying to figure out what it does exactly so I understand other people's scripts. --[[User:Ateles|Ateles]] 16:45, 1 August 2010 (UTC)
It would nice to see SAVE explained, even if it's deprecated. I'm still trying to figure out what it does exactly so I understand other people's scripts. --[[User:Ateles|Ateles]] 16:45, 1 August 2010 (UTC)
:As I recall, it basically acted as a no option SETVARIABLE command, saving it to "%s". -Moderator [[User:Caraamon|Caraamon Makdasi]]<sup>([[User talk:Caraamon|talk]])</sup> 20:44, 1 August 2010 (UTC)
:As I recall, it basically acted as a no option SETVARIABLE command, saving it to "%s". -Moderator [[User:Caraamon|Caraamon Makdasi]]<sup>([[User talk:Caraamon|talk]])</sup> 20:44, 1 August 2010 (UTC)
::This is correct. In addition, despite it being listed as obsolete, it will still work. The command is simply a hold-over from Wizard where you can't set variables from within the script. Redundant would be a better word to describe it, since obsolete implies that it no longer functions. I.e. everything SAVE can do, SETVARIABLE can do. The main differences from SETVARIABLE is that the variable %s created by the save command only exists as long as the script is running and you can only SAVE a single variable at a time, any successive SAVE commands replacing the previous value. For example:
:::{{tt|SAVE Hello}}
:::{{tt|echo %s}}
:::{{tt|SAVE Goodbye}}
:::{{tt|echo %s}}
::When run, this would output:
:::{{tt|Hello}}
:::{{tt|Goodbye}}
::Hope that helps answer your question. If you want, you can also download the Wizard from play.net and there's a help section on scripting that has details about the SAVE command as well.--[[User:Evran|Evran]] 20:55, 1 August 2010 (UTC)

Revision as of 14:55, 1 August 2010

Match section

Matchre is actually very easy to explain, and I think it could be added into the section with the current example shown with MATCHRE so people can understand. They are incredibly useful for keeping the amount of lines your code is down to a minimum.

Simple explanation is that it functions exactly the same as a MATCH. The pipe | separates each of the regular expressions, and that it must start and end with forward slashes / in StormFront.

1	putAway:
2	MATCH putAway ...wait
3	MATCHRE cycle /Stow what?|You are already wearing that.|But that is already in your inventory.|You/
4	PUT stow my pickle
5	MATCHWAIT

-- Tea 20:53, 21 April 2009 (UTC)

Because it also plays into thinks like WAITFORRE, I'm going to add it to a separate section (when I get around to it :P ) -Moderator Caraamon Strugr-Makdasi(talk) 18:02, 22 April 2009 (UTC)

--Deke 22:18, 1 August 2009 (UTC)

I would advise you add "i" to the end of all matchre's to make them case insensative. Additionally the "?" would not actually match a question mark in your string, to do that it must be preceeded by an "\". The same applies to your periods. Here's how the expression could be changed...

/Stow what\?|You are already wearing that\.|But that is already in your inventory\.|You/i

Save

It would nice to see SAVE explained, even if it's deprecated. I'm still trying to figure out what it does exactly so I understand other people's scripts. --Ateles 16:45, 1 August 2010 (UTC)

As I recall, it basically acted as a no option SETVARIABLE command, saving it to "%s". -Moderator Caraamon Makdasi(talk) 20:44, 1 August 2010 (UTC)
This is correct. In addition, despite it being listed as obsolete, it will still work. The command is simply a hold-over from Wizard where you can't set variables from within the script. Redundant would be a better word to describe it, since obsolete implies that it no longer functions. I.e. everything SAVE can do, SETVARIABLE can do. The main differences from SETVARIABLE is that the variable %s created by the save command only exists as long as the script is running and you can only SAVE a single variable at a time, any successive SAVE commands replacing the previous value. For example:
SAVE HELLO
ECHO %S
SAVE GOODBYE
ECHO %S
When run, this would output:
HELLO
GOODBYE
Hope that helps answer your question. If you want, you can also download the Wizard from play.net and there's a help section on scripting that has details about the SAVE command as well.--Evran 20:55, 1 August 2010 (UTC)