Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUSHclient ➜ Lua ➜ Functions Compatability with MC versions

Functions Compatability with MC versions

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Terry   USA  (87 posts)  Bio
Date Mon 30 Jun 2008 02:51 PM (UTC)
Message
This is the first time I've ever had a problem with this, so I've never asked in the past. Is there a way of checking the plugin that has been written to see what the earliest version of MUSHclient the plugin is compatible with?
Top

Posted by Worstje   Netherlands  (899 posts)  Bio
Date Reply #1 on Mon 30 Jun 2008 06:49 PM (UTC)
Message
The author can specify the earliest version that a plugin should be compatible with in the plugin itself (the <plugin> tag at the top has a version attribute). The author should know what functions he used, and the changelog/helpfiles tend to give good information on when things were added/removed.

Other than that, your only alternative is to load older versions, and try your plugin with those.
Top

Posted by Nick Gammon   Australia  (23,173 posts)  Bio   Forum Administrator
Date Reply #2 on Tue 01 Jul 2008 06:24 AM (UTC)

Amended on Tue 01 Jul 2008 06:26 AM (UTC) by Nick Gammon

Message
Yes, the problem is that authors often make the required version the current version, which is safe in the sense that if it works for them, it should work for that version, and future ones. It is harder to know which earlier versions it will also work with.

In the next post I will show a table of all of the functions recently added to the MUSHclient script engine, in reverse order by version.

The idea here is that if you have, say, version 4.20, then you can see that only a handful of functions were added since then. You could open the plugin in any text editor and do a quick scan to see if any of those functions were used. If not, it is probably safe to use the plugin.

Alternatively, there is no really good reason to not simply upgrade MUSHclient to the latest version.

Some plugins also use Lua script functions not documented here (like in the utils table). To be certain you would really need to browse through the release notes.

However again, why not just get the latest version?

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Gammon   Australia  (23,173 posts)  Bio   Forum Administrator
Date Reply #3 on Tue 01 Jul 2008 06:24 AM (UTC)

Amended on Tue 01 Jul 2008 06:27 AM (UTC) by Nick Gammon

Message

MUSHclient functions added in the last couple of years, by version, in version number order, descending:

name version
NotepadReadOnly 4.3
ShiftTabCompleteItem 4.3
SetToolBarPosition 4.29
GetSoundStatus 4.28
PlaySound 4.28
SetCommandWindowHeight 4.28
StopSound 4.28
AcceleratorTo 4.27
GetPluginAliasOption 4.21
GetPluginTimerOption 4.21
GetPluginTriggerOption 4.21
GetGlobalOption 4.18
GetGlobalOptionList 4.18
SendSpecial 4.14
TranslateDebug 4.12
GetNotepadList 4.08
GetCustomColourName 4.03
SetCustomColourName 4.03
SetWorldWindowStatus 3.85
SpellCheckDlg 3.85
Transparency 3.83
EditDistance 3.82
FlushLog 3.82
Metaphone 3.81
SendPkt 3.81
ChangeDir 3.8
DeleteLines 3.76
NotepadSaveMethod 3.76
AddSpellCheckWord 3.74
OpenBrowser 3.74
ResetIP 3.73
Simulate 3.73
Help 3.7
PasteCommand 3.69
ErrorDesc 3.68
TraceOut 3.68
BroadcastPlugin 3.67
GetUdpPort 3.66
GetWorldWindowPositionX 3.66
GetXMLEntity 3.66
MoveWorldWindowX 3.66
NoteHr 3.66
SetClipboard 3.66
SetEntity 3.66
GetWorldWindowPosition 3.6
SetChanged 3.6
UdpPortList 3.6
MtRand 3.57
MtSrand 3.57
NotepadColour 3.57
NotepadFont 3.57
GetMainWindowPosition 3.56
GetNotepadWindowPosition 3.56
GetSysColor 3.56
GetSystemMetrics 3.56
UdpListen 3.56
UdpSend 3.56
GetMapColour 3.54
MakeRegularExpression 3.54
MapColour 3.54
MapColourList 3.54
MoveMainWindow 3.54
MoveNotepadWindow 3.54
MoveWorldWindow 3.54
SpellCheck 3.54
SpellCheckCommand 3.54
Accelerator 3.53
AcceleratorList 3.53
GetWorldID 3.52
ReloadPlugin 3.5
TranslateGerman 3.5
ActivateClient 3.48
GetAliasWildcard 3.48
GetRecentLines 3.48
GetTriggerWildcard 3.48
RemoveBacktracks 3.48
EnableMapping 3.47
ArrayClear 3.46
ArrayCount 3.46
ArrayCreate 3.46
ArrayDelete 3.46
ArrayDeleteKey 3.46
ArrayExists 3.46
ArrayExport 3.46
ArrayExportKeys 3.46
ArrayGet 3.46
ArrayGetFirstKey 3.46
ArrayGetLastKey 3.46
ArrayImport 3.46
ArrayKeyExists 3.46
ArrayListAll 3.46
ArrayListKeys 3.46
ArrayListValues 3.46
ArraySet 3.46
ArraySize 3.46
ResetStatusTime 3.46
GetNoteStyle 3.42
NoteStyle 3.42
AdjustColour 3.41
ExportXML 3.41
Hyperlink 3.41
SendImmediate 3.41
SendNoEcho 3.41
GetNotepadLength 3.4
GetNotepadText 3.4
ChatCallzChat 3.39
DoCommand 3.39
GetClipboard 3.39
GetHostAddress 3.39
GetHostName 3.39
GetInternalCommandsList 3.39
GetWorldById 3.39
GetWorldIdList 3.39
ImportXML 3.39
ANSI 3.37
AnsiNote 3.37
ChatAcceptCalls 3.37
ChatCall 3.37
ChatDisconnect 3.37
ChatDisconnectAll 3.37
ChatEverybody 3.37
ChatGetID 3.37
ChatGroup 3.37
ChatID 3.37
ChatMessage 3.37
ChatNameChange 3.37
ChatNote 3.37
ChatPasteEverybody 3.37
ChatPasteText 3.37
ChatPeekConnections 3.37
ChatPersonal 3.37
ChatPing 3.37
ChatRequestConnections 3.37
ChatSendFile 3.37
ChatStopAcceptingCalls 3.37
ChatStopFileTransfer 3.37
GetChatInfo 3.37
GetChatList 3.37
GetChatOption 3.37
SetChatOption 3.37
StripANSI 3.37
DoAfterSpecial 3.35
Execute 3.35
GetEntity 3.3
CloseNotepad 3.29
DeleteAliasGroup 3.29
DeleteGroup 3.29
DeleteTimerGroup 3.29
DeleteTriggerGroup 3.29
GetAliasOption 3.29
GetTimerOption 3.29
GetTriggerOption 3.29
Info 3.29
InfoBackground 3.29
InfoClear 3.29
InfoColour 3.29
InfoFont 3.29
SaveNotepad 3.29
SetAliasOption 3.29
SetTimerOption 3.29
SetTriggerOption 3.29
ShowInfoBar 3.29
EnableAliasGroup 3.27
EnableGroup 3.27
EnableTimerGroup 3.27
EnableTriggerGroup 3.27
SendPush 3.27
LogSend 3.25
CallPlugin 3.23
ColourNote 3.23
ColourTell 3.23
CreateGUID 3.23
GetCurrentValue 3.23
GetDefaultValue 3.23
GetLoadedValue 3.23
GetPluginAliasInfo 3.23
GetPluginAliasList 3.23
GetPluginID 3.23
GetPluginInfo 3.23
GetPluginList 3.23
GetPluginName 3.23
GetPluginTimerInfo 3.23
GetPluginTimerList 3.23
GetPluginTriggerInfo 3.23
GetPluginTriggerList 3.23
GetPluginVariable 3.23
GetPluginVariableList 3.23
GetUniqueID 3.23
Hash 3.23
IsPluginInstalled 3.23
LoadPlugin 3.23
PluginSupports 3.23
Base64Decode 3.22
Base64Encode 3.22
ColourNameToRGB 3.22
GetAlphaOption 3.22
GetAlphaOptionList 3.22
PickColour 3.22
RGBColourToName 3.22
SetAlphaOption 3.22
AddTriggerEx 3.18
DeleteTemporaryAliases 3.18
DeleteTemporaryTimers 3.18
DeleteTemporaryTriggers 3.18
DoAfter 3.18
DoAfterNote 3.18
DoAfterSpeedWalk 3.18
GetCommand 3.18
GetCommandList 3.18
GetInfo 3.18
GetLineInfo 3.18
GetLinesInBufferCount 3.18
GetQueue 3.18
GetSelectionEndColumn 3.18
GetSelectionEndLine 3.18
GetSelectionStartColumn 3.18
GetSelectionStartLine 3.18
GetStyleInfo 3.18
PushCommand 3.18
SelectCommand 3.18

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Terry   USA  (87 posts)  Bio
Date Reply #4 on Mon 07 Jul 2008 05:01 AM (UTC)

Amended on Mon 07 Jul 2008 05:05 AM (UTC) by Terry

Message
It isn't for me that I'm worried about. It's the people that might use my plugins. I pretty much check the forums every day for the latest release. (By the way, I noticed there are release notes for v4.32 but the latest release is still v4.31! Is this a mistake?) My problem was more concerning people who apparently are stubborn about sticking with their version even though it makes no sense to you or me. The chart certainly helps! But is there any way of having a scan feature in the plugin wizard that scans for functions and automatically picks the earliest version? :P If not, I'll stick with the chart! Thanks for the help :D
Top

Posted by Nick Gammon   Australia  (23,173 posts)  Bio   Forum Administrator
Date Reply #5 on Mon 07 Jul 2008 05:51 AM (UTC)
Message
I thought about the scan function, but it would be hard to get right. For example, some functions like GetInfo are enhanced, but their basic release version number stays the same.

Quote:

By the way, I noticed there are release notes for v4.32 but the latest release is still v4.31! Is this a mistake?


No mistake. I document changes as I make them to the source code, but the released version may be a week or two off. If there is no release date shown, then they are pending changes.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Terry   USA  (87 posts)  Bio
Date Reply #6 on Tue 08 Jul 2008 08:49 PM (UTC)
Message
Quote:
some functions like GetInfo are enhanced, but their basic release version number stays the same

Hmm, since you've already made a chart with all the functions and their release dates, couldn't that be plopped into a .dat file or something? (I'm assuming this is just discussion now, so please don't think I'm pushing you :)) I was just thinking that it could highlight the syntax, and check functions against the chart to see which version it was, instead of checking to see the last update of that function. Whenever a new function is added, you could just add the func and version to the .dat manually, so you wouldn't have to worry about the file automatically changing or something. Just a thought.
Top

Posted by Nick Gammon   Australia  (23,173 posts)  Bio   Forum Administrator
Date Reply #7 on Thu 10 Jul 2008 08:14 AM (UTC)
Message
This web page now shows the first released version for a function:

http://www.gammon.com.au/scripts/function.php

Also if you want it in Lua-readable form, try this:

http://www.gammon.com.au/scripts/function.php?raw=1

That gives you my raw database data, which you can use to evaluate which function appeared in which version.

Based on that information, and with a bit of searching the plugin script, you should be able to work out which was the lowest version that supported each script function.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


28,204 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.