Coh3n
2010-06-18 17:41:27
[INDENT]Hello :)
You may be confused about the title, but don't worry, I'll do my best to explain. Right now, MSI is based around the support of multiple skills, whereas I think it should be based around multiple scripts. This is a much bigger change then you may think. It involves changing some types, and a whole lot of code throughout the core, but I think it will make things much easier in the long run.
Currently, the user specifies the skills they want to macro, and since we only have woodcutting, that's all they can do. However, what if the user wants to chop and bank normal, oak and yew trees at Varrock East bank? They can, as long as all three tree types are in the same area and the script doesn't go off course due to clicking the different trees. The latter is very unlikely considering the surplus of normal trees around Runescape.
So, by replacing the skills with scripts we very easily add NextScript (which is what was planned for NextSkill), which can automatically change the skill. This whole process will involve a lot of work, and I'm more than happy to take on the challenge, but of course I would keep you guys in touch about everything.
Off the top of my head, what would need to be changed are:
What do you guys think? I think it will be much better for us. With what we currently have, it would be a nightmare to properly add script/skill switching. I just feel that in the direction MSI is going, this will benefit us the most.
The rest of the discussion for this topic can be found here.
Cheers,
Coh3n[/INDENT]
You may be confused about the title, but don't worry, I'll do my best to explain. Right now, MSI is based around the support of multiple skills, whereas I think it should be based around multiple scripts. This is a much bigger change then you may think. It involves changing some types, and a whole lot of code throughout the core, but I think it will make things much easier in the long run.
Currently, the user specifies the skills they want to macro, and since we only have woodcutting, that's all they can do. However, what if the user wants to chop and bank normal, oak and yew trees at Varrock East bank? They can, as long as all three tree types are in the same area and the script doesn't go off course due to clicking the different trees. The latter is very unlikely considering the surplus of normal trees around Runescape.
So, by replacing the skills with scripts we very easily add NextScript (which is what was planned for NextSkill), which can automatically change the skill. This whole process will involve a lot of work, and I'm more than happy to take on the challenge, but of course I would keep you guys in touch about everything.
Off the top of my head, what would need to be changed are:
- TPlayerSkillInfo –> TPlayerScriptInfo [PHP] type TPlayerSkillInfo = record TotalTime : integer; TotalObj : integer; TotalLoads : integer; Level : integer; TotalEXP : integer; ObjQuants : array of integer; end; type TPlayerScriptInfo = record name : integer; // 'Varrock East Oaks' runtime : integer; // 02h, 25m, 33s tools : array of integer; // [ TOOL_HATCHET ] skill : integer; // SKILL_WOODCUTTING skillLevel : integer; // 99 exp : integer; // 1,486,564 loads : integer; // 500 item : integer; // LOGS_OAK itemAmount : integer; // 14,000 end; [/PHP] Along with this comes a lot of editing in the core (along with a re-organization of the progress report).
- DeclarePlayers would be much simpler, which is always good for the users: [PHP] with Players[0] do begin Name := ''; Pass := ''; Nick := ''; Active := True; Pin := ''; PlayerSkills[0] := [SKILL_WOODCUTTING]; PlayerObjects[0] := [[OBJ_TREE_NORMAL]]; Integers[P_LOC] := LOC_VE_BANK; Booleans[P_BANK] := True; end; with Players[0] do begin Name := ''; Pass := ''; Nick := ''; Active := True; Pin := ''; Arrays[P_SCRIPTS] := [ SCRIPT_VE_TREES, SCRIPT_VE_OAKS ]; Integers[P_LOC] := LOC_VE_BANK; end; [/PHP]
- I think just overall it would make the core look more cleaner when we start adding multiple skills. Some procedures/functions that may need to be added:
- MSI_SetupScript(); -> To setup the individual script when it's time to switch
- We may need to add a Scripts.scar file to initially load all the scripts attributes, then the necessary ones can be updated during runtime.
- MSI_NextScript() -> To switch scripts after a certain amount of loads/materials.
What do you guys think? I think it will be much better for us. With what we currently have, it would be a nightmare to properly add script/skill switching. I just feel that in the direction MSI is going, this will benefit us the most.
The rest of the discussion for this topic can be found here.
Cheers,
Coh3n[/INDENT]