The log of Zarotrox

1 Like

1 Like

Special thanks to Brummarn for being my partner for these two quests.

1 Like

1 Like

Missed my pic for 37 prayer cause for whatever reason the ghasts dying animation has to interrupt it…but

2 Likes

The fun fact of the day, when you see close interfaces seemingly at random it’s because Jagex has a concept called “protected access,” it ensures scripts don’t run “concurrently.”
The server is single threaded - which means it’s not really at the same exact time, just that a script/interface may have blocked further access on that player.

Variables and inventories are “protected” by default, unless explicitly unprotected, which means they need protected access to update them. This helps prevent a lot of simple logical gotchas devs could make, but if a dev isn’t aware of how it works they can make some small mistakes too.

Interfaces being open or your player being “delayed” block protected access. Delays also disallow user input. When you’re alching or using the bullroarer to run around you’re under a brief delay, and an astute mind may notice that means run energy doesn’t drain during those ticks either!
What that means for devs, you have to close interfaces if_close then attempt to gain protected access p_finduid, if it succeeds you have free reign over the player’s state, if it fails you need to gracefully handle it/queue a script to run when available in the future.

Because killing a ghast runs the death script from the NPC itself, and it needs to check and advance your quest state, it requires protected access and therefore closes your interface to attempt to get it. Even if you finished the quest.
On OSRS this is a “strong queued” action which is another can of worms, queues (with one exception) attempt to run every tick once they’re ready AND they have protected access. To have a better chance at it, strong queues close interfaces automatically, so they’re only blocked by delays.
We’re before the addition of strong queues to the engine, but we still have the same protection rules, so we just do that manually in content.

Gz on the progress :slight_smile:

9 Likes

Was always curious why we couldn’t have interfaces open when doing things. =P

But for ghasts in particular I figured it was because it was using the bury action w/o actually showing it since you get prayer xp on kill.

There are no questions that can’t be answered :slight_smile: If you’re ever curious our source is one search away!

The code that runs here just directly adds prayer XP rather than via general burying:

stat_advance(prayer, 300);
if(%druidspirit = ^druidspirit_added_pouch) {
    mes("That's one Ghast, 2 more to kill.");
    %druidspirit = ^druidspirit_killed_ghast1;
} else if(%druidspirit = ^druidspirit_killed_ghast1) {
    mes("That's two Ghasts, 1 more to kill.");
    %druidspirit = ^druidspirit_killed_ghast2;
} else if(%druidspirit = ^druidspirit_killed_ghast2) {
    mes("That's all three Ghasts!");
    %druidspirit = ^druidspirit_killed_ghast3;
}

stat_advance does not require protected access (XP is divided by 10 when shown btw), updating the quest state does %druidspirit =

p.s. If we had the coveted tape.tar.gz backup my duty would become documenting and teaching the real code!
Our code is a recreation based on measurable behaviors, limited by running in a similar environment. I will caveat that our environment has features that surpass real 2004’s capabilities, but nothing that affects emulation/output. Just dev UX.

5 Likes

Bleh I need to remember to look at stats after I take a break…missed 900 total but heres 901 =P

Hiscores still had it lol

1 Like

1 Like

Missed again but 40 prayer

1 Like

Made sure to get the 43 prayer image

4 Likes

Just have Herblore left for Legends reqs

2 Likes

Been almost 24hrs since the last post. I’ve been working on gathering the herbs needed for 45 Herblore. It is my last skill until I can do Legends Quest. Once I have that I will be running through Family Crest, Shilo Village, Underground Pass, Watchtower and Finally Legends Quest.

I was hoping to have this all done by the end of Thursday, but I don’t think I will make that timeline. Taking quite a while to gather just the herbs and still need the secondaries.

This is what I know I have atm and the Secondaries Needed.

Yo, I’m willing to assist with 340 vials of water. I’ll add you in game

And 9 snape grass :smiling_face_with_sunglasses:

1 Like

Added to the special thanks area of the first post =)

1 Like

Getting closer


4 Likes

Unfinished Potions done Just need the Secondaries


3 Likes

The downside to no bots is high priced secondaries…wonder how long it will take to collect em all lol

1 Like