Alabama's Beginner Script Maker

By alabama on Sep 17, 2011

Screenshots

Download the icon's from here:
http://mslcoding.com/scripts/mircicons.zip
Extract to
C:\Users\YOURNAME\AppData\Roaming\mIRC

ON: options
-Text
-Action
-Join
-Alias

What do you want the script to do? options
-msg $chan
-msg $nick
-notice $nick
-echo -a

Check:
-Set a var

Other options:
-Clear current script
-Copy to clipboard

View a live demo:
http://alabama.comuf.com/alabama/script%20maker.gif

alias tutorial { dialog -m tutorial tutorial }

Menu channel,nicklist,query {
tutorial:/dialog -m tutorial tutorial }

dialog tutorial {
  title "Alabama's Beginner Script Maker"
  size -1 -1 158 170
  option dbu
  edit "", 1, 2 2 156 54, read multi autovs vsbar
  edit "", 2, 22 70 50 10
  text "Trigger:", 3, 0 70 20 8
  text "What do you want the script to do?", 4, 0 82 92 8
  combo 5, 2 91 60 50, size drop
  edit "", 6, 2 104 132 11, autohs
  check "Set a var", 7, 65 115 35 10
  edit "", 8, 66 124 50 10, autohs
  button "Done", 9, 39 142 77 24
  button "Clear", 10, 118 56 37 12
  combo 11, 11 57 60 51, size drop
  text "On:", 12, 0 58 10 8
  button "Copy to clipboard", 13, 72 56 45 12
}

on *:dialog:tutorial:sclick:*:{
  if ($did == 9) && ($did(7).state != 0) { /varset } halt
  if ($did == 9) { /writescript }
  if ($did == 10) { var %r did -r $dname | %r 1 | %r 2 | %r 6 | %r 8 | did -u $dname 7 }
  if ($did == 13) { did -c $dname 1 1 1 4150 | clipboard $did($dname, 1).seltext } 
}

alias /writescript { var %a = did -a $dname 1, %a = did -a $dname 1, %trigger = $did(2).text, %event = $did(6).text, %do = $did(5).seltext, %on = $did(11).seltext

  if ($did(11).seltext == JOIN) { %a ON *: $+ %on $+ : $+ # $+ %trigger $+ : $+ $chr(123) | %a $crlf %do %event | %a $crlf $chr(125) } halt

  if ($did(11).seltext == ALIAS) { %a Alias %trigger $chr(123) | %a $crlf %do %event | %a $crlf $chr(125) } halt

  else { %a ON *: $+ %on $+ : $+ %trigger $+ :#: $+ $chr(123) | %a $crlf %do %event | %a $crlf $chr(125) }
}

alias /varset { 
  var %a = did -a $dname 1, %a = did -a $dname 1, %trigger = $did(2).text, %event = $did(6).text, %var = % $+ $did(8).text, %do = $did(5).seltext, %on = $did(11).seltext

  if (% isin $did(8).text) { set %var $did(8).text } {

    if ($did(11).seltext == JOIN) { %a ON *: $+ %on $+ : $+ # $+ %trigger $+ : $+ $chr(123) | %a $crlf inc %var | %a $crlf %do %event | %a $crlf $chr(125) } halt

    if ($did(11).seltext == ALIAS) { %a Alias %trigger $chr(123) | %a $crlf inc %var | %a $crlf %do %event | %a $crlf $chr(125) } halt

    else { %a ON *: $+ %on $+ : $+ %trigger $+ :#: $+ $chr(123) | %a $crlf inc %var |  %a $crlf %do %event | %a $crlf $chr(125) }
  }
}

on *:dialog:tutorial:edit:*:{
  if ($did == 7) && ($did(7).text == $chr(123)) { did -a $dname 1 $chr(125) }
}

on *:dialog:tutorial:init:0:{ 
echo -a You have loaded alabama's beginner script maker
  var %load did -a $dname 5, %load2 = did -a $dname 11
  %load msg $!chan | %load msg $!nick | %load notice $!nick | %load echo -a | did -c $dname 5 1
  %load2 TEXT | %load2 ALIAS | %load2 ACTION | %load2 JOIN | did -c $dname 11 1
} 

Comments

Sign in to comment.
alabama   -  Sep 18, 2011

Added a few icons. Just gona see your feedback on it
updated the main pic

Download the icon's from here:
http://mslcoding.com/scripts/mircicons.zip
Extract to
C:\Users\YOURNAME\AppData\Roaming\mIRC

 Respond  
Jethro   -  Sep 18, 2011

These comments are served as harmless opinions toward learning. I suppose we all learn things differently, so there's no definite approach to how and what you should adapt to the "pre-made" method being introduced.

 Respond  
Spoof   -  Sep 18, 2011

or " her " own... don't forget the female scripters and mIRC users that also enjoy this servers warehouse of snippets.

 Respond  
jaytea   -  Sep 18, 2011

Seems that it would limit a scripts abilities to learn different ways of coding out the same results, making them dependent on the script to do the work for them.

i agree with jethro's statement that it is better to actually learn to do it by hand.

i can't understand how you can say that beginners are skipping steps in learning by using this snippet. did you try it out? the user still needs to understand the concept of events, matchtext, and acting on these events, which are the biggest hurdles for someone who is entirely new to coding for IRC. if they don't understand these things, they would need help using this snippet just as they would need help writing out the basic mIRC script that this snippet automates the creation of.

also, if you are against this snippet on the grounds that it negatively impacts a beginner's progress, you must also be opposed to the idea of providing examples to beginners as well as fulfilling script requests for learners since, after all, that is the wrong way for them to learn. and what of this website and its collection of freely available snippets searchable by keywords? typing "join greeting", hitting 'Search' and using the resulting codes will very likely destroy any chance that poor sap has of learning to create such a script on his own.

 Respond  
alabama   -  Sep 18, 2011

@napa182. Thanks. I started out by making a 'sandbox' where users could learn mSL and test scripts in either 1 or 2 dialog windows. Would've been too much of a hasle so I just decided to do this instead. I'm most likely going to add more options soon

 Respond  
alabama   -  Sep 18, 2011

@spoof, they don't need to know what this code does. They simply run the dialog and they're set from there. lol

 Respond  
napa182   -  Sep 18, 2011

As jaytea said: there's absolutely nothing wrong with this idea.
"Idea" being the key word. It is a nice idea that has been done a lot of times by different people. Being a little event/alias maker like this one too socket makers. There is nothing wrong in the idea of making/using them just as long as people don't rely on them.

nice work alabama, could be cleaned up some an such. but nice work..
keep up the coding
5/10

 Respond  
Spoof   -  Sep 17, 2011

Seems that it would limit a scripts abilities to learn different ways of coding out the same results, making them dependent on the script to do the work for them. Maybe if you add statements into each action that they preform so they fully understand what exactly they are doing and the full capacity of this script and its limitations.
example:
on :ban:#:{
;open a new window on mirc. we will call it @bans
window @bans
;now to write the information in that window for easy later viewing using echo
echo -t @bans [ban logger] $nick set the following ban $1- against user $bnick on $time $date in $chan
;close the brackets at the end
}
;same here but this is the kick event
on
:kick:#:{
window @kicks
echo -t @kicks [kick tracker] $nick kicked $knick from $chan on $date at $time
}

by using ; in the script you can explain what is happening to the beginner or you could even write it out with echo's to the person using the script as to what is happening on each selected action.

By the way... this is in no way a put down or slam on your script but merely feedback to explain that most people trying to learn mIRC coding fail at first. Even this script could confuse them if it doesn't explain what they are doing.
I feel that your intentions are good, but please try to make an effort to explain to beginners what they are doing.

Looking forward to seeing more of your scripts and others on the link. Happy scripting everyone, that's all that really matters.

 Respond  
blackvenomm666   -  Sep 17, 2011

not only that jethro but what if someone uses this to make something and it completely errors out. if they do not do it by hand and familiarise themselves with coding by hand they will not be able to figure what is wrong. i agree with jethro's statement that it is better to actually learn to do it by hand.

 Respond  
PlayBoyMan   -  Sep 17, 2011

I have tried to learn mSL on my own - it is not working out so well. This tool is a good start for me, and I think it's awesome.

 Respond  
Jethro   -  Sep 17, 2011

jaytea, everything these days gets so convenient. We don't need to carry paper cash rather than plastic money with us, and we don't need to be there to purchase something when we can get it all done online. But at the end of the day, the old-fashioned way of learning is never too shabby to help our familiarization in a subject when we actually write it down manually.

P.S. Our intelligence aren't created equally. Some people may be keen on or good at reading just by eyeballing it, but some take more practice and effort to master the learning curve of a programming language. I hope you get my drift.

 Respond  
jaytea   -  Sep 17, 2011

in industry, the process of going from a well defined design to actual code is largely automated, and is becoming increasingly so. there's absolutely nothing wrong with this idea.

 Respond  
Dani_l11   -  Sep 17, 2011

I think its a good idea, and maybe even usefull to some beginning scripters, however, like Jethro said, it is very limitted!

Also, the set a var is incorrect. You can only increase a var by 1 nothing else. (Which would make it 'increase a var by 1', not 'set a var')

 Respond  
alabama   -  Sep 17, 2011

It's for beginners to understand basic mSL :)

 Respond  
Jethro   -  Sep 17, 2011

First off, I'm not trying to bust your chops, but the best way to learn of MSL is using mIRC's remote editor or alias editor, and write the events, alias, identifiers and commands flat out manually. Second, this will get you to familiarize with them every time you jot them down; it's more beneficial. Lastly, people have made socket creators and script makers like this snippet before, and they tend to result in errors and what they can do have their own limitations.

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.