Might make it to where the user can choose at first and support all. Because your going to have to look into quest and levels to figure out which they are able to use. Looking into Quest is always a pain.
~BraK
Might make it to where the user can choose at first and support all. Because your going to have to look into quest and levels to figure out which they are able to use. Looking into Quest is always a pain.
~BraK
"Sometimes User's don't need the Answer spelled out with Code. Sometimes all they need is guidance and explanation of the logic to get where they are going."
Also the Smoke Dungeon Master person. I think 5 of them need quest to use. Canfis, zanaris, Desert, Shilo and kurandal.
~BraK
E: Going to bed ZzZzZz
"Sometimes User's don't need the Answer spelled out with Code. Sometimes all they need is guidance and explanation of the logic to get where they are going."
I might want to use color for monster finding, It might be better for those monsters who never stay in one spot, such as spectres. I'm having trouble with them using tiles
<TViYH> i had a dream about you again awkwardsaw
Malachi 2:3
Look I know its kinda late, and it looks really really messy but U help me alot around here so I just thought i'd return the favour.
This is for the smoke dungeon.. It contains Dustdevils, firegiants, pyrefiends.. I didn't really walk around in it much.. just gathered the essentials as my task was firegiants. Also below that u will find what I have already posted on a different thread: Monster ID's if needed.. they are all the monsters that kuradel assigns.
Simba Code:MonsterLocation: TBox;
MonsterPath: TPointArray;
CaveWalkPath: TPointArray;
CaveTeleAndCarpet:TPointArray;
CaveTeleWalkPath: TPointArray;
MonsterPathDangerous, CaveWalkPathDangerous, CaveTCDangerous: Boolean;
MonsterQuestRequirements: Array of string;
MonsterTeleportRequirements: Array of string;
ClosestBank:= string;
SmokeyWell, Obelisk, DuelingArenaObelisk: TRSObject;
PolnivneachCarpetNPC: TNPC;
DuelingArenaArea: TBox;
//Dungeon Beneath Polniveach;
FireGiant, PyreFiend: MonsterLocation.X1:= 3241; MonsterLocation.Y1:= 9373; MonsterLocation.x2:= 3254; MonsterLocation.Y2:= 9355;
//These Tiles have to Be Inverted because I went from the Monsters(FireGiants, PyreFiends) to CaveEntrance..
MonsterPath:= [Point(3310, 2961), Point(3212, 9376), Point(3226, 9375), Point(3233, 9367), Point(3240, 9364), Point(3246, 9364)]
//These Tiles have to be Inverted because I went from the cave to AlkharidBank chest.
CaveWalkPath:= [Point(3310, 2961), Point(3310, 2955), Point(3311, 2946), Point(3323, 2944), Point(3330, 2953), Point(3338, 2956),
Point(3348, 2959), Point(3359, 2969), Point(3364, 2979), Point(3364, 2984), Point(3361, 2992), Point(3358, 2999),
Point(3351, 3001), Point(3346, 3010), Point(3337, 3019), Point(3333, 3029), Point(3326, 3039), Point(3321, 3049),
Point(3315, 3061), Point(3309, 3071), Point(3305, 3082), Point(3305, 3094), Point(3310, 3099), Point(3309, 3107),
Point(3306, 3312), Point(3304, 3115), Point(3304, 3120)]
//These Tile have to be Inverted because I went from the cave to the House portal at Polnivneach.
CaveTeleWalkPath:= [Point(3310, 2961), Point(3310, 2955), Point(3311, 2946), Point(3323, 2944), Point(3330, 2953), Point(3338, 2956),
Point(3348, 2959), Point(3359, 2969), Point(3364, 2979), Point(3364, 2984), Point(3361, 2992), Point(3358, 2999),
Point(3351, 3001), Point(3346, 3004)];
MonsterPathDangerous:= false;
CaveWalkPathDangerous:= true; // Loses approx 300 hp walking/running all the way through the desert unless u have waterskins.
CaveTCDangerous:= false; //magic carpet
ClosestBank:= 'Alkharid Bank Chest';
SmokeyWell:= R_GetObjectAt(Point(3310, 2961), OBJ_INTERACTABLE);
if(R_FindObject(36002, OBJ_INTERACTABLE, 10, SmokeyWell) or R_FindObject(2745, OBJ_INTERACTABLE,10, SmokeyWell)) then
begin
end;
Obelisk:= R_GetObjectAt(Point(3333, 3000), OBJ_INTERACTABLE);
if(R_FindObject(29943, OBJ_INTERACTABLE, 10, Obelisk) or R_FindObject(29992, OBJ_INTERACTABLE, 10, Obelisk) then
begin
end;
PolnivneachCarpetNPC:= R_GetNPCAt(Point(3350, 3001), false);
if(PolnivneachCarpetNPC.ID = 2294) then
begin
MMouse(R_TileToMS(PolnivneachCarpetNPC.Tile, 0).x, R_TileToMS(PolnivneachCarpetNPC.Tile, 0).y, 0, 0);
if(R_IsUpText('Rug Merchant')) then
begin
SmartClickMouse(R_TileToMS(PolnivneachCarpetNPC.Tile, 0).x, R_TileToMS(PolnivneachCarpetNPC.Tile, 0).y, false);
R_ChooseOption('Travel Rug Merchant'); //User needs minimum 200 gold to travel!
end;
end;
const
PolnivneachTeleTab = 18811; //Love story quest.. Use Chisel on HouseTab.
RingOfSlaying(8) = 13281; //75 Crafting to make them or else u buy em.
HouseTab = 8013;
FerociousRing(2) = 15401; //Only From Kuradel Dungeon -- This one has 2 charges;
DragonDefender = 20072; //100+ Combat for Guild;
DragonBoots = 11732;
BarrowsGloves = 7462; //Recipe For Disaster;
GloryAmuletDepleted = 1704; //Glory Charged (0);
RoW(4) = 20659; //Ring Of Wealth (4) -- 4 charges.
SlayerHelmet = 15492; //Needs Smoking Kills Quest.
LongBone = 10976; //Requires Quest to get drop.
GuthanPlateBody(75) = 4917; //Guthans Top at 75%
VeracPlateSkirt(75) = 4995; //Verac Skirt at 75%
ChaoticRapier (59%) = 18349; //Rapier with charge 59%;
RedSoulwarsCape = 15434; //Requires Nomad Requeim to be completed;
KorassiSword = 19784; //Needs void stares back I think.. the one where u kill the queen.
GoldCharm = 12158;
GreenCharm = 12159;
BlueCharm = 12163;
CrimsonCharm = 12160;
HouseAltarID = 13197;
FancyStoneDoors = 36625;
FancyStoneDoors2 = 36590;
kharyllHousePortal = 13628; //Mahogany
ArdougneHousePortal = 13626; //Mahogany
YanilleHousePortal = 13627; //Mahogany
VarrockHousePortal = 13622; //Mahogany
FaladorHousePortal = 13624; //Mahogany
CamelotHousePortal = 13625; //Mahogany
MountedGlory = 13523;
EnchantedWaterTiara = 11969; //Curse of Scarabas quest of something like that..
RingOfDueling(3) = 2562;
RingOfDueling(4) = 2560;
RingOfDueling(8) = 2552;
ExplorersRing(3) = 13562; // Lumbridge Hard Task.. Explorer's Ring 3;
//This is the TBox of where u will be if u tele to dueling arena using a ring.
DuelingArenaArea.X1:= 3305; DuelingArenaArea.Y2:= 3240; DuelingArenaArea.X2:= 3323; DuelingArenaArea.Y2:= 3226;
DuelingArenaGate:= Point(3311, 3235) or Point(3311, 3234);
DuelingArenaObelisk:= R_GetObjectAt(Point(3306, 3244), OBJ_INTERACTABLE);
if(R_FindObject(29943, OBJ_INTERACTABLE, 10, Obelisk) or R_FindObject(29992, OBJ_INTERACTABLE, 10, Obelisk) then
begin
end;
DuelArenaToAKBankChest: TPointArray;
//These Tile DO NOT need inverting because I went from dueling arena to alkharid bank chest.
DuelArenaToAKBankChest:= [Point(3311, 3235), Point(3309, 3226), Point(3312, 3215), Point(3312, 3207),
Point(3312, 3198), Point(3308, 3183), Point(3309, 3175), Point(3309, 3165),
Point(3306, 3153), Point(3303, 3143), Point(3305, 3132), Point(3306, 3124),
Point(3306, 3122)];
ShantayNPC: TNPC;
ShantayNPC:= R_GetNPC(836, false);
if(R_FindNPC(836, false, ShantayNPC) then
begin
MMouse(R_TileToMS(ShantayNPC.Tile, 0).x, R_TileToMS(ShantayNPC.Tile, 0).y, 0, 0);
if(R_IsUpText('Shantay')) then
begin
SmartClickMouse(R_TileToMS(ShantayNPC.Tile, 0).x, R_TileToMS(ShantayNPC.Tile, 0).y, false);
R_ChooseOption('Trade'); //Option to trade and buy waterskins or u can use 'Buy-pass' to buy shantay pass..
end;
end;
ShantayGuard: TNPC;
ShantayGuard:= R_GetNPC(838, false);
if(R_FindNPC(838, false, ShantayGuard) then
begin
MMouse(R_TileToMS(ShantayGuard.Tile, 0).x, R_TileToMS(ShantayGuard.Tile, 0).y, 0, 0);
if(R_IsUpText('Guard')) then
begin
SmartClickMouse(R_TileToMS(ShantayGuard.Tile, 0).x, R_TileToMS(ShantayGuard.Tile, 0).y, false);
R_ChooseOption('Bribe'); //Option to offer him 200 coins from your bank or if u have any in your invent, u can give him that.
end;
end;
ShantayPassObj:= R_GetObject(Point(3405, 3116), OBJ_INTERACTABLE);
if(R_FindObject(12774, OBJ_INTERACTABLE, 10, Obelisk) or R_FindObject(35543, OBJ_INTERACTABLE, 10, Obelisk) then
begin
R_ChooseOption('Go-through'); //Option to Go-through ShantayPass.. Or u can choose Look-At which is useless.
end;
Procedure ShantayPassAutoGoThrough;
begin
R_WalkToTile(Point(3304, 3114), 0);
//Find Interface and give him 200 gold from bank or invent or give him a shantaypass which is 5gp.
end;
ShantayPassObelisk:= R_GetObjectAt(Point(3301, 3112), OBJ_INTERACTABLE);
if(R_FindObject(29943, OBJ_INTERACTABLE, 10, Obelisk) or R_FindObject(29992, OBJ_INTERACTABLE, 10, Obelisk) then
begin
end;
ShantayPassCarpetNPC: TNPC; //THIS GUY MOVES Unlike the Polnivneach NPC!!
if(R_FindNPC(2291, false, ShantayPassCarpetNPC)) then
begin
MMouse(R_TileToMS(ShantayPassCarpetNPC.Tile, 0).x, R_TileToMS(ShantayPassCarpetNPC.Tile, 0).y, 0, 0);
if(R_IsUpText('Rug Merchant')) then
begin
SmartClickMouse(R_TileToMS(ShantayPassCarpetNPC.Tile, 0).x, R_TileToMS(ShantayPassCarpetNPC.Tile, 0).y, false);
R_ChooseOption('Travel Rug Merchant'); //User needs minimum 200 gold to travel!
end;
end;
PathToShantayPassNPC: TPointArray;
PathToShantayPassNPC:= [Point(3304, 3113), Point(3309, 3109)];
Simba Code:const
//Monster ID's For Kuradel:
AberrantSpecter1 = 1604;
AberrantSpecter2 = 1605;
AberrantSpecter3 = 1606;
AberrantSpecter4 = 1607;
AbyssalDemon = 1615;
Aquanite = ####;
BlackDemon1 = 84;
BlackDemon2 = 677;
BlackDragon = 54;
BabyBlackDragon = 3376;
Bloodveld1 = 1618;
Bloodveld2 = 1619;
BlueDragon = 55;
BabyBlueDragon = 52;
Dagannoth1 = 1338;
Dagannoth2 = 1339;
Dagannoth3 = 1340;
Dagannoth4 = 1341;
Dagannoth5 = 1342;
Dagannoth6 = 1343;
Dagannoth7 = 1344;
Dagannoth8 = 1345;
Dagannoth9 = 1346;
Dagannoth10 = 1347;
Dagannoth11 = 2254;
Dagannoth12 = 2456;
Dagannoth13 = 2887;
Dagannoth14 = 2888;
Dagannoth15 = 3591;
DagannothSpaw = 2454;
DarkBeast = 2783;
DesertStrykewyrm = ####;
Dustdevil = 1624;
FireGiant1 = 110;
FireGiant2 = 1582;
FireGiant3 = 1583;
FireGiant4 = 1584;
FireGiant5 = 1585;
FireGiant6 = 1586;
Gargoyle1 = 1610;
Gargoyle2 = 1611;
GreaterDemon = 83;
HellHound1 = 49;
HellHound2 = 3586;
IceStrykeWyrm = ####;
IronDragon = 1591;
JungleStrykewyrm = ####;
KalphiteWorker1 = 1153;
KalphiteWorker2 = 1156;
KalphiteSoldie1 = 1154;
KalphiteSoldier2 = 3589;
KalphiteGuardian1 = 1155;
KalphiteGuardian2 = 1157;
KalphiteLarva = 1161;
LivingRockCreature = ####;
MithrilDragon = ####;
Nechryael = 1613;
SkeletalStrykewyrm = ####;
SpiritualMage = ####;
SteelDragon1 = 1592;
SteelDragon2 = 3590;
Suqah = ####;
TerrorDog = ####;
TzHaar-Mej1 = 2591;
TzHaar-Mej2 = 2592;
TzHaar-Mej3 = 2593;
TzHaar-Mej4 = 2594;
TzHaar-Mej5 = 2595;
TzHaar-Mej6 = 2596;
TzHaar-Mej7 = 2597;
TzHaar-Hur1 = 2598;
TzHaar-Hur2 = 2599;
TzHaar-Hur3 = 2600;
TzHaar-Hur4 = 2601;
TzHaar-Hur5 = 2602;
TzHaar-Hur6 = 2603;
TzHaar-Xil1 = 2604;
TzHaar-Xil2 = 2605;
TzHaar-Xil3 = 2606;
TzHaar-Xil4 = 2607;
TzHaar-Xil5 = 2608;
TzHaar-Xil6 = 2609;
TzHaar-Ket1 = 2610;
TzHaar-Ket2 = 2611;
TzHaar-Ket3 = 2612;
TzHaar-Ket4 = 2613;
TzHaar-Ket5 = 2614;
TzHaar-Ket6 = 2615;
TzHaar-Ket7 = 2616;
TzHaar-Mej-Jal = 2617;
TzHaar-Mej-Kah = 2618;
TzHaar-Ket-Zuh = 2619;
TzHaar-Hur-Tel = 2620
TzHaar-Hur-Koz = 2621;
TzHaar-Hur-Lek = 2622;
TzHaar-Mej-Roh = 2623;
TzHaar-Ket1 = 2624;
TzHaar-Ket2 = 2625;
WarpedTortoise = ####;
Waterfiend = ####;
I am Ggzz..
Hackintosher
I dont see how it will take a while;
Simba Code:function FightMonster : boolean;
var
TempMArr : TNPCArray;
tmpMonster : TMonster;
i, c : integer;
tp : TPoint;
label
here;
begin
tmpMonster := Monsters[slayers[CurrentPlayer].Assignment.Monster];
here:
inc(c);
if c > 10 then
begin
escape;
exit;
end;
if not FindMonster then escape;
TempMArr := R_GetNPCsMulti(tmpMonster.name, false);
for i := 0 to high(TempMArr) do
begin
if TempMArr[i].incombat then continue;
tp := r_tiletoms(TempMArr[i].Tile, round(TempMArr[i].Height * 0.75));
break;
end;
writeln(TempMArr[i]);
{ }
if not tmpMonster.UseReflection then
with tmpMonster do
ClickNPC(true, TempMArr[i], Color, Tolerance, HueMod, SatMod, 7, 3, [TempMArr[i].name], true, ['ttack'])
else
begin
mmouse(tp.x, tp.y, 3, 3);
if not waituptext('ttack', 2000) then goto here;
getmousepos(tp.x, tp.y);
mouse(tp.x, tp.y, 0, 0, true);
end;
result := didredclick;
writeln('Clicked monster');
end;
<TViYH> i had a dream about you again awkwardsaw
Malachi 2:3
uhhh if goto works like it does in any other language, it doesn't reset the variables but rather it keeps the values that were previously stored in them.. example:
here:
enter a value for x
cin>>x;
goto here;
it will definitely just loop itself.. but not only that, it will not allow u to enter a value for x because x already has a value stored in it.. It jumps over code and is usually the reason ppl don't use it. It's better to just make a function and call another function inside it and if it needs to loop u just call the function again rather than goto.
I am Ggzz..
Hackintosher
I know I said this already, but if you guys are going to use Reflection, use it for everything, unless you plan on having 100% color support. If there's something that's not working in Reflection, figure it out and fix it. There should be no reason Reflection fails unless hooks are outdated. I would suggest using model clicking since iamadam did create it.
SRL's F.A.Q. (Error fixes) | How to Convert SRL-5 Scripts to SRL-6 | Draynor Chop N' Bank (RS3)| AIO Superheater (RS3)
T - E - A - MTogether Everyone Achieves More
If it's not, then someone should. I'm not trying to discourage color, I just think for something like object finding it's kind of pointless if you're going to be relying on Reflection anyway. Also, using tiles shouldn't be that bad, as long as you update the NPC's location quickly, it can't move very far in a few ms.![]()
SRL's F.A.Q. (Error fixes) | How to Convert SRL-5 Scripts to SRL-6 | Draynor Chop N' Bank (RS3)| AIO Superheater (RS3)
T - E - A - MTogether Everyone Achieves More
I agree, we should ween off color. ClickNPC should probably be removed or made to work with reflection completely. I'll fix what I can with the Master's issue. Has Iamadam's model clicking been added to the main Reflection 2 branch on github? We should look into that.
I have ideas for navigation! Post tiles (one tile!) of teleport locations, bank locations, and monster locations so they can be added and organized. Once we have the tiles for all the teleports/banks, functions can be used to determine how to get places!
Here's an example of how what I have planned will work: we want to get to, say, the slayer tower for a task. We would first sort the bank tiles by distance from the monster location tile. The closest bank would be in canifis. The quickest way this player has access to canifis is by kharyll teleport (this player is on ancient spell book). To get runes for kharyll teleport, we must get the closest bank to the player. We walk to this bank, get the runes, kharyll teleport, bank at canifis, and walk to slayer tower!
So yeah, post tiles! (TTiles, not TTileArrays).
Last edited by TomTuff; 07-13-2011 at 04:53 AM.
SRL's F.A.Q. (Error fixes) | How to Convert SRL-5 Scripts to SRL-6 | Draynor Chop N' Bank (RS3)| AIO Superheater (RS3)
T - E - A - MTogether Everyone Achieves More
All maps, including surface maps (don't think we really need those?) and under world maps, can be found on the tip.it atlas!
Links:
The point is navigation through teleportation. It's a lot faster to teleport than walk.
SRL's F.A.Q. (Error fixes) | How to Convert SRL-5 Scripts to SRL-6 | Draynor Chop N' Bank (RS3)| AIO Superheater (RS3)
T - E - A - MTogether Everyone Achieves More
I got a full size world map without the tipit watermark if you need
The only true authority stems from knowledge, not from position.
You can contact me via matrix protocol: @grats:grats.win or you can email me at the same domain, any user/email address.
Well theoretically they walk ANYWHERE and handle ALL obstacles, but I'm sure the same methods used to do the latter could be used to find the closest bank. For example, a world walker should (or could I guess) have a method (walkToBank) that simply walks to the closest bank from the player's location, but uses a teleport if the player has one.
Now that I wrote it out more, it does seem more logical to have the teleporting/banking in the script. Disregard what I said.Still need a world walker though.
SRL's F.A.Q. (Error fixes) | How to Convert SRL-5 Scripts to SRL-6 | Draynor Chop N' Bank (RS3)| AIO Superheater (RS3)
T - E - A - MTogether Everyone Achieves More
for web walk are you talking tomtuff?
I just made this for an example:
but for web walk the dungeon map has to be same size as minimap so when it clicks at that point it's the same distance type of click on the minimap that it is on the world map
The only true authority stems from knowledge, not from position.
You can contact me via matrix protocol: @grats:grats.win or you can email me at the same domain, any user/email address.
SRL's F.A.Q. (Error fixes) | How to Convert SRL-5 Scripts to SRL-6 | Draynor Chop N' Bank (RS3)| AIO Superheater (RS3)
T - E - A - MTogether Everyone Achieves More
oh I wasn't sure if you guys were talking about web walking or just reflection tiles
because something like:
from web walk, is similar to the tiles which is what confused meCode:const Graph1.Node := [Point(3013, 3360), Point(3025, 3366), Point(3036, 3369), Point(3044, 3369), Point(3057, 3371)]; Graph1.Edge := [Point(0, 1), Point(1, 2), Point(2, 3), Point(3, 4)];
I get confused easily =[
I'm going to test out web walking with my dungeon pic I made, I'd assume it works fine.. I want to see how well though just cuz I'm curious :P
Last edited by grats; 07-13-2011 at 05:50 AM.
The only true authority stems from knowledge, not from position.
You can contact me via matrix protocol: @grats:grats.win or you can email me at the same domain, any user/email address.
There are currently 1 users browsing this thread. (0 members and 1 guests)