SRL Archive - MSI Suggestions

The MSI core TO-DO LIST!


Coh3n

2010-04-15 21:43:55

MSI Scripting Standards
A How-to Guide for MSI Scripting

Hey everyone,

If you're looking to help out with MSI on a smaller scale then this is just the thread for you!

As some core issues are starting to arise on other threads, I figured it would be nice to create a formal list of what needs to be done to improve the MSI core. If anyone has any suggestions on what should be added, or if something has already been done please feel free to post it here, so the list can be updated. :)

If you decide you want to tackle something on this list, then I encourage you to create a thread about it in this forum. This way we can keep everything clean and organized. If you want to take on something from this list post which one here and I'll assign your name to it so we know who's working on what. If you want to work on something that's already been assigned you can post on the thread and any questions can be directed at the person assigned to the project.

Major (difficulty: expert):

Major (difficulty: hard-expert)

Minor (difficulty: medium)

Minor (difficulty: easy)

Minor (difficulty: very easy)
  • Add world-choosing to each player
  • Skill Expansion
  • There are usually a few bugs that come up that could be fixed. Some are so simple they take less than five minutes to fix. :) Any known bugs can be found in the bugs section of the forums.

Cheers,
The MSI Team

* = High priority

Sir R. M8gic1an

2010-04-15 21:49:12

Yours is better, I decided to add my shortered word list as it'll be easier for a quick view, while yours explain better to someone who isn't aware of what we're on about. Maybe include a link to where it's been discussed?

~RM

Coh3n

2010-04-15 21:51:48

I'll add the link. I would rather have a separate thread for each for discussion, but I have to be patient. :)

Ejjman

2010-04-15 21:53:32

I will get DDTM of all [logs, ores]?


And you can adjust for how you want. It'll be basic, but good.

Sir R. M8gic1an

2010-04-15 21:55:14

From: Coh3n
I'll add the link. I would rather have a separate thread for each for discussion, but I have to be patient. :)


Have those in here (svn forums), where we discuss single ideas in detail.. keep the other thread flowing mostly with the ideas in general :)

Basically: any real coding & discussion of coding happens here, it'll be easier for us afterwards to find out why we did something if we ever question it, or just if someone wants to get involved mostly in coding or discussing they know where to go :)

~RM

Sir R. M8gic1an

2010-04-15 21:56:20

From: ejjman1
i will get ddtm of all [logs, ores]?


And you can adjust for how you want. It'll be basic, but good.



if you decide you want to tackle something on this list, then i encourage you to create a thread about it in this forum. This way we can keep everything clean and organized.


;) MSI picking up steam! :)

~RM

Coh3n

2010-04-15 21:58:12

From: Ejjman1
I will get DDTM of all [logs, ores]?


And you can adjust for how you want. It'll be basic, but good.

Cool, we'll also need to figure out how to load it without having to change all the functions that use the DTMs.

From: Rasta Magician
;) MSI picking up steam! :)

~RM

Exciting isn't it?

Ejjman

2010-04-15 22:05:15

From: Coh3n
Cool, we'll also need to figure out how to load it without having to change all the functions that use the DTMs. I was thinking something like this IF it will work.


function MSI_LoadDDTM(which: Integer): Integer;
begin
//all the crap here
end;


HATCHET_BRONZE : //Coh3n
with MSI_Item[HATCHET_BRONZE] do
begin
Name := 'Bronze Hatchet';
UpText := ['onze hat'];
ItemP := Point(0, 0);
Colors := [1649466, 1583415, 1715516];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDDTM(HATCHET_BRONZE);

BMP := BitmapFromString(5, 5, 'beNoT5LbXl7bRlbL' +
'SlgSiMEEeCAOIzDUlgFwgicw1UhWFsIEoRJBbX1kEzg4BAL4aC8A=' + '');
end;



On top of it :)

Sir R. M8gic1an

2010-04-15 22:07:50

From: Coh3n
Cool, we'll also need to figure out how to load it without having to change all the functions that use the DTMs. I was thinking something like this IF it will work.


function MSI_LoadDDTM(which: Integer): Integer;
begin
//all the crap here
end;


HATCHET_BRONZE : //Coh3n
with MSI_Item[HATCHET_BRONZE] do
begin
Name := 'Bronze Hatchet';
UpText := ['onze hat'];
ItemP := Point(0, 0);
Colors := [1649466, 1583415, 1715516];
Tol := 3;
Stackable := False;
DTM := MSI_LoadDDTM(HATCHET_BRONZE);

BMP := BitmapFromString(5, 5, 'beNoT5LbXl7bRlbL' +
'SlgSiMEEeCAOIzDUlgFwgicw1UhWFsIEoRJBbX1kEzg4BAL4aC8A=' + '');
end;


Exciting isn't it?


Can't be, otherwise you'll lose the refference to the BMP location once you exit the function, if you load it onto the type record.

BMP := MSI_LoadBMP(HATCHET_BRONZE);

Edit: nvm, wasn't looking at DDTM part, was looking at BMP part :p

~RM

Nava2

2010-04-15 22:24:38

You could almost use a Bug Tracker too ;)

Perhaps Wizzup would let you extend into the SRL one!

Sir R. M8gic1an

2010-04-15 22:25:50

From: Nava2
You could almost use a Bug Tracker too ;)

Perhaps Wizzup would let you extend into the SRL one!


Maybe… although I like keeping things in the forums so everyone can discuss without any hassles…

~RM

Sir R. M8gic1an

2010-04-16 10:33:16

Adding Simba Compatibility to the list.

~RM

Coh3n

2010-04-18 13:58:30

Added Stats.scar to the list.

Sir R. M8gic1an

2010-04-18 14:04:24

From: Coh3n
Added Stats.scar to the list.


Move the discussion of it to somewhere public.

~RM

Coh3n

2010-04-18 14:05:10

From: Rasta Magician
Move the discussion of it to somewhere public.

~RM

Already did a couple days ago. :)

Coh3n

2010-04-18 17:01:58

Simba compatibility is done, I'm running it in Simba now and it's looking good. :)

Coh3n

2010-06-22 18:15:07

Added MSI_FindRandoms.

:o Triple post

E: Updated.

Sir R. M8gic1an

2010-07-18 08:59:07

I'm working on MSI's debug. I need TooltoString. Should be easy :p

~RM

Coh3n

2010-07-20 19:05:48

Added a few things to the list. Some of the things are pretty simple, I'd like the see someone give them a try. :)

Coh3n

2010-07-21 13:55:31

The script now banks and drops everything except the required tools.

NCDS

2010-07-22 00:52:09

Removed 'Bird nest finding'.

Will be committed in the morning.

Coh3n

2010-07-22 06:11:08

Awesome. I also added resetting players during runtime.

3Garrett3

2010-07-22 14:12:44

I'm adding loads per player, testing now. I can't edit your post though, so if you wanna remove it.

Coh3n

2010-07-22 18:55:25

From: 3Garrett3
I'm adding loads per player, testing now. I can't edit your post though, so if you wanna remove it.

Done. PM RM if you want mod abilities.

3Garrett3

2010-07-22 20:02:11

From: Coh3n
Done. PM RM if you want mod abilities.


I've bothered him multiple times, it's not a priority. I can commit now, but guaranteed there will be conflicts, I hate this..

Coh3n

2010-07-22 20:08:53

From: 3Garrett3
I've bothered him multiple times, it's not a priority. I can commit now, but guaranteed there will be conflicts, I hate this..

=\ Sorry, I just committed a lot of stuff too.

3Garrett3

2010-07-22 20:22:06

I opened up a new folder, called the old one MSI dev, updated my new msi folder to the newest rev, added my stuff from dev, committed msi, then updated msi dev. It compiled, and I tested all day today, it seems to work right. Hopefully I didn't mess up.

Coh3n

2010-07-22 22:55:15

From: 3Garrett3
I opened up a new folder, called the old one MSI dev, updated my new msi folder to the newest rev, added my stuff from dev, committed msi, then updated msi dev. It compiled, and I tested all day today, it seems to work right. Hopefully I didn't mess up.

I'm sure it's fine. :)

E: You didn't do what I thought you were doing. What you did will still work, but it's not exactly what was suggested. What you did was add to the DeclarePlayers to choose when to switch players/break specific for each player (not the TOTAL loads to do). What was suggested was to set the TOTAL amount of loads per player.

So, we need to restore the BREAK_AFTER constant (so the script will still break/switch players after that many loads), and change the Loads[0] to Loads[LOADS_TOTAL]. You didn't really change anything (it still does the exact same thing as it did before, just in a different way).

Sorry man, that was out misunderstanding.

Sir R. M8gic1an

2010-07-23 04:52:02

From: 3Garrett3
I've bothered him multiple times, it's not a priority. I can commit now, but guaranteed there will be conflicts, I hate this..


I'll add you as mod now. (I thought I already had)

btw, what happened with Fishing.scar? As long as it compiles, go ahead and commit whatever you have.

~RM

3Garrett3

2010-07-23 14:17:56

From: Coh3n
I'm sure it's fine. :)

E: You didn't do what I thought you were doing. What you did will still work, but it's not exactly what was suggested. What you did was add to the DeclarePlayers to choose when to switch players/break specific for each player (not the TOTAL loads to do). What was suggested was to set the TOTAL amount of loads per player.

So, we need to restore the BREAK_AFTER constant (so the script will still break/switch players after that many loads), and change the Loads[0] to Loads[LOADS_TOTAL]. You didn't really change anything (it still does the exact same thing as it did before, just in a different way).

Sorry man, that was out misunderstanding.


Oh, I thought you meant to add it how many loads before they changed.. What's the difference? People actually want their script to set a person false after a certain amount of loads?

All we need to do then is add "LOADS_SETFALSE = 3" and then set Loads[LOADS_SETFALSE] = 500000000; in the declare players, then add something in the main loop, it would be much easier that way, and then the loads per person are reported in the proggy, and are customizable and random.

I just never realized that people wanted a script to not get the maximum amount of pixles they could..

E: @RM,

I have most of it done, I'm working on other parts of MSI at the same time. I need to learn how to properly set up the items and then add tools, and all of the foundation will be in there.

Coh3n

2010-07-23 15:43:58

From: 3Garrett3
Oh, I thought you meant to add it how many loads before they changed.. What's the difference? People actually want their script to set a person false after a certain amount of loads?

All we need to do then is add "LOADS_SETFALSE = 3" and then set Loads[LOADS_SETFALSE] = 500000000; in the declare players, then add something in the main loop, it would be much easier that way, and then the loads per person are reported in the proggy, and are customizable and random.

I just never realized that people wanted a script to not get the maximum amount of pixles they could..

E: @RM,

I have most of it done, I'm working on other parts of MSI at the same time. I need to learn how to properly set up the items and then add tools, and all of the foundation will be in there.

Well assuming the script is amazing, some people don't want they're players autoing for 24+ hours straight, even with breaks.

And I already fixed it. You can take a look at it if you want. You were in the right area, you just overcomplicated it.

3Garrett3

2010-07-23 16:02:53

From: Coh3n
Well assuming the script is amazing, some people don't want they're players autoing for 24+ hours straight, even with breaks.

And I already fixed it. You can take a look at it if you want. You were in the right area, you just overcomplicated it.


I don't like what you did at all.

When I have multiple players running, I take into account what they are autoing and where etc. Say one player is powercutting, I might want him to do more loads than a player who is banking in draynor willows because he has a less chance of getting banned. Or one player is a lvl 15 cutting oaks, and the other one is a level 99 cutting yews, I'll care more about the 99 than the 15, and make him do more loads = more cash. I prefer individual load breaks rather than a universal number.

Especially since I put the system there already, it doesn't make sense to downgrade it back to what we had :P

Coh3n

2010-07-23 16:25:46

From: 3Garrett3
I don't like what you did at all.

When I have multiple players running, I take into account what they are autoing and where etc. Say one player is powercutting, I might want him to do more loads than a player who is banking in draynor willows because he has a less chance of getting banned. Or one player is a lvl 15 cutting oaks, and the other one is a level 99 cutting yews, I'll care more about the 99 than the 15, and make him do more loads = more cash. I prefer individual load breaks rather than a universal number.

Especially since I put the system there already, it doesn't make sense to downgrade it back to what we had :P

I don't think you understand what I did. It's not what we had before… I'm not sure you understand exactly what it does.

The BREAK_AFTER constant will switch players (keeping the previous player active) or break (if using single player, still keeping the player active). What I added was the TOTAL amount of loads for each player to do. Meaning, a player has 99 woodcutting and you don't want him banned, so you set him to do 30 loads. Once he hits 30 loads he will logout and be set to false.

What you did was add the BREAK_AFTER type deal to each player, which doesn't really make much sense because they will still do 300000 loads if the script never messes up, thus more chance of getting banned.

Sir R. M8gic1an

2010-07-23 16:42:54

Errr…. I think you both have different things in mind.

I'd never want my players to stop, but I guess you would.

I would have my players SWITCH after a few loads.

player 1 - 5 loads
player 2 - 7 loads
player 3 - 5 loads

etc.

~RM

3Garrett3

2010-07-23 16:44:03

From: Coh3n
I don't think you understand what I did. It's not what we had before… I'm not sure you understand exactly what it does.

The BREAK_AFTER constant will switch players (keeping the previous player active) or break (if using single player, still keeping the player active). What I added was the TOTAL amount of loads for each player to do. Meaning, a player has 99 woodcutting and you don't want him banned, so you set him to do 30 loads. Once he hits 30 loads he will logout and be set to false.

What you did was add the BREAK_AFTER type deal to each player, which doesn't really make much sense because they will still do 300000 loads if the script never messes up, thus more chance of getting banned.


What I want is both. I will always be setting my total loads to 9999999999999 or whatever high # I find will suffice, and then setting my loads individually. What I do when I run a script is want individual total load amounts, yours is set to do 5 each player, I want to be able to do 3 on one player, 8 on another, 5 on another. That system was set up.

If you want total loads, all you have to do is revert to my system and add another constant/expand the array length and then add Loads[TOTAL] to declare players..

Coh3n

2010-07-23 17:34:20

From: Rasta Magician
Errr…. I think you both have different things in mind.

I'd never want my players to stop, but I guess you would.

I would have my players SWITCH after a few loads.

player 1 - 5 loads
player 2 - 7 loads
player 3 - 5 loads

etc.

~RM

That was one of the most common suggestions I got in my other scripts: to set the amount of loads to do. If the script never messed up, would you want your player autoing 24+ hours straight?

From: 3Garrett3
What I want is both. I will always be setting my total loads to 9999999999999 or whatever high # I find will suffice, and then setting my loads individually. What I do when I run a script is want individual total load amounts, yours is set to do 5 each player, I want to be able to do 3 on one player, 8 on another, 5 on another. That system was set up.

That is exactly what it does now. What you had didn't do that. I don't know how to better explain this to you. You're getting the const and var mixed up…

The 5 is NOT the total loads per player like you just said. The total loads is set per player, which is exactly what you just said you want…

Sir R. M8gic1an

2010-07-24 04:15:48

Garrett, the const is just an index to the array….

~RM

Sir R. M8gic1an

2010-07-24 04:50:58

Someone committed without checking it compiled. YAY!


[Hint] C:\Simba\Includes\srl/srl/msi/MainLoop.scar(797:3): Variable 'BREAKAFTERLOADS' never used at line 796
[Error] (225:21): Unknown identifier 'BREAK_AFTER' at line 224


[php]
BreakAfter := BREAK_AFTER;
BreakTime := BREAK_TIME;
[/php]

And looking at the code, I'm kinda guessing who that was..

Really sucks that I don't know how to properly use svn on ubuntu yet.

Whoever did it, undo it. SVN doesn't blame the mainloop >.> how stupid.

~RM

3Garrett3

2010-07-24 12:19:09

No see my problem is that I can't speak english apparently.

I want it to do what RM said, what I scripted in the first time, the system that worked..

E:

Player 1 - 5 loads then switch
Player 2 - 2 loads then switch
Player 3 - 9 loads then switch

Total load for all players - 0929329435219349812493824509274352348

So it goes forever with multiple players, and switching works at individual load amounts.

Coh3n

2010-07-24 13:38:12

From: Rasta Magician
Someone committed without checking it compiled. YAY!



[php]
BreakAfter := BREAK_AFTER;
BreakTime := BREAK_TIME;
[/php]

And looking at the code, I'm kinda guessing who that was..

Really sucks that I don't know how to properly use svn on ubuntu yet.

Whoever did it, undo it. SVN doesn't blame the mainloop >.> how stupid.

~RM

Both RunMe.scar and CompileMSI.scar compile for me.

From: 3Garrett3
No see my problem is that I can't speak english apparently.

I want it to do what RM said, what I scripted in the first time, the system that worked…

Are you saying that what I did doesn't work?

The original suggestion was to set the number of total loads per player (at least that's what I got out of it). I apparently just couldn't understand what either of you were trying to say. :o My apologies, and I think it would be good to have both the total loads and loads to switch in the DeclarePlayers (like you said, Garrett).

I'll take care my mistakes right now.

Again, I apologize. I didn't mean to be rude to you in any way (if I came across that way).

E: http://villavu.com/forum/showthread.php?p=726276#post726276

3Garrett3

2010-07-24 17:49:41

From: Coh3n
Both RunMe.scar and CompileMSI.scar compile for me.


Are you saying that what I did doesn't work?

The original suggestion was to set the number of total loads per player (at least that's what I got out of it). I apparently just couldn't understand what either of you were trying to say. :o My apologies, and I think it would be good to have both the total loads and loads to switch in the DeclarePlayers (like you said, Garrett).

I'll take care my mistakes right now.

Again, I apologize. I didn't mean to be rude to you in any way (if I came across that way).

E: http://villavu.com/forum/showthread.php?p=726276#post726276


I was saying that what I added seemed to work, but you removed it, and it appears you've added something which resembles it now, I'm much happier with it, so I can personalize the loads as much as I want now :)

Coh3n

2010-07-25 10:24:18

From: 3Garrett3
I was saying that what I added seemed to work, but you removed it, and it appears you've added something which resembles it now, I'm much happier with it, so I can personalize the loads as much as I want now :)

Yeah, sorry. For some reason I didn't think it was done right. The part that you were trying to do worked, there was just the total loads that you left out and I thought the whole thing was wrong. I tried to do a combination of both. :) Glad you like it.

3Garrett3

2010-07-25 10:26:46

From: Coh3n
Yeah, sorry. For some reason I didn't think it was done right. The part that you were trying to do worked, there was just the total loads that you left out and I thought the whole thing was wrong. I tried to do a combination of both. :) Glad you like it.


I very much enjoy it, thank you for being understanding with it :)

Coh3n

2010-07-25 10:35:06

From: 3Garrett3
I very much enjoy it, thank you for being understanding with it :)

:) I guess I got caught up in how I wanted MSI to be and started blocking our other people's work if I didn't like it for some reason. Believe me, that won't happen again. :) <3

3Garrett3

2010-07-25 10:36:30

From: Coh3n
:) I guess I got caught up in how I wanted MSI to be and started blocking our other people's work if I didn't like it for some reason. Believe me, that won't happen again. :) <3


I forgive you <3

But get on msn, chat me up about Fishing :P

Coh3n

2010-08-04 23:48:50

Added the object/location records for the AIO Miner.

Sabzi

2010-08-05 07:39:06

Please, add item withdrawing from bank.
I can do it, but my super awesome way will withdraw essence no matter what script you use. Although you never know when you will need some essence. :D

I mean to the to-do-list, but it's fine if you just add it to the core :p.

Coh3n

2010-08-05 10:35:19

From: Sabzi
Please, add item withdrawing from bank.
I can do it, but my super awesome way will withdraw essence no matter what script you use. Although you never know when you will need some essence. :D

I mean to the to-do-list, but it's fine if you just add it to the core :p.

There's already an MSI_Withdraw function. However, it may not work anymore and it may need to be rewritten since the new item functions have been made.

I think it should be written to be similar to MSI_Deposit anyway.

Sabzi

2010-08-05 11:34:35

From: Coh3n
There's already an MSI_Withdraw function. However, it may not work anymore and it may need to be rewritten since the new item functions have been made.

I think it should be written to be similar to MSI_Deposit anyway.


I'm not talking about that.
It's when you need things for the script(essence - RC, ores - Smelting, etc, etc)
Right after depositing in MSI_BankMaterials. You have already written what should be done in connection with this in the runecrafting thread.

Coh3n

2010-08-05 12:08:51

From: Sabzi
I'm not talking about that.
It's when you need things for the script(essence - RC, ores - Smelting, etc, etc)
Right after depositing in MSI_BankMaterials. You have already written what should be done in connection with this in the runecrafting thread.

Oh the RequiresWithdrawal and WithdrawalItems thing, right. I'll add the Runecrafting.simba thread to the list, along with Magic.simba. You should update that thread with what needs to be done regarding Runecrafting. ;)

Coh3n

2010-08-06 16:03:55

Added the messages you get when total level < 60.

Coh3n

2010-08-08 11:28:46

Added that MSI_Withdraw needs fixing/rewriting.

Coh3n

2010-08-17 19:39:07

Updated.

Coh3n

2010-08-30 22:51:52

Added SMART Debugging.

Coh3n

2010-08-31 13:46:15

Updated with people assigned to each project.

E: Assigned myself to the Relocator.

Coh3n

2010-08-31 20:11:36

Added color walking.

3Garrett3

2010-08-31 21:34:50

From: Coh3n
Added color walking.


Worth it to develop my TPA_Walk and/or start trying it with the colour walk so that we have one more option for the steps?

Sir R. M8gic1an

2010-08-31 22:10:56

From: 3Garrett3
Worth it to develop my TPA_Walk and/or start trying it with the colour walk so that we have one more option for the steps?


Whatever works I'd say

~RM

Coh3n

2010-09-01 01:01:15

From: 3Garrett3
Worth it to develop my TPA_Walk and/or start trying it with the colour walk so that we have one more option for the steps?

If it works, absolutely. You can just add it to Walking_Color.simba, and it's there for people to use if they wish. I agree though, if it works well, it could really speed up the color developing.

Sir R. M8gic1an

2010-09-01 06:15:19

From: Coh3n
If it works, absolutely. You can just add it to Walking_Color.simba, and it's there for people to use if they wish. I agree though, if it works well, it could really speed up the color developing.


There's nothing to not work well about it ;) It's just a question of if we want any further customization or not; I suspect that for many cases it won't be necessary.

~RM

3Garrett3

2010-09-01 10:58:42

From: Sir R. Magician
There's nothing to not work well about it ;) It's just a question of if we want any further customization or not; I suspect that for many cases it won't be necessary.

~RM


The only further customizations that I could see are things like compass angle and such, but those can be changed in the walking, rather than TPAWalk. As you said, there is nothing that wouldn't work. The user has to choose a lot of data, like they would for a normal TPA walking function, that is the downside.

Sir R. M8gic1an

2010-09-02 12:20:48

From: 3Garrett3
The only further customizations that I could see are things like compass angle and such, but those can be changed in the walking, rather than TPAWalk. As you said, there is nothing that wouldn't work. The user has to choose a lot of data, like they would for a normal TPA walking function, that is the downside.


There can be further customization, such as using two colours to sort out where you're going ;)

~RM

3Garrett3

2010-09-02 20:03:16

From: Sir R. Magician
There can be further customization, such as using two colours to sort out where you're going ;)

~RM


I understand what you mean, but there could be sooooo many things go wrong with that idea. And I wouldn't really know how to write it.

Coh3n

2010-09-03 02:36:20

From: 3Garrett3
I understand what you mean, but there could be sooooo many things go wrong with that idea. And I wouldn't really know how to write it.

That's why he said you probably wouldn't need it. ;) If for some reason, a point needs more customization than you simply don't use your function.

E: Garrett, I've assigned you to the color walking development. Once your function is added, I'm sure many color paths will follow. :)

Coh3n

2010-09-11 02:35:20

Deleted SMART Debugging and added Color Development.

3Garrett3

2010-09-11 12:24:11

From: Coh3n
That's why he said you probably wouldn't need it. ;) If for some reason, a point needs more customization than you simply don't use your function.

E: Garrett, I've assigned you to the color walking development. Once your function is added, I'm sure many color paths will follow. :)


Oh shit, I just notice this post now?

I can commit MSI_TPAWalk now if everyone is cool with the code I have?

Const
Split_TPAtoATPA = 1;
Split_TPAtoATPAEx = 2;
Split_SplitTPA = 3;
Split_SplitTPAEx = 4;

Const
Sort_ATPAFrom = 1;
Sort_LargeFirst = 2;
Sort_SmallFirst = 3;

Those are the Sort/split globals. I'd put it in Globals.simba

Type
tWalkInfo = Record
Color, Tolerance: Integer;
XMod, YMod: Integer;
FlagDist: Integer;
SplitMethod, SortMethod: Integer;
Filter: Boolean;
CTS2: Boolean;
HueMod, SatMod: Extended;
StartRadial, EndRadial: Integer;
MinRadius, MaxRadius: Integer;
SortPoint: TPoint;
SplitDistance: TIntegerArray;
End;

There is the custom type for it, I'd put that in Globals too.

Function WalkTPA(WalkInfo: tWalkInfo): Boolean;
Var
TPA: TPointArray;
TDPA: T2DPointArray;
I, H, X, Y, CTS: Integer;
Begin
If Not LoggedIn Then Exit;

cts := GetColorToleranceSpeed;
If WalkInfo.CTS2 Then
Begin
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(WalkInfo.HueMod, WalkInfo.SatMod);
End Else
ColorToleranceSpeed(1);

FindColorsTolerance(TPA, WalkInfo.Color, MMX1, MMY1, MMX2, MMY2, WalkInfo.Tolerance);

If Length(TPA) = 0 Then
Begin
Writeln('Didn''t find the colour, quitting walktpa');
Exit;
End;
Writeln('Found colour, length of array = ' + IntToStr(Length(TPA)));

If WalkInfo.Filter Then
FilterPointsPie(TPA, WalkInfo.StartRadial, WalkInfo.EndRadial, WalkInfo.MinRadius, WalkInfo.MaxRadius, MMCx, MMCy);

Case WalkInfo.SplitMethod Of
Split_TPAtoATPA:
TDPA := TPAToATPA(TPA, WalkInfo.SplitDistance[0]);
Split_TPAtoATPAEx:
TDPA := TPAToATPAEx(TPA, WalkInfo.SplitDistance[0], WalkInfo.SplitDistance[1]);
Split_SplitTPA:
TDPA := SplitTPA(TPA, WalkInfo.SplitDistance[0]);
Split_SplitTPAEx:
TDPA := SplitTPAEx(TPA, WalkInfo.SplitDistance[0], WalkInfo.SplitDistance[1]);
End;

Case WalkInfo.SortMethod Of
Sort_ATPAFrom:
SortATPAFromFirstPoint(TDPA, WalkInfo.SortPoint);
Sort_LargeFirst:
SortATPASize(TDPA, True);
Sort_SmallFirst:
SortATPASize(TDPA, False);
End;

Wait(10);
Try
DebugATPABounds(TDPA);
Except End;
H := High(TDPA);
For i := 0 To H Do
Begin
MiddleTPAEx(TDPA[i], x, y);
If rs_OnMinimap(x, y) Then
Begin
Mouse(x + WalkInfo.XMod, y + WalkInfo.YMod, 2, 2, True);
Wait(RandomRange(200, 300));
FFlag(WalkInfo.FlagDist);
Result := True;
Wait(200 + Random(80));
Exit;
End;
End;

Result := False;
End;

Is the actual function. It would work exactly like how we have our object loading, etc.

Someone tell me what they think, and I can easily add it.

Coh3n

2010-09-11 16:24:18

Committed, with a few minor changes. :)

Sir R. M8gic1an

2010-09-20 05:35:10

How are you coming along with obstacle handling? I'm looking for something to do, … I could do many things, but I thought I'd ask if you wanted a hand with that :p

~RM

Coh3n

2010-09-20 13:16:37

From: Sir R. Magician
How are you coming along with obstacle handling? I'm looking for something to do, … I could do many things, but I thought I'd ask if you wanted a hand with that :p

~RM

The functioning code is pretty much done. The actual object records for the obstacles need to be made/tested, and the functions themselves (ClimbLadder, OpenDoor, etc.). I'm pretty sure the Obstacle handling thread has the most recent code. If you want to work on it, go ahead. :)

NCDS

2010-09-20 19:58:01

Removed ExcludeDropArray :)

Coh3n

2010-12-15 19:58:34

Added NPC Banking and Replacing DTMs with Blacklists.

Added Player Location Detection.

Added Fighting.simba.

Added Hybrid System Implementation.

E: Added several things to the bottom of the list. :) Check them out. They're all a lot easier than you'd think. ;)

E: Added a couple more things.

Camaro'

2011-01-26 12:29:16

Coh3n are you still working on color walking? If not, mind posting what you have?

Coh3n

2011-01-26 13:32:40

[QUOTE=Camaro';772142]Coh3n are you still working on color walking? If not, mind posting what you have?[/QUOTE]
Yes, I am. The actual color stuff is done, but I'm working on the hybrid part of walking to (also another version of MSI_Flag for reflection). If you want something do to, all the color points for each path need to be gathered using my generator. Then each color path needs to be recorded like this:

ColorTo := [0, 5]; // Path would be 0, 1, 2, 3 ,4 ,5
ColorFrom := [5, 10]; // 5, 6, 7, 8, 9, 10
So it's just the endpoints, understand?

Camaro'

2011-01-26 13:46:57

Yeah, just run the generator, and update Scripts.simba color paths with what I gathered ( end points of course :) ). Correct?

Coh3n

2011-01-26 15:19:00

[QUOTE=Camaro';772173]Yeah, just run the generator, and update Scripts.simba color paths with what I gathered ( end points of course :) ). Correct?[/QUOTE]
Yes.

Coh3n

2011-05-13 13:13:35

Added a few suggestions to the list.

E: Added a lot of things to the list + levels of difficulty for different jobs.

E2: Added a few things.

E3: Cooking is now done. :)

E4: Added a few things to the very easy list.

Bobzilla69

2011-05-13 14:06:34

this should be all that's needed for the Stats System


CharacterStats.Simba file. a folder called Accounts has to be made in MSI/Extras to allow the file to be saved

{==============================================================================\
| MSI Group Scripting Include |
| CharacterStats.Simba |
|==============================================================================|
| For Storing Player Skill levels after Time/Loads are reached |
| |
| * procedure CheckFile; * by Bobzilla69 |
| * procedure WriteFile(); * by Bobzilla69 |
| * procedure GetData; * by Bobzilla69 |
| * procedure WriteData; * by Bobzilla69 |
| * procedure StoreCharacterLevels; * by Bobzilla69 |
\_____________________________________________________________________________}


var
Accounts:Integer;
newInfo:String;
Skills:TStringArray;
Skills2:TStringArray;

Const
Path = IncludePath + 'MSI\MSI\Extras\Accounts\';

{******************************************************************************}
{ procedure CheckFile; }
{ By: Bobzilla69 }
{ Date: 13 January 2011 }
{ Description: Check if File exists if it doent creates file. }
{ Also handles if file will be added to or rewritten }
{******************************************************************************}
Procedure Bobzilla_CheckFile;
begin
if FileExists(Path + 'Characters.xml') then
begin
//Writeln('File all ready created');
Accounts:= OpenFile(Path + 'Characters.xml' , False);
CloseFile(Accounts);
end else
begin
//WriteLn('File not Found, Creating new file')
Accounts := CreateFile(Path + 'Characters.xml');
CloseFile(Accounts);
end;
end;

{******************************************************************************}
{ procedure WriteFile(New, Old:string); }
{ By: Bobzilla69 }
{ Date: 13 January 2011 }
{ Description: Writes Character data to the file. }
{ New is new data to be added to file. }
{ Old is data that was in file to be re writen }
{******************************************************************************}
Procedure Bobzilla_WriteFile(New:String);
begin
Accounts := RewriteFile(Path + 'Characters.xml', False);
WriteFileString(Accounts, New);
CloseFile(Accounts);
end;

{******************************************************************************}
{ procedure GetData; }
{ By: Bobzilla69 }
{ Date: 13 January 2011 }
{ Description: Using reflection gets all character skill levels }
{ and stores it to a Array for that character }
{******************************************************************************}
Procedure Bobzilla_GetData;
var
I : Integer;
begin
{$IFDEF REFLECTION}
for I := SKILL_ATTACK to SKILL_DUNGEONEERING do
Players[CurrentPlayer].Arrays[1][I] := R_GetSkillLevel(I);
{$ELSE}
for I := SKILL_ATTACK to SKILL_DUNGEONEERING do
Players[CurrentPlayer].Arrays[1][I] := GetSkillLevel(I);
{$ENDIF}
end;

{******************************************************************************}
{ procedure WriteData; }
{ By: Bobzilla69 }
{ Date: 13 January 2011 }
{ Description: Handles extracting data from array and sending to WriteFile; }
{******************************************************************************}
Procedure Bobzilla_WriteData;
var
B, I:integer;
begin
Bobzilla_CheckFile;
newInfo:= '<Characters>'+#13; //start of xml file
for I:=0 to HowManyPlayers - 1 do
begin
newInfo:= newInfo + '<Character>' + #13; //start for a palyer
newInfo := newInfo + '<Name>'+Players[I].Name+'</Name>'+#13;
Skills:= ['<Attack>','<Defence>','<Strength>','<Hitpoints>','<Range>','<Prayer>','<Magic>','<Cooking>','<Woodcutting>','<Fletching>','<Fishing>','<Firemaking>','<Crafting>','<Smithing>','<Mining>','<Herblore>','<Agility>','<Thieving>','<Slayer>','<Farming>','<Runercrafting>','<Hunter>','<Conctruction>','<Summining>','<Dungeoneering>'];
Skills2:= ['</Attack>','</Defence>','</Strength>','</Hitpoints>','</Range>','</Prayer>','</Magic>','</Cooking>','</Woodcutting>','</Fletching>','</Fishing>','</Firemaking>','</Crafting>','</Smithing>','</Mining>','</Herblore>','</Agility>','</Thieving>','</Slayer>','</Farming>','</Runercrafting>','</Hunter>','</Conctruction>','</Summining>','</Dungeoneering>'];
for B:=0 to high(Players[I].Arrays[1]) do
begin
newInfo := newInfo + Skills[B] + IntToStr(Players[I].Arrays[1][B]) + Skills2[B] + #13;
end; //IntToStr(Players[CurrentPlayer].Arrays[1][B]
newInfo:= newInfo + '</Character>' + #13; //end of character
end;
newInfo:= newInfo + '</Characters>'
Bobzilla_WriteFile(newInfo);
end;

procedure Bobzilla_UpdatePlayer;
var
Text, After:String;
SplitText, Skills, Skills2: TStringArray;
Updated:Boolean;
I, S, Accounts:integer;
begin
Updated:= False; //used for checkign if updating or adding

Bobzilla_CheckFile; //checks file is created if nto makes file

Bobzilla_GetData; //uses reflection to get players skill levels

Accounts:= OpenFile(Path + 'Characters.xml' , False); //opens file to get data inside it
ReadFileString(Accounts, Text, FileSize(accounts));
CloseFile(Accounts);

SplitText:= srl_Explode(Text, '</Character>'); //splits characters into sections

for I:=0 to high(Splittext) -1 do //0 = start <characters> <character>, last number = </characters>
begin
if PosEx(Players[CurrentPlayer].Name ,SplitText[I], 1) > 0 then //checks for player name in sections
begin
Writeln('Player Found in XML, Updating');
if I = 0 then //because of the way they are split the first split needs to readd all this info
begin
After:= '<Characters>' + #13;
After:= After + '<Character>' + #13;
After := After + '<Name>' + Players[CurrentPlayer].Name + '</Name>' + #13;
Skills:= ['<Attack>','<Defence>','<Strength>','<Hitpoints>','<Range>','<Prayer>','<Magic>','<Cooking>','<Woodcutting>','<Fletching>','<Fishing>','<Firemaking>','<Crafting>','<Smithing>','<Mining>','<Herblore>','<Agility>','<Thieving>','<Slayer>','<Farming>','<Runercrafting>','<Hunter>','<Conctruction>','<Summining>','<Dungeoneering>'];
Skills2:= ['</Attack>','</Defence>','</Strength>','</Hitpoints>','</Range>','</Prayer>','</Magic>','</Cooking>','</Woodcutting>','</Fletching>','</Fishing>','</Firemaking>','</Crafting>','</Smithing>','</Mining>','</Herblore>','</Agility>','</Thieving>','</Slayer>','</Farming>','</Runercrafting>','</Hunter>','</Conctruction>','</Summining>','</Dungeoneering>'];
for S:=0 to high(Skills) do
begin
After := After + Skills[S] + IntToStr(Players[CurrentPlayer].Arrays[1][S]) + Skills2[S] + #13;
end; //IntToStr(Players[CurrentPlayer].Arrays[1][B]
After:= After + '</Character>'+#13;
end else
begin
After:= After + '<Character>'+#13;
After := After + '<Name>'+Players[CurrentPlayer].Name+'</Name>'+#13;
Skills:= ['<Attack>','<Defence>','<Strength>','<Hitpoints>','<Range>','<Prayer>','<Magic>','<Cooking>','<Woodcutting>','<Fletching>','<Fishing>','<Firemaking>','<Crafting>','<Smithing>','<Mining>','<Herblore>','<Agility>','<Thieving>','<Slayer>','<Farming>','<Runercrafting>','<Hunter>','<Conctruction>','<Summining>','<Dungeoneering>'];
Skills2:= ['</Attack>','</Defence>','</Strength>','</Hitpoints>','</Range>','</Prayer>','</Magic>','</Cooking>','</Woodcutting>','</Fletching>','</Fishing>','</Firemaking>','</Crafting>','</Smithing>','</Mining>','</Herblore>','</Agility>','</Thieving>','</Slayer>','</Farming>','</Runercrafting>','</Hunter>','</Conctruction>','</Summining>','</Dungeoneering>'];
for S:=0 to high(Skills) do
begin
After := After + Skills[S] + IntToStr(Players[CurrentPlayer].Arrays[1][S]) + Skills2[S] + #13;
end;
After:= After + '</Character>' + #13;
end;
Updated:= True; //we updated plaer so no need to add one
end else
begin //if player is not in split section simply store data that is in it
After:= After + SplitText[I];
After:= After + '</Character>' + #13;
end;
end;
if (not Updated) then //no player in section so we add onto end of file
begin
writeln('Player not found, Adding Player');
if I = 0 then //same as previouse if its a new file we need to write starting info
begin
After:= '<Characters>' + #13;
After:= After + '<Character>' + #13;
After := After + '<Name>' + Players[CurrentPlayer].Name + '</Name>' + #13;
Skills:= ['<Attack>','<Defence>','<Strength>','<Hitpoints>','<Range>','<Prayer>','<Magic>','<Cooking>','<Woodcutting>','<Fletching>','<Fishing>','<Firemaking>','<Crafting>','<Smithing>','<Mining>','<Herblore>','<Agility>','<Thieving>','<Slayer>','<Farming>','<Runercrafting>','<Hunter>','<Conctruction>','<Summining>','<Dungeoneering>'];
Skills2:= ['</Attack>','</Defence>','</Strength>','</Hitpoints>','</Range>','</Prayer>','</Magic>','</Cooking>','</Woodcutting>','</Fletching>','</Fishing>','</Firemaking>','</Crafting>','</Smithing>','</Mining>','</Herblore>','</Agility>','</Thieving>','</Slayer>','</Farming>','</Runercrafting>','</Hunter>','</Conctruction>','</Summining>','</Dungeoneering>'];
for S:=0 to high(Skills) do
begin
After := After + Skills[S] + IntToStr(Players[CurrentPlayer].Arrays[1][S]) + Skills2[S] + #13;
end; //IntToStr(Players[CurrentPlayer].Arrays[1][B]
After:= After + '</Character>' + #13;
end else
begin
After:= After + '<Character>'+#13;
After := After + '<Name>'+Players[CurrentPlayer].Name+'</Name>'+#13;
Skills:= ['<Attack>','<Defence>','<Strength>','<Hitpoints>','<Range>','<Prayer>','<Magic>','<Cooking>','<Woodcutting>','<Fletching>','<Fishing>','<Firemaking>','<Crafting>','<Smithing>','<Mining>','<Herblore>','<Agility>','<Thieving>','<Slayer>','<Farming>','<Runercrafting>','<Hunter>','<Conctruction>','<Summining>','<Dungeoneering>'];
Skills2:= ['</Attack>','</Defence>','</Strength>','</Hitpoints>','</Range>','</Prayer>','</Magic>','</Cooking>','</Woodcutting>','</Fletching>','</Fishing>','</Firemaking>','</Crafting>','</Smithing>','</Mining>','</Herblore>','</Agility>','</Thieving>','</Slayer>','</Farming>','</Runercrafting>','</Hunter>','</Conctruction>','</Summining>','</Dungeoneering>'];
for S:=0 to high(Skills) do
begin
After := After + Skills[S] + IntToStr(Players[CurrentPlayer].Arrays[1][S]) + Skills2[S] + #13;
end;
After:= After + '</Character>' + #13;
end;
end;
After:= After + '</Characters>' + #13; //writes end of file

Bobzilla_WriteFile(After); //Writes data back to file
end;

Extras integration


function CharacterStatsV2_FunctionCall: Integer;
begin
Bobzilla_UpdatePlayer;
Result := EXTRA_CONTINUE; // Look in Globals.simba for a list over valid Results.
end;

function CharacterStatsV2_Init: Boolean;
begin
MSI_Extras[CurrentExtra].Enabled := True;
MSI_Extras[CurrentExtra].Constant := CurrentExtra;
Bobzilla_CheckFile;
Result := True;
end;

procedure CharacterStatsV2_Attach;
begin
with MSI_Extras[CurrentExtra] do
begin
Name := 'CharacterStats';
Author := 'Bobzilla69';
Version := EXTRA_BETA;
Setup := @CharacterStatsV2_Init;

PointerCount := 1;
SetArrayLength(Pointers, PointerCount);
with Pointers[0] do
begin
Constant := MSI_OnMSINextPlayerCall
FunctionCall := @CharacterStatsV2_FunctionCall;
end;
end;
end;

Edit:

ok its not working, i dont think i used the correct thing to hook into " Constant := MSI_OnMSINextPlayerCall " is where the problem is at.

i need to hook something that gets called before players logs out and before the script terminates

Coh3n

2011-05-13 15:15:24

Okay thanks. I'm not very familiar with the Extra's system as Zyt3x was the one who wrote it, so it's going to take a few minutes for me to figure it all out. It would be much easier if you know git to fork the MSI repository and then send a pull request when it's ready.

From a quick look, I think an MSI_OnPlayerSetup needs to be added to the pointer constants in Globals.simba, MSI_LoadAllExtras needs to be uncommented in MSI_Setup, and the commented code at the end of Extras.simba needs to be placed in MSI_SetupPlayer (Mainloop.simba). After that, I think it should work.

Also, a apologize for never adding this, I've just been really busy lately. That's why if you were to send a pull request through git it would be added a lot faster. If you're interested, check out this guide (I'll add a "How to add an extra" section after we're finished with the player stats).

Cheers,
Cohen

P.S. I'll hopefully have some time tonight, but I do have a few other things to do as well, but I promise I won't forget about it. :p

Gu3st...

2011-05-13 16:00:26

Hey Coh3n, I got all the files required to make the extra system work properly on my HDD, get on MSN and I'll send them to you :)

Bobzilla69

2011-05-13 16:10:13

i think i did the pull request for the files.

its not working yet, small tweaks needed just wanted to get the main bulk of it over.

also Zyt3x any news on that Extras tutorial?

Gu3st...

2011-05-13 17:22:03

From: Bobzilla69
i think i did the pull request for the files.

its not working yet, small tweaks needed just wanted to get the main bulk of it over.

also Zyt3x any news on that Extras tutorial?
Wow I totally forgot about that tutorial!

I'll make one right now,

Coh3n

2011-05-14 01:04:01

From: Bobzilla69
i think i did the pull request for the files.

its not working yet, small tweaks needed just wanted to get the main bulk of it over.

also Zyt3x any news on that Extras tutorial?

Alright well I think I have it all working, except the HTML file. The XML updates each time the player logs in, but the HTML is never updated, it just stays at the default image thing. Any ideas? I'm going to test it over night anyway. Bed time now. :p

Bobzilla69

2011-05-14 03:37:02

the only thing that has to update is the XML file.

the HTML is simply to view the files with

Coh3n

2011-05-14 11:16:54

From: Bobzilla69
the only thing that has to update is the XML file.

the HTML is simply to view the files with

How's it work then? When I open the HTML it only shows an empty chart, but there's 8 players in the XML file.


Bobzilla69

2011-05-14 11:23:37

is your xml file called Characters.xml and in same directory as HTML one?

Coh3n

2011-05-14 11:24:36

From: Bobzilla69
is your xml file called Characters.xml and in same directory as HTML one?

Yep.

Bobzilla69

2011-05-14 11:27:27

hmmm weird, it works fine for me

<html>
<head>
<script type="text/javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","Characters.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
x=xmlDoc.getElementsByTagName("Character");
function displayCDInfo(i)
{
Name=(x[i].getElementsByTagName("Name")[0].childNodes[0].nodeValue);
Attack=(x[i].getElementsByTagName("Attack")[0].childNodes[0].nodeValue);
Defence=(x[i].getElementsByTagName("Defence")[0].childNodes[0].nodeValue);
Strength=(x[i].getElementsByTagName("Strength")[0].childNodes[0].nodeValue);
Hitpoints=(x[i].getElementsByTagName("Hitpoints")[0].childNodes[0].nodeValue);
Range=(x[i].getElementsByTagName("Range")[0].childNodes[0].nodeValue);
Prayer=(x[i].getElementsByTagName("Prayer")[0].childNodes[0].nodeValue);
Magic=(x[i].getElementsByTagName("Magic")[0].childNodes[0].nodeValue);
Cooking=(x[i].getElementsByTagName("Cooking")[0].childNodes[0].nodeValue);
Woodcutting=(x[i].getElementsByTagName("Woodcutting")[0].childNodes[0].nodeValue);
Fletching=(x[i].getElementsByTagName("Fletching")[0].childNodes[0].nodeValue);
Fishing=(x[i].getElementsByTagName("Fishing")[0].childNodes[0].nodeValue);
Firemaking=(x[i].getElementsByTagName("Firemaking")[0].childNodes[0].nodeValue);
Crafting=(x[i].getElementsByTagName("Crafting")[0].childNodes[0].nodeValue);
Smithing=(x[i].getElementsByTagName("Smithing")[0].childNodes[0].nodeValue);
Mining=(x[i].getElementsByTagName("Mining")[0].childNodes[0].nodeValue);
Herblore=(x[i].getElementsByTagName("Herblore")[0].childNodes[0].nodeValue);
Agility=(x[i].getElementsByTagName("Agility")[0].childNodes[0].nodeValue);
Thieving=(x[i].getElementsByTagName("Thieving")[0].childNodes[0].nodeValue);
Slayer=(x[i].getElementsByTagName("Slayer")[0].childNodes[0].nodeValue);
Farming=(x[i].getElementsByTagName("Farming")[0].childNodes[0].nodeValue);
Runercrafting=(x[i].getElementsByTagName("Runercrafting")[0].childNodes[0].nodeValue);
Hunter=(x[i].getElementsByTagName("Hunter")[0].childNodes[0].nodeValue);
Conctruction=(x[i].getElementsByTagName("Conctruction")[0].childNodes[0].nodeValue);
Summining=(x[i].getElementsByTagName("Summining")[0].childNodes[0].nodeValue);
Dungeoneering=(x[i].getElementsByTagName("Dungeoneering")[0].childNodes[0].nodeValue);
txt="Attack: "+Attack +"<br />Defence: "+Defence +"<br />Strength: "+Strength +"<br />Hitpoints: "+Hitpoints +"<br />Range: " +Range+"<br />Prayer: " +Prayer+"<br />Magic: " +Magic+"<br />Cooking: " +Cooking+"<br />Woodcutting: " +Woodcutting+"<br />Fletching: " +Fletching+"<br />Fishing: " +Fishing+"<br />Firemaking: " +Firemaking+"<br />Crafting: " +Crafting+"<br />Smithing: " +Smithing+"<br />Mining: " +Mining+"<br />Herblore: " +Herblore+"<br />Agility: "+Agility+"<br />Thieving: " +Thieving+"<br />Slayer: " +Slayer+"<br />Farming: " +Farming+"<br />Runercrafting: " +Runercrafting+"<br />Hunter: " +Hunter+"<br />Conctruction: " +Conctruction+"<br />Summining: "+Summining +"<br />Dungeoneering: "+Dungeoneering ;
document.getElementById("ShowInfo").innerHTML=txt;
}
</script>
</head>
<body>
<title>RS Character Levels</title>
<table border='1'>
<tr><td>Character Name</td><td>SkillLevels</td></tr>
<tr><td>
<table border='1'>
<script type="text/javascript">
for (var i=0;i<x.length;i++)
{
document.write("<tr onclick='displayCDInfo(" + i + ")'>");
document.write("<td>");
document.write(x[i].getElementsByTagName("Name")[0].childNodes[0].nodeValue);
document.write("</td></tr>");
}
</script>
</table>
</td>
<td><div id='ShowInfo'>Click on character name for skill info.</div></td></tr>
</table>
</body>
</html>

replace whats in the HTML file with this

Coh3n

2011-05-14 11:29:45

Same thing. =\ Just doesn't show the players in the list.

Bobzilla69

2011-05-14 11:32:23

what browser you using? its working for me in firefox 3.6

Coh3n

2011-05-14 11:33:25

From: Bobzilla69
what browser you using? its working for me in firefox 3.6

Chrome. Didn't work in IE either, and I'm pretty sure I don't have firefox. That shouldn't make a difference though should it?

Bobzilla69

2011-05-14 11:34:55

i wouldnt have thought so but you never know.

Edit:

it does, wont work in IE, i just tested it

also just tried Chrome and didnt work.

must be some old code i am using as its a old script from uni

Coh3n

2011-05-14 11:40:10

From: Bobzilla69
i wouldnt have thought so but you never know.

Edit:

it does, wont work in IE, i just tested it

also just tried Chrome and didnt work.

must be some old code i am using as its a old script from uni

Alright well I noticed there's an if statement that's supposed to handle the other browsers, where would I find the updated methods?

Bobzilla69

2011-05-14 11:49:49

it should already be working for other browsers with what i put….

i have searched the problem and everyone seems to be recommending doing it another way so i will get it working

Coh3n

2011-05-14 11:50:33

From: Bobzilla69
it should already be working for other browsers with what i put….

i have searched the problem and everyone seems to be recommending doing it another way so i will get it working

Okay great, thanks. As soon as that's done I can push to the main repository. :)

Bobzilla69

2011-05-14 12:34:57

Could someone help me with this please….. i havent done this for years and i just dont get it anymore :(

The problem seems to lie in the XMLHTTPRequest.

below is it in its current state that only seems to work on Firefox 3.6

<html>
<head>
<script type="text/javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","Characters.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
x=xmlDoc.getElementsByTagName("Character");
function displayCDInfo(i)
{
Name=(x[i].getElementsByTagName("Name")[0].childNodes[0].nodeValue);
Attack=(x[i].getElementsByTagName("Attack")[0].childNodes[0].nodeValue);
Defence=(x[i].getElementsByTagName("Defence")[0].childNodes[0].nodeValue);
Strength=(x[i].getElementsByTagName("Strength")[0].childNodes[0].nodeValue);
Hitpoints=(x[i].getElementsByTagName("Hitpoints")[0].childNodes[0].nodeValue);
Range=(x[i].getElementsByTagName("Range")[0].childNodes[0].nodeValue);
Prayer=(x[i].getElementsByTagName("Prayer")[0].childNodes[0].nodeValue);
Magic=(x[i].getElementsByTagName("Magic")[0].childNodes[0].nodeValue);
Cooking=(x[i].getElementsByTagName("Cooking")[0].childNodes[0].nodeValue);
Woodcutting=(x[i].getElementsByTagName("Woodcutting")[0].childNodes[0].nodeValue);
Fletching=(x[i].getElementsByTagName("Fletching")[0].childNodes[0].nodeValue);
Fishing=(x[i].getElementsByTagName("Fishing")[0].childNodes[0].nodeValue);
Firemaking=(x[i].getElementsByTagName("Firemaking")[0].childNodes[0].nodeValue);
Crafting=(x[i].getElementsByTagName("Crafting")[0].childNodes[0].nodeValue);
Smithing=(x[i].getElementsByTagName("Smithing")[0].childNodes[0].nodeValue);
Mining=(x[i].getElementsByTagName("Mining")[0].childNodes[0].nodeValue);
Herblore=(x[i].getElementsByTagName("Herblore")[0].childNodes[0].nodeValue);
Agility=(x[i].getElementsByTagName("Agility")[0].childNodes[0].nodeValue);
Thieving=(x[i].getElementsByTagName("Thieving")[0].childNodes[0].nodeValue);
Slayer=(x[i].getElementsByTagName("Slayer")[0].childNodes[0].nodeValue);
Farming=(x[i].getElementsByTagName("Farming")[0].childNodes[0].nodeValue);
Runercrafting=(x[i].getElementsByTagName("Runercrafting")[0].childNodes[0].nodeValue);
Hunter=(x[i].getElementsByTagName("Hunter")[0].childNodes[0].nodeValue);
Conctruction=(x[i].getElementsByTagName("Conctruction")[0].childNodes[0].nodeValue);
Summining=(x[i].getElementsByTagName("Summining")[0].childNodes[0].nodeValue);
Dungeoneering=(x[i].getElementsByTagName("Dungeoneering")[0].childNodes[0].nodeValue);
txt="Attack: "+Attack +"<br />Defence: "+Defence +"<br />Strength: "+Strength +"<br />Hitpoints: "+Hitpoints +"<br />Range: " +Range+"<br />Prayer: " +Prayer+"<br />Magic: " +Magic+"<br />Cooking: " +Cooking+"<br />Woodcutting: " +Woodcutting+"<br />Fletching: " +Fletching+"<br />Fishing: " +Fishing+"<br />Firemaking: " +Firemaking+"<br />Crafting: " +Crafting+"<br />Smithing: " +Smithing+"<br />Mining: " +Mining+"<br />Herblore: " +Herblore+"<br />Agility: "+Agility+"<br />Thieving: " +Thieving+"<br />Slayer: " +Slayer+"<br />Farming: " +Farming+"<br />Runercrafting: " +Runercrafting+"<br />Hunter: " +Hunter+"<br />Conctruction: " +Conctruction+"<br />Summining: "+Summining +"<br />Dungeoneering: "+Dungeoneering ;
document.getElementById("ShowInfo").innerHTML=txt;
}
</script>
</head>
<body>
<title>RS Character Levels</title>
<table border='1'>
<tr><td>Character Name</td><td>SkillLevels</td></tr>
<tr><td>
<table border='1'>
<script type="text/javascript">
for (var i=0;i<x.length;i++)
{
document.write("<tr onclick='displayCDInfo(" + i + ")'>");
document.write("<td>");
document.write(x[i].getElementsByTagName("Name")[0].childNodes[0].nodeValue);
document.write("</td></tr>");
}
</script>
</table>
</td>
<td><div id='ShowInfo'>Click on character name for skill info.</div></td></tr>
</table>
</body>
</html>

Edit:

it appears the way i am doing it only works over the internet as it needs a HTTP connection, makes sense as the code came from a web project i did :(

dont know why firefox doesnt care, but IE and chrome do :(

Coh3n

2011-05-14 14:10:08

I'd like to try to figure it out. Don't know anything about web programming, but I'm sure I can learn. What's the syntax exactly? HTML, JavaScript, whatever else there is? I tried Googling a few things and tried changing a few things but nothing has worked so far.

Bobzilla69

2011-05-14 14:31:25

its javascript tahts being used but it falls under ajax as well.

Coh3n

2011-05-14 15:53:10

From: Bobzilla69
its javascript tahts being used but it falls under ajax as well.

Are you a member of a Javascript/Ajax forum? Maybe it can help?

Bobzilla69

2011-05-14 16:28:39

no i am not, i have some books but didnt find anything.

i am curently working on a way that seems to be working.

i can read an xml file and get data, i just need to play around with it now to get to grips with it and write a new html file.

this way works in firefox and IE but doesnt work in chrome :(

Yago

2011-05-14 16:50:13

Suggestion: Superheat? would go under magic and mining…

Coh3n

2011-05-14 16:58:13

From: Bobzilla69
no i am not, i have some books but didnt find anything.

i am curently working on a way that seems to be working.

i can read an xml file and get data, i just need to play around with it now to get to grips with it and write a new html file.

this way works in firefox and IE but doesnt work in chrome :(

Is it even possible in Chome? Everything I find says XMPHttpRequest should work.

From: Yago
Suggestion: Superheat? would go under magic and mining…

I've only been adding things that people have actually started on, otherwise the list would go on forever.

Bobzilla69

2011-05-14 17:39:00

From: Coh3n
Is it even possible in Chome? Everything I find says XMLHttpRequest should work.


XMLHttpRequest is only for online addresses, as the files are local you never use a HTTP connection so it cant get file data.

my progress is a bit slow on the solution, check here for progress

Coh3n

2011-05-14 18:14:29

From: Bobzilla69
XMLHttpRequest is only for online addresses, as the files are local you never use a HTTP connection so it cant get file data.

my progress is a bit slow on the solution, check here for progress

Oh wow you're completely redoing it. To be honest, I liked the chart a little better, but what you're currently doing isn't finished. I'm sure it'll turn out much better.

I would think the old version should have an easy fix, though. =\

Bobzilla69

2011-05-14 18:19:11

the problem is i cant remember it that well, it was made/learned a few years back so might as well redo it all :)

thats if i can get it all to work now

Coh3n

2011-05-14 22:41:02

From: Bobzilla69
the problem is i cant remember it that well, it was made/learned a few years back so might as well redo it all :)

thats if i can get it all to work now

I'm sure you will. Your progress looked pretty good so far. :)

Bobzilla69

2011-05-15 07:43:13

i think i have done it :)

check here

some people check to see if it works please :)

i will smarten it up once people say its working for them on different browsers

Gu3st...

2011-05-15 08:37:19

From: Bobzilla69
i think i have done it :)

check here

some people check to see if it works please :)

i will smarten it up once people say its working for them on different browsers
Works for me on Chrome 11.0.696.68

Bobzilla69

2011-05-15 08:38:09

From: Zyt3x
Works for me on Chrome 11.0.696.68


brilliant sent the pull request :)

edit: after working till 12 lasts night i think stopping and having a sleep made it easier to get this done, lol

Coh3n

2011-05-15 10:29:14

This is awesome. I'll commit it along with a few other updates when I get home tonight. :)

Bobzilla69

2011-05-15 10:40:42

might be worth someone else testing it first seeing as i didnt know the original one didnt work till you tried it.

if you can implement it into your msi branch and simply pull it from there when you have tested it might be a good idea?

Coh3n

2011-05-15 10:44:20

Yeah I always do that before pushing to the main repository. I'll be sure to test before committing. :)

Gu3st...

2011-05-15 10:51:36

So you'll make it an extra? :)
The first extra ever made for the new extra system ^^,

Coh3n

2011-05-15 10:54:02

It's already implemented, I just neeeded the working HTML file.

Bobzilla69

2011-05-15 11:07:32

From: Coh3n
It's already implemented, I just neeeded the working HTML file.


and you need the changed .simba file as i changed spellings that where wrong :)

if you use the new html with old xml file 3 stats wont show as i spelt it wrong

Coh3n

2011-05-15 11:09:46

Yeah I'll be sure to pull from your repository to get all the changes. :)

Yago

2011-05-15 13:53:39

From: Bobzilla69
might be worth someone else testing it first seeing as i didnt know the original one didnt work till you tried it.

if you can implement it into your msi branch and simply pull it from there when you have tested it might be a good idea?


Works on FF. Its weird(I have no idea what it is for) but I guess its good. I dont know if im supposed to get a message that says "prevent this page from making additional dialogs" because when I check it I think it doesn't work, but other than that its good.

Bobzilla69

2011-05-15 14:16:32

From: Yago
Works on FF. Its weird(I have no idea what it is for) but I guess its good. I dont know if im supposed to get a message that says "prevent this page from making additional dialogs" because when I check it I think it doesn't work, but other than that its good.


yeh those boxes that pop up where just for debugging problems, i left two in that will say what player is being searched for and one that will say the player is found.

if you tick dont show boxes again it wont work for some reason, but i can always just take the two lines out to stop that completely

Coh3n

2011-05-15 19:22:55

From: Bobzilla69
yeh those boxes that pop up where just for debugging problems, i left two in that will say what player is being searched for and one that will say the player is found.

if you tick dont show boxes again it wont work for some reason, but i can always just take the two lines out to stop that completely

I'll be testing it out soon, and if I find the boxes annoying I'll comment them out myself. :)

E: Okay so that pull request you sent wasn't right. It was the same HTML file you had originally. It looks like you haven't committed your new files to your repository. I opened the example you posted above and viewed the source and tried it that way. It showed the list of skills, but didn't have any players in the combo box. =\

E2: Since it seems to be working for everyone else, I'm going to push to the main repo. If it turns out something is wrong it's not a big deal as it doesn't affect how MSI runs. There's a lot of other updates I want to get added anyway.

E3: Added some documentation that needs to be done to the list in the first post.

Bobzilla69

2011-05-16 02:29:00

sorry i didnt actually pull from my computer to my msi fork lol, still getting use to it.

hopefully this pull will work, in case it doesnt here is files.

comment out the Alert(); to get rid on popup boxes

Coh3n

2011-05-16 11:51:57

From: Bobzilla69
sorry i didnt actually pull from my computer to my msi fork lol, still getting use to it.

hopefully this pull will work, in case it doesnt here is files.

comment out the Alert(); to get rid on popup boxes

It doesn't work for me in either IE or Chrome. Could it be because I'm using a 64-bit operating system? It seems to be working for everyone else. :confused:

Bobzilla69

2011-05-16 11:56:57

make sure you have the jquery.js file in same folder as HTML file. (check above attachment)

Coh3n

2011-05-16 11:57:49

From: Bobzilla69
make sure you have the jquery.js file in same folder as HTML file. (check above attachment)

It's there. =\

Bobzilla69

2011-05-16 11:58:22

wierd, working fine for me, i am a 64bit OS

Coh3n

2011-05-16 12:00:24

From: Bobzilla69
wierd, working fine for me, i am a 64bit OS

Lol well what the hell am I doing wrong. XD

Bobzilla69

2011-05-16 12:02:37

get files from this attachment to make sure.

also you need ActiveX to be allowed to run, it should prompt you

Coh3n

2011-05-16 12:04:02

From: Bobzilla69
get files from this attachment to make sure.

also you need ActiveX to be allowed to run, it should prompt you

I don't get any ActiveX prompt. Like everything shows, there's just no players in the combo box. I'll try those files.

Bobzilla69

2011-05-16 12:05:00

did you rename your XML file?

Coh3n

2011-05-16 12:06:45

From: Bobzilla69
did you rename your XML file?

To what? It's Characters.xml right now.

Bobzilla69

2011-05-16 12:07:24

just checking its still that :)

Coh3n

2011-05-16 12:08:39

From: Bobzilla69
just checking its still that :)

Yeah still not working. Is there some form of debugging I can do to see if something's going wrong?

E: Maybe give me your Characters.xml file. Maybe mine's messed up somehow?

Bobzilla69

2011-05-16 12:18:10

<Characters><Character><Name>charactername1</Name><Attack>a</Attack><Defence>b</Defence><Strength>c</Strength><Hitpoints>d</Hitpoints><Range>5</Range><Prayer>6</Prayer><Magic>7</Magic><Cooking>8</Cooking><Woodcutting>9</Woodcutting><Fletching>12</Fletching><Fishing>11</Fishing><Firemaking>12</Firemaking><Crafting>13</Crafting><Smithing>14</Smithing><Mining>15</Mining><Herblore>16</Herblore><Agility>17</Agility><Thieving>18</Thieving><Slayer>19</Slayer><Farming>20</Farming><Runecrafting>21</Runecrafting><Hunter>22</Hunter><Construction>23</Construction><Summoning>24</Summoning><Dungeoneering>25</Dungeoneering></Character><Character><Name>charactername2</Name><Attack>12</Attack><Defence>22</Defence><Strength>32</Strength><Hitpoints>42</Hitpoints><Range>52</Range><Prayer>62</Prayer><Magic>72</Magic><Cooking>82</Cooking><Woodcutting>92</Woodcutting><Fletching>102</Fletching><Fishing>112</Fishing><Firemaking>122</Firemaking><Crafting>132</Crafting><Smithing>142</Smithing><Mining>152</Mining><Herblore>162</Herblore><Agility>172</Agility><Thieving>182</Thieving><Slayer>192</Slayer><Farming>202</Farming><Runecrafting>212</Runecrafting><Hunter>222</Hunter><Construction>232</Construction><Summoning>242</Summoning><Dungeoneering>252</Dungeoneering></Character></Characters>

what i used on website to get it to work.

edit:
as for debugging, in ie if its not working check bottom left of screen for yellow triangle, double click it and show details of error, otehr than that adding Alert("test here"); can work

Coh3n

2011-05-16 12:23:37

From: Bobzilla69
<Characters><Character><Name>charactername1</Name><Attack>a</Attack><Defence>b</Defence><Strength>c</Strength><Hitpoints>d</Hitpoints><Range>5</Range><Prayer>6</Prayer><Magic>7</Magic><Cooking>8</Cooking><Woodcutting>9</Woodcutting><Fletching>12</Fletching><Fishing>11</Fishing><Firemaking>12</Firemaking><Crafting>13</Crafting><Smithing>14</Smithing><Mining>15</Mining><Herblore>16</Herblore><Agility>17</Agility><Thieving>18</Thieving><Slayer>19</Slayer><Farming>20</Farming><Runecrafting>21</Runecrafting><Hunter>22</Hunter><Construction>23</Construction><Summoning>24</Summoning><Dungeoneering>25</Dungeoneering></Character><Character><Name>charactername2</Name><Attack>12</Attack><Defence>22</Defence><Strength>32</Strength><Hitpoints>42</Hitpoints><Range>52</Range><Prayer>62</Prayer><Magic>72</Magic><Cooking>82</Cooking><Woodcutting>92</Woodcutting><Fletching>102</Fletching><Fishing>112</Fishing><Firemaking>122</Firemaking><Crafting>132</Crafting><Smithing>142</Smithing><Mining>152</Mining><Herblore>162</Herblore><Agility>172</Agility><Thieving>182</Thieving><Slayer>192</Slayer><Farming>202</Farming><Runecrafting>212</Runecrafting><Hunter>222</Hunter><Construction>232</Construction><Summoning>242</Summoning><Dungeoneering>252</Dungeoneering></Character></Characters>

what i used on website to get it to work.

edit:
as for debugging, in ie if its not working check bottom left of screen for yellow triangle, double click it and show details of error, otehr than that adding Alert("test here"); can work

Yeah that didn't work either. I'll try the IE thing.

E: Okay wow, so I didn't have ActiveX for IE. Once I enabled that it worked in IE. Chrome doesn't support ActiveX, however. How did you get it working in Chrome (I think you said you tested in Chrome)?

Bobzilla69

2011-05-16 12:30:44

it wont work in chrome, i only tested internet based for chrome, i really should have checked local which i just did and it wont work :(

i will have to see if there is a way to change this sorry

Coh3n

2011-05-16 12:32:20

From: Bobzilla69
it wont work in chrome, i only tested internet based for chrome, i really should have checked local which i just did and it wont work :(

i will have to see if there is a way to change this sorry

That's fine, it's not your fault. It's because Chrome doesn't support ActiveX. I'm looking for an extension that may allow this but the one I installed didn't do anything.

I also read that FireFox doesn't support ActiveX either, so I'd like to know how they make it work.

Bobzilla69

2011-05-16 12:35:26

but the thing is chrome will work if the files are on the internet just not local which is silly, i am also looking for answers to get it working :)

Coh3n

2011-05-16 12:36:30

From: Bobzilla69
but the thing is chrome will work if the files are on the internet just not local which is silly, i am also looking for answers to get it working :)

Okay well I got it working by installing this extension. Will actually be useful for any sites that use ActiveX control. Unfortunately, this extension is for Windows only, but it works.

Bobzilla69

2011-05-16 12:41:35

i found this ChromePlus it is marketed as chrome but with features from IE like ActiveX which is only used when needed.

Coh3n

2011-05-16 12:59:54

From: Bobzilla69
i found this ChromePlus it is marketed as chrome but with features from IE like ActiveX which is only used when needed.

Great. Now that that's all figured out I'll commit the changes. :)

E: Done.

Bobzilla69

2011-05-18 04:08:54

I noticed an error yesterday, after runescape updated the hooks where outdated, i ran MSI in colour mode but my extra didnt work it still ran the reflection get skills as the XML file simply had -1 for all stats.

edit:

kinda wrong section for this, sorry

Coh3n

2011-05-24 10:17:29

From: Bobzilla69
I noticed an error yesterday, after runescape updated the hooks where outdated, i ran MSI in colour mode but my extra didnt work it still ran the reflection get skills as the XML file simply had -1 for all stats.

edit:

kinda wrong section for this, sorry

It's okay. I thought I had taken care of that, but I'll take a look anyway.

E: Okay, it seems to be working now. I'll push this to the main repository when I include a few more updates.

https://github.com/Coh3n/MSI/commit/ba970fa282f095958fda3c837ce33667a8e1fc97

E2: Taking care of these things right now.

  • Optimizing walking/running
  • During player setup make sure there are items in the Exceptions array if the user set inventory exceptions.
  • VEB can't bank at the western tile beside the booths, something needs to be done about that.
  • Have Settings.txt be created during runtime rather than included with MSI. This will involve setting "defaults" on the form components.
  • Show the amount of time left in a break (I think this is already here, but for some reason doesn't work).
  • Documentation for Extras.simba


E3: Added Multiple uptexts and options for TItems and as far as I know, Yago has decided to take on that task.

E4: Added Fix tree clicking with the new trees and put a * next to the tasks with priority.

NCDS

2011-05-24 18:25:47

From: Coh3n


E3: Added Multiple uptexts and options for TItems and as far as I know, Yago has decided to take on that task.


Yago please post here if you are plannign to do so, other wise I will get to it. It's something I've had in the back of my head for quite some time now.

Yago

2011-05-26 18:23:16

From: NCDS
Yago please post here if you are plannign to do so, other wise I will get to it. It's something I've had in the back of my head for quite some time now.


It would be good if someone did, I don't think I would be able to right now. Sorry.

Edit: I'm lacking the time.

Coh3n

2011-05-26 19:11:10

From: Yago
It would be good if someone did, I don't think I would be able to right now. Sorry.

Edit: I'm lacking the time.

No problem, thanks for letting us know. :)

NCDS

2011-05-26 21:53:13

From: Yago
It would be good if someone did, I don't think I would be able to right now. Sorry.

Edit: I'm lacking the time.


Cool no problem. I can probably have it finished *hopefully* by tomorrow.

Coh3n

2011-05-26 21:55:25

NCDS, I posted the change that needs to be made to MSI_FindObjectsIn that should work, and Yago changed the records in his repository. I'm not sure where I posted it though. :o I'll have to find it.

NCDS

2011-05-26 22:08:23

From: Coh3n
NCDS, I posted the change that needs to be made to MSI_FindObjectsIn that should work, and Yago changed the records in his repository. I'm not sure where I posted it though. :o I'll have to find it.


So most of it's done, just needs to be put together and committed?

Coh3n

2011-05-26 22:47:00

From: NCDS
So most of it's done, just needs to be put together and committed?

It's untested of course, but theoretically it should work. And if there's other parts of the include that use the uptext/options. I also thing TMSObject.Option should be TMSObject.Options. That's just trivial though.

NCDS

2011-05-27 00:24:19

From: Coh3n
It's untested of course, but theoretically it should work. And if there's other parts of the include that use the uptext/options. I also thing TMSObject.Option should be TMSObject.Options. That's just trivial though.


Ok cool. Send me any links you have I guess, and I'll put it all together in the morning.

Coh3n

2011-05-27 01:46:40

From: NCDS
Ok cool. Send me any links you have I guess, and I'll put it all together in the morning.
This is what needs to be changed in MSI_FindObjectsIn. Here are all the changes to the objects. The same thing will have to be done for Options (kinda shitty, I know). Then this. Then testing. I should have some time tomorrow afternoon so if you're on we can talk. :)

NCDS

2011-05-27 13:15:50

From: Coh3n
This is what needs to be changed in MSI_FindObjectsIn. Here are all the changes to the objects. The same thing will have to be done for Options (kinda shitty, I know). Then this. Then testing. I should have some time tomorrow afternoon so if you're on we can talk. :)


Done.

https://github.com/SRL/MSI/commit/ae95997dc22afea6031281840b109fd9f35b3015

NCDS

2011-07-07 00:27:39

Automatic location detection has been added.

https://github.com/SRL/MSI/commit/bb7edfb104d561bb931ea1ffb00a7f545f2f968a

Coh3n

2011-07-21 09:43:07

Updated the list with some easy tasks from the Suggestions forum.

Yago

2011-07-21 16:50:10

I might resume my little dents in this system ;)

Coh3n

2011-07-21 17:00:48

Added TBoxes for TLocations.

From: Yago
I might resume my little dents in this system ;)
That would be awesome, every little bit helps. :) I recommend adding some script locations from this thread. It's so easy you'll slap yourself when you're done. The locations with obstacles are slightly more difficult, but still easy. ;)

Yago

2011-07-21 17:10:32

From: Coh3n
Added TBoxes for TLocations.

That would be awesome, every little bit helps. :) I recommend adding some script locations from this thread. It's so easy you'll slap yourself when you're done. The locations with obstacles are slightly more difficult, but still easy. ;)


Cool, i might start that out… Alot of those tasks look extremely simple. Too simple for me to decline ;P

Coh3n

2011-08-12 18:27:22

From: Yago
Cool, i might start that out… Alot of those tasks look extremely simple. Too simple for me to decline ;P
They are! That's why I can't figure out why people aren't interested.

E: Added Barb-tailed harpoon and Ivy support to the list.

NCDS

2011-08-12 22:05:37

From: Coh3n

E: Added Barb-tailed harpoon and Ivy support to the list.


My current list:
  1. Implement TsubLoc's
  2. Finish ignoreSpam
  3. add Ivy support ;)
Tomorrow night I will have a lot of time so I should be able to finish all by then.

Coh3n

2011-09-07 01:36:35

Sounds good. :) I also added "Skill Expansion" to the list.

E: Added a maintenance section.

Maintenance (difficulty: easy-expert)
  • Remove global arrays
  • Combine MSI_WaitWhileFishing, WaitWhileWoodcutting and WaitWhileMining into one function.
  • Combine MSI_CookAll and MSI_SoftenAll into one function (exact same thing).
E: Added a few more things to maintenance.

bevardis

2011-09-07 09:54:12

I've got msi github feed in my feedreader. Funny, isn't it?

Coh3n

2011-09-16 21:21:19

List all updated. :)

Yago

2011-09-16 22:27:07

Dead link to the bugs section in OPost

Coh3n

2011-09-16 22:59:49

From: Yago
Dead link to the bugs section in OPost
Fixed thank you.

sf411

2011-09-17 19:33:23

Doesn't seem that my pm's are sending since they are not appearing I'm my sent box so I will just make a post.

Is the essence miner link correct? Because if it's supposed to be pointing to a mine'n'banker I can give it a shot but Fridays would be my only day to work on it with college getting in the way of the other days…

Coh3n

2011-09-18 18:34:00

From: sf411
Doesn't seem that my pm's are sending since they are not appearing I'm my sent box so I will just make a post.

Is the essence miner link correct? Because if it's supposed to be pointing to a mine'n'banker I can give it a shot but Fridays would be my only day to work on it with college getting in the way of the other days…
Wow, all the links seem to be completely wrong. :confused: Something may have happened when I moved them. I'll fix them now. E: Fixed.

And I did get your PMs, I just wasn't on my computer yesterday so I didn't get the chance to reply, sorry. As for your question, what do you mean "rune shop" for objects? Do you mean Aubury? If so, I'd make the constant NPC_AUBURY for the object record and OBS_NPC_AUBURY for the obstacle. :)

sf411

2011-09-18 21:54:49

From: Coh3n
Wow, all the links seem to be completely wrong. :confused: Something may have happened when I moved them. I'll fix them now. E: Fixed.

And I did get your PMs, I just wasn't on my computer yesterday so I didn't get the chance to reply, sorry. As for your question, what do you mean "rune shop" for objects? Do you mean Aubury? If so, I'd make the constant NPC_AUBURY for the object record and OBS_NPC_AUBURY for the obstacle. :)


Yeah, I have started on it already. I have not made Aubury as an obstacle though so I will do that right now.

The reason I did not think they PMs went through was they were not showing that I sent them in my 'Sent Box' but glad to know it is working.

NCDS

2011-09-18 22:02:10

From: sf411

The reason I did not think they PMs went through was they were not showing that I sent them in my 'Sent Box' but glad to know it is working.


That's been brought up numerous times. I'm not entirely sure the cause of it, but it happens to everyone. :p

Coh3n

2011-09-19 02:03:02

From: sf411
Yeah, I have started on it already. I have not made Aubury as an obstacle though so I will do that right now.

The reason I did not think they PMs went through was they were not showing that I sent them in my 'Sent Box' but glad to know it is working.
How have you been developing? Using Git or are you just editing your current include? If you latter, you should disable the auto-updater NOW, otherwise it will override all your changes, and you'll lose everything.

I highly suggest getting into git. ;)

sf411

2011-09-19 09:42:13

I have been using a Git clone of the MSI folder. Its a little different than what I am used to but not too hard to figure out.

Coh3n

2011-09-19 13:41:13

From: sf411
I have been using a Git clone of the MSI folder. Its a little different than what I am used to but not too hard to figure out.
Awesome, it's better that way. Also makes our job a lot easier to make your changes. :)

sf411

2011-09-19 15:33:48

This morning I was going to test what I had done so far, but when I the form came up I went to the 2nd tab to select my character and was given an out of range error on line 2544 (which does not make since to me) that forced me to close down the script and simba.

Any idea what I broke? If not I will just restart and slowly copy and paste the stuff I have added til I get that error again.

Coh3n

2011-09-19 22:56:10

From: sf411
This morning I was going to test what I had done so far, but when I the form came up I went to the 2nd tab to select my character and was given an out of range error on line 2544 (which does not make since to me) that forced me to close down the script and simba.

Any idea what I broke? If not I will just restart and slowly copy and paste the stuff I have added til I get that error again.
My guess is you didn't set one of the ARRAY_LENGTH constants when you added a record. I would say the script constant since it happened on the second tab. And out of range errors on forms are useless as they don't point to the actual line that's giving the error.

sf411

2011-09-19 23:13:09

It also happens when I try to add or remove a player.

Though I did not go above the set array_length. The script I did add was just set to an unused number (42).

EDIT: FIXED. I had to delete the player file and progress report(Though this might not have had to happen).

Coh3n

2011-09-19 23:35:21

From: sf411
It also happens when I try to add or remove a player.

Though I did not go above the set array_length. The script I did add was just set to an unused number (42).

EDIT: FIXED. I had to delete the player file and progress report(Though this might not have had to happen).
Yeah I've heard of that happening for whatever reason. Hopefully the same issue won't happen with the new form. Also, do you have the link to you github account so I can check out your progress?

sf411

2011-09-19 23:42:16

I have not committed anything just yet since I am still trying to figure out how I am going to get the script to find and click on Aubury, since he can not sit still…

Coh3n

2011-09-19 23:45:29

From: sf411
I have not committed anything just yet since I am still trying to figure out how I am going to get the script to find and click on Aubury, since he can sit still…
It should do it automatically if you added the TObstacle record.

sf411

2011-09-20 00:18:51

Ok, I went ahead and committed to my fork, I will let you all look at it and see if you see anything I am doing wrong or maybe even right (which would surprise me)…

Coh3n

2011-09-20 15:44:19

From: sf411
Ok, I went ahead and committed to my fork, I will let you all look at it and see if you see anything I am doing wrong or maybe even right (which would surprise me)…
I made some comments. Everything looks great though, nice work. :) I actually think you're ready to start testing. If I get more time later tonight and tomorrow, I'll pull from your branch and test it also.

sf411

2011-09-20 16:37:45

Thanks for commenting, I saw you did through email but have not been able to read them, yet.

As for the script so far it can only go to and from the Rune Shop, but it does not recognize that its in the Rune Shop so it cannot check for Aubury.

Coh3n

2011-09-20 18:02:36

From: sf411
Thanks for commenting, I saw you did through email but have not been able to read them, yet.

As for the script so far it can only go to and from the Rune Shop, but it does not recognize that its in the Rune Shop so it cannot check for Aubury.
Yeah I think that would be because you don't have a sub-location for the rune shop location (it's one of my comments).

NCDS

2011-10-25 16:05:16

I've added that DTM's need to be updated to the list since todays update shrunk item sizes in bank and inventory. I'll update accordingly as I find things that may need to be updated.

Wizzup?

2011-10-25 16:15:27

The shrinking thing might be a bug in Runescape.

NCDS

2011-10-25 16:25:01

From: Wizzup?
The shrinking thing might be a bug in Runescape.


I'm noticing now that it changes. Sometimes the images are normal size, sometimes they are smaller. Teleporting usually invokes the issue. Guess we'll have to wait and see.

Coh3n

2011-11-08 17:01:49

Teleporter, Dwarven Axe, Switching worlds, and QC level up are all done.

bolshak25

2011-11-19 10:49:13

can you add picking world support?
like have it for each player what world you want to log into is a blank like pin and name and pass.

Coh3n

2011-11-19 12:43:29

From: bolshak25
can you add picking world support?
like have it for each player what world you want to log into is a blank like pin and name and pass.
Good suggestion. I'll add it to the list, and I'll definitely add it to the new form (if I ever get around to finishing it).

TheJokester117

2011-12-20 20:36:37

I was just wondering if this list is kept up to date. If it is, I may be able to help with the "Minor" things, because I've started to learn a lot and it would be a good way to learn more.

mike-gee420

2012-01-16 04:48:06

Just a thought, what about a skill cape boost put in antiban or something? since it needs to be used allot,

key

2012-05-06 05:54:44

0.0, I'm impressed. Much work todo, who is in charge of this?