Page 6 of 14
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Fri Jul 20, 2012 12:23 pm
by botique
For those attempting Jamie Rayer's game, you will not be able to see the matrix if you are using Lisa's model files.
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Sat Jul 21, 2012 2:26 am
by Beni
120 point...1 water element
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Sat Jul 21, 2012 7:14 am
by silinky
i try to make myself a wp for the weaving machine but i cannot find out how to identify the matrix color. any hint for it?
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Sat Jul 21, 2012 10:46 am
by rock5
That's already been looked for with no luck. There is no matrix object and it doesn't seem to be an offset of the machine itself.
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Sat Jul 21, 2012 1:16 pm
by botique
What if we tell to the bot manually the color of the matrix?
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Sat Jul 21, 2012 2:06 pm
by silinky
well, thx for the answer, i already hate this event, screw the pet
all kinds of moronic stuff to do, instead of playing the game.
back to my fighting bot i guess.
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Sat Jul 21, 2012 8:05 pm
by Hidden
Thanks Dx and Lisa works well...... i hate timed events
not enough hours in the day and now its only once an hour not twice.
Its a pain as i still need a Zodic pet, havent received a pet crystal yet.... and its like 2 months till they change events.
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 8:40 pm
by BillDoorNZ
ok...been working on the weaving machine....an interesting one that one.
will attach what I have to date...please note that this the first version! It will pick the correct box when:
1) There are no errors
2) There is a Matrix error
3) There is a Message error
4) There is both a Matrix and Message error
I'm currently working on the Message Matrix error combination. Colors are based off the Weaving Machine buffs
Code: Select all
BUFFS_RED = 622962;
BUFFS_WHITE = 622963;
BUFFS_YELLOW = 622964;
The problem is that the CPawn:updateBuffs function doesn't get the buff as it has no Name. I added a function to get those and that seems to work correctly.
Sometimes the order of the system and warning messages is invalid, so it may pay to check each twice...not sure yet...needs more testing...have updated to only get error text if there is a message error
which seems to have resolved the issue.
Game now completes fully with 21 or 22 (think it was 21) successes and gets goddess package.
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 8:47 pm
by BillDoorNZ
only took 60 transport runes to test and debug!!! lol
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 9:51 pm
by lisa
Code: Select all
elseif (obj.Id == id_WeavingMachine) then
printf(obj.Hex.."\n");
errors out saying Hex a nil value.
just for future reference you can use
and it will do a next line at end by default without needing to add one in =)
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 9:54 pm
by BillDoorNZ
doh...left that code in there did I!!!
one sec and will update my post
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 9:55 pm
by BillDoorNZ
k, updated...was using it to see what mem locations were changing when the color's were there...
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 10:14 pm
by lisa
i commented out that line and worked fine, the score stopped at 21, not sure why though. It must have clicked 6 or 7 things after it got 21 but it just stayed at 21. Maybe a max score?
Also not sure why you have a few waypoints to walk away and back again?
BTW you did an awesome job on it =)
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 10:15 pm
by BillDoorNZ
thx!
heh...those are a leftover from a previous version and some stuff of mine.
I'll remove those tomorrow and also update the 'center' spot so its a range of spots as its very obviously a bot when you watch it. Will add some longer pauses after the box click too and make them randomised so as to not look so botty
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 10:19 pm
by lisa
I didn't think it looked botty at all, going to the center is logical even when playing, I would however make it face the weaving machine at that spot though as looking other direction doesn't look right lol
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 10:22 pm
by BillDoorNZ
lol...true....dunno how to do that as yet...will have to look it up
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 10:24 pm
by BillDoorNZ
hmm...something like:
Code: Select all
local angle = math.atan2(target.Z - self.Z, target.X - self.X);
local yangle = math.atan2(target.Y - self.Y, ((target.X - self.X)^2 + (target.Z - self.Z)^2)^.5 );
self:faceDirection(angle, yangle);
??
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Mon Jul 23, 2012 10:27 pm
by lisa
you can get rid of the waypoints altogether and just add a player:sleep() as the last line in the onload.
since the machine never moves you could put in the actual coords of it, or you can do a memory scan for the object and get it's coords that way.
Code: Select all
player:udpdate()
local angle = math.atan2(machine.Z - player.Z, machine.X - player.X);
camera:setRotation(angle);
or yeah you can use that code you posted if you worry about y values but since you only care which direction char faces the Y shouldn't matter =)
Actually on second thought, when you click the middle you turn to click then turn back and if you had it face machine it would turn a third time, not ideal.
I changed the end of the onload to this
Code: Select all
player:target_NPC(jamie_id);
yrest(2000)
if inventory:itemTotalCount("Transport Rune") then
ChoiceOptionByName("transport");
loadPaths("weavingmachine")
else
player:sleep()
end
so if you have transport runes it will use them to redo the event, it will error out though if someone else starts the event before you do, would need a check after clicking machine for if it is in use or not.
Code: Select all
local function findClosest(_obj)
if _obj == nil then player:sleep() end
that will probably do the trick because _obj is nil if someone else is doing the event when you click machine.
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Tue Jul 24, 2012 5:58 am
by BillDoorNZ
lisa wrote:Code: Select all
elseif (obj.Id == id_WeavingMachine) then
printf(obj.Hex.."\n");
errors out saying Hex a nil value.
just for future reference you can use
and it will do a next line at end by default without needing to add one in =)
nice...the Hex property was just a dump of the hex values from the object pointer to the last known offset (lootable).
Code: Select all
for i=self.Address,self.Address + addresses.pawnLootable_offset+20,1 do
local b = debugAssert(memoryReadUByte(proc, i)) or 0;
if ((i % 4)==0) then s = s.." "; end;
s = sprintf("%s %02X", s, b);
end;
self.Hex = s;
Re: Rock5's Constellation (Zodiac) Pet scripts
Posted: Tue Jul 24, 2012 11:47 am
by Hidden
OMG Bill you are a legend
I dunno about looking "bot like" even manually I look like a bot. I just stand on the middle one and after clicking one of the sides use the back key to walk back to the centre.