Multi-Script Building
Special Ed
2007-05-13 23:20:34
UPDATED!Group EventHey, just came up with this idea due to the immense amount of free time and boredom I have and thought, hey why not make this a members community project.
Multi - Scripts - Many have dreamed of these and many try to make them, but these aren't much of a reality as of now. So I propose a SRL Members Project to finally create a decent if not great script that can do multiple things. Such as; fishing and woodcutting, mining and smithing, woodcutting / firemaking / and cooking, fishing and cooking, fighting with and non-combat skill. I think these are really possible things and I know these will take a lot of work, but working together as a community we can make these kinds of scripts and make them work well.
Steps - One thing we'd need to do is organize the script into steps, or different things each group of people could work on. Like one group could work on like the anti-ban aspect of a script while another group could work on a procedure for banking and another for cooking or something, just be able to break the script up into individual pieces.
Communication - I've been trying to get people to use ventrilo in SRL but no one has ever really come on. I know some people don't have microphones or are scared people will make fun of their voice or something, but no one really cares what you sound like and if you don't have a mic you can still go into chat and still listen to us.
————————————————————————————–PROJECT - FishChopMake & Bake FCMB for Short.
Location: Draynor.
What: Fisher, Woodcutter, Firemaker, Cooker, and Banker.
Where: Draynor "Web Fishing", "Normal / Willow Chopping"
When: 8:30 PM GMT [3:30 Central]
First Goal - Depending on how everything goes this may be that hardest part, Getting everyone organized and into groups and get people to be on at the same time. I'm going to just place people into groups and you can PM me on what group you want to be in please if there is a conflict in time let me know and I will move you to a more time related group. After we get everyone organized we need to get used to talking to people in ventrilo *or whatever* and make some ground rules, so this can be as enjoyable as possible while still maintaining some structure and fluidity. Hope fully everyone will be in a group they like but if not please do not complain, I will try my best to make sure everyone is happy. I know people want to be in the same groups as the Dev's but it still is fun to work with other people, and maybe the person you want to be with had a 12 hour time difference. Don't try and make things work, just please try to stick with people in your time zone. I know some people live in England, Finland, ect. and some people live in the US, so I've decided to set the time at 8:30 PM [GMT], around 3:30 Central Time [GMT].
Goal Two - Complete the
Anti-ban and
Auto Responding to a near human-like point, i.e. great auto responder that can talk quite a bit *massive library of text*. Also get a good log lighting and cooking procedure.
————————————————————————————–StepsGroup 1 -
Bank Finding, Banking / Withdrawing, and ID'ing.Focuses mainly on procedures and functions that involve finding the Draynor bank from the willows / fishing spot, and then banking the logs / cooked fish, and also involves procedures that take out new axes if an old one breaks, taking out a new net if you lose yours, as well as depositing items into the bank from randoms.
Group 2 -
Anti - Ban and Responding.Works on good anti-ban procedures and functions, also works on making the script look more human, with mouse movements, randomness, and doing other human like things. It also deals with creating an extensive or unique auto-responding system.
Group 3 -
Math / Calibration and Timing.Good math skills are needed here. This group works with the part of the script that involves creating timing procedures and fail safes as well as when the scripts switches from doing one thing to another. It also will make sure that everything is calibrated to the same co-ordinates and make sure everything is click and moving where its supposed to.
Group 4 -
Skills.Basically the meatiest part of this project, it deals with the parts of the scripts that deal with finding Trees and chopping them down as well as fire making procedures or loops, along with fishing procedures and firemaking and cooking procedures and functions.
*This doesn't deal with how these different things fit together, thats the Math / Calibration and Timing group that does that.*Group 5 -
Walking.Simply put it deals with the walking to the bank, to the trees, and to the fish. It may incorporate some walking back from Lumbridge, depending on whether or not this seems accomplish able.
Group 5.5 -
Forms.Just Added this to give people some more to do in case they feel as though they're not fulfilled enough.
Outline By Dark_Sniper & Smartzkid http://www.srl-forums.com/forum/attachment.php?attachmentid=3772&d=1179212569-=-=-=-=-=-=-=[Source Forge]=-=-=-=-=-=-=-Thanks to Dark_Sniper
ONLY FOR SCAR 3.06 / SRL 3.7
First go to
www.sourceforge.net and make an account and PM it to me, Dark_Sniper, or Smartzkid.
Next, Download this to access the updated files
http://www.gotbuddy.com/SVNPackage.rar Install it then Extract the "MultiScriptOutline" to your Desktop and right click on it then click on Checkout, and type in
https://fcmb.svn.sourceforge.net/svnroot/fcmbin the text box at the top and click O.K. It should download all the files and put them in your MultiScriptOutline Folder. *To Update the Folder just right click on it and select "Update"* To use the include
Copy the MultiScript Folder and put it in your SCAR
includes.
-=-=-=-=-=-=-=[Protocol]=-=-=-=-=-=-=-[1] - Check all your work, read through it and make sure everything compiles.
[2] - Test and re-test all your procedures multiple times before even adding them into the MSI Folder.
[3] - Test your function using includes, not using hard functions *in the same script*.
[4] - Run MultiScript to test for error.
[5] - Fix all errors [DO NOT COMMIT UNTIL ALL ERRORS ARE GONE].
[6] - Update your MultiScriptOutline Folder.
[7] - Commit.
DO NOT DO ANYTHING WITHOUT FOLLOWING THIS CHECKLIST!
-=-=-=-=-=-=-=[Ventrilo]=-=-=-=-=-=-=-Name: The Basement Dwellers
Ip: 208.100.29.23
Port: 3934
Go to the SRL - Community Channel
Password: scar
If anyone has any ideas or suggestions regarding this please post them.-=-=-=-=-=-=-=[Groups]=-=-=-=-=-=-=-There can be more than 4 to a group I just thought that would be a good number to start at.
Group 1 "Bank Finding, Banking / Withdrawing, and ID'ing."
1. Smartzkid
2. Dark_Sniper
3. bobarkinator
4. Abyssal
Group 2 "Anti - Ban and Responding."
1. RAM_RUNE
2. Buckleyindahouse
3. Doofy
4. jahuro
Group 3 "Math / Calibration and Timing."
1. mastaraymond
2.
3.
4.
Group 4 "Skills."
1. ub3r |<1||3r*1337*
2. Ejjman1
3. bullzeye95
4. ~alex~
5. rkroxpunk
Group 5 "Walking."
1. XcanadamanX
2. markus
3. nielsie95
4. JAD
Group 5.5 "Forms"
1. Sky Scripter
2. Widget
3. Icefire908
4.
MEMBER LIST- Special Ed [+]
- rkroxpunk [+]
- Infintry001
- bullzeye95 [+]
- Dark_Sniper [+]
- bobarkinator
- Smartzkid [+]
- mastaraymond [+]
- WT-Fakawi
- ub3r |<1||3r*1337* [+]
- Abyssal [+]
- omgh4x0rz
- Doofy [+]
- XcanadamanX [+]
- Ejjman1 [+]
- markus [+]
- Secet
- Buckleyindahouse [+]
- ~alex~
- Wizzup?
- nielsie95 [+]
- whales
- jahuro [+]
- JAD [+]
- Sky Scripter [+]
- Widget [+]
- Icefire908 [+]
- RAM_RUNE [+]
If there is a [+] by your name it means your in a group.
rkroxpunk
2007-05-14 02:42:34
I'll attempt to do it :D me and alex were making a varrock east tree cutter and miner banker. Basically mines and switches to tree cutting at certain lvl and banking the whole time.
Infantry001
2007-05-14 16:09:00
I think waht you should do is this:
Let the head of the project create the "control script". This will be the actual script that runs.
Assign others to make include files, with one procedure at the end that is a main loop. This will be called by the control script.
That should be a good way to organize this. I could help, but not right now :( Ill create somerthing for this later
bullzeye95
2007-05-14 16:14:05
Hmm I'm unbelievably lazy, but I'll try to help :p. I can't get on Ventrillo because my mom doesn't want me talking to other people :(. (I'd be killed if she found out I was on this sight :rolleyes:)
WT-Fakawi
2007-05-14 16:28:11
Its a good initiative. I am interested too :)
Special Ed
2007-05-14 16:39:24
I'm hoping to get a lot of the community in on this because the more people usually means the more ideas to make it better.
Should I make a list of people who are interested and then later they can pick groups or something.
Dark_Sniper
2007-05-14 16:43:41
completely intrested thats why i made my hybrid script .
also a way to do this with ease is to make the script seperatly.
and take out the main loop.
then put them in a folder and put the folder into the includes folder.
then make a setup file to setup all the scripts.
and then a main file you run in scar that includes all the scirpts.
get my idea of being organized.
EDIT:
ya make a list so we can pick groups…
Bobarkinator
2007-05-14 16:57:05
I'm in. Just put me in a group.
Smartzkid
2007-05-14 17:04:14
I like the idea
:D I'll be joining the ventrillo server soon
PS: I really don't care what group I'm in, but I guess I'd prefer the first
Dark_Sniper
2007-05-14 17:06:10
match me up with smartz
bullzeye95
2007-05-14 17:15:36
Match me up with Fawki :p
Dark_Sniper
2007-05-14 17:19:53
recomend with sourceforge.
that will make distrubiting to everyone so much easier.
mastaraymond
2007-05-14 17:26:41
I would like to join one of the groups. (Make a dutch group ^^ Nielsie, Wizzup, WT-Fawaki). What version of ventrilo is it? Always fun to talk to people instead of writing!
WT-Fakawi
2007-05-14 17:45:45
I have given this much thought in the past months. IMHO The best way to set this up is to make a flowcard, or a framework that provides Hooks where Scripters can plugin their code. The Multi-Script should be able to determine what activity to undertake judged by the investigation of its surrounding and given proper equipment. The Scripts Mainloop could be Symbol-based for instance, or IsUpText-based or Bitmap/DTM based. Skill-Routines all should be self-contained (Few Globals!) meet basic requirements, (timeouts, statsvars, switches) and should be well-indented and well-documented. Good examples of hybrid-scripts are StarBlaster100's PowerSkills and my Ratz!, the latter I have converted to DIVI to illustrate the power of split-scripting. I think we will need teams for at least disciplines like:
- Bank Finding, Banking/Withdrawing, ID'ing.
- Inventory Detection.
- Interaction: Antiban, Responding.
- Math/Callibration.
- Skills.
- Timing.
- Walking.
We must determine WHAT kind of script we are going to write. This largely depends on the spot we are going to run it. So, first we need a spot.
Then we need a flow. What/Where/When.
Then we need a small protocol.
Then we can focus on how.
Then we can plug-in and see if it works.
You need small steps and small targets first, clear goals and a mature approach, or this wont work. Its not at all easy and there should be a clear Project Leader that sets out the lines and inspirates. Are you willing to be that Leader Special Ed?
P.S. We need a cool Team-Title :)
Dark_Sniper
2007-05-14 17:53:17
woot faka summed up everything on my mind in a paragrtaph … i guesse that comes with time dangit.
but ya i already got a small outline of the script started.
ub3r |<1||3r*1337*
2007-05-14 17:55:52
Count me in! I'll help as much as I can. This project sounds very interesting.
Special Ed
2007-05-14 18:01:36
First of all I would love to be the Leader and I'm pretty sure I could organize it quite well and keep people wanting to work on it, but I'm guessing that the majority of people would want a Dev to lead this project, namely you.
Secondly, the script I think we should write would be a combination of either
Fighting, Woodcutting, Firemaking and Cooking or Fishing, Woodcutting, Firemaking and Cooking I think that the second would be the easier of the two to write, but I think it would be more appropriate to see what everyone wants.
If we are going to make a Fighter, Woodcutter and Cooker, I think that possibly Falador cow's would be a good place to make it. It has trees, and cows aplenty and it would be easy to walk from cows to trees. If we are going to make the Fisher, Woodcutter, and Cooker I think that Draynor would be the best place for it, and if we did it there we could add banking also.
So for this Finding, Banking, Withdrawing, ID'ing I'm sure we could use Dankness's Blacklist approach or something like that, also that would most likely get Dankness in on this project as well.
Lastly, as far as a flow chart goes, I could probably whip a basic outline of it up in a bit.
And for a team code-name what about… MST lol for Multi - Script - Team, or we could do TMP for Team "MultiScript Project" and have like a TMP as a symbol or something.
bullzeye95
2007-05-14 18:02:49
Let's try to get Lorax in on this. His tree finding procedures are unbeatable.
Abyssal
2007-05-14 18:04:02
I will most definitely help.
I may not have the scripters cup however, I still know about SRL and what-not. I can script well, just have not released anything yet.
So count me in, I'll do anything you need!
omgh4x0rz
2007-05-14 18:13:40
From: Abyssal
I will most definitely help.
I may not have the scripters cup however, I still know about SRL and what-not. I can script well, just have not released anything yet.
So count me in, I'll do anything you need!
Yea, basically exactly what I was going to say.
When are you planning on starting this, because I have exams coming up soon, so I don't know how much I would be able to do in the next few weeks.
Special Ed
2007-05-14 18:15:50
Hey I also have my MMtoMS Project that we could implement into this.
Doofy
2007-05-14 18:50:46
Count me in, but im not sure as to how much i can do, seeing that I'm very busy. If i have extra time though, ill be sure to help out :D
I suggst we do the fisher, cutter, firemaker, cooker first. I think that would be a good thing to get started with.
maybe if we create enough stuff and get good enough, we would be able to create a tut island runner (i know there are some already out there but we're not just gunna copy them) and have it walk to a certain place where one of the other scripts works, like for the fisher, cutter, firemaker, cooker, we could have it walk to draynor bank. and do this for every skill evnetually. lol that would be the most insane script ever lol…… kinda reachin out there on that one but w/e, i can dream:p
Dark_Sniper
2007-05-14 18:54:02
i think this is organized as much as possible without an y coding yet.
but here is the latest version of the multiscript :
lol this is version 0.00 incomplete has nothing in it but instructions and a few scar files for everything we intend to do.
I have mad a misc file for anything i have missed if i find that coding fits into a catergory ill make a new one.
but here you are!!!!
EDIT reuploaded
Smartzkid
2007-05-14 19:16:56
Could you explain what 'BankFishing' and 'BankChopping' are?
Dark_Sniper
2007-05-14 19:20:36
huh those arent in there r they?
Smartzkid
2007-05-14 19:30:28
Dark_Sniper
2007-05-14 19:33:54
lol fixed it
Special Ed
2007-05-14 19:48:41
So here's what we've gotten so far…
PROJECT - FishChopMake & Bake FCMB for Short.
Location: Draynor.
What: Fisher, Woodcutter, Firemaker, Cooker, and Banker.
Where: Draynor "Web Fishing", "Normal / Willow Chopping"
When: 8:30 PM GMT [3:30 Central]
Protocol:{
|/\/\/\/\/\/\/\/\/\/\=/\/\/\/\/\/\/\/\/\/\|
PROJECT - FCMB
|/\/\/\/\/\/\/\/\/\/\=/\/\/\/\/\/\/\/\/\/\|
Step Name [Number]
(( Members ))
1.
2.
3.
4.
5.
|/\/\/\/\/\/\/\/\/\/\=/\/\/\/\/\/\/\/\/\/\|
}
First Goal - Depending on how everything goes this may be that hardest part, Getting everyone organized and into groups and get people to be on at the same time. I'm going to just place people into groups and you can PM me on what group you want to be in please if there is a conflict in time let me know and I will move you to a more time related group. After we get everyone organized we need to get used to talking to people in ventrilo *or whatever* and make some ground rules, so this can be as enjoyable as possible while still maintaining some structure and fluidity. Hope fully everyone will be in a group they like but if not please do not complain, I will try my best to make sure everyone is happy. I know people want to be in the same groups as the Dev's but it still is fun to work with other people, and maybe the person you want to be with had a 12 hour time difference. Don't try and make things work, just please try to stick with people in your time zone. I know some people live in England, Finland, ect. and some people live in the US, so I've decided to set the time at 8:30 PM [GMT], around 3:30 Central Time [GMT].
Dark_Sniper
2007-05-14 19:56:38
ill start working on some random stuff we can use.
like this all dont have to be one script all you have to do is make the walking and banking… then just run the files form the include to be able to make it easier…
like lets say this is your main loop:
begin
Walktobank;
bank;
walktotrees;
Chop;// this comes from the includes
Firemake;//this comes from includes.
Fish;// this comes from iuncludes.
walktobank;
end.
see easier right
this way we do not have to right out a way to cut a tree in every script we make… right.
ub3r |<1||3r*1337*
2007-05-14 20:11:26
I'll work on the woodcutting.
It will be very stable, human, and most importantly, undetectable. No axes will break, and all anti-randoms will be included.
Smartzkid
2007-05-14 20:31:48
@SpEd: Maybe you should make different channels for each group, along with one shared channel? That way, each group can concentrate on what they're doing, and still ask for help from the others when they need it
XcanadamanX
2007-05-14 20:37:35
ill help with walking if i have time.
Smartzkid
2007-05-14 21:36:58
Applied for a sourceforge.
Bobarkinator
2007-05-14 22:08:09
Somebody pm Sky he can make some pretty good forms to put on this script.
Also I would like to be in group 1. I like bank finding and banking.
rkroxpunk
2007-05-14 22:19:15
I'll go any group except 2 and 4 if that's ok….also we going to have the choice of making this script do just one skill as well? or will that get too hairy?
Special Ed
2007-05-14 22:25:54
From: rkroxpunk
I'll go any group except 2 and 4 if that's ok….also we going to have the choice of making this script do just one skill as well? or will that get too hairy?
Alright I put you in group 3 [now 2] if you don't mind, and no we're going to be making it do all the skills not just one, well maybe give an option of what you want it to do? Like choose all of them or just a few.
Ejjman
2007-05-14 22:27:27
I'm in, on skills probably :) Or wait..well I dunno :) but I"m in.
Dark_Sniper
2007-05-15 00:35:19
Updated the outline
and added a lot of stuff
made it more organized…
now compiles SRL (funny thing is its an include that includes the best include) with ease.
has some global variables.
has a pre made progress report in it..
has instructions
has everything basic.
have you guys gotten the teams organized
along with leaders… managers… team leaders… all that :p
this i shall organize with ease.
EDIT: newer outline posted…
request that any code worth putting into the script be sent to me / smartz / ed
at least until we get sourceforge and tortoise svn setup.
rkroxpunk
2007-05-15 02:24:53
From: Special Ed
Alright I put you in group 3 if you don't mind, and no we're going to be making it do all the skills not just one, well maybe give an option of what you want it to do? Like choose all of them or just a few.
u put me in group 2 :D
Dark_Sniper
2007-05-15 03:09:38
wow think about this… this might be the biggest thing since SRL.
when you go to write a script if you use this include and srl together its going to be powerful.
like all you need to make a powerminer is:
{.include MultiScript\Setup.Scar}
begin
SetupRSData;
Repeat
Mineore;
until(false)
end;
lol think about the impact of this.
can someone see this paragraph edited XD:
The SRL Developer Team is proud to present the SCAR Runescape Library.
It is managed and maintained through a SVN server by the SRL-developers.
SRL came into existence as a response to the include wars (include writers bashing each other) to bring standardization and cooperation to the include world. SRL evolved around the idea of having only one include which could meet the needs of all scripters, from beginners to the ultra advanced.
to somthing like this:
The MSI Developer Team is proud to present the Multi Script Include.
It is managed and maintained through a SVN server by the MSI-developers.
MSI came into existence as a response to the Script wars (Script writers bashing each other) to bring standardization and cooperation to the Scripting world. MSI evolved around the idea of having only one Script/include which could meet the needs of all scripters, from beginners to the ultra advanced. Now with the help of the SRL include it is now seen possible for scripters to work together. Now Comes MSI for the world to see that if there is no need for more than one include why would there need to be a need for more than one script. SRL & MSI together make one thing and one thing only… a script that can't be beat. A script that everyone has dreamed to make. A script that was deemed nearly impossible to make by one scripter. A script that only all of us could do together…. That script is… the script that plays runescape for you. Does everything for you. The time is near. soon all of us can have a life and not worry about runescape ever again.
(the last line i made fun of everyone here XD and if you dont take it as a joke i hates u so much. Because it is ment as a joke and it is funny if you laugh at it! i promise you if you laugh it will be deemed funny.)
Markus
2007-05-15 06:04:17
This is great, but are there really script wars?
Count me in group 5, I like walking :)
Special Ed
2007-05-15 08:21:52
Hey I changed the grouping on the first page so the groups are different I got rid of the detection and inventory, because I figured that the other groups could do that within themselves.
Secet
2007-05-15 08:24:07
Very cool idea, this will rule once it's done.
I think hardest thing will be Firemaking that doesn't get you banned, alot of antiban, misclicks and so on.
Good luck with it, I'll think about participating (if it takes longer than 3 weeks, then I can come for sure.) :)
shaunthasheep
2007-05-15 08:40:43
heres also a good multi-script idea which im pretty sure none of your saw yet.
If you want more ideas.. although there is some kindahard walking in it (lumbycastle)
EDIT: did i forget the link?
http://www.villavu.com/forum/showthread.php?t=9416also theres a fishing spot, plus range in castle, and obviously trees =p
Markus
2007-05-15 09:10:54
@smartzkid: add me in the SF project, username is Markussrl.
About the ventrillo server, I can't use sound, my soundcard is broken on my computer :(
Maybe we can use IRC?
Boreas
2007-05-15 09:28:27
From: The_Rs_Monkey
heres also a good multi-script idea which im pretty sure none of your saw yet.
If you want more ideas.. although there is some kindahard walking in it (lumbycastle)
Not
that hard ;)
rkroxpunk
2007-05-15 10:37:13
……says Boreas >.<…I think the hardest bit will actually be getting started and being committed to it…..how big u want the responder and it looks like the antiban's already been done…..:D
Buckleyindahouse
2007-05-15 10:40:35
Hey, ill help, throw me in the anti ban section plz. :)
Dark_Sniper
2007-05-15 11:45:27
From: rkroxpunk
……says Boreas >.<…I think the hardest bit will actually be getting started and being committed to it…..how big u want the responder and it looks like the antiban's already been done…..:D
you guys think this is going to be hard… in the end the only thing we will need to keep remaking to make scripts is the walking.
this is going to be easy if we work together.
edit:
Outline By Dark_Sniper & Smartzkid [url="
http://www.srl-forums.com/forum/attachment.php?attachmentid=3772&d=1179212569[/URL]
wow told you smartz that if you stick with me it would be easy :p
you already got credits lol.
lets see… smartz i got t all to compile srl at on time so it works right now..
now all we need to do is start getting coding for the scripts.
ub3r |<1||3r*1337*
2007-05-15 12:18:28
From: markus
@smartzkid: add me in the SF project, username is Markussrl.
About the ventrillo server, I can't use sound, my soundcard is broken on my computer :(
Maybe we can use IRC?
There is a chat on ventrilo. You can use it to type things to other people.
How the woodcutting skill is doing so far:
- Inserted some functions required for treecutting
Got lots of schoolwork and projects so I might not be able to work on some of it today.
Dark_Sniper
2007-05-15 12:33:22
hey
thats no worry once we get svn setup …
then everyone will be able to work at their own pace and their own time.
well brb in 3 hours… gotta go to school :p.
but afterwards expect some heavy scripting for the banking section.
mastaraymond
2007-05-15 14:21:57
I'm not that good at scripting. But i can do the maths, and I would love to test ;).
P.S. I think this is exactly the kind of scripts we should make as 'member community'! Good idea, hope we can host SVN somewhere on this server :D
AND we should deviantly use MIRC. That chat's loads faster!
Dark_Sniper
2007-05-15 15:37:32
but ventrillo is extemly good for people who have ics… that makes communicating more hands free… more time to work on scripts.
Smartzkid
2007-05-15 15:44:30
Sourceforge is made :
https://sourceforge.net/projects/fcmbWill start adding stuff in about an hour when I'm free…
ub3r |<1||3r*1337*
2007-05-15 15:49:29
You people need to explain how to use SVN when you get it set up. I have never used it, but I have it :p.
Mabye you could ask Mopar(To host on his server), or whoever hosts srl-forums to host the server if possible.
Doofy
2007-05-15 16:12:06
i thought this was going to be a members only thing, but the way you guys talk about it make it seem like it will be free. Like the sourceforge thing…. wat is that??? Are we letting anyone take it?? Idk, and that nice into by sniper made it seem like we were realeasing it to the free section too.
I definitely dont want to, but i might just be taking this stuff all the wrong way. idk, but put me with antiban/autoresponder.
Special Ed
2007-05-15 16:16:43
No this is going to be members only.
Dark_Sniper
2007-05-15 16:22:03
yes for the members who have proved that they know about scar and they know how to script. this script will make everything easier for scripting…
smartz ill start helping you to ill make a new account seeing as i lost my old one i was going to let you guys use.
i had a svn setup and everything…
so smartz what do you want to do…
make instructions on how to use svn… or setup svn.
Special Ed
2007-05-15 16:34:59
From: Boreas
Not that hard ;)
Does that mean that your going to help with this? XD
shaunthasheep
2007-05-15 16:38:47
From: Boreas
Not that hard ;)
srry forgot the link. editted. but mostlikely wouldn't be done.
Boreas
2007-05-15 17:25:10
From: Special Ed
Does that mean that your going to help with this? XD
In a way…. I'm creating things that will make this much easier, in preparation for my own multi script (will have 3 versions, free/member/pay btw), and you guys will be able to use them too.
Dark_Sniper
2007-05-15 17:28:34
add: the_dark_sniper
to the sourceforge project
Cheesehunk
2007-05-15 18:10:41
You could probably add a walk-back if the project is being done in Draynor as well. Also, you could add something like a wheat-picker if your character has run out of Pickaxes/Axes/Logs/Etc..
Special Ed
2007-05-15 18:13:04
I posted the suggestion for a walkback, Its what the Walking group will be mainly working on. Also do you want to give us a hand with this?
Cheesehunk
2007-05-15 18:19:25
From: Special Ed
I posted the suggestion for a walkback, Its what the Walking group will be mainly working on. Also do you want to give us a hand with this?
Maybe in the latter stages, I've been busy with other things currently. If I have free time I'll help out, but don't be expecting anything..
WT-Fakawi
2007-05-15 18:42:32
From: Cheesehunk
You could probably add a walk-back if the project is being done in Draynor as well. Also, you could add something like a wheat-picker if your character has run out of Pickaxes/Axes/Logs/Etc..
Dynamic DTM ftw. I think I can bring you anywhere with these new powerful roadmarks :)
Special Ed
2007-05-15 18:46:00
So you think your going to be helping with the walking then WTF?
WT-Fakawi
2007-05-15 18:50:08
From: Special Ed
So you think your going to be helping with the walking then WTF?
Hm. Not sure. Maybe. Got some ideas though for the MSI. You could include some Knight fighting or some jial-guard fighting. You could even do some cave-fighting, and if you really want to be silly, you could even smith in the cave :)
Special Ed
2007-05-15 18:55:17
Maybe do something like it will fish then cook enough food for like a full inventory then it would go and fight in the sewer / cave thing, until it's out of food then go to the bank and switch characters or something.
rkroxpunk
2007-05-15 19:07:37
what's this cave/sewer thingy? where is it?
Special Ed
2007-05-15 19:16:55
Above the market place with the skeletons and stuff. In Draynor
Smartzkid
2007-05-15 19:57:04
Dead's mouse procedure (would have asked him for permission, but I don't think he's active anymore)
(* Realistic mouse script by *DEAD*
Ok, this is my first mouse script worthy of releasing, and it looking really good.
Its a different type of mouse script design from all my others and most others
ive seen. It works by "homing" in on a target, which means you can "bump" the mouse
randandomly change its direction, and it would correct itself, much like a real person would.
There are lots of required varables, so ill go through them.
tomouse(targx,targy,maxspeed,minspeed,square,accuracy,turnspeed,acceleration,deceleration:integer; finishingtouch:boolean);
targx and targy are the x,y coords of the point the mouse is to move to.
maxspeed is the speed at which the mouse accelerates to.
minspeed is the minimum speed of the mouse, with out it the mouse would stop (i intend to find a work around which will fix this).
Think of square as the randomness of each small mouse movement. Each time the script is given a coordanate to move to, the mouse moves to a coordanate close to that point which is inside a square.
accuracy is how close the cursor has to be to the target before it stops
turnspeed is how fast the mouse can change direction. This is actually a percentage (0 - 100) of the difference between the target angle and the current angle (i recomend 20 - 25) (known glitch, sometimes it will just keep circling around the target, im working on it)
acceleration is the rate at which the mouse accelerates(%)
deceleration is the rate at which the mouse decelerates(%)
finishingtouch will move the mouse to the target after the main move mouse script stops. With out this, the mouse could stop within "accuracy" pixels from the target
there is one more varable, curangle. This is a global, but when i release the actual script it will be fixed. Curangle is the angle at which the mouse is traveling at any given time. If you change its start value, the mouse will start moving in a different direction. Remember, since on a computer screen the y axis is at the top of the screen and counts up as it goes down, the circle will be inverted. so 90 is downward, 270 is upward, 0 is right, and 180 is left.
The best thing about this script is that its easy to add on to.
Ive included a "bump" procedure which randomly change the mouses direction,
and the the mouse will correct itself all by itself. cool eh. This means
you can do anything from making a quick jolt, to emulating the mouse falling
off the desk.
(UPDATE)
now that the script is complete, i have made it alot simpler.
the procedure is now
deadmouse(targx,targy,speed,turnspeed,acceleration:integer; finishingtouch:boolean);
finishing touch isnt really neccesary any more, however i guess it would help.
Enjoy
*)
program deadmouse;
{.include SRL/SRL.scar}
var
x1,y1,curangle:integer;
i,j:extended;
function loge(i:extended) : extended;
var
count,exp:integer;
xval:extended;
begin
exp:= 1;
xval:= (i - 1) / (i + 1);
for count:= 1 to 5 do
begin
result:= result + pow(xval,exp)/exp;
exp:= exp + 2;
end;
result:= result * 2;
end;
function logb(base,i:extended) : extended;
begin
result:= loge(i)/loge(base);
end;
function spabs(i : extended) : extended;
begin
i:= sqrt(i*i);
result := i;
end;
function fact(i : integer) : integer;
var
holdi,res : integer;
begin
holdi := i;
res := 1;
for i := 1 to holdi do
begin
res := i * res
end;
result := res;
end;
function arctan(e : extended) : extended;
var
count : integer;
res : extended;
inv : boolean;
begin
if(spabs(e) > 1)then
begin
e := pow(e,-1);
inv := true;
end else
begin
inv := false;
end;
for count := 0 to 6 do
begin
res := res + ( ( pow(2,2 * count) * pow(fact(count),2) ) / fact(2 * count + 1) ) * ( ( pow(e,2*count+1) ) / ( pow(1 + pow(e,2),count + 1) ) );
end;
if(inv)then
begin
res := 1.5707963267 - res;
end;
result := res;
end;
procedure findintercept(targx,targy,radius:integer);
begin
x1:= round(x1 + i * radius);
y1:= round(y1 + j * radius);
end;
procedure adjangle(targx,targy,rate:integer);
var
targangle,spdegrees,angledifft,anglediffc:integer;
spradians:extended;
begin
if(targx - x1 = 0) or (targy - y1 = 0)then
begin
if(targx - x1 = 0)then
begin
if(targy - y1 > 0)then
begin
targangle:= 270;
end else
begin
targangle:= 90;
end;
end;
if(targy - y1 = 0)then
begin
if(targx - x1 > 0)then
begin
targangle:= 180;
end else
begin
targangle:= 0;
end;
end;
end else
begin
spdegrees:= round(arctan(spabs((x1 - targx)/(y1 - targy))) * 180 / pi);
if(targx - x1 > 0)then
begin
if(targy - y1 > 0)then
begin
targangle:= 90 - spdegrees;
end else
begin
targangle:= 270 + spdegrees;
end;
end else
begin
if(targy - y1 > 0)then
begin
targangle:= 90 + spdegrees;
end else
begin
targangle:= 270 - spdegrees;
end;
end;
end;
anglediffc:= curangle - targangle;
angledifft:= targangle - curangle;
if(anglediffc < 0)then
begin
anglediffc:= anglediffc + 360;
end;
if(angledifft < 0)then
begin
angledifft:= angledifft + 360;
end;
if(curangle <> targangle)then
begin
if(angledifft > anglediffc)then
begin
curangle:= curangle - round(rate / 100 * anglediffc);
end else
begin
curangle:= curangle + round(rate / 100 * angledifft);
end;
end;
spradians:= curangle * pi / 180;
i:= cos(spradians);
j:= sin(spradians);
end;
procedure bump();
begin
if(random(10) < 1)then
begin
curangle:= round(curangle - 0.5 * 40 + random(40));
end;
end;
procedure accelerate(targx,targy,speed,acceleration:integer; var curspeed:extended; var decelerate:boolean);
var
dist,dedist,deceleration,time:extended;
begin
deceleration:= -acceleration / 100 + 1;
if(curspeed <> 0)then
begin
dist:= sqrt(pow(targx - x1, 2) + pow(targy - y1, 2));
time:= logb(deceleration,5/curspeed);
dedist:= curspeed * (1 - pow(deceleration,time))/(1 - deceleration);
end else
begin
dedist:= dist - 1;
end;
if(dist < dedist)then
begin
decelerate:= true;
end;
if(decelerate)then
begin
if(curspeed > 5)then
begin
curspeed:= curspeed * deceleration;
end;
end else
begin
curspeed:= curspeed + acceleration / 100 * (speed - curspeed);
end;
// writeln(floattostr(curspeed));
// writeln(floattostr(dist) + ':' + floattostr(time) + ':' + floattostr(dedist));
end;
procedure changeturnspeed(targx,targy,turnspeed,totaldist:integer; var curturnspeed :integer);
var
dist:extended;
hold:integer;
begin
dist:= sqrt(pow(targx - x1, 2) + pow(targy - y1, 2));
hold:= round(pow(100 - turnspeed,pow((totaldist - dist)/totaldist,2)) + turnspeed);
if(hold > curturnspeed)then
begin
curturnspeed:= hold;
end;
end;
procedure randomcurangle(targx,targy:integer);
var
targangle,spdegrees:integer;
begin
if(targx - x1 = 0) or (targy - y1 = 0)then
begin
if(targx - x1 = 0)then
begin
if(targy - y1 > 0)then
begin
targangle:= 270;
end else
begin
targangle:= 90;
end;
end;
if(targy - y1 = 0)then
begin
if(targx - x1 > 0)then
begin
targangle:= 180;
end else
begin
targangle:= 0;
end;
end;
end else
begin
spdegrees:= round(arctan(spabs((x1 - targx)/(y1 - targy))) * 180 / pi);
if(targx - x1 > 0)then
begin
if(targy - y1 > 0)then
begin
targangle:= 90 - spdegrees;
end else
begin
targangle:= 270 + spdegrees;
end;
end else
begin
if(targy - y1 > 0)then
begin
targangle:= 90 + spdegrees;
end else
begin
targangle:= 270 - spdegrees;
end;
end;
end;
curangle:= targangle - 45 + random(90);
if(curangle > 0)then
begin
curangle:= curangle + 360;
end;
end;
procedure gravity(gravpointx,gravpointy,grav,pull:integer);
var
gravx,gravy:integer;
slope:extended;
begin
if(x1 - gravpointx = 0)or(y1 - gravpointy = 0)then
begin
if(x1 - gravpointx = 0)then
begin
gravy:= grav;
end else
begin
gravx:= grav;
end;
end else
begin
slope:= (x1 - gravx)/(y1 - gravy);
gravx:= round(grav/(1 + slope));
gravy:= round((grav/(1 + slope)) * slope);
end;
if(gravpointx > x1)then
begin
x1:= x1 - gravx;
end else
begin
x1:= x1 + gravx;
end;
if(gravpointy > y1)then
begin
y1:= y1 - gravy;
end else
begin
y1:= y1 + gravy;
end;
end;
procedure deadmouse(targx,targy,maxspeed,turnspeed,acceleration:integer; finishingtouch:boolean);
var
curspeed:extended;
square,totaldistance,curturnspeed,grav,gravpointx,gravpointy,pull:integer;
decelerate:boolean;
begin
getmousepos(x1,y1);
curspeed:= 0;
totaldistance:= round(sqrt(pow(targx - x1, 2) + pow(targy - y1, 2)));
randomcurangle(targx,targy);
pull:= random(2);
gravpointx:= random(round(spabs(targx-x1)));
gravpointy:= random(round(spabs(targy-y1)));
if(targx > x1)then
begin
gravpointx:= targx - gravpointx;
end else
begin
gravpointx:= targx + gravpointx;
end;
if(targy > y1)then
begin
gravpointy:= targy - gravpointy;
end else
begin
gravpointy:= targy + gravpointy;
end;
repeat
accelerate(targx,targy,maxspeed,acceleration,curspeed,decelerate);
changeturnspeed(targx,targy,turnspeed,totaldistance,curturnspeed);
adjangle(targx,targy,curturnspeed);
findintercept(targx,targy,round(curspeed));
if(decelerate <> true)then
begin
gravity(gravpointx,gravpointy,grav,pull);
end;
grav:= round(random(round(curspeed)) * 0.1);
bump();
square:= round(curspeed / 4);
x1:= round(x1 + random(square) - 0.5 * square);
y1:= round(y1 + random(square) - 0.5 * square);
movemouse(x1,y1);
wait(10);
until(y1 < targy + 10)and(y1 > targy - 10)and(x1 < targx + 10)and(x1 > targx - 10);
if(finishingtouch)then
begin
movemouse(targx,targy)
end;
end;
Procedure MMoose(mousex, mousey, ranx, rany : integer);
var
xx, yy, mx, my : integer;
begin
xx := mousex - ranx / 2 + random(ranx);
yy := mousey - rany / 2 + random(rany);
GetMousePos(mx, my);
writeln(inttostr(Distance(mx, my, xx, yy)));
if(Distance(mx, my, xx, yy) > 200)then
begin
try
deadmouse(xx, yy, 20, 6, 10, true);
except
writeln('Failure in DeadMouse, switching to MMouse');
MMouse(mousex, mousey, ranx, rany);
end;
end else
MMouse(mousex, mousey, ranx, rany);
end;
Procedure Moose(mousex, mousey, ranx, rany : integer; left : boolean);
var
xx, yy : integer;
begin
MMoose(mousex, mousey, ranx, rany);
wait(10 + random(25));
GetMousePos(xx, yy);
HoldMouse(xx, yy, left);
wait(50 + random(50));
ReleaseMouse(xx, yy, left);
end;
begin
SetupSRL;
wait(500);
MMoose(728, 170, 5, 5, true);
end.
I made it work just like Mouse and MMouse. It also uses MMouse as backup incase deadmouse messes up (also uses MMouse if it's a short distance; deadmouse doesn't work well with short distances).
Ejjman
2007-05-15 20:08:10
Woo I got a nice little Al-Kharid Smither that is almost perfect. I'll release it into this thingy mabobber lol. Maybe :P
——-Al-Kharid Smelter 0.45——
Been running for 48 Minutes and 46 Seconds
—> 359 Bars smithed
—> 718 Ores smithed
——————————
Nick - T/F - Lvl - Bars
0: uggl - T - Lvl 13 - 28
1: errb - T - Lvl 7 - 56
2: eeni - T - Lvl 5 - 42
3: erkm - T - Lvl 1 - 28
4: rise - T - Lvl 1 - 28
5: redr - T - Lvl 1 - 28
6: resm - T - Lvl 1 - 28
7: arol - T - Lvl 1 - 28
8: ngal - T - Lvl 1 - 28
9: akru - T - Lvl 1 - 28
Haha. Nothing.
Special Ed
2007-05-15 20:10:32
Another Idea:
We would make the script use a sort of random personality selection, and if we use dead mouse it would basically have variables set for everything so like it would have a slow personality, a twitchy personality, a fast one, a poor typer, ect. So then at the beginning of the script it would just be a random of what personality it picks so it would look different running on different computers.
From: Ejjman1
Woo I got a nice little Al-Kharid Smither that is almost perfect. I'll release it into this thingy mabobber lol. Maybe :P
Haha. Nothing.
WTF?
Dark_Sniper
2007-05-15 20:36:11
Ok i got everything setup!
download this:
http://www.gotbuddy.com/SVNPackage.rarextract to desktop and install tortiose svn.
(afterwards you will need to restart your computer.)
next go to:
www.sourceforge.netand setup an account and pm it to:
Special ed
Smartzkid
or me
and with time we will ad you…
and after we add you we will pm you instructions on how to use svn
EDIT:
ONLY FOR:
SCAR 3.06 !
SRL 3.7 !
Ejjman
2007-05-15 22:03:00
wdf. Scar 3.06..? Omg.
So much for adding my script.
EDIT: With the earlier post, I could add this to smithing, or smelting, because the script I have smelts and so far its looking really good. But I didn't actually see what we were doing but now I understand. And also, I don't like 3.06 cuz I thought it was all messed up or something, and wait till SRL 4.00 comes out. SBut its good :)
EDIT2: Signed up for that sourceforge or whatever, the SVN :) Ejjman1
rkroxpunk
2007-05-16 03:15:47
I assume the multi script folder is meant to be empty until u added us to the list or something?
nielsie95
2007-05-16 05:31:26
I can help with some little things :).
I have a great template for the responder, don't have time to fill everything in..
For walking and bankfinding I can also help out :)
rkroxpunk
2007-05-16 07:09:25
*cough* group 2 has nothing left to do…..
Dark_Sniper
2007-05-16 11:19:56
wow hope you guys wont need me with the svn stuff today ill be gone half of today…..
also everyone who is in a group that pmed me got access to the svn.
~alex~
2007-05-16 12:54:00
Add me to the skills group.. I've never made any fishing scripts before though so this could be a challenge :)
Markus
2007-05-16 12:59:39
Ok, I'm working on the deathwalk to draynor, already got it to the square where you got to walk down. It isn't that stable, sometimes it thinks it's thre but it isn't. The code I got is in the SVN.
Wizzup?
2007-05-16 14:10:12
I'll try to help… :)
Dark_Sniper
2007-05-16 15:35:12
woot
ya some help from wizzy yay
Smartzkid
2007-05-16 15:54:02
I think we should use Boreas's 'FindCrowdedBank' procedure for the bank symbol detection. Far more reliable than 'FindSymbol'.
Dark_Sniper
2007-05-16 16:08:10
bah ill make one that can do better.
so if boreas dont want to help us then boycott all his procedures / functions XD!!!!
nah we shall see smartz..
~alex~
2007-05-16 16:17:03
if findcolortolerance(x,y,6082797,mmx1,mmy1,mmx2,mmy2,50) then – Never failed me for finding a bank symbol hehe… I already have a procedure for finding the banker dots also.
Draybanker:= DTMFromString('78DA636C606660086564400677EF3230C8016' +
'990E87F20606C04AA094255F3EF1F1F5C0D08303601D504E33607' +
'AE269C083511A86ACE9C4153037273240173EA31CDF9F38709450' +
'D0026A7175D');
if DTMRotated(draybanker,x,y,MMX1,MMY1,MMX2,MMY2) then
begin
mouse(x+12,y,5,5,true)
flag;
end;
Infantry001
2007-05-16 16:19:27
Yep, bank DTMs always work :D
Bobarkinator
2007-05-16 16:48:52
From: Infintry001
Yep, bank DTMs always work :D
Thats what I always use:)
Dark_Sniper
2007-05-16 20:17:41
yes dtms r the best.
but sometimes a bitmap does better…
but dtms r way easier to make.
EDIT:
activity recently:
started: very active.
Yesterday: very active.
today: Almost no activity.
wtf? can no one stick with it… i mean i cant work on this during weekends… i got stuff to do :p.
rkroxpunk
2007-05-17 02:31:48
Well I really don't know anything about sourceforge so I don't know what I'm meant to do with that and don't know what I'm meant to be doing with SVN and looks like the anti ban has already been made an Niel's doing the responder so group 2 is kinda nothing now :D
EDIT: Ok I read the front page thing and figured out the SVN but still not sure what I should do…
Dark_Sniper
2007-05-17 12:33:38
well i got some cool stuff for autoresponder
whoever is doing the auto responder pm me i want to give you some stuff…
also i got mining completely done(i think XD).
Pentti
2007-05-17 13:01:56
From: Dark_Sniper
well i got some cool stuff for autoresponder
whoever is doing the auto responder pm me i want to give you some stuff…
Also if you guys want to use
This responder, feel free to use it…
Fast, works, should not respond to own messages.
Dark_Sniper
2007-05-17 18:21:16
i added that in there looked good…
im going to mess around with it.
mkay.
i got mining finished..
bullzeye seems to have a hand on WCing.
everything seems to be going fast and nicly…
people better start to help other wise we are going to run out of things to do.
My Goal:
Make a script with MSI.
Finish MSI.
Make sure MSI is compatible and working well.
Make it so making a mining script all a scripter would have to do is:
{.include MSI.Scar}
begin
SetupRSData;
Repeat
Repeat
MineOre('iron', 'N', 0, 8)
Until(invfull)
DropAll;
until(false)
end;
WHICH IS CURRENTLY POSSIBLE WITH MSI!!!!!
Ejjman
2007-05-17 19:37:44
Add a smithing folder pl0x. Smithing and Smelting I dunno maybe? :)
EDIT: Oh ya, we are doing everythin in Divi 3.06…? I right?
Buckleyindahouse
2007-05-17 20:01:18
From: Ejjman1
Add a smithing folder pl0x. Smithing and Smelting I dunno maybe? :)
EDIT: Oh ya, we are doing everythin in Divi 3.06…? I right?
Yep, Divi 3.06 and SRL 3.7.
Smartzkid
2007-05-17 20:01:37
=/ My mom randomly decided to make me wait till ~5 pm until I'm allowed to go on the computer
I'm gonna get my svn set up right now
Ejjman
2007-05-17 20:06:30
So I'll be safe if I go to Divi 3.06 and download SRL include and run setup, and that is 3.7…right?
EDIT: YEP! :)
So I was thinking, if the dtms are the same in the guides..well I'll spend time getting common dtms :) I just wish you make a smithin/smelting folder, and someone tecah me this SVN stuff…..
Smartzkid
2007-05-17 21:05:21
I decided to try to make a very modular, customizable responder (I know you have Pentti's in there, but I had an idea, so….)
Currently:
program IntelliRespond;
type RespondRow = record // This is the name of your type
Results : Array of String;
Trigger : String;
end;
var
Responder : Array of RespondRow;
Function AddLine(trigger:string; sresult: Array of String) : Integer;
var
TableSize, i : Integer;
begin
if(not(LoadSetting('MSIrespond', 'TableSize') = ''))then //Attempt to load the current responder table size
begin
TableSize := StrToInt(LoadSetting('MSIrespond', 'TableSize'));
{if(Debug)then // Maybe add later for easy debugging?
writeln('Responder table size: ' + inttostr(TableSize));} //
end else
TableSize := 0; //There is no table; Make one.
TableSize := TableSize + 1; //So the last table entry doesn't get overwritten
SaveSetting('MSIrespond', IntToStr(TableSize) + 't', trigger); //Save the trigger
for i := 1 to GetArrayLength(sresult) do
SaveSetting('MSIrespond', IntToStr(TableSize) + 'r' + IntToStr(i) , sresult[i]); // And it's result(s)
SaveSetting('MSIrespond', IntToStr(TableSize) + 'index', IntToStr(GetArrayLength(sresult))); //Save the number of results for the current trigger
SaveSetting('MSIrespond', 'TableSize', IntToStr(TableSize)); //Save the new responder table size
result := TableSize;
end;
Function LoadLines : Boolean;
var
TableSize, i, j, index : Integer;
begin
if(not(LoadSetting('MSIrespond', 'TableSize') = ''))then //Attempt to load the current responder table size
begin
TableSize := StrToInt(LoadSetting('MSIrespond', 'TableSize'));
{if(Debug)then // Maybe add later for easy debugging?
writeln('Responder Table Loaded.');} //
end else
begin
writeln('No responder table exists. Please create one before attempting to load it.');
result := false;
Exit;
end;
SetArrayLength(Responder, TableSize + 1);
for i := 1 to TableSize do //Load the strings
begin
index := 1;
if(LoadSetting('MSIrespond', IntToStr[i] + 'index') = '')then //Load the number of responces for a given trigger
index := StrToInt(LoadSetting('MSIrespond', IntToStr[i] + 'index'));
for j := 1 to index do
Responder[i].Results[j] := LoadSetting('MSIrespond', IntToStr[i] + 'r' + IntToStr(j)); //The strings to be responded (aka the 'result' of a trigger)
Responder[i].Trigger := LoadSetting('MSIrespond', IntToStr[i] + 't'); // and their triggers
end;
result := true;
end;
Function Respond : Boolean;
var
CurrentMessage, LastMessage, Responce : String;
i, trigger : integer;
triggered : boolean;
begin
if(not(LoggedIn))then
begin
result := false;
Exit;
end;
CurrentMessage := GetNewChatMsg; //Get the current chat
LastMessage := LoadSetting('MSIrespond', 'LastChat'); //Get the last chat
if(CurrentMessage = LastMessage)then //No new chats
begin
result := false;
Exit;
end;
SaveSetting('MSIrespond', 'LastChat', CurrentMessage); //Save the current chat
for i := 0 to GetArrayLength(Responder) do
if(Pos(Responder[i].Trigger, CurrentMessage) <> 0)then
begin
triggered := true;
result := true;
trigger := i;
break;
end;
if(triggered)then
begin
Responce := Responder[trigger].Results[random(GetArrayLength(Responder[trigger].Results))];
TypeSend(Responce);
end;
end;
begin
end.
If the final version works well, I'll show you guys, then we can decide whether to add it or not.
PS: I would love it if someone could figure out why it's giving a 'Invalid number of parameters' error in line 63
Special Ed
2007-05-17 21:19:58
Sorry Guys that I haven't been on the last 2 days I've had this Ruth Goldberg project to do for school and it all had to be done outside of school, so "now" I can start helping more. Sorry for any doubts / problems I've cause and I hope to get our next goal set and completed.
whales
2007-05-17 21:26:26
If there is help still needed I'm willing to pitch in wherever.. :)
Special Ed
2007-05-17 21:33:47
Yea sure, we still need some help on fishing and cooking if you want to help with that.
whales
2007-05-17 21:51:47
I can definitely work with that. What type of fishing?
Dark_Sniper
2007-05-17 22:12:42
wow hey special get on ventrillo dude..
lol u had to do that project…
isnt that like the old tom and jerry cartoons… where tom the cat always makes a thing that does useless stuff in so many steps that all it does in the end is like drop an anvil(in your case pure water right?)
that stuff is wicked awesome to do!!!!
mine involved a swinging shoe it was cool.
Special Ed
2007-05-17 22:37:38
I'm on vent but only for a little bit.
@sniper - Well we had to do is extinguish a candle using a mousetrap for power and the mousetrap has to be at least 1m away from the candle and there must be at least 5 steps before the candle goes out.
@whales - Get SVN and check out stuff we have, you can make any fishing procedures you want, but right now we're really focusing on draynor fishing i.e. netting / baiting.
rkroxpunk
2007-05-18 04:37:15
errm I've been away unable to script for a lil bit but now everything in my group's done….so what do i do? :D
Dark_Sniper
2007-05-18 05:35:07
todays activity of MSI was not that good ether…
i cannot help you guys on weekends…
so u better work on this!
(get special to put you in a different group.)
nielsie95
2007-05-18 06:05:22
From: Smartzkid
PS: I would love it if someone could figure out why it's giving a 'Invalid number of parameters' error in line 63
You're too much in the arrays :p. Replace your IntToStr
with IntToStr(i). :)
Johura
2007-05-18 06:36:10
I will join. Put me in antiban please.
Smartzkid
2007-05-18 14:14:58
From: nielsie95
You're too much in the arrays :p. Replace your IntToStr with IntToStr(i). :)
*sigh*
I guess that's what happens when you use arrays too much…
*walks away in disbelief*
[Gonna repost it again so I'll remember to work on it when I get home]
program IntelliRespond;
const
Debug = true;
type RespondRow = record
Results : Array of String;
Trigger : String;
end;
var
Responder : Array of RespondRow;
Function ClearTable : Boolean;
begin
SaveSetting('MSIrespond', 'TableSize', '');
result := true;
end;
Function AddLine(trigger:string; sresult: Array of String) : Integer;
var
TableSize, i : Integer;
begin
if(not(LoadSetting('MSIrespond', 'TableSize') = ''))then //Attempt to load the current responder table size
begin
TableSize := StrToInt(LoadSetting('MSIrespond', 'TableSize'));
end else
TableSize := 0; //There is no table; Make one.
TableSize := TableSize + 1; //So the last table entry doesn't get overwritten
if(Debug)then // Maybe add later for easy debugging?
writeln('Responder table size: ' + inttostr(TableSize)); //
SaveSetting('MSIrespond', IntToStr(TableSize) + 't', trigger); //Save the trigger
for i := 0 to GetArrayLength(sresult) - 1 do
SaveSetting('MSIrespond', IntToStr(TableSize) + 'r' + IntToStr(i) , sresult[i]); // And it's result(s)
SaveSetting('MSIrespond', IntToStr(TableSize) + 'index', IntToStr(GetArrayLength(sresult))); //Save the number of results for the current trigger
SaveSetting('MSIrespond', 'TableSize', IntToStr(TableSize)); //Save the new responder table size
result := TableSize;
if(Debug)then
writeln('Line Added');
end;
Function LoadLines : Boolean;
var
TableSize, i, j, index : Integer;
Results : String;
begin
if(not(LoadSetting('MSIrespond', 'TableSize') = ''))then //Attempt to load the current responder table size
begin
TableSize := StrToInt(LoadSetting('MSIrespond', 'TableSize'));
if(Debug)then // For easy debugging?
writeln('Responder Table Loaded.'); //
end else
begin
writeln('No responder table exists. Please create one before attempting to load it.');
result := false;
Exit;
end;
SetArrayLength(Responder, TableSize + 1);
for i := 0 to TableSize do //Load the strings
begin
index := 1;
if(not(LoadSetting('MSIrespond', IntToStr(i) + 'index') = ''))then //Load the number of responces for a given trigger
index := StrToInt(LoadSetting('MSIrespond', IntToStr(i) + 'index'));
for j := 0 to index do
begin
SetArrayLength(Responder[i].Results, GetArrayLength(Responder[i].Results) + 1);
Responder[i].Results[j] := LoadSetting('MSIrespond', IntToStr(i) + 'r' + IntToStr(j)); //The strings to be responded (aka the 'result' of a trigger)
end;
Responder[i].Trigger := LoadSetting('MSIrespond', IntToStr(i) + 't'); // and their triggers
if(Debug)then
begin
for j := 1 to GetArrayLength(Responder[i].Results) - 1 do
Results := Results + ' / ' + Responder[i].Results[j];
writeln(Responder[i].Trigger + ' : ' + Results);
Results := '';
end;
end;
result := true;
end;
Function Respond : Boolean;
var
CurrentMessage, LastMessage, Responce : String;
i, trigger : integer;
triggered : boolean;
begin
if(not(LoggedIn))then
begin
result := false;
Exit;
end;
CurrentMessage := GetNewChatMsg; //Get the current chat
LastMessage := LoadSetting('MSIrespond', 'LastChat'); //Get the last chat
if(CurrentMessage = LastMessage)then //No new chats
begin
result := false;
Exit;
end;
if(Pos(Players[CurrentPlayer].Nick, CurrentMessage) <> 0)then //Last chatter was you
begin
result := false;
Exit;
end;
SaveSetting('MSIrespond', 'LastChat', CurrentMessage); //Save the current chat
for i := 0 to GetArrayLength(Responder) - 1 do
if(Pos(Responder[i].Trigger, CurrentMessage) <> 0)then
begin
triggered := true;
result := true;
trigger := i;
break;
end;
if(triggered)then
begin
Responce := Responder[trigger].Results[random(GetArrayLength(Responder[trigger].Results))];
TypeSend(Responce);
end;
end;
begin
end.
Should work pretty well now (not so sure about the actual responder part of it; I haven't gotten to test that bit…)
PS: BIG Thanks to Nielsie for solving my problem!
Special Ed
2007-05-18 16:16:53
Hey Guys get on ventrilo, pl0x. I'm lonely… XD
Also are we going to use the auto responder thats already in there or yours?
Dark_Sniper
2007-05-18 17:06:09
use whatever… this is where im not helping you guys for 3 days or so…
dangit this sucks
Ejjman
2007-05-18 18:36:19
Np Darky.
Added my LumbyToVarrockEastBank procedure :)
Special Ed
2007-05-18 19:18:48
From: Dark_Sniper
use whatever… this is where im not helping you guys for 3 days or so…
dangit this sucks
Umm? Just wondering why, You got some other plans for the weekend?
I am very good at walking if I do say so myself :D Can I get a spot in that? I LOVE walking!
If so, just tell me what to do and I'll do it!
I can't get on ventrillo or whatever though.. Parents :p
Buckleyindahouse
2007-05-18 20:35:50
Whenever I update the multiscriptonline thingy and i open an include, its always blank. Is there anything im doing wrong? Maybe someone could make a short vid of them using it.
Widget
2007-05-18 21:30:24
I'd be willing to make an über-form for this über-script :)
Just tell me what all you need in it (other than username and password boxes)
Smartzkid
2007-05-18 21:53:16
From: Special Ed
Also are we going to use the auto responder thats already in there or yours?
From what I saw of the responder in there, it just says random stuff according to a random 'mood' that the script is in?
I tried to make my responder very fast. In the case of a InChat responder, it creates a bitmap for each 'trigger' word then searches the chatbox for it. In the case of my responder, it finds the text in the chatbox (only needs to be done once) and compares it to every trigger word, saving the script a large number of bitmap searches.
It's not a very noticeable difference if you only have a small responder, but if you have a ton of trigger words, I'm sure you'd notice a bit of lag from an InChat responder.
Abyssal
2007-05-18 23:01:07
Put me in whichever group.
Ejjman
2007-05-18 23:47:01
I'm going to go and put the whole
{*****************
Procedure Blah;
By: ???????
Description: Blah
*****************}
That whole thing, and if I don't know who its buy, I'll just put ????. This will organize it more and I am obsessed with organization :$
Did it to MOST of the extended things. It looks really nice now
rkroxpunk
2007-05-18 23:55:33
Special new group plz :D mine appears to be done
Anything except the math/calibration one :D
Ejjman
2007-05-19 00:09:39
From: rkroxpunk
Special new group plz :D mine appears to be done
Anything except the math/calibration one :D
Do what I'm doing. Standardize the living crap out of it. (Acutally I'm done its boring but I got alot, check out Extended stuff :)
rkroxpunk
2007-05-19 01:45:43
*sigh* ok on it………btw how do we add stuff to that thing where u can update ur folder by right clicking?
SKy Scripter
2007-05-19 02:24:40
just found this thread… if you think im good enough to become
apart of this then let me join… i have experince math,
Scar Forms, i could maybe make a really nice responder, i could do
just about anything with some time….
~alex~
2007-05-19 09:31:23
Added lightFire to firemaking. .
Special Ed
2007-05-19 10:54:08
From: rkroxpunk
*sigh* ok on it………btw how do we add stuff to that thing where u can update ur folder by right clicking?
You don't have to do that if you don't want, you can always work on humanizing this script *making it look like someones playing* by adding new mouse procedures or making some things like RandomMouse, which is what I'm working on right now, all it does is when you call it, it does a random mouse movement like a spiral or something. Also you can work on fishing… if you want.
From: SKy Scripter
just found this thread… if you think im good enough to become
apart of this then let me join… i have experince math,
Scar Forms, i could maybe make a really nice responder, i could do
just about anything with some time….
Yo Sky, from what I've heard your like the master of forms, so if you want, you and Widget could work together and make a cool form for this script.
My guess would be to make it use Tabs and in each tab it has detailed info on each of the skills its working on, but on the main tab, it would display like TreeCut, FishCaught, and stuff like that, But honestly you guys can do whatever you want with it so long as its good. XD
bullzeye95
2007-05-19 11:02:19
From: SKy Scripter
just found this thread… if you think im good enough to become
apart of this then let me join… i have experince math,
Scar Forms, i could maybe make a really nice responder, i could do
just about anything with some time….
Think you're good enough? Hmm… nah you suck.
:p Of course, you're really good :)
Smartzkid
2007-05-19 12:02:33
Should we have a ReportForm? (Secet has one in his woodcutter)
Wanted
2007-05-19 12:03:35
I would like to sign up for forms & walking. :)
I know exactly what I'm doing when it comes to walking, and I could make this script unlimited players custom built into the form (like my air crafter only nicer looking)
I'll try and go through the steps.
Ejjman
2007-05-19 13:23:22
Here you are Bullzey
ChoppingAxe := DTMFromString('78DA637CC7C0C0E0C38002FCBD3C18FE03694' +
'620FE0F048C8F808C040634C0884402E9AF402280809A8F40C283' +
'809A1798EE4157030006980C19');
EVERYONE! I LOST A DECENT AMOUNT OF WORK PLEASE REMEMBER!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
Abyssal
2007-05-19 14:30:42
I'll do group 1 I guess.
I'll start working on stuff!
~alex~
2007-05-19 15:29:22
Would it be possible for you to remove me from the skills group and just let me make any sorta procedures thta havnt been made yet?
Ejjman
2007-05-19 15:34:03
THat's what I've been doing alex :)
EDIT: And to remind everyone!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
bullzeye95
2007-05-19 15:36:00
Forget those groups, and do whatever you see fit :p. That's the only way this thing will get done soon.
~alex~
2007-05-19 16:36:10
I'm not actually sure what else to do… Ive added two banking and a firemaking procedure.. Any suggestions?
Markus
2007-05-19 16:48:35
From: Ejjman1
Here you are Bullzey
EVERYONE! I LOST A DECENT AMOUNT OF WORK PLEASE REMEMBER!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
You can actually view all revisions/changes, so you can just roll that particular file back to the point it was good.
Wanted
2007-05-19 18:23:11
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
Ok some one please tell me what this means…
~alex~
2007-05-19 18:45:24
Whenever you make a new procedure/function you must right click the multiscript folder and click commit so that everyone can update their SVn and receive your work. Before you do this though you must do a SVN update otherwise you risk losing work.
Wanted
2007-05-19 19:08:03
In walking.scar I'm noticing you guys are using Flag's in unnecessary places.
You do not need to use flag in between RadailRoadWalks…
Also, I notice there is no form of compass walking… I'll write up a new procedure.
Ejjman
2007-05-19 19:50:26
Fix Fix Ice! I know there isn't suppose to be this is when I was jsut learning to walk [=
Wanted
2007-05-19 20:06:56
I have my own secret methods of walking that are pretty 1337, I will release all my secrets with my secret script when I'm done. My aircrafter doesn't actually show all walking skills I have (yet) :( :)
Also I can't edit anything until I restart my computer and get an admin later today :(.
Edit: Ok I got it bypassed through admin, It works now :).
SKy Scripter
2007-05-20 00:08:30
Also, I notice there is no form of compass walking… I'll write up a new procedure
yes there is, if this is what you mean…?
//----------------------------------------------------------------------------//
// Like RadialWalk, But Walks The Compasss
//----------------------------------------------------------------------------//
Function CompassRadialWalk(Var P : TPoint; Color, StartRadial, EndRadial, Radius: Integer): Boolean;
var
i, xx, yy: Integer; // Sky Scripter
begin // Based off of WT-Fawki and Wizzup? Radial Walk
if (StartRadial < EndRadial) then
begin
repeat
for i := StartRadial to EndRadial do
begin
xx := Round(Radius * Sin((Pi/180)* FixD(rs_GetCompassAngleDegrees + i)) + 646);
yy := Round(-Radius * Cos((Pi/180)* FixD(rs_GetCompassAngleDegrees + i)) + 84);
if (FindColor(x, y, Color, xx, yy, xx + 1, yy + 1)) then
begin
P.x:= x;
P.y:= y;
Result := True;
Exit;
end;
end;
Radius := Radius - 4;
until (Radius <= 1);
end;
if (StartRadial > EndRadial) then
begin
repeat
for i := StartRadial downto EndRadial do
begin
xx := Round(Radius * Sin((Pi/180)* FixD(rs_GetCompassAngleDegrees + i)) + 646);
yy := Round(-Radius * Cos((Pi/180)* FixD(rs_GetCompassAngleDegrees + i)) + 84);
if (FindColor(x, y, Color, xx, yy, xx + 1, yy + 1)) then
begin
P.x := x;
P.y := y;
Result := True;
Exit;
end;
end;
Radius := Radius - 4;
until (Radius <= 1);
end
end;
Procedure CompassWalk(degrees, Radius, Tol : Integer);
Var // Sky Scripter
dx, dy : Integer;
begin
dx:= Trunc(Radius * Sin((Pi/180) * (Rs_GetCompassAngleDegrees + FixD(degrees + Tol))) + 648);
dy:= Trunc(-Radius * Cos((Pi/180) * (Rs_GetCompassAngleDegrees + FixD(degrees + Tol))) + 83);
MouseFindFlag(dx, dy, -1, 1);
end;
Thanks, for the nice feedback…
Bullzeye95… :D
And also i have been working on the form… but i need your guyz
help.. what style do we want it?
how do you want it to look like…?
do you want SRL Style?
things like this i need answers.. :D
you tell me and i make it…
Special Ed
2007-05-20 00:16:21
Really its up to you how you want to design it, so you can make it look anyway you want. SRL Style would be appropriate for this but like I said it is strictly up to you.
Smartzkid
2007-05-20 00:35:28
Sky, do you know how to make the SRL player form work? If you do, that'd be pretty awesome!
It'd be amazing if you could skin the form and make it look like our vBulletin (maybe use a bsNone for the borderstyle, then use bitmaps for the title bar and all that…)
SKy Scripter
2007-05-20 01:00:42
Sky, do you know how to make the SRL player form work? If you do, that'd be pretty awesome!
It'd be amazing if you could skin the form and make it look like our vBulletin (maybe use a bsNone for the borderstyle, then use bitmaps for the title bar and all that…)
amazing.. more like simple…
although i dont know if i could put a bitmap on the titlebar..
but i will look into it… and does the SRL Player Form Work…
could you tell me whats wrong with it..?
or you going to make me find out lol…
Ejjman
2007-05-20 01:08:09
Make you find out! :P :P
Remember everyone
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
UPDATE BEFORE COMMIT!
Smartzkid
2007-05-20 01:40:15

:D A couple minutes + paint + scar = above form (I have the individual .bmp's; if you want them, PM me…)
I think you only have to include the
P.F. then call one procedure, but, since I've never used it before, I don't really know…
EDIT:
My ideas: (will neaten up tomorrow if I have time)
SKy Scripter
2007-05-20 02:36:37
[ATTACH]3899[/ATTACH]
how abouts this….?
just got done.. with what i have so far…
this is just the base of the script…
i might be doing somthing wrong.. because im still grasping on whats going on….
Smartzkid
2007-05-20 02:45:41
I think it looks pretty snazzy!
Though I still think it needs a custom titlebar…
SKy Scripter
2007-05-20 04:13:44
[ATTACH]3900[/ATTACH]
What About this… is this better guyz… ?
i took of the SCAR title bar….
~alex~
2007-05-20 04:52:33
That looks sweet but.. we arnt using all of those skills, this is only a wc fish firemaking and cookin script.
Ashur2Good
2007-05-20 05:02:26
If there's still spots, i could help with the anti ban :)
-Ashur
SKy Scripter
2007-05-20 06:02:54
That looks sweet but.. we arnt using all of those skills, this is only a wc fish firemaking and cookin script.
oh, lol…
you see im a little confused but i will fix that….
shaunthasheep
2007-05-20 07:54:25
What EXACT Skills is the script going to do?
Woodcut, fish, cook, firemake… and maybe mining?
id like to try my hand at a form =p
~alex~
2007-05-20 08:23:43
Oh yeah mining forgot about that..
rkroxpunk
2007-05-20 09:17:08
we're mining as well? Where?
shaunthasheep
2007-05-20 10:21:19
lumbridge swamp(east and west) most likely
Ejjman
2007-05-20 10:21:44
Can't we do all or try even…? Add more as they come..?
Nice form SKy :)
UPDATE BEFORE COMMIT!
Special Ed
2007-05-20 12:30:59
Nice job Sky but for the tabs I really think you need to have like a main tab or something on the sides. Like along the top would be the skills "like you had" and then on the sides there would be "Main" "Players" and "Customization".
The main tab would display things like, What Player is currently working, how many logs that character has cut, ect. Players Would just be for adding in players, and listing which ones where still active. Customization would be stuff like, mouse speed, skills, maybe what personality you want it to use. "If we do implement the personality system.
Other than that good job and keep up the god work guys!
SKy Scripter
2007-05-20 12:39:18
Nice job Sky but for the tabs I really think you need to have like a main tab or something on the sides. Like along the top would be the skills "like you had" and then on the sides there would be "Main" "Players" and "Customization".
The main tab would display things like, What Player is currently working, how many logs that character has cut, ect. Players Would just be for adding in players, and listing which ones where still active. Customization would be stuff like, mouse speed, skills, maybe what personality you want it to use. "If we do implement the personality system.
Other than that good job and keep up the god work guys!
oh, of course although i have already started on that lol… :p
you spelt "good "wrong lol… normally i dont care
Special Ed
2007-05-20 12:42:33
Psshh… see what I mean, you know what's good, you know what to do, Your on top of it.
Smartzkid
2007-05-20 13:18:16
Maybe, when you run the script, make the form go to the 'Report' tab, and lock in place (disable all the others). Also, make the form shrink down (maybe put some transparency, too?), and stay on top. That way, one only has to glance at their screen to see how their players are doing
Special Ed
2007-05-20 13:54:29
Thats a great Idea I'm glad I though of it XD. j/k
Good idea though, I hope sky knows how to do it.
Wanted
2007-05-20 14:09:55
From: Smartzkid
Sky, do you know how to make the SRL player form work? If you do, that'd be pretty awesome!
It'd be amazing if you could skin the form and make it look like our vBulletin (maybe use a bsNone for the borderstyle, then use bitmaps for the title bar and all that…)
I know how to make a custom player form, I'll need the source code for the form design though so I can make it as custom as possible.
Who ever has it could you please upload it to like Extended/TheForm.scar

Yes that is fully functional I know how to code in the buttons/options to the script everything works
^Eh, it was my first attempt I'm better at it now.:p
I can pretty much make a Custom player forum look however you want(with a nick name generator any options you want of course :-p), I just need the some one to upload the source to Extended/TheForm.scar
I'll only be good for the technical stuff, the actual shape and size of the form and how everything looks is up to you.
Thanks,
-Ice
SKy Scripter
2007-05-20 14:16:03
yah have icefire908 make the playerform i can help make it look nice
because i dont feel like dealing with alot of strings…
Edit :
Good idea though, I hope sky knows how to do it.
yes i can do it… but why lock the report tab?
Wanted
2007-05-20 14:19:22
Sky, you can put all the buttons where you want and make them look however (they don't have to do anything yet just put them on there) Then I need you to give me the coding for the form and I'll add in all the scripting for the buttons so they actually do things when you click them.
I'm thinking Extended/TheForm.scar what do you think?
Edit: Also you need to put the .dfm file for the form in the MultiScriptOnline Folder.
SKy Scripter
2007-05-20 14:28:57
Edit: Also you need to put the .dfm file in the MultiScriptOnline Folder.
very lost, now lol… how does that program work on the first page..?
Wanted
2007-05-20 14:32:15
Have you installed tortoiseSVN?
Smartzkid
2007-05-20 14:41:49
From: SKy Scripter
why lock the report tab?
All the other tabs will be options, etc for controlling how the script works; we can't have people trying to change options while the script is running….
SKy Scripter
2007-05-20 15:06:10
All the other tabs will be options, etc for controlling how the script works; we can't have people trying to change options while the script is running….
:duh: i new that.. :p
im really sick today…
Have you installed tortoiseSVN?
i tried but it reastarted my computer and then never
installed itself…
edit: cant i post my work here..?
Smartzkid
2007-05-20 15:45:29
Could someone please revert back to revision….88 or 89
Something really screwed up when I tried to add my responder. Was working fine…until something happened….
EDIT:
The problem is in woodcutting.scar. Something really got messed up when bullzeye last updated it. It only needs to be bumped back to rev 86.
Ejjman
2007-05-20 16:17:57
Ya just remember
UPDATE BEFORE COMMIT!
and…
RUN MULTISCRIPT TO MAKE SURE IT ALL WORKS
bullzeye95
2007-05-20 17:20:20
From: Smartzkid
Could someone please revert back to revision….88 or 89
Something really screwed up when I tried to add my responder. Was working fine…until something happened….
EDIT:
The problem is in woodcutting.scar. Something really got messed up when bullzeye last updated it. It only needs to be bumped back to rev 86.
Yeah it was fine for me… I updated then committed. I dunno what went wrong. Then somebody bumped it back… ahh well it's fixed now.
Special Ed
2007-05-20 19:53:33
All files as of 6:42 P.M. [Central GMT -5] on
Sunday, May 20 2007 are correct and in working condition.
If you are experiencing any errors or difficulties please
delete the "MultiScriptOutline" folder, create a new one and Update.
DO NOT modify any files if you are experiencing errors until you
re-create and re-update the folder.
-Special Ed.
Doofy
2007-05-20 21:01:31
hey, i was just checking out my procedures in extended misc, and i noticed there were a few errors in them….. they were named incorrectly, so i tried to change them, but when i save and hit commit it says nothing to do or something like that. and now instead of having the green circle with a check mark next to the multiscript folder in scar includes, it has a red circle with an exclamation point in it…… some help plZ!!!
Widget
2007-05-20 21:40:13
I made a draggable form so you can use the custom titlebars: (Assuming WidgetForm is the form name)
procedure DragForm(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var sx,sy,tx,ty,client:integer;
begin
getmousepos(tx,ty);
repeat
getmousepos(sx,sy);
WidgetForm.Top := WidgetForm.Top - (ty-sy);
WidgetForm.Left := WidgetForm.Left - (tx-sx);
sleep(1);
tx := sx;
ty := sy;
until (not IsMouseButtonDown(True));
end;
and an example:
program Dragformtestfailurething;
var WidgetForm:TForm;
Close:TButton;
procedure DragForm(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var sx,sy,tx,ty,client:integer;
begin
getmousepos(tx,ty)
repeat
getmousepos(sx,sy);
WidgetForm.Top := WidgetForm.Top - (ty-sy);
WidgetForm.Left := WidgetForm.Left - (tx-sx);
sleep(1);
tx := sx
ty := sy
until (not IsMouseButtonDown(True));
end;
procedure MakeForm;
begin
WidgetForm := CreateForm;
With WidgetForm do
begin
parent := WidgetForm;
width := 250;
height := 500;
caption := 'WidgetBeta';
borderstyle := bsNone;
top := 100;
left := 100;
color := 16673282;
OnMouseDown := @DragForm;
end;
Close := TButton.Create(WidgetForm);
With Close do
begin
parent := WidgetForm;
top := 440;
left := 190;
width := 50;
height := 25;
caption := 'Close';
modalresult := mrOk;
end;
end;
procedure SafeShowWF;
var
tva: TVariantArray;
begin
setarraylength(tva, 0);
ThreadSafeCall('MakeForm', tva);
end;
procedure ShowFormModal;
begin
WidgetForm.ShowModal
end;
procedure SafeShowFormModal;
var
tva: TVariantArray;
begin
setarraylength(tva, 0);
ThreadSafeCall('ShowFormModal', tva);
end;
procedure Form;
begin
SafeShowWF;
SafeShowFormModal;
FreeForm(WidgetForm);
end;
begin
Form;
end.
Doofy
2007-05-20 22:44:48
nvm…… got it workin, anyone who used my walk to obj area (if it even works im not sure, and no one prolly used it) u must fix the procedure names, because they were kind of odd in the Multiscript, so i changed them….
Wanted
2007-05-20 23:08:00
A lot of problems in Walking.scar,
I think I fixed everything and made everything more efficient :).
Edit: SKy Scripter, could you just post the form .dfm file here and the scar code for it, I'll do the rest for you;)
Ejjman
2007-05-20 23:37:03
From: Icefire908
A lot of problems in Walking.scar,
I think I fixed everything and made everything more efficient :).
Thanks !!! :)
SKy Scripter
2007-05-21 00:07:18
this is all i got so far….
Thanks, to widget we got it to move the form around..
me and him were chatting about it on msn….
program New;
/////////////////////////////////////////////////////////////////////////////
// By : Sky Scripter
// Widget : Made It Possible to move the form around!
//
//
/////////////////////////
{.Include SRL/SRL.scar}
Var
MainForm : TForm;
MainImage : TImage;
SrlPic, SrlClose : Integer; // the two bitmaps
GroupBox : TGroupBox;
Fold, EditPlayers : TBUTTON;
InfoMemo : TMEMO; // This means we could tell user thers updates and ect...
PageImages: Array [1..4] of TImage;
PageControl: TPageControl;
Page : Array [1..4] of TTabSheet;
Procedure PerFormClose(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Var
a, b, dx, dy : Integer;
begin
if (Button = mbLeft) then
If (x >= 665) and
(x <= 665 + 12) and
(y >= 10) and
(y <= 22) then
begin
MainForm.CLOSE;
Exit;
end;
If (Button = mbLeft) and // All Widgets idea
(x > 0) and (x < 700) and
(y > 0) and (y < 30) then
begin
GetMousePos(a, b);
Repeat
GetMousePos(dx, dy);
MainForm.Left := MainForm.Left - (a- dx);
MainForm.Top := MainForm.Top - (b- dy);
Wait(1);
a := dx;
b := dy;
Until (IsMouseButtonDown(True) = False)
end;
end;
Procedure AllSenders(Sender : TObject);
begin
If (Sender = Fold) then
begin
If (PageControl.Width = 530) then
begin
PageControl.Width := 100
Fold.Caption := 'Back >>';
end
else
begin
Fold.Caption := '<< Setup';
PageControl.Width := 530
end;
end;
If (Sender = EditPlayers) then
StartPlayers(True, 'Name Pass Active');
end;
procedure InitForm;
Var
i, y, r : Integer;
Pixels : TPointArray;
begin
MainForm := CreateForm;
MainForm.SetBounds(0, 0, 700, 530);
MainForm.POSITION:= poDesktopCenter;
MainForm.BORDERICONS:= [biMinimize, biSystemMenu];
MainForm.BORDERSTYLE:= bsnone;
Fold:= TButton.Create(MainForm);
Fold.parent:= MainForm;
Fold.SetBounds(615, 180, 60, 25);
Fold.Caption := '<< Setup';
Fold.Onclick := @AllSenders;
GroupBox :=TGroupBox.Create(MainForm);
GroupBox.parent:= MainForm;
GroupBox.SetBounds(190, 50, 400, 340);
GroupBox.Caption := 'Custumization';
EditPlayers :=TButton.Create(MainForm);
EditPlayers.parent:= MainForm;
EditPlayers.SetBounds(300, 100, 75, 25);
EditPlayers.Caption := 'Edit Players';
EditPlayers.Onclick := @AllSenders;
InfoMemo:= TMemo.Create(MainForm);
InfoMemo.parent:=MainForm;
InfoMemo.FONT.Name:= 'Courier New';
InfoMemo.FONT.Size:=10;
InfoMemo.Align:= albottom;
InfoMemo.SCROLLBARS:= ssVertical;
InfoMemo.WANTTABS:=True;
InfoMemo.WANTRETURNS:=True;
InfoMemo.FONT.Color:= 6175272;
InfoMemo.COLOR:= 16447734;
InfoMemo.Height := 125;
InfoMemo.Lines.Add('You Are Currently Using SVN/SRL');
InfoMemo.Lines.Add('Sorry you should update at ...');
MainImage:= TImage.Create(MainForm);
MainImage.SetBounds(0, 0, 700, 400);
MainImage.Parent := MainForm;
For i := 0 to 430 do
begin
y := y + 1;
If (y >300) and (y < 400) then
begin
If (y Mod 2) = 0 then
MainImage.Canvas.Pen.Color := 13150869 + (66050 * 300)
else
MainImage.Canvas.Pen.Color := 8083520 + (131329 * 300)-1;
end else
begin
If (y >80) then
If (y Mod 2) = 0 then
MainImage.Canvas.Pen.Color := 13150869 + (66050 * y)
else
MainImage.Canvas.Pen.Color := 8083520 + (131329 * y)-1;
end;
MainImage.Canvas.MoveTo(0, i);
MainImage.Canvas.Lineto(700, i);
end;
For i := 1 to 30 do
begin
If (i < 10) then
MainImage.Canvas.Pen.Color:= 15592426 * i
else
MainImage.Canvas.Pen.Color:= MainImage.Canvas.Pen.Color - 1 ;
MainImage.Canvas.MoveTo(0, i);
MainImage.Canvas.LineTo(700, i);
end;
MainImage.Canvas.Font.Color := clSkyBlue;
MainImage.Canvas.Font.Size := 15;
MainImage.Canvas.Font.Name := 'Batang';
MainImage.Canvas.Brush.Style:= bsClear;
MainImage.Canvas.TextOut(220, 10, 'Scar Resource Library');
MainImage.Onmousedown := @PerformClose;
SafeCopyCanvas(GetBitmapCanvas(SrlClose), MainImage.Canvas, 0, 0, 12, 12, 665, 10, 665 + 12, 10 + 12);
PageControl := TPageControl.Create(MainForm);
PageControl.Parent := MainForm;
PageControl.SetBounds(80, 45, 530, 350);
PageControl.TabRect(2)
For i := 1 to 4 do
begin
PageImages[i]:= TImage.Create(MainForm);
PageImages[i].SetBounds(0, 0, 540, 380);
//PageImages[i].Canvas.Font.Color :=
Page[i] := TTabSheet.Create(MainForm);
Case i of
1: TabSheetCaption(Page[i], 'Cooking');
2: TabSheetCaption(Page[i], 'Firemaking');
3: TabSheetCaption(Page[i], 'Fishing');
4: TabSheetCaption(Page[i], 'Wood Cutting');
end;
Page[i].PageControl := PageControl;
PageImages[i].parent:= Page[i];
end;
y :=0;
For i:= 1 to 350 do
begin
y := y + 1;
If (y >0)then
begin
If (y Mod 2) = 0 then
For r := 1 to 4 do
PageImages[r].Canvas.Pen.Color := 13150869 + (66050 * y)
else
For r := 1 to 4 do
PageImages[r].Canvas.Pen.Color := 8083520 + (131329 * y)-1;
end;
For r := 1 to 4 do
PageImages[r].Canvas.MoveTo(0, i);
For r := 1 to 4 do
PageImages[r].Canvas.Lineto(540, i);
end;
SetTargetBitmap(SrlPic);
FindColorsTolerance(Pixels, 8421504, 0, 0, 69, 48, 0);
For i := 0 to GetArrayLength(Pixels)-1 do
FastSetPixel(SrlPic, Pixels[i].x, Pixels[i].y, PageImages[1].Canvas.Pixels[Pixels[i].x, Pixels[i].y]);
For i := 1 to 4 do
SafeCopyCanvas(GetBitmapCanvas(SrlPic), PageImages[i].Canvas, 0, 0, 69, 48, 0, 0, 69, 48); // 8421504
MainForm.ShowModal;
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
Procedure LoadBitMaps;
Begin
SrlPic := BitmapFromString(69, 48, 'z78DAED9C671223B99185AF046F7E' +
'2261EE7FA4FD5E92139262256D8466353DA6BBD414BB582C93E61' +
'9009C11C6CFEDE7F673FB036DA9A491E6CF38FC3E37FEA410F2C8' +
'37A79FD1F8FD6C2B2F9B2DD5B4E38A395A283F63F2DFD8DAEEA5B' +
'EB67AAAABF5F66A1F73867EFB1EB9D31663F535E258ED741BB5A5' +
'EFEB18B1B53A5B2C2BCC1843E05BB1CF5106E7FBBCEF6F703ECE5' +
'3B886BFE76CC639FB78BD7F8F8F63F6E8D78A3F73F1BFB73EFA6B' +
'E71BCF4F2443EFADCF36F7B8E3CCC2BED4AC10F57EAB4D5B75A49' +
'AEB2EB1165E096EBC61F7A4AF7C73BA27799D93C485F956E38331' +
'DF78C32644F5F974BCD94623D7A927329FA98CDA56E38C2DD4C73' +
'D14CEF357CE8B6A39DD78FB996FBF77DFDEA7D8B36C731D82795F' +
'F14FCF5C2B8FD10FF55FC798A987FC085E68AD9D7AE24E8916C86' +
'420AE67651D7BBBD8E1BBEDBC57DE7CE9D5B75EBE97BFFBC5D7EE' +
'7BED19E71FF770D4B9E96C1D7F1385B1FAACADAE3A6BAF56D75F0' +
'ECD0A654B062C58DFEF947DAFBD7809C7B4714E50C889DBBE46BC' +
'D69DBBEC6D7D9ED5069F4F2A3EAF02DD50EFBBD57022D0469794D' +
'9D7E69C99ADDBE23CE574625E3997CE73C849262B89BF931CD537' +
'B8C27BC9AF7538E2DEC355E20A2DD249A58EBAAB9547A7FE25540' +
'7C843CF98006A8F0DBA8C7509F501AFE2AC63CD3012311DA7B319' +
'F5AC78A6BD4EB2B38645302A4F582447DA6E10B55123691AB17C6' +
'A9EEC11F24F84ED6E44C33E2792A77DC3799FB3D14D100FEF80D4' +
'EF6BA3B3E64DE4B07E3EF5FCB67AC85228E4A7DC1A6BAD7F72ED6' +
'1C99A557A438D30C1FB00472FB862A003121CDDBB11C57CD36E7B' +
'EDE99873B7D15F7115DAA892CF347ABA19BA28B9CCFC62253B913' +
'3AC5E87F2D338AACF4417A57576E73CF9AC734EBB935E01CBE896' +
'FB0279C87FFF2ACCBBC77BAD7C3A776E98EB955353B965F1F7E89' +
'EDBFE13E605C4599B5A86C83FF101955E834AD000AF59BB0D2146' +
'A6BAD770873BF2568ECE6EC48DE4AD656D2983BC4D13B081B8A9E' +
'A1467B418885B6B9196538EAE72B4DEDA2BD3A77975CE445D909D' +
'45EC1FA816BE28D7C578F4935A4E1CD4BF887AD997A9937203677' +
'C30D1A0A824513639EABADF3F557E1651255ED4F300F1E119A432' +
'F40F3AD5B2400D0804F9454B50ED06CF0CDB667EFC253BED9A352' +
'25C40AFD66B3E748D11C00578D5D8C346BFC5B2895B6EE0279D54' +
'C1CA3BBB857556D9C18E353A968DEE08E448997A744D262F629C8' +
'F7EA88EA7E1A8870A5914AEEA8E72B21C124D986F49F46C2BF6A7' +
'629CDC0FCAB8F75C85188D903C98FEA18A3EA85ECAAC023D2C891' +
'99969B6CC402832483DBF3B20EEB10F0DF37A046DB036A9909B93' +
'5A9A2994431F6D94163C2EF4C1BF54342122DBD170520B9B1CBD5' +
'D9D87065D91EF243BD191CDF3E02C14C9D3227F819C298F8DE3E1' +
'C224AE0BF9521709C5188A3AF4CD3FBC4B22226BC90FDE56E5515' +
'2CFA043CA3CA3A58E131D8AB5D8973E9AC55640CC3E570B4F1D87' +
'8A2B54B4D4F5B801CF42CCF916274B31D120F23BD139A854F455A' +
'DD935617726A2D3C0CB8E9628B32D5544DCDAF211FB09C7D6952E' +
'904ED0FFD339873D5448DD62C948C70E6D6ABA39CBDFFED0EBEA5' +
'69D997B04A2474C073EE4F17AEF7F181D3E8F45C2B0576FC47DF7' +
'1E05473D1A1672641B9B78A3D93416009FB785528281732F39492' +
'BCB52127D606F4401D12CE4846E8823F15E036C19414D724AA6B6' +
'B3F664B08766A09BB0ADF8583A2BD5888A98B522D978CD91D8CEB' +
'C209EC25D45EAA1A88B41570AA66D2A27E72AFC0278AD45F26E35' +
'E5C0B7348061DC43E5EA21027C39EB2E530CA89521E2FA97A3227' +
'0EBA1F6C24AF0D7284B7E8FEFFCD8EC50B3E8B1B2320F948C0E99' +
'6B07641B4A8157D42BDE07170AED375E811BE3AEF1ECB79440F18' +
'61006C10CA184170230C383D25926F53D7966227491DAD61FA9BF' +
'B3B4DC37B16E23CF53F5BE1387C425AEC60F1078699280412F557' +
'5F46A24DB32679A3D178D4E743E960E28BC1A1A00A5510A92A515' +
'A406D0FC5AED296F8D3C61735B8393E8D492FF0F9D9046B25426C' +
'D3EE4A0624D2DB0FD60278583173C802975015CB003D9A118B182' +
'E4ABA37E4B582274D4ABBD860ED86748BE2518BEF70B4C4562DE7' +
'A1915B6D915B9CD91A14FB2C971841BF8EC6F260C7E84AAE035D3' +
'E00DE858C9E08227860669F2A8542D6CB44269E41121414F15080' +
'AA6A2557A9BB00B4D881D5EF44F18F8A6BAC1C55DE8B141790197' +
'80624BBDA7451510EF7A3BAD0A4826760204B54DBAA3FFE3BC46C' +
'5C0E9162EA283832C009536D485D0F0EF213B744AAA4646402324' +
'F0A51897D502A4E3FAD2A0A5B081C7809EB9ECB6B2E0064416BA0' +
'D34C80615A08BE160F222151E8701FD68DDE2122AE271676C71DD' +
'5DE8102E484DEEF59078D1D43BB85EA561CD7C08D32AF49C8CD3B' +
'085D6230B8DC41BE1AF20620F010979A2C4DC90999A64846CAE0C' +
'DC0E3AB5AF09B9A1A9675281B4442B02A78D9D2B25BA2DA52957C' +
'4137D14511B019198267601704EB7A0791A36AC66D4C60F669EBD' +
'88A3043011AB16F2222F031CE07DE169EDD438135827DCBBB2EA3' +
'6A8F96B9DFDD5161A4F2128584984352C8609E2C854DFAC0BD784' +
'F741C451ED2B1FA8845090D3DEDAC45D614F3309389C87FAE7FD2' +
'CBA3A34054CF548BFAD476DA8A7D00E2BC351311FB20368C53327' +
'F74015D1F242E6429DDF75E83EC408171A1364EB0846B5D2840DC' +
'9D7226B7B34C45F1B1B40E0A440AD9581D17B0D08D0E35DD7A3EB' +
'646D3F78ACB5BC96A16A5BB8455065E64DB4299F6F76D44D97CE4' +
'2C7F9AB7D72443C1FD9194458F5DF408C411EE1152286CAB6D322' +
'7DB4C0954576D00A447675CE818056CD3FF520C78BE394DFCD790' +
'EE5AA330CD8021249846E475CF05DF82E8EC9F52522A8DE01A9C2' +
'84DC2A1D4D46D698745C24BFE2A60F5A2205C81120468EF63CE01' +
'E422373ABE895401A260C353B0E098D71F4E8B42927E154516A9C' +
'BED740B8FD408FC3FD417F35880355690601A39466569BF3D47C4' +
'C77C85AE227C98EB87B09B4060796FADD03179135C436F8A3CA3F' +
'C22BFF56829443068510B2086CA90F7AE1481F82604AC486EFE2C' +
'A0028E44FF755C7D8ED833D6D1DD1CA9A68C84A6F8EF6A09D130C' +
'4E39C054A44F51D21456E5BB9413F73FF2960E2D914F31AFF417E' +
'837850053A347545125CB5833E0AF5393289F1A510E5C2DA79034' +
'FA4D25955261380C70F961BDC39FC8FF66D458D8493D502F93DA0' +
'301B837EAF7D1EFA0428AB0EA48B0F240C8C2AA1744BA442609D3' +
'78EA48BE2EB9100B0CE5949807D44524F2729F643C68C420A0A67' +
'8EF1D71BC5FAA10124E7F8B3AA5FE4148EABC6A16A74B83D3C384' +
'8CCC221F6E5E28F710380F0453E1FA501F100809D1480FCDACFD2' +
'41714C5A0AE85C224D3884224E3421FDA3CD1350912846CD71240' +
'4EA421E811803E43BD048D0251AE3EDC8A86B71A7F60769420CC4' +
'54C10C54D19052904C092E48D78A1B789278D845EDA180DA29BE0' +
'CFDE12124E23D1A8DF5B3037041C0D4607C1C4083E841A1C01A91' +
'3061C8632CE770776D58F47B62D21E10EE4746FA0860A476FC3DD' +
'48E31C0BA2826FEC2CBFFA5A6C0D8785BF256E9479DCE19235D53' +
'652254FDE23F023229AEC20D563FEEAE73B2F660869DDF3942235' +
'8DB8439457D68E7B13670111154D8AC192F2DF216EDBF0AA7B581' +
'8AA4D2202E4B7DFB48378C61AF5AA2178644AA0A88002FD130FF7' +
'750AFC2BA5864729D4B1DC44A780F1E0C24039C717296F2C3B248' +
'AFA0CF0B2B8FBAE0D762D9805B0A062EF0A8630A56201AA851042' +
'994FF842D8483441C298AF98AB1C9232E52F0BE20E40C3E09E7E9' +
'6CFF7D5091A42FF3371722052DE24412F97BE7FA9E0872B590B7C' +
'328366DA877475BB09C6020FF1DB3B682202C6012AC0342A8FAE1' +
'173455C1415E0CEFA068D3F74DC6FA2DCDA6704382768F9371D53' +
'253391A069D4B0874B76FA67FD4CF98C0250A39804EC76842FB97' +
'3F42CCF0B9FE332D077288980B3B86581780537FE2A10920FD6C0' +
'E8B648900318B5708E8F7AA76A738373BBC433595E30820670C0B' +
'12C75BD5DC3C7A251BEA5153CC8751261D285C0A210D0F622FB03' +
'A54E2E2822B29044FAA9448DB236B213A3860A0EF02674DAF49E7' +
'284CEC4F3026964E4C056E87B7CEB2EDD5F1FEA5EA34EF437BA00' +
'E51DC2671E0437DDB4606281B8DFC890F4F21BA11CCF92C2C9189' +
'52CB206A2B83C980E1F4238C427A7CDFD3C7A04579F906E15655C' +
'0E9A49636E7CABBE8EA106F7160F78A8C9476C51A0321AE912306' +
'052A39EE8B50CE3B49005A544B4A0B860B61CD078112D91713D71' +
'CA5BE1A280274E905F946747AC698E4DF9233B0997D8176CE319D' +
'9A4B3A540E71C7A1ECB43A3F748C6D802E7E086C806E7EA68B372' +
'B0C46404854643B3E7D0FFBA319E1350A70AE6C48982ACE0069AA' +
'E9C1C33229C08807A54EE619BFCFD8D3A88A7938604BA35002FC6' +
'E11E26B87D329D0CFFD235229F2883D7A246CFB00DF88295D0335' +
'8789EAAF1DD2AE3A19A8472E90B98A9D7C14E670DA968655F96A3' +
'A03AD01F61118C0026DD008452CF1B24842A606D233A919A8FE85' +
'B6238A02518BCCE3400D04E2A5A406164B2A27F98E41F1B672737' +
'82AB4C6E42D498D2051A54ED0D4541DBD3EF0D8AD1E835D820AB4' +
'46D18FD82A84CA88AA039E0E21CF38A49AFA5A7C1367A4659314D' +
'3D65D5165CA0F386FFBAC6F6674311F304E183125C37FBCAC0953' +
'4549FA4E07852130B7357F47D4011102A411E5594B7660888A4DC' +
'37BE34094BA616DC70462EE0A283646980936C1867E6B1E90BF2E' +
'88884766E56B4362AFA8A2C52D247D7E81D69D33F920A3C2836E9' +
'242DF329F00C59D12A925C3963E15EAF669078026A89BB93B2991' +
'C7D38B2EA29B42C089F9551779C412BBEB25889B26B3E74C0A72B' +
'9661B83080AC6B90800ED318AA06D9C0E4E8A04BDFD093E2802C1' +
'DF54FBC491F20FE1A96E7FFC3C88F3F817DC6D83D3B9BEBD2C4BA' +
'AB78795EE96BA372D627C2D4658FE133CB235340E6C01722DFC5A' +
'6C49C88E11160258DD153C4C69374474B2E42AE34BE0C548114A5' +
'3C624E777A251CADDC20268140E1BE784EEBFEA768463A80BD649' +
'C6C8930405C32629CFF78CFAF8282863BB9878C8AE45EEEB79B84' +
'7BCA2EB5C455B54208DCC49A36D3F9D1EC65AA9B784DDD788806B' +
'0E75AC16D1EBB4FEC1CFD5580B649D59017B212453AEA9DF6CFB2' +
'C3550E2A37831B595AF1D7ADBEABFA937DB96076C48E44124E743' +
'ED2B36DD7704B3A48F7243E2AE9EF46DA85571C452C507F525048' +
'6842C1BF026720E9F4DD0B9B0DC9469E708A90D4D6E237D08ECEC' +
'B2F8943786CA2BDE4D735E2489EA54CAC34EFEEEFAC7755E3F8BC' +
'2CD5A19E95C2ACEED46A98EAECD0C03436D79F2F647F9616E55B0' +
'B8C0246D0DD0FFCCCCA7BD5509A5C126A994C098D25399AA6993A' +
'58CB8D158DE8E976A4D80AB549AD6CACC7941A943EEFD2816B689' +
'152194BF32F7581D278593C63FB956B847C02838E9085F3BCF0B7' +
'81D79840472592A08625534824288632FA6773C1D43C774C5C561' +
'03FD351E4834AD3EAF6E4CBA4487867EFC3DF6905DAA65734DC82' +
'1888976F1818844A7606248A788FDDD1F06A3BCD07C156920F79A' +
'0F1A0221422AD5841D6E6BC70B5CAD4F95ADC7D7D16C3C84B8AC6' +
'8D153CAAE23941D48BC249D23045C5D8459438B8D1CF24EEC84B5' +
'04163A734CD9EA8993EF1689B7CBDAC51058894C8FB6ABD2567BE' +
'B1E58763A0DE26380B380688C247D765D6F6AF1BFFA11AD978A2E' +
'ED948FE8C180CAA8E902834EC5B9A388DCA61AD41B3D720F3C0A3' +
'4E5FA7B3F9ABF54F875AEBF44522D6478332524D64C2CA719C1CA' +
'ED7347B52232E329B734F4CD71945E314172527B4D34C019D4301' +
'AF0FFE48A76B8401D30BEA460DADE9668DF0C36201B6A7AA97CA3' +
'C01F70D94130C1031BA00BCB229771CE6AA1A8947D1F431C160F9' +
'D0B2706748C4FE90E59723AF9CEFC45F6840840EC2EDB0075397E' +
'123BE1BBEFBFB5C591944277DF7C4496591A999DB484B5E238E43' +
'39FD6779C9BE8EC31310CA370FDAE6373FDA7C82902A94C63AC23' +
'910FE0256884D32B17CFD8BDECF2A1D1AB522B36A15418EEE0E51' +
'7A3C1B4C043125650C7591B43C03D78475BAE53A76E9F8A785B82' +
'0D855997367F00C774996FA1C43E35F5A268262E736893057D4C0' +
'51BD7855D4FD98F8A9A857DF73397D9AF2C2781CCFCBA517CE044' +
'589FFD2E8874611BB1AE397574E486C2120605E7B866617311080' +
'ED6764B5E64989548D900B3D2886F2192114046804B8685410F78' +
'D4B1C852B6A72F6D7F54E02BDD1583E5630A2BC69F2AD7CF75C6D' +
'DE5ED839E7E5E49B1490387AC2D9C055693E3F7578CF26578894D' +
'5B4F7956AF0E4A3EFD0BAD4F96774C2D548F57346616638EE5916' +
'ECBF137A162ED008D2D278DDD4285CA71AF767EE80D8A2A64075E' +
'A448B87A9D24DCD9FAE01D9EE3305DF51DCEF2BAC4E66DF443B74' +
'4DA20BC17002C43C6B6C10BF1CE6A6958D4244CD2108D10AEB6CB' +
'87D5E4E290D7646D53A32BE139173E6630B810B5CBC58DB9AF1B2' +
'8350A280877E79C119220AF0D64BC3D5F1A3E786BE8A45DD43036' +
'6F7EFF223F888583ECE05EEDE1A07F7714600276ADC058C6257D5' +
'B05A6F1AD31F9D0FA62672505097EA35C087FAA778B72294DF00E' +
'08BC68B1E9559D8431F2D1CB5C6D2F3F671D7C61ECC1817022388' +
'6AEFCBCAB6E1EB8267D8841E48067235778820D5AA91A75172BD1' +
'2F33A28901DE7B4B59BB2B58B466CF7D67AA16D6B6AC510273967' +
'0A50F6D5341002F059313C93DDCD21EC7F081B32387F17D9E94DE' +
'BD3A87F94AE9827C88D8AE9417FD826CB2FE0D335330EFEA09B51' +
'39F87234511EFA7D012081D38D1A2925B4CECE639CF5A8F36772F' +
'A1A4F08B408911F669AE3DE12631AE9D1C89E09857C7C8F2EE04A' +
'84A8F834B5E6E3815EAD90D8C1D7D86B6CE298469A3EAF61A141B' +
'CCEE997B5BC5F325722D2E42872FCC4AE6BDD1E59205F9BAC65B3' +
'4D19ED4AD68C4F8726604D8AF0184FC6B145776967FE3E563C428' +
'2438C74A07BFC50B800A495A931A1F834F01574CCD19A8C01EB0D' +
'E255A5D0F02984055D44AF0119E85E0A159601E9407EE28FC843A' +
'3918BEEB38151E3DEBC6A563D93356AB66A1157AB0FCC693D920B' +
'D3FCFA1E6A5422DCC8C8D44884A931C1255EC98F66C4CD67854DC' +
'B16307DE44E0BC4846F81D7698D3867732B4037F9489D34D9DAF4' +
'5722F25AC9AD3531DDF62CCAD1540FFA2CC87A1CB9913C5A8D96D' +
'702CE65267E64EF74A20D0C918909E31C280BFE491A017795FBD1' +
'606DB8A61209DF661AE206D38E26FE9B5640952AA2955E2D54AE8' +
'2FC9925F75C4C0320F777EE5503B557336E0451EB8586F5ADCFDA' +
'D652EDE0951C17ED414774AD50593ECF4176B47E7B42F787573A8' +
'048829586CB61DFD0D8EEDC3091F647F6F4BE3D8F5ABC729AD6F9' +
'B776E9CACCFD817CE32D323FD453C9A7128346DBEDB27FF12D54E' +
'042A3702D8EFF61BCA3A581AF68B4006BA93FDF79BD14335E442A' +
'D0FD6FFE3817FD620B142368285E02D5380068D06AD1D67C72070' +
'7A128962BE1DE801B4C88B0BF765F37D2953852A85C6806620B8B' +
'344CAB1E19626A0CCB032223B1AD8A2DD81387567A6BED88BAA93' +
'86A512C9A80E5C80443018D53734019D94CB712E16E9A0BE16A60' +
'20582A25619AD97D505002FD361DD4C438ABAE4BBF7C5EA928902' +
'D93F1E7EF0FDD7A47D953C3333F6065C2F55EE9E86843FA69A447' +
'2338F81EF78B976E9262D3C8A4D6EF6ABCF114AD24D484426C57C' +
'3F87413A5D94ED4DABA95D1C4F4084C0FB557DB5AF84BCCD10776' +
'C02EFDB684E8831B04DA91277F632E76005FD873BFB15546C4265' +
'C0A049349986207B243AF1179B117B53FBBF37EF6BE30DE23A63F' +
'EF893308F939E6F32D6EA46BED91840915A2315C5D6B782554ADF' +
'6E73D1C27FEDA01460412D0E20849EE3C6841DA0F5B4322A55D09' +
'C2A06BA2BBF7EC4EBEB9E7CD9FE958BDC7B5229BB0BFB8548A0F4' +
'FA7F91774F28595401BADAD828450CDA8AC31F58BB9433414E1E4' +
'1AA91237F6785EC0FFADDF1283F772C8B3E15EF03EB8A687B74D2' +
'01C24065E49055ED3BA93BFE5485867F48577D6778F3252BEEFBD' +
'A7A4DFE6F778298A713C9BC1F7CF6FA6FC5B7EE6E94A43E23E939' +
'7A649715D17DCABDCB996EAA3377FD8AFE7AC2DFD0218834420E5' +
'E68BD638E32FC12F792DB9511E1310D458E591BB8A191577B37EC' +
'F2B880A3B5169C002CF665BAB7C7C8AE91746A662B7BF6AE614D0' +
'204A493E640BBF8AF41238239DECC836B733086D474674864FFCF' +
'337AA77C34FAE9CA52B82CFBE2983FECAD5DB34EF97FDF9F47306' +
'C7AB0CBBED11BFD9541F4DC73D2D923D5A4F8931589F575D452B5' +
'178EDBF0B2DF7EFB5840A7E806FB1613EB49CA466B27335CB3CFB' +
'31C2724F453C2834CB91A4CEE55D23B59C3C23592ED19EFF924E7' +
'9518EB2F751245771DC0F76B94E1EAEE282774AF038378FFFFBF6' +
'8873BD1FBF3FFBFF7D3779C671C5C066FAB018D9D1AA7475C7F24' +
'CE97749C7753899E5FDF65F2AD9FAC3FCFEABEB4758D1478592CF' +
'D6C98960B9C90B4CC3834C225FB6AF1FE5B57F50E89B2345C33E3' +
'1A1F229D94F657AEEDE37831FD67076F844E9CBF8CE535F966FF4' +
'977D784133D7637E58863BD16FF43E8CF389F9C707D1D32BFB158' +
'77BD2ED6CB2B83A2DF27DFFF1449E11774991FB899AE1A572C61F' +
'253BDF1C153A2963512A8F464CFB213BD4A35CBCC73FA9529D793' +
'FF5FC89F907DF3E157BE89DFAC911953F7EA964B84623411E73DC' +
'CAD2B883695EF69A7EC6BAB518DEFB8E93A228EAA7EFBEEFBD137' +
'19D17161C1A50271707D5D8F65395ECE2F530FE914138A77E57FE' +
'F9D4D9901ACB8BBBD95AA1FD87DD628BE83BAD512A4F083371A31' +
'A2827C2F28F1F77EF6CEEAFDB55C1FAF48BB4ABFCCF765769E26B' +
'8F89E3DEC7E3EC7D0E38F9AFAEEEBFF73F44FE2AA64452CB17A6F' +
'DCB991A8E2DF6D7FB2FCCD015E32FF45FF6F81F2E83B2AD');
SrlClose := BitmapFromString(12, 12, 'z78DA6D525B8E452108DB924FD44F' +
'5EEE7F49D3234C321F0309B9178FB52DDC62CD9A2F41FA1115F52' +
'D2C8C7AE4647F090939C99081DAA567ED8C70D1A6ED561B3650A7' +
'CD7FEB775AAC5AF5ABAEEEA6470FEE76ED78D7C4CCCE3EDB5D117' +
'96B989BDF66DBBE3EC8658DBBBF1D4470F0C1CEDF211D429B9412' +
'677AF57A23DE6FBBC701F0F45EFC41BEC0DD79A6F1BEFB2A53A1E' +
'2AC454B327F3CC167D98AEFBDF1E205CCE225111CD454DBD8635B' +
'FFEC53039D93AE06E7C7369F85BB9E6889F95E61E9A71F9DB34E6' +
'8D87557DBB0E7A4F3E11BCB95EB538A94C0FF8BA36BD224B9A30C' +
'B05F630D18AC5B6D6DDA94B30B5631D950A79790721B32F8A085A' +
'439E68022080602D2C6473D548043951A4CEEC610920986803082' +
'1923D1061B5B781BFE80DB5C33A7D678C3FCBF0E176E487E6E94D' +
'1468B7D48B79F27F14AF89CDCDE7C43AF0A356A62FDF6AB1D42B1' +
'E25867C9BE7E7D395866C7F0B12EA114FEC09AE37D76A882E5121' +
'309266C9DF141C710346A9EEE8EE4DAA993579E3C7F006418D02B' +
'');
end;
begin
Try
LoadBitMaps;
SafeInitForm;
LoadUs;
Finally
FreeForm(MainForm)
FreeBitMap(SrlPic);
FreeBitmap(SrlClose);
Except
Writeln('ERROR: With Loading SVN');
Writeln('Email ~ Sky Scripter or pm him for help');
end;
end.
Dark_Sniper
2007-05-21 00:20:18
all forms are doing is adding on to compile time….
please try to keep froms very clean and short.. and very well detailed… if it must contain a background image…. keep it simple nothing to big please…
like load a small bitmap and tile it instead of making one that fits the whole form.
yay im back XD!
SKy Scripter
2007-05-21 00:26:35
all forms are doing is adding on to compile time….
please try to keep froms very clean and short.. and very well detailed… if it must contain a background image…. keep it simple nothing to big please…
like load a small bitmap and tile it instead of making one that fits the whole form.
yay im back XD!
lol that background is pure coded…. ( There Functions)
that long bitmap is the tractor thingy….
lol i always get people saying gosh sky you shouldnt put those bitmaps as er backgrounds in there… there functions!! that draw the background… :p
not bitmaps… lol
Dark_Sniper
2007-05-21 01:54:08
lol i skimmed it didnt read it first reaction to a big bitmap in a form is wow thats a background.
rkroxpunk
2007-05-21 06:12:00
hey Dark I saw ur mining stuff. Well I was thinking could I grab ur mining procedure to save me a bit of work and make it so that say a certain string = 0 it will begin mining the best ore for it's lvl and if it has a valid argument in the string like iron then it will just mine and bank that? Or is lumby swamp mine only one type of ore?
Special Ed
2007-05-21 08:24:12
@Sky - good job with the form so far it looks great! Keep up the good work.
@rkrox - No there is multiple kinds of ore but I think if you don't set which kind of ore you want to mine it will choose the best one for you, other than that it will just do what you tell it to.
rkroxpunk
2007-05-21 09:37:12
??? you sure? I don't think it does..
Wanted
2007-05-21 23:44:59
From: SKy Scripter
this is all i got so far….
Thanks, to widget we got it to move the form around..
me and him were chatting about it on msn….
program New;
/////////////////////////////////////////////////////////////////////////////
// By : Sky Scripter
// Widget : Made It Possible to move the form around!
//
//
/////////////////////////
{.Include SRL/SRL.scar}
Var
MainForm : TForm;
MainImage : TImage;
SrlPic, SrlClose : Integer; // the two bitmaps
GroupBox : TGroupBox;
Fold, EditPlayers : TBUTTON;
InfoMemo : TMEMO; // This means we could tell user thers updates and ect...
PageImages: Array [1..4] of TImage;
PageControl: TPageControl;
Page : Array [1..4] of TTabSheet;
Procedure PerFormClose(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Var
a, b, dx, dy : Integer;
begin
if (Button = mbLeft) then
If (x >= 665) and
(x <= 665 + 12) and
(y >= 10) and
(y <= 22) then
begin
MainForm.CLOSE;
Exit;
end;
If (Button = mbLeft) and // All Widgets idea
(x > 0) and (x < 700) and
(y > 0) and (y < 30) then
begin
GetMousePos(a, b);
Repeat
GetMousePos(dx, dy);
MainForm.Left := MainForm.Left - (a- dx);
MainForm.Top := MainForm.Top - (b- dy);
Wait(1);
a := dx;
b := dy;
Until (IsMouseButtonDown(True) = False)
end;
end;
Procedure AllSenders(Sender : TObject);
begin
If (Sender = Fold) then
begin
If (PageControl.Width = 530) then
begin
PageControl.Width := 100
Fold.Caption := 'Back >>';
end
else
begin
Fold.Caption := '<< Setup';
PageControl.Width := 530
end;
end;
If (Sender = EditPlayers) then
StartPlayers(True, 'Name Pass Active');
end;
procedure InitForm;
Var
i, y, r : Integer;
Pixels : TPointArray;
begin
MainForm := CreateForm;
MainForm.SetBounds(0, 0, 700, 530);
MainForm.POSITION:= poDesktopCenter;
MainForm.BORDERICONS:= [biMinimize, biSystemMenu];
MainForm.BORDERSTYLE:= bsnone;
Fold:= TButton.Create(MainForm);
Fold.parent:= MainForm;
Fold.SetBounds(615, 180, 60, 25);
Fold.Caption := '<< Setup';
Fold.Onclick := @AllSenders;
GroupBox :=TGroupBox.Create(MainForm);
GroupBox.parent:= MainForm;
GroupBox.SetBounds(190, 50, 400, 340);
GroupBox.Caption := 'Custumization';
EditPlayers :=TButton.Create(MainForm);
EditPlayers.parent:= MainForm;
EditPlayers.SetBounds(300, 100, 75, 25);
EditPlayers.Caption := 'Edit Players';
EditPlayers.Onclick := @AllSenders;
InfoMemo:= TMemo.Create(MainForm);
InfoMemo.parent:=MainForm;
InfoMemo.FONT.Name:= 'Courier New';
InfoMemo.FONT.Size:=10;
InfoMemo.Align:= albottom;
InfoMemo.SCROLLBARS:= ssVertical;
InfoMemo.WANTTABS:=True;
InfoMemo.WANTRETURNS:=True;
InfoMemo.FONT.Color:= 6175272;
InfoMemo.COLOR:= 16447734;
InfoMemo.Height := 125;
InfoMemo.Lines.Add('You Are Currently Using SVN/SRL');
InfoMemo.Lines.Add('Sorry you should update at ...');
MainImage:= TImage.Create(MainForm);
MainImage.SetBounds(0, 0, 700, 400);
MainImage.Parent := MainForm;
For i := 0 to 430 do
begin
y := y + 1;
If (y >300) and (y < 400) then
begin
If (y Mod 2) = 0 then
MainImage.Canvas.Pen.Color := 13150869 + (66050 * 300)
else
MainImage.Canvas.Pen.Color := 8083520 + (131329 * 300)-1;
end else
begin
If (y >80) then
If (y Mod 2) = 0 then
MainImage.Canvas.Pen.Color := 13150869 + (66050 * y)
else
MainImage.Canvas.Pen.Color := 8083520 + (131329 * y)-1;
end;
MainImage.Canvas.MoveTo(0, i);
MainImage.Canvas.Lineto(700, i);
end;
For i := 1 to 30 do
begin
If (i < 10) then
MainImage.Canvas.Pen.Color:= 15592426 * i
else
MainImage.Canvas.Pen.Color:= MainImage.Canvas.Pen.Color - 1 ;
MainImage.Canvas.MoveTo(0, i);
MainImage.Canvas.LineTo(700, i);
end;
MainImage.Canvas.Font.Color := clSkyBlue;
MainImage.Canvas.Font.Size := 15;
MainImage.Canvas.Font.Name := 'Batang';
MainImage.Canvas.Brush.Style:= bsClear;
MainImage.Canvas.TextOut(220, 10, 'Scar Resource Library');
MainImage.Onmousedown := @PerformClose;
SafeCopyCanvas(GetBitmapCanvas(SrlClose), MainImage.Canvas, 0, 0, 12, 12, 665, 10, 665 + 12, 10 + 12);
PageControl := TPageControl.Create(MainForm);
PageControl.Parent := MainForm;
PageControl.SetBounds(80, 45, 530, 350);
PageControl.TabRect(2)
For i := 1 to 4 do
begin
PageImages[i]:= TImage.Create(MainForm);
PageImages[i].SetBounds(0, 0, 540, 380);
//PageImages[i].Canvas.Font.Color :=
Page[i] := TTabSheet.Create(MainForm);
Case i of
1: TabSheetCaption(Page[i], 'Cooking');
2: TabSheetCaption(Page[i], 'Firemaking');
3: TabSheetCaption(Page[i], 'Fishing');
4: TabSheetCaption(Page[i], 'Wood Cutting');
end;
Page[i].PageControl := PageControl;
PageImages[i].parent:= Page[i];
end;
y :=0;
For i:= 1 to 350 do
begin
y := y + 1;
If (y >0)then
begin
If (y Mod 2) = 0 then
For r := 1 to 4 do
PageImages[r].Canvas.Pen.Color := 13150869 + (66050 * y)
else
For r := 1 to 4 do
PageImages[r].Canvas.Pen.Color := 8083520 + (131329 * y)-1;
end;
For r := 1 to 4 do
PageImages[r].Canvas.MoveTo(0, i);
For r := 1 to 4 do
PageImages[r].Canvas.Lineto(540, i);
end;
SetTargetBitmap(SrlPic);
FindColorsTolerance(Pixels, 8421504, 0, 0, 69, 48, 0);
For i := 0 to GetArrayLength(Pixels)-1 do
FastSetPixel(SrlPic, Pixels[i].x, Pixels[i].y, PageImages[1].Canvas.Pixels[Pixels[i].x, Pixels[i].y]);
For i := 1 to 4 do
SafeCopyCanvas(GetBitmapCanvas(SrlPic), PageImages[i].Canvas, 0, 0, 69, 48, 0, 0, 69, 48); // 8421504
MainForm.ShowModal;
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
Procedure LoadBitMaps;
Begin
SrlPic := BitmapFromString(69, 48, 'z78DAED9C671223B99185AF046F7E' +
'2261EE7FA4FD5E92139262256D8466353DA6BBD414BB582C93E61' +
'9009C11C6CFEDE7F673FB036DA9A491E6CF38FC3E37FEA410F2C8' +
'37A79FD1F8FD6C2B2F9B2DD5B4E38A395A283F63F2DFD8DAEEA5B' +
'EB67AAAABF5F66A1F73867EFB1EB9D31663F535E258ED741BB5A5' +
'EFEB18B1B53A5B2C2BCC1843E05BB1CF5106E7FBBCEF6F703ECE5' +
'3B886BFE76CC639FB78BD7F8F8F63F6E8D78A3F73F1BFB73EFA6B' +
'E71BCF4F2443EFADCF36F7B8E3CCC2BED4AC10F57EAB4D5B75A49' +
'AEB2EB1165E096EBC61F7A4AF7C73BA27799D93C485F956E38331' +
'DF78C32644F5F974BCD94623D7A927329FA98CDA56E38C2DD4C73' +
'D14CEF357CE8B6A39DD78FB996FBF77DFDEA7D8B36C731D82795F' +
'F14FCF5C2B8FD10FF55FC798A987FC085E68AD9D7AE24E8916C86' +
'420AE67651D7BBBD8E1BBEDBC57DE7CE9D5B75EBE97BFFBC5D7EE' +
'7BED19E71FF770D4B9E96C1D7F1385B1FAACADAE3A6BAF56D75F0' +
'ECD0A654B062C58DFEF947DAFBD7809C7B4714E50C889DBBE46BC' +
'D69DBBEC6D7D9ED5069F4F2A3EAF02DD50EFBBD57022D0469794D' +
'9D7E69C99ADDBE23CE574625E3997CE73C849262B89BF931CD537' +
'B8C27BC9AF7538E2DEC355E20A2DD249A58EBAAB9547A7FE25540' +
'7C843CF98006A8F0DBA8C7509F501AFE2AC63CD3012311DA7B319' +
'F5AC78A6BD4EB2B38645302A4F582447DA6E10B55123691AB17C6' +
'A9EEC11F24F84ED6E44C33E2792A77DC3799FB3D14D100FEF80D4' +
'EF6BA3B3E64DE4B07E3EF5FCB67AC85228E4A7DC1A6BAD7F72ED6' +
'1C99A557A438D30C1FB00472FB862A003121CDDBB11C57CD36E7B' +
'EDE99873B7D15F7115DAA892CF347ABA19BA28B9CCFC62253B913' +
'3AC5E87F2D338AACF4417A57576E73CF9AC734EBB935E01CBE896' +
'FB0279C87FFF2ACCBBC77BAD7C3A776E98EB955353B965F1F7E89' +
'EDBFE13E605C4599B5A86C83FF101955E834AD000AF59BB0D2146' +
'A6BAD770873BF2568ECE6EC48DE4AD656D2983BC4D13B081B8A9E' +
'A1467B418885B6B9196538EAE72B4DEDA2BD3A77975CE445D909D' +
'45EC1FA816BE28D7C578F4935A4E1CD4BF887AD997A9937203677' +
'C30D1A0A824513639EABADF3F557E1651255ED4F300F1E119A432' +
'F40F3AD5B2400D0804F9454B50ED06CF0CDB667EFC253BED9A352' +
'25C40AFD66B3E748D11C00578D5D8C346BFC5B2895B6EE0279D54' +
'C1CA3BBB857556D9C18E353A968DEE08E448997A744D262F629C8' +
'F7EA88EA7E1A8870A5914AEEA8E72B21C124D986F49F46C2BF6A7' +
'629CDC0FCAB8F75C85188D903C98FEA18A3EA85ECAAC023D2C891' +
'99969B6CC402832483DBF3B20EEB10F0DF37A046DB036A9909B93' +
'5A9A2994431F6D94163C2EF4C1BF54342122DBD170520B9B1CBD5' +
'D9D87065D91EF243BD191CDF3E02C14C9D3227F819C298F8DE3E1' +
'C224AE0BF9521709C5188A3AF4CD3FBC4B22226BC90FDE56E5515' +
'2CFA043CA3CA3A58E131D8AB5D8973E9AC55640CC3E570B4F1D87' +
'8A2B54B4D4F5B801CF42CCF916274B31D120F23BD139A854F455A' +
'DD935617726A2D3C0CB8E9628B32D5544DCDAF211FB09C7D6952E' +
'904ED0FFD339873D5448DD62C948C70E6D6ABA39CBDFFED0EBEA5' +
'69D997B04A2474C073EE4F17AEF7F181D3E8F45C2B0576FC47DF7' +
'1E05473D1A1672641B9B78A3D93416009FB785528281732F39492' +
'BCB52127D606F4401D12CE4846E8823F15E036C19414D724AA6B6' +
'B3F664B08766A09BB0ADF8583A2BD5888A98B522D978CD91D8CEB' +
'C209EC25D45EAA1A88B41570AA66D2A27E72AFC0278AD45F26E35' +
'E5C0B7348061DC43E5EA21027C39EB2E530CA89521E2FA97A3227' +
'0EBA1F6C24AF0D7284B7E8FEFFCD8EC50B3E8B1B2320F948C0E99' +
'6B07641B4A8157D42BDE07170AED375E811BE3AEF1ECB79440F18' +
'61006C10CA184170230C383D25926F53D7966227491DAD61FA9BF' +
'B3B4DC37B16E23CF53F5BE1387C425AEC60F1078699280412F557' +
'5F46A24DB32679A3D178D4E743E960E28BC1A1A00A5510A92A515' +
'A406D0FC5AED296F8D3C61735B8393E8D492FF0F9D9046B25426C' +
'D3EE4A0624D2DB0FD60278583173C802975015CB003D9A118B182' +
'E4ABA37E4B582274D4ABBD860ED86748BE2518BEF70B4C4562DE7' +
'A1915B6D915B9CD91A14FB2C971841BF8EC6F260C7E84AAE035D3' +
'E00DE858C9E08227860669F2A8542D6CB44269E41121414F15080' +
'AA6A2557A9BB00B4D881D5EF44F18F8A6BAC1C55DE8B141790197' +
'80624BBDA7451510EF7A3BAD0A4826760204B54DBAA3FFE3BC46C' +
'5C0E9162EA283832C009536D485D0F0EF213B744AAA4646402324' +
'F0A51897D502A4E3FAD2A0A5B081C7809EB9ECB6B2E0064416BA0' +
'D34C80615A08BE160F222151E8701FD68DDE2122AE271676C71DD' +
'5DE8102E484DEEF59078D1D43BB85EA561CD7C08D32AF49C8CD3B' +
'085D6230B8DC41BE1AF20620F010979A2C4DC90999A64846CAE0C' +
'DC0E3AB5AF09B9A1A9675281B4442B02A78D9D2B25BA2DA52957C' +
'4137D14511B019198267601704EB7A0791A36AC66D4C60F669EBD' +
'88A3043011AB16F2222F031CE07DE169EDD438135827DCBBB2EA3' +
'6A8F96B9DFDD5161A4F2128584984352C8609E2C854DFAC0BD784' +
'F741C451ED2B1FA8845090D3DEDAC45D614F3309389C87FAE7FD2' +
'CBA3A34054CF548BFAD476DA8A7D00E2BC351311FB20368C53327' +
'F74015D1F242E6429DDF75E83EC408171A1364EB0846B5D2840DC' +
'9D7226B7B34C45F1B1B40E0A440AD9581D17B0D08D0E35DD7A3EB' +
'646D3F78ACB5BC96A16A5BB8455065E64DB4299F6F76D44D97CE4' +
'2C7F9AB7D72443C1FD9194458F5DF408C411EE1152286CAB6D322' +
'7DB4C0954576D00A447675CE818056CD3FF520C78BE394DFCD790' +
'EE5AA330CD8021249846E475CF05DF82E8EC9F52522A8DE01A9C2' +
'84DC2A1D4D46D698745C24BFE2A60F5A2205C81120468EF63CE01' +
'E422373ABE895401A260C353B0E098D71F4E8B42927E154516A9C' +
'BED740B8FD408FC3FD417F35880355690601A39466569BF3D47C4' +
'C77C85AE227C98EB87B09B4060796FADD03179135C436F8A3CA3F' +
'C22BFF56829443068510B2086CA90F7AE1481F82604AC486EFE2C' +
'A0028E44FF755C7D8ED833D6D1DD1CA9A68C84A6F8EF6A09D130C' +
'4E39C054A44F51D21456E5BB9413F73FF2960E2D914F31AFF417E' +
'837850053A347545125CB5833E0AF5393289F1A510E5C2DA79034' +
'FA4D25955261380C70F961BDC39FC8FF66D458D8493D502F93DA0' +
'301B837EAF7D1EFA0428AB0EA48B0F240C8C2AA1744BA442609D3' +
'78EA48BE2EB9100B0CE5949807D44524F2729F643C68C420A0A67' +
'8EF1D71BC5FAA10124E7F8B3AA5FE4148EABC6A16A74B83D3C384' +
'8CCC221F6E5E28F710380F0453E1FA501F100809D1480FCDACFD2' +
'41714C5A0AE85C224D3884224E3421FDA3CD1350912846CD71240' +
'4EA421E811803E43BD048D0251AE3EDC8A86B71A7F60769420CC4' +
'54C10C54D19052904C092E48D78A1B789278D845EDA180DA29BE0' +
'CFDE12124E23D1A8DF5B3037041C0D4607C1C4083E841A1C01A91' +
'3061C8632CE770776D58F47B62D21E10EE4746FA0860A476FC3DD' +
'48E31C0BA2826FEC2CBFFA5A6C0D8785BF256E9479DCE19235D53' +
'652254FDE23F023229AEC20D563FEEAE73B2F660869DDF3942235' +
'8DB8439457D68E7B13670111154D8AC192F2DF216EDBF0AA7B581' +
'8AA4D2202E4B7DFB48378C61AF5AA2178644AA0A88002FD130FF7' +
'750AFC2BA5864729D4B1DC44A780F1E0C24039C717296F2C3B248' +
'AFA0CF0B2B8FBAE0D762D9805B0A062EF0A8630A56201AA851042' +
'994FF842D8483441C298AF98AB1C9232E52F0BE20E40C3E09E7E9' +
'6CFF7D5091A42FF3371722052DE24412F97BE7FA9E0872B590B7C' +
'328366DA877475BB09C6020FF1DB3B682202C6012AC0342A8FAE1' +
'173455C1415E0CEFA068D3F74DC6FA2DCDA6704382768F9371D53' +
'253391A069D4B0874B76FA67FD4CF98C0250A39804EC76842FB97' +
'3F42CCF0B9FE332D077288980B3B86581780537FE2A10920FD6C0' +
'E8B648900318B5708E8F7AA76A738373BBC433595E30820670C0B' +
'12C75BD5DC3C7A251BEA5153CC8751261D285C0A210D0F622FB03' +
'A54E2E2822B29044FAA9448DB236B213A3860A0EF02674DAF49E7' +
'284CEC4F3026964E4C056E87B7CEB2EDD5F1FEA5EA34EF437BA00' +
'E51DC2671E0437DDB4606281B8DFC890F4F21BA11CCF92C2C9189' +
'52CB206A2B83C980E1F4238C427A7CDFD3C7A04579F906E15655C' +
'0E9A49636E7CABBE8EA106F7160F78A8C9476C51A0321AE912306' +
'052A39EE8B50CE3B49005A544B4A0B860B61CD078112D91713D71' +
'CA5BE1A280274E905F946747AC698E4DF9233B0997D8176CE319D' +
'9A4B3A540E71C7A1ECB43A3F748C6D802E7E086C806E7EA68B372' +
'B0C46404854643B3E7D0FFBA319E1350A70AE6C48982ACE0069AA' +
'E9C1C33229C08807A54EE619BFCFD8D3A88A7938604BA35002FC6' +
'E11E26B87D329D0CFFD235229F2883D7A246CFB00DF88295D0335' +
'8789EAAF1DD2AE3A19A8472E90B98A9D7C14E670DA968655F96A3' +
'A03AD01F61118C0026DD008452CF1B24842A606D233A919A8FE85' +
'B6238A02518BCCE3400D04E2A5A406164B2A27F98E41F1B672737' +
'82AB4C6E42D498D2051A54ED0D4541DBD3EF0D8AD1E835D820AB4' +
'46D18FD82A84CA88AA039E0E21CF38A49AFA5A7C1367A4659314D' +
'3D65D5165CA0F386FFBAC6F6674311F304E183125C37FBCAC0953' +
'4549FA4E07852130B7357F47D4011102A411E5594B7660888A4DC' +
'37BE34094BA616DC70462EE0A283646980936C1867E6B1E90BF2E' +
'88884766E56B4362AFA8A2C52D247D7E81D69D33F920A3C2836E9' +
'242DF329F00C59D12A925C3963E15EAF669078026A89BB93B2991' +
'C7D38B2EA29B42C089F9551779C412BBEB25889B26B3E74C0A72B' +
'9661B83080AC6B90800ED318AA06D9C0E4E8A04BDFD093E2802C1' +
'DF54FBC491F20FE1A96E7FFC3C88F3F817DC6D83D3B9BEBD2C4BA' +
'AB78795EE96BA372D627C2D4658FE133CB235340E6C01722DFC5A' +
'6C49C88E11160258DD153C4C69374474B2E42AE34BE0C548114A5' +
'3C624E777A251CADDC20268140E1BE784EEBFEA768463A80BD649' +
'C6C8930405C32629CFF78CFAF8282863BB9878C8AE45EEEB79B84' +
'7BCA2EB5C455B54208DCC49A36D3F9D1EC65AA9B784DDD788806B' +
'0E75AC16D1EBB4FEC1CFD5580B649D59017B212453AEA9DF6CFB2' +
'C3550E2A37831B595AF1D7ADBEABFA937DB96076C48E44124E743' +
'ED2B36DD7704B3A48F7243E2AE9EF46DA85571C452C507F525048' +
'6842C1BF026720E9F4DD0B9B0DC9469E708A90D4D6E237D08ECEC' +
'B2F8943786CA2BDE4D735E2489EA54CAC34EFEEEFAC7755E3F8BC' +
'2CD5A19E95C2ACEED46A98EAECD0C03436D79F2F647F9616E55B0' +
'B8C0246D0DD0FFCCCCA7BD5509A5C126A994C098D25399AA6993A' +
'58CB8D158DE8E976A4D80AB549AD6CACC7941A943EEFD2816B689' +
'152194BF32F7581D278593C63FB956B847C02838E9085F3BCF0B7' +
'81D79840472592A08625534824288632FA6773C1D43C774C5C561' +
'03FD351E4834AD3EAF6E4CBA4487867EFC3DF6905DAA65734DC82' +
'1888976F1818844A7606248A788FDDD1F06A3BCD07C156920F79A' +
'0F1A0221422AD5841D6E6BC70B5CAD4F95ADC7D7D16C3C84B8AC6' +
'8D153CAAE23941D48BC249D23045C5D8459438B8D1CF24EEC84B5' +
'04163A734CD9EA8993EF1689B7CBDAC51058894C8FB6ABD2567BE' +
'B1E58763A0DE26380B380688C247D765D6F6AF1BFFA11AD978A2E' +
'ED948FE8C180CAA8E902834EC5B9A388DCA61AD41B3D720F3C0A3' +
'4E5FA7B3F9ABF54F875AEBF44522D6478332524D64C2CA719C1CA' +
'ED7347B52232E329B734F4CD71945E314172527B4D34C019D4301' +
'AF0FFE48A76B8401D30BEA460DADE9668DF0C36201B6A7AA97CA3' +
'C01F70D94130C1031BA00BCB229771CE6AA1A8947D1F431C160F9' +
'D0B2706748C4FE90E59723AF9CEFC45F6840840EC2EDB0075397E' +
'123BE1BBEFBFB5C591944277DF7C4496591A999DB484B5E238E43' +
'39FD6779C9BE8EC31310CA370FDAE6373FDA7C82902A94C63AC23' +
'910FE0256884D32B17CFD8BDECF2A1D1AB522B36A15418EEE0E51' +
'7A3C1B4C043125650C7591B43C03D78475BAE53A76E9F8A785B82' +
'0D855997367F00C774996FA1C43E35F5A268262E736893057D4C0' +
'51BD7855D4FD98F8A9A857DF73397D9AF2C2781CCFCBA517CE044' +
'589FFD2E8874611BB1AE397574E486C2120605E7B866617311080' +
'ED6764B5E64989548D900B3D2886F2192114046804B8685410F78' +
'D4B1C852B6A72F6D7F54E02BDD1583E5630A2BC69F2AD7CF75C6D' +
'DE5ED839E7E5E49B1490387AC2D9C055693E3F7578CF26578894D' +
'5B4F7956AF0E4A3EFD0BAD4F96774C2D548F57346616638EE5916' +
'ECBF137A162ED008D2D278DDD4285CA71AF767EE80D8A2A64075E' +
'A448B87A9D24DCD9FAE01D9EE3305DF51DCEF2BAC4E66DF443B74' +
'4DA20BC17002C43C6B6C10BF1CE6A6958D4244CD2108D10AEB6CB' +
'87D5E4E290D7646D53A32BE139173E6630B810B5CBC58DB9AF1B2' +
'8350A280877E79C119220AF0D64BC3D5F1A3E786BE8A45DD43036' +
'6F7EFF223F888583ECE05EEDE1A07F7714600276ADC058C6257D5' +
'B05A6F1AD31F9D0FA62672505097EA35C087FAA778B72294DF00E' +
'08BC68B1E9559D8431F2D1CB5C6D2F3F671D7C61ECC1817022388' +
'6AEFCBCAB6E1EB8267D8841E48067235778820D5AA91A75172BD1' +
'2F33A28901DE7B4B59BB2B58B466CF7D67AA16D6B6AC510273967' +
'0A50F6D5341002F059313C93DDCD21EC7F081B32387F17D9E94DE' +
'BD3A87F94AE9827C88D8AE9417FD826CB2FE0D335330EFEA09B51' +
'39F87234511EFA7D012081D38D1A2925B4CECE639CF5A8F36772F' +
'A1A4F08B408911F669AE3DE12631AE9D1C89E09857C7C8F2EE04A' +
'84A8F834B5E6E3815EAD90D8C1D7D86B6CE298469A3EAF61A141B' +
'CCEE997B5BC5F325722D2E42872FCC4AE6BDD1E59205F9BAC65B3' +
'4D19ED4AD68C4F8726604D8AF0184FC6B145776967FE3E563C428' +
'2438C74A07BFC50B800A495A931A1F834F01574CCD19A8C01EB0D' +
'E255A5D0F02984055D44AF0119E85E0A159601E9407EE28FC843A' +
'3918BEEB38151E3DEBC6A563D93356AB66A1157AB0FCC693D920B' +
'D3FCFA1E6A5422DCC8C8D44884A931C1255EC98F66C4CD67854DC' +
'B16307DE44E0BC4846F81D7698D3867732B4037F9489D34D9DAF4' +
'5722F25AC9AD3531DDF62CCAD1540FFA2CC87A1CB9913C5A8D96D' +
'702CE65267E64EF74A20D0C918909E31C280BFE491A017795FBD1' +
'606DB8A61209DF661AE206D38E26FE9B5640952AA2955E2D54AE8' +
'2FC9925F75C4C0320F777EE5503B557336E0451EB8586F5ADCFDA' +
'D652EDE0951C17ED414774AD50593ECF4176B47E7B42F787573A8' +
'048829586CB61DFD0D8EEDC3091F647F6F4BE3D8F5ABC729AD6F9' +
'B776E9CACCFD817CE32D323FD453C9A7128346DBEDB27FF12D54E' +
'042A3702D8EFF61BCA3A581AF68B4006BA93FDF79BD14335E442A' +
'D0FD6FFE3817FD620B142368285E02D5380068D06AD1D67C72070' +
'7A128962BE1DE801B4C88B0BF765F37D2953852A85C6806620B8B' +
'344CAB1E19626A0CCB032223B1AD8A2DD81387567A6BED88BAA93' +
'86A512C9A80E5C80443018D53734019D94CB712E16E9A0BE16A60' +
'20582A25619AD97D505002FD361DD4C438ABAE4BBF7C5EA928902' +
'D93F1E7EF0FDD7A47D953C3333F6065C2F55EE9E86843FA69A447' +
'2338F81EF78B976E9262D3C8A4D6EF6ABCF114AD24D484426C57C' +
'3F87413A5D94ED4DABA95D1C4F4084C0FB557DB5AF84BCCD10776' +
'C02EFDB684E8831B04DA91277F632E76005FD873BFB15546C4265' +
'C0A049349986207B243AF1179B117B53FBBF37EF6BE30DE23A63F' +
'EF893308F939E6F32D6EA46BED91840915A2315C5D6B782554ADF' +
'6E73D1C27FEDA01460412D0E20849EE3C6841DA0F5B4322A55D09' +
'C2A06BA2BBF7EC4EBEB9E7CD9FE958BDC7B5229BB0BFB8548A0F4' +
'FA7F91774F28595401BADAD828450CDA8AC31F58BB9433414E1E4' +
'1AA91237F6785EC0FFADDF1283F772C8B3E15EF03EB8A687B74D2' +
'01C24065E49055ED3BA93BFE5485867F48577D6778F3252BEEFBD' +
'A7A4DFE6F778298A713C9BC1F7CF6FA6FC5B7EE6E94A43E23E939' +
'7A649715D17DCABDCB996EAA3377FD8AFE7AC2DFD0218834420E5' +
'E68BD638E32FC12F792DB9511E1310D458E591BB8A191577B37EC' +
'F2B880A3B5169C002CF665BAB7C7C8AE91746A662B7BF6AE614D0' +
'204A493E640BBF8AF41238239DECC836B733086D474674864FFCF' +
'337AA77C34FAE9CA52B82CFBE2983FECAD5DB34EF97FDF9F47306' +
'C7AB0CBBED11BFD9541F4DC73D2D923D5A4F8931589F575D452B5' +
'178EDBF0B2DF7EFB5840A7E806FB1613EB49CA466B27335CB3CFB' +
'31C2724F453C2834CB91A4CEE55D23B59C3C23592ED19EFF924E7' +
'9518EB2F751245771DC0F76B94E1EAEE282774AF038378FFFFBF6' +
'8873BD1FBF3FFBFF7D3779C671C5C066FAB018D9D1AA7475C7F24' +
'CE97749C7753899E5FDF65F2AD9FAC3FCFEABEB4758D1478592CF' +
'D6C98960B9C90B4CC3834C225FB6AF1FE5B57F50E89B2345C33E3' +
'1A1F229D94F657AEEDE37831FD67076F844E9CBF8CE535F966FF4' +
'977D784133D7637E58863BD16FF43E8CF389F9C707D1D32BFB158' +
'77BD2ED6CB2B83A2DF27DFFF1449E11774991FB899AE1A572C61F' +
'253BDF1C153A2963512A8F464CFB213BD4A35CBCC73FA9529D793' +
'FF5FC89F907DF3E157BE89DFAC911953F7EA964B84623411E73DC' +
'CAD2B883695EF69A7EC6BAB518DEFB8E93A228EAA7EFBEEFBD137' +
'19D17161C1A50271707D5D8F65395ECE2F530FE914138A77E57FE' +
'F9D4D9901ACB8BBBD95AA1FD87DD628BE83BAD512A4F083371A31' +
'A2827C2F28F1F77EF6CEEAFDB55C1FAF48BB4ABFCCF765769E26B' +
'8F89E3DEC7E3EC7D0E38F9AFAEEEBFF73F44FE2AA64452CB17A6F' +
'DCB991A8E2DF6D7FB2FCCD015E32FF45FF6F81F2E83B2AD');
SrlClose := BitmapFromString(12, 12, 'z78DA6D525B8E452108DB924FD44F' +
'5EEE7F49D3234C321F0309B9178FB52DDC62CD9A2F41FA1115F52' +
'D2C8C7AE4647F090939C99081DAA567ED8C70D1A6ED561B3650A7' +
'CD7FEB775AAC5AF5ABAEEEA6470FEE76ED78D7C4CCCE3EDB5D117' +
'96B989BDF66DBBE3EC8658DBBBF1D4470F0C1CEDF211D429B9412' +
'677AF57A23DE6FBBC701F0F45EFC41BEC0DD79A6F1BEFB2A53A1E' +
'2AC454B327F3CC167D98AEFBDF1E205CCE225111CD454DBD8635B' +
'FFEC53039D93AE06E7C7369F85BB9E6889F95E61E9A71F9DB34E6' +
'8D87557DBB0E7A4F3E11BCB95EB538A94C0FF8BA36BD224B9A30C' +
'B05F630D18AC5B6D6DDA94B30B5631D950A79790721B32F8A085A' +
'439E68022080602D2C6473D548043951A4CEEC610920986803082' +
'1923D1061B5B781BFE80DB5C33A7D678C3FCBF0E176E487E6E94D' +
'1468B7D48B79F27F14AF89CDCDE7C43AF0A356A62FDF6AB1D42B1' +
'E25867C9BE7E7D395866C7F0B12EA114FEC09AE37D76A882E5121' +
'309266C9DF141C710346A9EEE8EE4DAA993579E3C7F006418D02B' +
'');
end;
begin
Try
LoadBitMaps;
SafeInitForm;
LoadUs;
Finally
FreeForm(MainForm)
FreeBitMap(SrlPic);
FreeBitmap(SrlClose);
Except
Writeln('ERROR: With Loading SVN');
Writeln('Email ~ Sky Scripter or pm him for help');
end;
end.
Ty, ty, could you add the following things :
Is Active - check box (unchecked) - 0. Player Active?
User Name Edit - Box
Pass word Edit - box
Lamp Skill combo - Combo box
Loads Edit - Box
Bank Pin Edit - Box
User Name Label - TLabel - 0. Username
Password Label - Label - 0. Password
Lamp Skill Label - Label - 0. Skill
Bank Pin Label - Label - 0. Bank Pin
Left Button - <<
Create Player button - Create Player
Delete Player button - Delete Player
Right Button - >>
I think that's all…
Add that visually and I'll put in all components for the buttons/ labels so they function when you click/edit them.
Edit: "me and him were chatting about it on msn…."
Could you please add me on MSN : [email]Icefire908@netscape.net[/email]
Is there a list of who is in what group, just out of curiosity ?…I would like to help with the project, by contributing to the responder in group 2 Thanks, RAM
SKy Scripter
2007-05-22 01:11:44
i added you on MSN and i will do icefire….
Errr…. should i take out the SRL Tractor or leave it in…
the bitmap takes about 200 lines… the form just wouldnt look as pretty…???
if i took it out though…. :confused:
rkroxpunk
2007-05-22 03:15:10
From: RAM_RUNE
Is there a list of who is in what group, just out of curiosity ?…I would like to help with the project, by contributing to the responder in group 2 Thanks, RAM
front page first post :D not sure if everyone's stuk to their groups
Dark_Sniper
2007-05-22 12:22:12
Special i think we need to be more strict on who we allow to update MSI
i had to revert 5 revs because it was all f 'ed up.
Boreas
2007-05-22 14:39:32
Welcome to our world ;)
Dark_Sniper
2007-05-22 16:23:30
im not kidding you.
there were so many errors!
~alex~
2007-05-22 16:36:30
Any procedures I added I made sure compiled before commiting
Special Ed
2007-05-22 16:56:30
Oh People people… Please it Is Not that hard to test it before you commit… just a simple click will make all these problems go away.
So I am setting up some protocol for updating MSI.
[1] - Check all your work, read through it and make sure everything compiles.
[2] - Test and re-test all your procedures multiple times before even adding them into the MSI Folder.
[3] - Test your function using includes, not using hard functions *in the same script*.
[4] - Run MultiScript to test for errors / fix errors.
[5] - Update your MultiScriptOutline Folder.
[6] - Commit.
DO NOT DO ANYTHING WITHOUT FOLLOWING THIS CHECKLIST!
Dark_Sniper
2007-05-22 17:09:32
ya please follow the list…
special and I have spent an hour cleaning up the errored versions because of how much work was devoted to those revs that you guys decided to put errors into.
Wanted
2007-05-22 20:54:43
I'm having some difficulty with the forms since I'm not used to all the arrays, I'll figure it out though, give me a few days I'll get it done just be patient.
Smartzkid
2007-05-22 20:59:45
:p I like arrays alot; I find them a nice way to challenge myself to think (unlike school these days, which only forces you to memorize [mostly useless] facts)
If you need any help, drop me a PM, and I'll do my best
Wanted
2007-05-22 22:14:40
Well, I'm used to doing things like…
CreateButton.Onclick := @CreateUser;
but now it's something wierd, with arrays and their in weird places so I have to do some jibberish translation, maybe I'll figure it out when SKy comes back online.
SKy Scripter
2007-05-23 00:24:17
Well, I'm used to doing things like…
CreateButton.Onclick := @CreateUser;
but now it's something wierd, with arrays and their in weird places so I have to do some jibberish translation, maybe I'll figure it out when SKy comes back online.
lol, sorry i was worried it might confuse you a little…. because me doing
arrays is alot easier… but this way SAVES so many lines and ect…..
i think it compiles faster too.. :p so if you need help then pm or MSN….
Edit :
If (Sender = ControlButton[1]) then
begin // (Go Back) <<
// Somthing in here that makes it go back
end;
If (Sender = ControlButton[2]) then
begin // Create a New Acount
// somthing in here that makes it create a new acount..
end;
If (Sender = ControlButton[3]) then
begin // Deleate Acount
// somthing in here that deleats the acount
end;
If (Sender = ControlButton[4]) then
begin // (Go Forward) >>
// somthing in that makes it go to the next user
end;
//pretend these are procedures but all in one...
For i:= 1 to 4 do
ControlButton[i].OnClick := @AllSenders
Dark_Sniper
2007-05-23 00:55:50
hey sky scripter you cannot add a main loop into an include.
thats what you did with your forms no worries i fixed it.
SKy Scripter
2007-05-23 01:16:03
hey sky scripter you cannot add a main loop into an include.
thats what you did with your forms no worries i fixed it.
lol thanks, but.. i already know.. niether am i done…. :p
i will eventually get to this heheh…. Sorry for confusing you guyz…
How about i will do EVERY Thing With The Forms And Ect…. so i dont confuse anyone any longer…. so IceFire i can take care of the player stuff ect… deleates what i gave you guyz and i will take care of the rest…
Edit :
I Finally Read The Instructions And Figured Out the The Commmit And Update Stuff…!!!
SO i can put in the forms and stuff too… :p i guess Instructions are Important lol…
Dark_Sniper
2007-05-23 02:11:52
wow i hope other people learn to read.
i put in a test script to make sure everything compiles… and no one uses it and commits errors for the hell of it XD.
well im cleaning up the code still no more errors just so much stuff out of order its not funny lol owell.
SKy Scripter
2007-05-23 02:17:39
wow i hope other people learn to read.
i put in a test script to make sure everything compiles… and no one uses it and commits errors for the hell of it XD.
well im cleaning up the code still no more errors just so much stuff out of order its not funny lol owell.
Well, i looked at what you fixed and you didnt do it.. quite yet..
it doesnt work… i will fix it as soon as i can update stuff lol…
Your user account name is: sky_scripter
Your account will be shown on the site as: sky_ripter (sky_scripter)
this is the SourceForge Stuff…
Dark_Sniper
2007-05-23 02:45:15
well re update i organized some stuff with FCMB…
AND
I MADE IT SO THE REV # UPDATES AUTOMATICLY SO NO MORE MANUAL REV # EDITING WOOT!
also your added.
do not screw up the include
Wizzup?
2007-05-23 03:26:37
From: Dark_Sniper
woot
ya some help from wizzy yay
Is there anything you guys need?
I have no idea how far you are, but you can use my functions in the draynor netter. (as far as I know you are netting too, right?)
~alex~
2007-05-23 03:32:07
From: Wizzup?
Is there anything you guys need?
I have no idea how far you are, but you can use my functions in the draynor netter. (as far as I know you are netting too, right?)
Yeah we are, thanks man.
Dark_Sniper
2007-05-23 03:40:08
i think we got that covered… idk.
i know the guys have spent like a week of unnecessary Wood cutting functions that they could have done in a couple hours XD.
so mabnye they havent done fishing yet who knows.
SKy Scripter
2007-05-23 03:41:25
you should record the chats history
program New;
{.include SRL/SRL.scar}
Type
TChatter = Record
Name : String; // The Name Of The Player
Chatted : Array of String; // Players Chat history
end;
TChatterArray = Array of TChatter;
Var
Chatter : TChatterArray;
ChatMark : Integer;
Function NewName(Name : String) : Boolean;
Var
i : Integer;
begin
if (Name ='') then exit;
Result := True;
For i := 0 to GetArrayLength(Chatter)-1 do
If (Chatter[i].Name = Name) then
begin
Result := False;
Exit;
end;
SetArrayLength(Chatter, GetArrayLength(Chatter)+1);
Chatter[GetArrayLength(Chatter)-1].Name := Trim(LowerCase(Name));
end;
Function NewChatText(Name, Text : String) : Boolean;
Var
i, c, Cr : Integer;
begin
if (Name ='') then exit;
Result := True;
For i := 0 to GetArrayLength(Chatter)-1 do
If (Chatter[i].Name = Name) then
begin
For c:= 0 to GetArrayLength(Chatter[i].Chatted)-1 do
If (Chatter[i].Chatted[c] = Text) then
begin
Result := False;
Exit;
end;
cr :=GetArrayLength(Chatter);
SetArrayLength(Chatter[cr-1].Chatted,
GetArrayLength(Chatter[cr-1].Chatted)+1);
cr :=GetArrayLength(Chatter);
Chatter[cr-1].Chatted[GetArrayLength(Chatter[cr-1].Chatted)-1] := Trim(LowerCase(Text));
Break;
end;
end;
Function RString(Texts : Array Of String) : String;
begin
Result := Texts[Random(GetArrayLength(Texts))];
end;
Function PosMulti(substr : Array Of String; S: String) : Boolean;
Var
i : Integer;
begin
For i := 0 to GetArrayLength(Substr)-1 do
begin
Result:= (Pos(SubStr[i], S) > 0)
If (Result) then exit;
end;
end;
{Procedure RespondChat;
Var
l, c : Integer;
begin
l := GetArrayLength(Chatter);
c := GetArrayLength(Chatter[l-1].Chatted);
Writeln(Chatter[l-1].Name ':' + Chatter[l-1].Chatted[c-1]);
If (PosMulti('r min', 'mining lv', 'mine lv', 'm lv', Chatter[l-1].Chatted[c-1])) then
begin
}
Function FindNewChat : Boolean;
Var
Name, Text : String;
begin
If (FindColor(x, y, 16711680, 19, 415, 477, 431)) then
begin
LastChatter(Name);
GetLastChatText(Text);
If (NewName(Name)) or (NewChatText(Name, Text)) Then
begin
RespondChat;
Result := True;
Exit;
end else
Writeln(Name + ':' + Text); // err i have found this text before...
end;
end;
record the user NAME
And What he chatted.. then you have the USERS Chat History
so you know what the USER Said…
i didnt really look at it but… we dont want the Same
user Asking the same questin overr and over again….
Edit : Havent Tested it yet….
Edit 2: i am going to add some more stuff in the FORM but are we going to
have a Manual or Somthing!!?!?!!?!? because i could place a button that links to it….
@Wizzup : i think we are netting…
shaunthasheep
2007-05-23 09:06:30
talking about forms…. i just uploaded one for Progress Forms… Check it out…
Need feedback if we are going to actually use something like this…
Wizzup?
2007-05-23 09:55:54
From: SKy Scripter
you should record the chats history
Have a look at Chatlog.txt in the SCAR root… :)
EDIT: Nvm.. good work.
Wanted
2007-05-23 12:02:34
From: SKy Scripter
lol, sorry i was worried it might confuse you a little…. because me doing
arrays is alot easier… but this way SAVES so many lines and ect…..
i think it compiles faster too.. :p so if you need help then pm or MSN….
Edit :
If (Sender = ControlButton[1]) then
begin // (Go Back) <<
// Somthing in here that makes it go back
end;
If (Sender = ControlButton[2]) then
begin // Create a New Acount
// somthing in here that makes it create a new acount..
end;
If (Sender = ControlButton[3]) then
begin // Deleate Acount
// somthing in here that deleats the acount
end;
If (Sender = ControlButton[4]) then
begin // (Go Forward) >>
// somthing in that makes it go to the next user
end;
//pretend these are procedures but all in one...
For i:= 1 to 4 do
ControlButton[i].OnClick := @AllSenders
Dude, that helps me a ton, I can get this done now! :)
Edit: Almost done I'll commit it in about an hour :)
Edit2: This form is p0wning some serious ass, Almost done!
SKy Scripter
2007-05-23 13:44:44
Have a look at Chatlog.txt in the SCAR root…
EDIT: Nvm.. good work.
lol did i do somthing noobish…?
Dude, that helps me a ton, I can get this done now!
Edit: Almost done I'll commit it in about an hour
Edit2: This form is p0wning some serious ass, Almost done!
yes! thats means i dont have to do it lol… :p
talking about forms…. i just uploaded one for Progress Forms… Check it out…
Need feedback if we are going to actually use something like this…
hmmm, sounds good ill check it out :p
Wizzup?
2007-05-23 14:01:14
From: SKy Scripter
lol did i do somthing noobish…?
No, it's just that the developers have a auto responder as you know, and that saves everything that has been said to the Chatlog.txt file.. I forgot that it was Dev only.. :)
Wanted
2007-05-23 14:02:39
Crap Errors, SKy Get on MSN I need to ask you some questions about the form. :-p
SKy Scripter
2007-05-23 14:05:53
No, it's just that the developers have a auto responder as you know, and that saves everything that has been said to the Chatlog.txt file.. I forgot that it was Dev only..
LOL, i thought i was stupid for a sec… wait… i still am but…
you had my going all puzzled….
and i didn't know Dev got a better SRL include lol..
Edit
Crap Errors, SKy Get on MSN I need to ask you some questions about the form. :-p
fine i will head home now…. :p
WT-Fakawi
2007-05-23 15:26:27
Is the MSI-Team interested in a specialised Forum of their own? With subforums like for example:
- MSI Projects
- MSI Progress
- MSI Bugs
- MSI Finished scripts
I will make you one if you'd like, cause one thread only doesnt seem very effective….
P.S.: Please provide me with proper subforum titles if you want this.
Wanted
2007-05-23 15:34:12
Ok annoucement.
Everything that is in walking.scar that is like
Mouse(x, y, 1, 1, true)
Flag
Needs to be
BlindWalk(x,y, 1, 1)
anything like FFlag(0) can stay though…
_____________________
Anything to do with banking must have a pin solver!
very very easy just add one of these
if (PinScreen) then
begin
InPin(Players[CurrentPlayer].String1);
end;
I'm almost done setting up all the player options… Bank Pin will be String1 and the skill be trainned or whatever will be String2.
I will probably need to add more options but for now I'm not going to waste time adding a bunch of player options into the form until they are needed.
-Ice
Edit: One more thing, I'm adding a nick name generator that will also be generating a location.
The Players.loc will be set to : 'Not Yet Started Autoing.'
Dark_Sniper
2007-05-23 15:42:26
From: WT-Fakawi
Is the MSI-Team interested in a specialised Forum of their own? With subforums like for example:
- MSI Projects
- MSI Progress
- MSI Bugs
- MSI Finished scripts
I will make you one if you'd like, cause one thread only doesnt seem very effective….
P.S.: Please provide me with proper subforum titles if you want this.
wow thats extremely generous.
Thank you so much.
Special and I will work out the sub forum names
Special is not on but this is what i got so far:
MSI Forum >>
Multi Script Include Section
MSI Announctments
MSI Download
MSI Team Scripts
MSI Personal Scripts
MSI Projects
MSI Suggestions
MSI Bugs
will we be given access to post announcements in these sub-forums?
the above list is not official… need to run it by special if he gets on.
shaunthasheep
2007-05-23 15:51:25
From: Icefire908
Ok annoucement.
Everything that is in walking.scar that is like
Mouse(x, y, 1, 1, true)
Flag
Needs to be
BlindWalk(x,y, 1, 1)
anything like FFlag(0) can stay though…
_____________________
Anything to do with banking must have a pin solver!
very very easy just add one of these
if (PinScreen) then
begin
InPin(Players[CurrentPlayer].String1);
end;
I'm almost done setting up all the player options… Bank Pin will be String1 and the skill be trainned or whatever will be String2.
I will probably need to add more options but for now I'm not going to waste time adding a bunch of player options into the form until they are needed.
-Ice
Edit: One more thing, I'm adding a nick name generator that will also be generating a location.
The Players.loc will be set to : 'Not yet started Autoing.'
Whats so special about blind walk
there was already a function before blindwalk.. called
MouseFlag(x, y, randx, randy);
i dont think blindwalk does anything special then what that already does.
Doofy
2007-05-23 16:12:51
yeah Fawki thanks a lot….. would it be for all members or just for everyone listed in special's first post? that'd be sick.
Wanted
2007-05-23 16:16:19
Lol, there's a big difference
Whats so special about blind walk
there was already a function before blindwalk.. called
MouseFlag(x, y, randx, randy);
i dont think blindwalk does anything special then what that already does.
MouseFlag is this..
procedure MouseFlag(cx, cy, rx, ry: Integer);
begin
Mouse(cx, cy, rx, ry, True);
Flag;
Wait(300 + Random(200));
end;
Blind walk is a bit more complex than Just clicking an x and y then Flag.
MouseFindFlag ->I'm not even going to mention the errors this aviods…
procedure MouseFindFlag(ax, ay, xmod, ymod: Integer);
var
xx, yy, BreakOutTime: Integer;
begin
if (not (FlagPresent)) then
begin
xx := ax;
yy := ay;
MarkTime(BreakOutTime);
repeat
xx := xx + xmod;
yy := yy + ymod;
Mouse(xx, yy, 2, 2, True);
until (FlagPresent) or (xx < 570) or (xx > 725) or
(yy < 5) or (yy > 160) or (TimeFromMark(BreakOutTime) > 20000);
end;
end;
if not FlagPresent then WaitTillFlag -> I've tried just using Flag, it doesn't work always
if not FlagPresent then
begin
while (not FlagPresent) or (FailSafe < 30) do
begin
Wait(100);
FailSafe := FailSafe + 1;
Result := True;
end;
if not (FailSafe >= 30) then
Result := True;
if (FailSafe >= 30) then WriteLn('ERROR: Could not find flag!');
end;
Flag; -> FFlag screws up at different angles. so that's why I'm saying leave the Mouse -> FFlags alone.
So you see I've actually put forth a bit of thought on how to aviod common problems that would come from just using MouseFlag or Mouse -> Flag.
Idk man, look at these two procedures and tell me they are the "basically the same"
You're comparing something that's speficaly designed for Map Walking with X and Y mods with something that just reduces 3 lines so you don't have to do as much coding..
function BlindWalk(mmx, mmy, Xmod, Ymod: Integer): Boolean; //By Icefire908.
var
FailSafe, OldMouseSpeed: Integer;
begin
OldMouseSpeed := MouseSpeed;
MouseSpeed := 1;
MouseFindFlag(mmx, mmy, Xmod, Ymod);
if not FlagPresent then
begin
while (not FlagPresent) or (FailSafe < 30) do
begin
Wait(100);
FailSafe := FailSafe + 1;
Result := True;
end;
if not (FailSafe >= 30) then
Result := True;
if (FailSafe >= 30) then WriteLn('ERROR: Could not find flag!');
end;
Flag;
MouseSpeed := OldMouseSpeed;
end;
procedure MouseFlag(cx, cy, rx, ry: Integer);
begin
Mouse(cx, cy, rx, ry, True);
Flag;
Wait(300 + Random(200));
end;
You tell me…
bullzeye95
2007-05-23 16:17:16
Whoa awesomeness! Thanks Fakawi :). Me and Darky were talking on Ventrilo about that. We had some ideas. First, there could be another title for the MSI Devs (like an SRL Dev or a CopyBuster), and a special 4 or 5 people could make announcements on that board. We were thinking Special Ed, Dark_Sniper, Me (bullzeye95), Smartzkid, and (this one from me) The_RS_Monkey. Not to push anything on you ;)
Dark_Sniper
2007-05-23 16:22:00
geez bullzeye lets settle for the sub forums first ok :p
then if MSI works out we can suggest stuff like that lol.
heres what i got so far… im sure special will be happy with it:
<< MSI Forum >>
Multi Script Include Section
MSI Announctments
Multi Script Include Announctments.
MSI Download
Multi Scirpt Include Download.
MSI General
General Talk About MSI.
MSI Team Scripts
Scripts By The MSI teams.
MSI Personal Scripts
Scripts made by one person.
MSI Projects
MSI team projects in the making.
MSI Suggestions
MSI Script and include suggestions.
MSI Bugs
MSI Script or include bugs.
Special Ed
2007-05-23 16:35:02
From: Dark_Sniper
geez bullzeye lets settle for the sub forums first ok :p
then if MSI works out we can suggest stuff like that lol.
heres what i got so far… im sure special will be happy with it:
<< MSI Forum >>
Multi Script Include Section
MSI Announctments
Multi Script Include Announctments.
MSI Download
Multi Scirpt Include Download.
MSI General
General Talk About MSI.
MSI Team Scripts
Scripts By The MSI teams.
MSI Personal Scripts
Scripts made by one person.
MSI Projects
MSI team projects in the making.
MSI Suggestions
MSI Script and include suggestions.
MSI Bugs
MSI Script or include bugs.
Yea looks good to me. I think this will really get more people into this project as well.
shaunthasheep
2007-05-23 16:37:53
From: bullzeye95
Whoa awesomeness! Thanks Fakawi :). Me and Darky were talking on Ventrilo about that. We had some ideas. First, there could be another title for the MSI Devs (like an SRL Dev or a CopyBuster), and a special 4 or 5 people could make announcements on that board. We were thinking Special Ed, Dark_Sniper, Me (bullzeye95), Smartzkid, and (this one from me) The_RS_Monkey. Not to push anything on you ;)
Thank you for thinking that, but i dont think i will be active in this project much(maybe i will?), I also wouldn't know what to announce.. etc. But if you want, i won't mind. But i think you 4 will do just fine. ;)
And this project seems to be turning into an include to make scripting easier IMO.
btw make sure only SRL members can see the boards.
SKy Scripter
2007-05-23 17:24:27
:eek: im gone for a few hours and this… lol
this would be awsome… :p
Icefire get the stuff i updated that include
you should be able to place the player stuff in the form know…..
Wanted
2007-05-23 18:12:02
much much better, almost done…
Bobarkinator
2007-05-23 20:18:38
From: Dark_Sniper
wow thats extremely generous.
Thank you so much.
Special and I will work out the sub forum names
Special is not on but this is what i got so far:
MSI Forum >>
Multi Script Include Section
MSI Announctments
MSI Download
MSI Team Scripts
MSI Personal Scripts
MSI Projects
MSI Suggestions
MSI Bugs
will we be given access to post announcements in these sub-forums?
the above list is not official… need to run it by special if he gets on.
Make a subforum for people or admins of the project to suggest functions that need to be done.
Dark_Sniper
2007-05-23 20:38:28
Wanted
2007-05-23 21:22:22
Crap, we were so close to finishing and then we realised the player saving/loading isn't in the proper place for it to load the players into the form
It will be a few more days before completion :(
Special Ed
2007-05-23 22:40:31
From: Icefire908
Crap, we were so close to finishing and then we realised the player saving/loading isn't in the proper place for it to load the players into the form
It will be a few more days before completion :(
Awww.. oh well keep at it guys!! I know you can make this work great!
Ejjman
2007-05-23 23:31:26
Wizzup?, I'm going to take a look at your way of finding the fishing pot alright? And if SB is alright with it, maybe look at his powerfisher, as I've used it and it is excellent. :)
SKy Scripter
2007-05-23 23:31:39
lol, dont worry i will get the form to work…. :p IceFire thinks its my form..
but im pretty sure it was he might have made a mistake….
whoo knows… :p
Edit: who ever made the WoodCutting its very nice… you just need to make sure it
wont chop with out a axe :p i tested it… also have it chop yew trees if wc is 60
Dark_Sniper
2007-05-24 00:02:46
cant…
be a waste a time.
way to many bots.
even at that yew by draynor.
Wanted
2007-05-24 00:23:07
Not on Member servers.
Dark_Sniper
2007-05-24 00:25:30
we might do somthing for that but for now no.
SKy Scripter
2007-05-24 02:30:20
finally,
it saves the password and ect… it was taking me forever..
i got alot from yakman script though…:p
we might do somthing for that but for now no.
ok just thought it would be helpfull lol :p
rkroxpunk
2007-05-24 03:10:54
Umm has there been walking for the mine…..if so then I think I will get onto this mineing the ore that's best at it's lvl
shaunthasheep
2007-05-24 07:36:19
i released yet another form (in competition with skys form lol) and i think its much nicer IMO… but i think it can only hold like 20 tabs.
But you guys can decide.

maybe i can add like 2 option buttons to switch between free and member skills.
that solves the tab problem..
Bobarkinator
2007-05-24 13:01:18
I like your form a lot Rs Monkey, we should have a poll to vote, I'm not sure who's is better, yours or SKys
shaunthasheep
2007-05-24 13:35:32
ty. but i think the poll should wait until we get the sub forums.
Wanted
2007-05-24 13:46:59
SKy's is a bit more advanced… I don't think there is much of a competition… You should work on something else besides SKy just got all the setup to work.
shaunthasheep
2007-05-24 13:50:02
advanced? im not done with mine yet.. mines pretty basic right now.. and no offence(i really mean no offence) but i think skys form looks like a peice of junk *trying to not use harsh words* even tho his is mostly drawn..
i can get the setup players.. that like i said is only an example.
My form is in the MultiscriptOutline if ur only looking at the picture.
Still nice code on the form tho sky.
Smartzkid
2007-05-24 15:58:29
Wouldn't it be a bit more efficient if we all agreed on one form and worked together to finish it?
IMHO, We could change forms later if someone makes a better one, but for now, I think we should be concentrating on getting everything to work well, so we can get to our official 'first release'.
Special Ed
2007-05-24 16:23:16
Hey I Don't want competition with this project I want compromise, maybe you and sky can work together and work something out.
And Sky for your form, I don't necessarily mean that you select what each character is going to do, I meant that it would just be compatible with MSI and could display stats for all the different skills. The Forms aren't meant to be the script just to display stats and set up characters.
Dark_Sniper
2007-05-24 16:44:06
Stop with the forms… they r getting to be huge and all the errors mainly are comming from them.
what i think is we should let the forms be developed in the main script…
and keep forms out of MSI.
we can make a setup form like SRL has.
so the user can set things.
Wanted
2007-05-24 17:58:23
Yea, the forms are to complicated and are being focused on to much, I'll make a simple one like the SetupSRL.scar and you guys tell me what you think.
SKy Scripter
2007-05-24 18:07:15
agh! all that hard work for nothing :(
edit:
i really needed to know wtf to put on the tabs and the form and ect….
Wanted
2007-05-24 18:08:53
For nothing?
What??!! you can still use that form it just doesn't mean it will be for FCMB.
Besides it wasn't for "nothing" you learned a lot about using the player arrays with the forms.
SKy Scripter
2007-05-24 19:09:15
err, lol ok…
but i want to do other things then just FORMs…
Ejjman
2007-05-24 19:47:30
From: SKy Scripter
err, lol ok…
but i want to do other things then just FORMs…
Find the BEST BEST way to monitor a fish hole and stuff. HSL prolly lol.
Wanted
2007-05-24 19:57:59
X-X…
You mine as well write a monkey madness quest runner while your at it :p
Dark_Sniper
2007-05-24 23:46:43
ok guys..
ill be gone for like a day or so…
reason being is i need one day to get over my dog getting killed..
and one day to play guitar hero II
Doofy
2007-05-25 00:12:12
sorry to hear about your dog….
btw: how good are you at gh 2? i have one song left to beat on expert, then i have to play free bird on expert.
SKy Scripter
2007-05-25 02:39:51
lol i will be gone for 3 days as well.
i have a huge family reunion thingy…. i suck at HSL i hate colors….
but i need to improve too… :p
Wizzup?
2007-05-25 03:15:50
From: Ejjman1
Find the BEST BEST way to monitor a fish hole and stuff. HSL prolly lol.
Arg.. just use my functions…
Uses var fishnetcolor.
Function FindFishingSpot(Var x, y: Integer): Boolean;
Var
I, ArrC, MinX, MinY, MaxX, MaxY, FishColor: Integer;
FPt: TPointArray;
Begin
If Not LoggedIn Then Exit;
If x = $0 Then x := $106;
If y = $0 Then y := $AA;
ColorToleranceSpeed(2);
If FindColorSpiralTolerance(x, y, 15181944, 5, 5, 515, 336, 20) Then
Begin
FishColor := GetColor(x, y);
FindColorsSpiralTolerance(x, y, FPt, FishColor, x - 20, y - 20, x + 20, y + 20, 40)
ArrC := GetArrayLength(FPt);
MinX := 1 Shl 10;
MinY := 1 Shl 10;
For I := 0 To ArrC - 1 Do
Begin
MaxX := Max(MaxX, FPt[I].X);
MinX := Min(MinX, FPt[I].X);
MaxY := Max(MaxY, FPt[I].Y);
MinY := Min(MinY, FPt[I].Y);
End;
x := (MaxX + MinX) Shr 1;
y := (MaxY + MinY) Shr 1;
Result := True;
ColorToleranceSpeed(1);
Exit;
End Else WriteLn('Color Not Found.');
ColorToleranceSpeed(1);
End;
Function FollowSpotFast(Var x, y: integer): Boolean;
Begin
If Not LoggedIn Then Exit;
ColorToleranceSpeed(2);
Result := FindColorSpiralTolerance(x, y, 15181944, x - 30, y - 30, x + 30, y + 30, 40);
ColorToleranceSpeed(1);
End;
Function Fishing(x, y: integer): Boolean;
Var
NetPoints: TPointArray;
Begin
If Not LoggedIn Then Exit;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(x, y, NetPoints, 2306108, x - 20, y - 20, x + 20, y + 20, 40)
If GetArrayLength(NetPoints) > 25 Then
Begin
Result := True;
End;
ColorToleranceSpeed(1);
End;
Function FindWhirlPool(x, y: integer): Boolean;
Var
FishPoints: TPointArray;
Begin
If Not LoggedIn Then Exit;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(x, y, FishPoints, 13947343, x - 20, y - 20, x + 20, y + 20, 40)
If GetArrayLength(FishPoints) > Round(230 * WhirlPoolAcc) Then
Begin
WhirlPools := Whirlpools + 1;
WriteLn(IntToStr(Round(GetArrayLength(FishPoints) / 1600))+ '% Change');
Result := True;
End;
ColorToleranceSpeed(1);
End;
Function IsFishNet: Boolean;
Var
x, y: Integer;
Begin
If Not LoggedIn Then Exit;
GameTab(4);
Result := FindColor(x, y, FishingNetColor, MIX1, MIY1, MIX2, MIY2);
If Result Then Exit;
Result := FindBitmapToleranceIn(FishingNet, x, y, MIX1, MIY1, MIX2, MIY2, 25);
If Result Then
Begin
FishingNetColor := GetColor(x, y);
WriteLn('FishingNetColor: ' +IntToStr(FishingNetColor));
End;
End;
Function FindNet: Boolean;
Var
x, y: Integer;
Begin
If Not LoggedIn Then Exit;
Result := True;
If Not IsFishNet Then
Begin
NoNet := True;
Result := False;
Wait(4000+Random(1000));
If FindObj(x, y, 'mall', FishingNetColor, 0) Then
Begin
Mouse(x, y, 0, 0, True);
Wait(100);
FFlag(0);
Wait(500);
If IsFishNet Then
Begin
Result := True;
Nets := Nets + 1;
ReportVars[2] := ReportVars[2] + 1;
NoNet := False;
Exit;
End;
End
Else
Begin
CallBTime := CallBTime - 25000;
Mouse(665, 72, 5, 5, True);
FFlag(0);
Wait(1000+Random(500));
If FindObj(x, y, 'mall', FishingNetColor, 0) Then
Begin
Mouse(x, y, 0, 0, True);
Wait(100);
FFlag(0);
Wait(500);
If IsFishNet Then
Begin
Result := True;
Nets := Nets + 1;
ReportVars[2] := ReportVars[2] + 1;
NoNet := False;
Exit;
End;
End;
End;
End;
End;
Function RotateAndFollow(Var x, y: Integer; Time: Integer): Boolean;
Var
RotateTime, Key: Integer;
Begin
If Not LoggedIn Then Exit;
Key := Random(2);
Case Key Of
0: KeyDown(VK_LEFT);
1: KeyDown(VK_RIGHT)
End;
RotateTime := GetSystemTime;
Repeat
Result := FollowSpotFast(x, y);
Wait(10);
Until GetSystemTime - RotateTime > Time;
Case Key Of
0: KeyUp(VK_LEFT);
1: KeyUp(VK_RIGHT);
End;
FindFishingSpot(x, y);
End;
Those should be enough, and this is an example on how to fish:
Function Fish: Boolean;
Var
x, y, FishTime, MyTime, RotateTime, RotateNum, FishCount: Integer;
Begin
If Not LoggedIn Then Exit;
FindNormalRandomsTimeEx;
If FindFishingSpot(x, y) Then
Begin
RotateNum := 15000 + Random(20000);
If Not FindWhirlPool(x, y) Then
Begin
Mouse(x, y, 0, 0, True);
FishTime := GetSystemTime;
RotateTime := GetSystemTime;
Result := True;
Repeat
If FindWhirlpool(x, y) Then
Begin
Mouse(648, 84, 4, 4, True);
Wait(100);
Break;
End;
If Not FollowSpotFast(x, y) Then
Break;
MyTime := GetSystemTime - FishTime;
If MyTime > 5000 Then
Begin
If Not LoggedIn Then Exit;
FindNormalRandomsTimeEx;
If GetSystemTime - RotateTime > RotateNum Then
Begin
RotateAndFollow(x, y, 400 + Random(400));
RotateNum := 15000 + Random(20000);
RotateTime := GetSystemTime;
End;
If Not FindNet Then Break;
If IsFKeyDown(5) Then MMouse(x, y, 0, 0);
If Not Fishing(x, y) Then FishCount := FishCount + 1 Else FishCount := 0;
If FishCount > 15 Then Break;
If FindFight Then
Begin
HandleFight;
End;
If MyTime > 60000 Then Break;
End;
Wait(50);
Until False;
End;
End
Else WriteLn('No Fishing Spot');
End;
Oh, and if you want to pick more colors of a net, use this: (Change Rod to net, and stuff..)
Function NumberDoesntExist(Ar2: Array Of Integer; Number: Integer): Boolean;
Var
I: Integer;
Begin
Result := False;
For I := 0 To GetArrayLength(Ar2) - 1 Do
Begin
If Ar2[I] = Number Then
Exit;
End;
Result := True;
End;
Function ShrinkArray(YourArray: Array Of Integer): Array Of Integer;
Var
I: Integer;
Begin
SetArrayLength(Result, 0);
For I := 0 To GetArrayLength(YourArray) - 1 Do
Begin
If NumberDoesntExist(Result, YourArray[I]) Then
Begin
SetArrayLength(Result, GetArrayLength(Result) + 1);
Result[GetArrayLength(Result) - 1] := YourArray[I];
End;
End;
End;
Function IsFishRod: Boolean;
Var
x, y, i: Integer;
Ar: TPointArray;
Begin
If Not LoggedIn Then Exit;
GameTab(4);
Result := FindColor(x, y, FishingRodColor, MIX1, MIY1, MIX2, MIY2);
If Result Then Exit;
Result := FindBitmapToleranceIn(FishingRod, x, y, MIX1, MIY1, MIX2, MIY2, 25);
If Result Then
Begin
FishingRodColor := GetColor(x, y);
FindColorsSpiralTolerance(x, y, Ar, FishingRodColor, x - 20, y - 20, x + 20, y + 20, 45);
SetArrayLength(FishRodColors, GetArrayLength(Ar));
For I := 0 To GetArrayLength(Ar) - 1 Do
FishRodColors[I] := GetColor(Ar[I].X, Ar[I].Y);
FishRodColors := ShrinkArray(FishRodColors);
WriteLn('FishingRodColor: ' +IntToStr(FishingRodColor));
End;
End;
Function FindRod: Boolean;
Var
x, y, i: Integer;
Begin
If Not LoggedIn Then Exit;
Result := True;
If Not IsFishRod Then
Begin
NoRod := True;
Result := False;
Wait(4000+Random(1000));
MakeCompass('W');
Wait(500);
WriteLn('Finding Rod');
For I := 0 To GetArrayLength(FishRodColors) - 1 Do
Begin
If FindObj(x, y, 'rod', FishRodColors[I], 4) Then
Begin
Wait(40);
Mouse(x, y, 0, 0, True);
Wait(100);
FFlag(0);
Wait(500);
MakeCompass('N');
If IsFishRod Then
Begin
WriteLn('Found rod:' +IntToStr(I));
Result := True;
Rods := Rods + 1;
ReportVars[2] := ReportVars[2] + 1;
NoRod := False;
Exit;
End;
End Else WriteLn('Did not find the Rod: '+IntToStr(I));
End;
End;
End;
Var
FishingRod, FishingRodColor: Integer;
FishRodColors: Array Of Integer;
BTW: To get findobj working, you need to remove FindMSColorTol from FindObj..
~alex~
2007-05-25 03:50:29
Or use findobj3 :P
Wizzup?
2007-05-25 03:59:09
From: ~alex~
Or use findobj3 :P
The main problem is that FindMSColorTol uses MMX1, MMY1 MMX2 MMY2, lol.
SKy Scripter
2007-05-25 04:18:26
The main problem is that FindMSColorTol uses MMX1, MMY1 MMX2 MMY2, lol.
lol that explains so much. lol i was making a script and findobj
wasnt working… couldnt figure out why… :p
Edit : i dont know what to do……?
Wizzup?
2007-05-25 04:36:19
From: SKy Scripter
lol that explains so much. lol i was making a script and findobj
wasnt working… couldnt figure out why… :p
Edit : i dont know what to do……?
Change it to:
function FindMSColorTol(var x, y: Integer; color, tol: Integer): Boolean;
begin
Result := FindColorTolerance(x, y, color, MSX1, MSY1, MSX2, MSY2, tol);
end;
In Color.scar
EVERYONE should do this.
Abyssal
2007-05-25 08:01:14
Wow this is coming along greatly love the movable form and all that (yea a little late my bad) but woo!
rkroxpunk
2007-05-25 09:34:54
err as far as I can tell no walking to mine?? or am I going blind. I can walk but only using RW nothing else :D havn't tried anything yet….so if ur desperate I'll do it or else walking team ;)
Wanted
2007-05-25 11:22:59
Tell me a starting point and a destination (take a screen shot of the world map and use paint to show me) then I'll write your walking procedure.
Edit: This is all I really need
Example:->Picture

->Short description
From Rimmington Mines to Fallador East Bank (FEB).
Wizzup?
2007-05-25 11:51:29
How many skills are you guys making… I though this idea was for draynor only.. :p
Wanted
2007-05-25 12:06:43
"Location: Draynor."
I must have missed that… You're right
Edit: I just updated my Colors.Scar in SRL
This should be an announcement in the SRL update page…
FindMSColor and FindMSColorTol are searching the mini-map….
WT-Fakawi
2007-05-25 12:58:37
Special Ed: PM me for MSI subforum categories.
SKy Scripter
2007-05-25 13:12:25
lol Wizzup? when i said
"Edit : i dont know what to do……?"
i meant in SVN and stuff not how to change FindMsColor :p
Wanted
2007-05-25 13:44:22
He means change it in Your SRL not the SVN.
Dark_Sniper
2007-05-25 13:52:21
i have findobj modded in misc so it works right right.
@ faka
i'll pm you the cats if thats ok(since special is not on).
@ whoever was asking about GH II
well i just got it and it was m,y first time playing…
so i just beat easy.
going onto medium.
SKy Scripter
2007-05-25 16:55:12
He means change it in Your SRL not the SVN.
thats not what i said…
no but really you guys you want to make forms,
well can i do somthing new :p i need to know what to do…. :confused:
shaunthasheep
2007-05-25 16:58:18
just try to add useful functions to the Skills files or Extended. Im bored also lol.
WT-Fakawi
2007-05-25 19:42:59