PDA

View Full Version : Bigshot Updates



Haldrik
12-03-2015, 06:13 AM
This thread was originally about fixing the poaching issues but I think it's best to move past that and use it to track issues. I won't be attempting to update the lich repo with this build until group hunting is added back in and is vetted by enough players.

Current Issues:
-Incant skips loot (might be fixed)
-Group hunting will not work due to poach fixes
v.1
-Fixed Disk poaching.
-Fixed First room poaching.
-Removed group poaching logic.
-Ambush detection via Exec Script. It will leave the room if it detects an ambush line.
-Rewrote and updated wander targeting sections. Fixes some target related bugs.
-Moved WAIT command to exec to prevent line buffer issues and make more responsive
v.2 (2/27/2016)
-Added changes to fix incant loot issues (might work)
-Added ability to detect renaming of bigshot without destroying exec scripts
-Converted exec scripts to strings to allow =>quiet

To do:
Add back group logic for poaching. Probably through variables.
Add ranger/familiar checks to poaching
Add more messaging for ambush checks (snipe, etc.)
Move cmd_spell to same structure as other cmds. (should fix incant)

Buckwheet
12-03-2015, 08:25 AM
Nice work. Have you checked this against ranger pets? I am constantly getting poached because it doesn't see the ranger pets like a disk.

Tillmen
12-03-2015, 08:38 AM
How would you tell the difference between a ranger pet and any other npc?

Buckwheet
12-03-2015, 08:51 AM
How would you tell the difference between a ranger pet and any other npc?

I would suggest an option that if you don't have a NPC expressly called out in either flee or attack it ignores the room. A good example might be you are hunting in an area where grimswarm could wander out. But you don't know this. So you have a list of creatures to attack and a list of creatures to avoid or flee. But then you wander into a room with a grimswarm or someone's bandit and if you choose it should just consider that a flee NPC.

I am thinking maybe a checkbox like flee from clouds, flee from unknown NPCs.

Edit: I guess thinking about it more, you would also need some kind of ignore option for your own pet. I haven't tested having a pet that matches the noun of a creature I would want to attack.

elcidcannon
12-03-2015, 09:33 AM
Has this been uploaded to the repository? Or do we need to make the changes manually?

m444w
12-03-2015, 11:31 AM
I haven't played GS in like 4 months at least at this point, but I wrote a gem for the vast majority of this stuff (detecting aggressive NPCs vs mundane for instance) that people may find useful.

The github repo is here: https://github.com/ondreian/Olib
and docs are here: http://www.rubydoc.info/gems/Olib

Everything except Containers (which is global as well) exists under the Olib global namespace, to prevent unintended naming collisions with Lich definitions.

Hopefully someone finds it useful, and while I am not playing, I will accept PR/issues and keep maintaining it if people find it to be a worthwhile endeavor.

It is a gem, so it can be required and therefore is not on the ;repo

Haldrik
12-03-2015, 02:14 PM
Nice work. Have you checked this against ranger pets? I am constantly getting poached because it doesn't see the ranger pets like a disk.

Easy enough to add. Can you compile a list of ranger pet nouns? I can use that list & npcs.aggresive. Are there any custom pet names?




Has this been uploaded to the repository? Or do we need to make the changes manually?

Definitely not on the repository yet. It will absolutely break any group hunting currently. And the changes to ambush aren't ready. I also still need to address the initial room poaching. But you can definitely swap out the code from the wander changes. I've been running those all day and no issues. I also haven't tested with many players, but it should theoretically work. The more testers the better.



I haven't played GS in like 4 months at least at this point, but I wrote a gem for the vast majority of this stuff (detecting aggressive NPCs vs mundane for instance) that people may find useful.

The github repo is here: https://github.com/ondreian/Olib
and docs are here: http://www.rubydoc.info/gems/Olib

Everything except Containers (which is global as well) exists under the Olib global namespace, to prevent unintended naming collisions with Lich definitions.

Hopefully someone finds it useful, and while I am not playing, I will accept PR/issues and keep maintaining it if people find it to be a worthwhile endeavor.

It is a gem, so it can be required and therefore is not on the ;repo


Damn. That is seriously extensive. But I'm definitely not interested in having people install gems for a script like bigshot. Some of this has already been achieved in Gameobj-data.xml. Have you thought about combining some of the variables into Gameobj-data.xml? There is likely a lot of overlap but could be useful.

But there is some really cool stuff in there. I'll have to parse through and see what I can use for my personal stuff.

Fallen
12-03-2015, 02:42 PM
Easy enough to add. Can you compile a list of ranger pet nouns? I can use that list & npcs.aggresive. Are there any custom pet names?

http://drfuturepast.com/GSIV/GECP/

This should have a list of companion nouns. That website should work, but it's blocked at my job. To find it, click on the last link in the resources section of the wiki: https://gswiki.play.net/mediawiki/index.php/Animal_Companion_%28630%29

Haldrik
12-03-2015, 02:51 PM
Ambush break is still buggy, haven't had a chance to update.

Buckwheet
12-03-2015, 02:53 PM
http://drfuturepast.com/GSIV/GECP/

This should have a list of companion nouns. That website should work, but it's blocked at my job. To find it, click on the last link in the resources section of the wiki: https://gswiki.play.net/mediawiki/index.php/Animal_Companion_%28630%29

That is the best list I know of as well.

Haldrik
12-03-2015, 05:45 PM
That is the best list I know of as well.

If someone wants to put all of the animals into a regex list. dog|cat|hawk|etc|etc

http://drfuturepast.com/GSIV/GECP/

I also need logs of them in the room with ;e echo Gameobj.npcs. Also ;e echo Gameobj.loot.

There is also the problem of what to do with YOUR current animal. How are they spawned? Are they random? Is there an activespell when the animal is on? I'm thinking it should be easy to do but there will be edge cases where 2 rangers with 2 animals could poach each other. I could capture the summoning lines but if 2 rangers summon 2 of the same animals...

Anyways, let me see some logs of animals being summoned/swapped as well.

Donquix
12-03-2015, 06:05 PM
I haven't played GS in like 4 months at least at this point, but I wrote a gem for the vast majority of this stuff (detecting aggressive NPCs vs mundane for instance) that people may find useful.

The github repo is here: https://github.com/ondreian/Olib
and docs are here: http://www.rubydoc.info/gems/Olib

Everything except Containers (which is global as well) exists under the Olib global namespace, to prevent unintended naming collisions with Lich definitions.

Hopefully someone finds it useful, and while I am not playing, I will accept PR/issues and keep maintaining it if people find it to be a worthwhile endeavor.

It is a gem, so it can be required and therefore is not on the ;repo

https://github.com/ondreian/Olib/blob/master/lib/Olib/character/group.rb#L6

whoa man. that's deep.

Haldrik
12-03-2015, 08:11 PM
I fucking hate bigshot. I've got everything working and it does double commands even after I break the attack loop like 5-6 defs deep. WHYYYYY.

Haldrik
12-04-2015, 02:11 AM
Completely new updates. Rewrote targeting (again) and wander (again.) Cleaned up random double commands (hopefully.) Currently has no group functionality for poaching.

http://pastebin.com/BnrpXxN3

Here are the changes.


def no_players()
return false if GameObj.loot.find { |obj| obj.noun == 'disk' and obj.name !~ /#{Char.name}/}
return false if checkpcs or $ambusher_here
return true
end

def do_hunt()
spam() if UserVars.op['spam']

start_watch()
message('Bigshot hunting')

# loop
target = nil
just_arrived = true
last_attack = 0
$ambusher_here = false

start_exec_script( <<-eos
while(line = get);
break unless running?('bigshot');
$ambusher_here = true if line =~ /^\w+ leaps from hiding to attack/;
end;
eos
)


while true
while( (target = find_target(target, just_arrived)) && !should_rest? && no_players == true)
echo target if $bigshot_debug
if( (Time.now.to_i - last_attack > 15) || just_arrived )
@followers.add_event(:ATTACK)
last_attack = Time.now.to_i
end
attack(target)
just_arrived = false
loot() if $ambusher_here == false
end

echo "Exiting attack loop" if $bigshot_debug
gather_ammo()

if(should_rest?)
break
else
prepare_for_movement()
target = bs_wander()
sleep 1
just_arrived = true
end

end

unspam()
end



def attack(target)
commands = find_routine(target)
echo commands if $bigshot_debug

commands.each do |i|
break unless valid_target?(target)
break if wounded? || $bigshot_should_rest
break if $ambusher_here
stand()
cast_signs()

cmd( i, target )
end
echo commands.size if $bigshot_debug
#sleep 1 if commands.size == 0
end



def cmd( command, npc = nil, stance_dance = true )
command = command.dup

if( command.class.to_s == 'Array' )
stance_dance = false if command.any? { |j| j =~ /stance/ }
command.each do |i|
echo i if $bigshot_debug
cmd( i, npc, stance_dance )
end
return
end

# check mana/stamina
if( command =~ /(.*)\(([s|m])(\d+)\)$/ )
if( $2 == 's' )
return if !checkstamina($3.to_i)
elsif( $2 == 'm' )
return if !checkmana($3.to_i)
end
command = $1
end

if( command =~ /force\s+(.*)\s+(?:till|until)\s+(\d+)/ )
cmd_force( $1, $2.to_i, npc )
return
end

# sub id
command.gsub!( /target/, "##{npc.id}" ) if !npc.nil?

# waitrt/waitcastrt
unless( command =~ /^nudgeweapons?/ )
waitrt?
waitcastrt? if command =~ /^\d+|incant/
end

# change_stance
stand()
unless( command =~ /^(?:\d+|wait|sleep|wand|berserk|script|hide|nudgew eapon)/ )
change_stance(@HUNTING_STANCE) if stance_dance
end

return if npc && !valid_target?(npc)

if( command =~ /^(\d+)(.*)$/ )
cmd_spell( $1.to_i, $2.strip, npc )
elsif( command =~ /^throw/i )
cmd_throw( npc )
elsif( command =~ /^k?weed/i )
cmd_weed( command, npc )
elsif( command =~ /^wand\s+(.*)/i )
cmd_wand(npc)
elsif( command =~ /^hide/i )
cmd_hide()
elsif( command =~ /^mstrike/i )
cmd_mstrike( command, npc )
elsif( command =~ /^fire/i )
cmd_ranged(npc)
elsif( command =~ /^berserk/i )
cmd_berserk()
elsif( command =~ /^script\s+(.*?)(\s|$)(.*)/i )
cmd_run_script( $1, $3 )
elsif( command =~ /^sleep\s+(\d+)/i )
cmd_sleep( $1, npc )
elsif( command =~ /^stance\s+(.*)/i )
change_stance($1)
elsif( command =~ /^wait\s+(\d+)/i )
wait_for_swing( $1.to_i, npc )
elsif( command =~ /^nudgeweapons?\s*/i )
cmd_nudge_weapons
else
return if command =~ /1030/ && checkmana < 10
return if $ambusher_here
echo "inside cmd: #{command}" if $bigshot_debug
bs_put command
end
end


def bs_wander()
wander_last_room = nil

wander = proc {
room = Room.current
next_room_options = room.wayto.keys - @HUNTING_BOUNDARIES
if next_room_options.length > 1
next_room_options.delete_if { |option| option == wander_last_room }
end
next_room = next_room_options[rand(next_room_options.length)]
way = room.wayto[next_room]
if way.class == String
sleep 0.3
move(way)
else
way.call
end
cast_signs(true)
wander_last_room = room.id.to_s
}

while true # wander, check for players
echo "no_players: #{no_players}" if $bigshot_debug
npcs = GameObj.npcs
npcs.delete_if { |npc| (npc.status =~ /dead|gone/) }
sort_npcs.each { |i| return i if valid_target?( i, true ) and no_players == true and GameObj.npcs.size > 0 }
return if should_rest?
wander.call
sleep 0.1
$ambusher_here = false
end
end

Haldrik
12-05-2015, 08:06 PM
Cleaned and added new code to OP.

Soulance
12-05-2015, 09:36 PM
Thanks for posting this and looking to update bigshot. I like bigshot but also felt it could be cleaned up quite a bit. I thought that someone had fixed BS so it wouldn't poach but it still seemed to. I've been downloading and trying out your version and it seems to be working as far as I can see so far.

Haldrik
12-06-2015, 04:37 PM
Thanks for posting this and looking to update bigshot. I like bigshot but also felt it could be cleaned up quite a bit. I thought that someone had fixed BS so it wouldn't poach but it still seemed to. I've been downloading and trying out your version and it seems to be working as far as I can see so far.

Cool. Let me know if you see any bugs. Also if it works with people ambushing let me know. I only tested that part through ;exec variable changes.

Oh, if anyone has other ambushing messages I can add those in. Like snipe messaging, etc.

Tgo01
12-06-2015, 04:44 PM
If someone wants to put all of the animals into a regex list. dog|cat|hawk|etc|etc

http://drfuturepast.com/GSIV/GECP/

I also need logs of them in the room with ;e echo Gameobj.npcs. Also ;e echo Gameobj.loot.

There is also the problem of what to do with YOUR current animal. How are they spawned? Are they random? Is there an activespell when the animal is on? I'm thinking it should be easy to do but there will be edge cases where 2 rangers with 2 animals could poach each other. I could capture the summoning lines but if 2 rangers summon 2 of the same animals...

Anyways, let me see some logs of animals being summoned/swapped as well.

I suppose the script could check for any NPCs in the room that aren't aggressive and if it finds any it would assume it's a companion or familiar or something. The only problem I can think of is sometimes town guards are in hunting grounds so the script could ignore any NPCs with the name "guard."

Of course as you said this causes a problem with one's own familiar/companion/whatever, so you could have the script check for when one of these is summoned and the script would then ignore that particular NPC. The only problem then would be as you said if someone else happens to have exactly the same type of familiar/companion/whatever as you do, in that case fuck'em. They can write their own script!

Haldrik
12-06-2015, 06:42 PM
I suppose the script could check for any NPCs in the room that aren't aggressive and if it finds any it would assume it's a companion or familiar or something. The only problem I can think of is sometimes town guards are in hunting grounds so the script could ignore any NPCs with the name "guard."


That would be a lot easier. And yeah. TV has a lot of those guards too. But I think this solution is probably the easiest.



Of course as you said this causes a problem with one's own familiar/companion/whatever, so you could have the script check for when one of these is summoned and the script would then ignore that particular NPC. The only problem then would be as you said if someone else happens to have exactly the same type of familiar/companion/whatever as you do, in that case fuck'em. They can write their own script!

Hahaha. Well said.

Buckwheet
12-06-2015, 09:35 PM
Why not allow a spot to put in your pets description?

Soulance
12-06-2015, 10:25 PM
Ranger pets are considered non-aggressive then even though they attack stuff?

I can see familiars because they don't really do much.

Soulance
12-06-2015, 10:26 PM
Cool. Let me know if you see any bugs. Also if it works with people ambushing let me know. I only tested that part through ;exec variable changes.

Oh, if anyone has other ambushing messages I can add those in. Like snipe messaging, etc.
I am using it with my new Ranger so I suppose I should learn how to ambush and whatnot. I'll try to dabble with it and probably break it.

Tgo01
12-06-2015, 10:29 PM
Ranger pets are considered non-aggressive then even though they attack stuff?

I can see familiars because they don't really do much.

Aggressive is just a variable in Lich that lists all NPCs that are critters.

Tgo01
12-06-2015, 11:52 PM
I suppose the script could check for any NPCs in the room that aren't aggressive and if it finds any it would assume it's a companion or familiar or something. The only problem I can think of is sometimes town guards are in hunting grounds so the script could ignore any NPCs with the name "guard."

Of course as you said this causes a problem with one's own familiar/companion/whatever, so you could have the script check for when one of these is summoned and the script would then ignore that particular NPC. The only problem then would be as you said if someone else happens to have exactly the same type of familiar/companion/whatever as you do, in that case fuck'em. They can write their own script!

Actually you can grab the companion/familiar/whatever ID when it is summoned then ignore that ID when hunting and that would solve the problem of another person having the exact same companion.

Only problem would be if one logged on with their companion already at their side. Is there some sort of messaging for this? Like "your wolf saunters up to you and gives you a BJ" when you log on? If so you could have another script that starts at set up grab this information to send on over to big shot to ignore that ID.

Haldrik
12-07-2015, 05:06 AM
Why not allow a spot to put in your pets description?

i don't think this works because they change? Can you summon like 5 different pets?


How do pet/familiar movements work? Do they travel like disks?

At this point I'm just thinking, assume player present if non-aggresive NPC. If a ranger is present with 650 active, ignore 1 non-aggresive. Should be simple enough.

Buckwheet
12-07-2015, 09:15 AM
Familiars are different from ranger pets. Familiars can be whatever. Ranger pets are static.

Soulance
12-07-2015, 10:45 AM
They changed how familiars and ranger pets work not long ago. They aren't like disks and tend to run as if "grouped" now though occasionally they wander in late for some reason. But most of the time when you move the familiar moves.

Haldrik
12-08-2015, 02:02 PM
They changed how familiars and ranger pets work not long ago. They aren't like disks and tend to run as if "grouped" now though occasionally they wander in late for some reason. But most of the time when you move the familiar moves.

Great. I probably won't get to these changes until at least Friday. I've got finals. :(

Buckwheet
12-10-2015, 10:03 AM
If you get some time, you could also look into should 901 target(m1), 1700 target cast 901 until you are out of mana and then 1700 versus what I think it does which is "if you have 1 mana cast 901 then cast 1700 then repeat".

Wrathbringer
12-10-2015, 10:07 AM
Bigshart sucks.

Haldrik
12-10-2015, 01:36 PM
If you get some time, you could also look into should 901 target(m1), 1700 target cast 901 until you are out of mana and then 1700 versus what I think it does which is "if you have 1 mana cast 901 then cast 1700 then repeat".

Hmmm.

Can you try

901 target(xx)(m1), 1700(xx)

What happens currently with:

901 target(xx), 1700(xx)

901 should stop casting when its out of mana? Does the script move on to 1700?

Buckwheet
12-10-2015, 03:05 PM
Hmmm.

Can you try

901 target(xx)(m1), 1700(xx)

What happens currently with:

901 target(xx), 1700(xx)

901 should stop casting when its out of mana? Does the script move on to 1700?

901 target(m1)(XX), 1700(xx) with rest if mana gets to -1% seems to be working well.

Haldrik
12-14-2015, 10:58 PM
Fix to stop the exec spam on bigshot exit. It was basically creating endless Exec scripts. Whoops.

I never noticed it since I run sbounty.

Line 20ish

$exec_ambush = false

Replace the exec block at
Line 926ish


if $exec_ambush == false then
start_exec_script( <<-eos
while(line = get);
break unless running?('bigshot');
$ambusher_here = true if line =~ /^\w+ leaps from hiding to attack/;
end;
eos
)
$exec_ambush = true
end


http://pastebin.com/APMYi1FH

Haldrik
12-29-2015, 07:50 PM
I just rolled in a new change to the "wait" attack feature. There were several irritating scenarios where it would miss a monster attack.

Replace your def wait_for_swing with the following code


def wait_for_swing( seconds, target = nil )
start = Time.now
swung = false
$stop_wait = false
$global_target = target.id
$pcs = checkpcs ? ' you(\.|!|r? )|' + checkpcs.join('|') : 'you(\.|!|r? )'
start_exec_script( <<-eos
status_tags;
while line = get;
$stop_wait = true if line =~ /#{$global_target}.*#{$pcs}/ and line !~ /style id="".*style id="roomDesc"|(?:component|compDef) id='room objs'/;
break if $stop_wait;
break if !running? 'bigshot';
end;
status_tags;
eos
)

while(1)
change_stance( 'defensive', false ) unless target && target.status =~ PRONE
stand()

break if $stop_wait
break if GameObj.npcs.size.nil? || GameObj.npcs.size == 0
break if should_flee?
break if target && target.status =~ PRONE
break if ( Time.now - start ) > seconds
sleep 0.1
end
end

Add this line around 425. Do a ctrl F for wait_for_swing,


elsif( command =~ /^wait\s+(\d+)/i )
wait_for_swing( $1.to_i, npc )
$stop_wait = true


With debug echos.


def wait_for_swing( seconds, target = nil )
start = Time.now
swung = false
$stop_wait = false
$global_target = target.id
$pcs = checkpcs ? ' you(\.|!|r? )|' + checkpcs.join('|') : 'you(\.|!|r? )'
#and line !~ /(?:^<style id=""\/><style id="roomDesc"\/>|<component id='room objs'>|<compDef id='room objs'>)/;
start_exec_script( <<-eos
status_tags;
while line = get;
echo line if $bigshot_debug;
echo "Inside stop_wait exec" if $bigshot_debug;
echo $global_target if $bigshot_debug;
echo $pcs if $bigshot_debug;
echo $stop_wait if $bigshot_debug;
echo "#{$global_target}.*#{$pcs}" if $bigshot_debug;
$stop_wait = true if line =~ /#{$global_target}.*#{$pcs}/ and line !~ /style id="".*style id="roomDesc"|(?:component|compDef) id='room objs'/;
break if $stop_wait;
break if !running? 'bigshot';
end;
status_tags;
eos
)

while(1)
change_stance( 'defensive', false ) unless target && target.status =~ PRONE
stand()

echo $pcs if $bigshot_debug
echo "inside wait_swing while" if $bigshot_debug
#break if clear.any? { |line| line =~ /#{target.id}.*(#{pcs})/ && line !~ /^<style id=""\/><style id="roomDesc"\/>|<component id='room objs'>|<compDef id='room objs'>/ }
break if $stop_wait
break if GameObj.npcs.size.nil? || GameObj.npcs.size == 0
break if should_flee?
break if target && target.status =~ PRONE
break if ( Time.now - start ) > seconds
sleep 0.1
end
end

Soulance
12-30-2015, 11:16 AM
Put the new lines in. What does this work on actually?

Just received this one as I did it:

s>;halbig--- Lich: halbig active.
--- Lich: error: halbig:1660: syntax error, unexpected keyword_end, expecting end-of-input
C:/Users/AMD Ultimate/Desktop/lich/lich.rbw:2473:in `eval'
C:/Users/AMD Ultimate/Desktop/lich/lich.rbw:2473:in `block (2 levels) in <class:Script>'
--- Lich: halbig has exited.

Haldrik
01-01-2016, 11:51 PM
Put the new lines in. What does this work on actually?

Just received this one as I did it:

s>;halbig--- Lich: halbig active.
--- Lich: error: halbig:1660: syntax error, unexpected keyword_end, expecting end-of-input
C:/Users/AMD Ultimate/Desktop/lich/lich.rbw:2473:in `eval'
C:/Users/AMD Ultimate/Desktop/lich/lich.rbw:2473:in `block (2 levels) in <class:Script>'
--- Lich: halbig has exited.

Bleh. I probably copied it over wrong when I deleted the echos.

Here is the working version.

http://pastebin.com/6KF60kR9

Haldrik
01-01-2016, 11:55 PM
Okay,

So there is a lot of issues with incant Spell(xx) right now. There was some targeting issues that my first fixed cleaned up indirectly. There is a fairly consistent issue with bigshot skipping dead monsters when using incant. Right now you can use- incant 302(x1) while i figure out what the fuck is going on. I don't have a caster so it's been fairly irritating to track.

I may have a fix but I need some people to test it out.


http://pastebin.com/6KF60kR9

Soulance
01-02-2016, 12:10 AM
I'll try it out tomorrow morning hopefully. The whole incant/evoke thing messed up my Wizard hunting. I used 505 exclusively amd loved it. Now it doesn't work with bigshot or ;rcast.

I would think most Clerics CHANNEL 302 for the extra bump but maybe they don't.

Haldrik
01-02-2016, 12:17 AM
I'll try it out tomorrow morning hopefully. The whole incant/evoke thing messed up my Wizard hunting. I used 505 exclusively amd loved it. Now it doesn't work with bigshot or ;rcast.

I would think most Clerics CHANNEL 302 for the extra bump but maybe they don't.

Ahh, i didn't know there was issues with that. I've just heard about a spam incant target but and then the loot bug. See if this version fixes any of that.

I should clarify it has nothing to do with incant itself. The bug just pops up when most people use incant 702(xx). It's a a bug with the cmd_spell method not clearing when a target dies. Spells go through a separate command path then the rest so it only pops up with spells.

But now that you bring it up, there could be issues with spells not pausing on hard RT if they are using channel. If that pops up let me know.

And the wait fix from earlier applied to when you use "wait 30" in bigshot. It would sometimes miss attacks from monsters and force you to wait for a 2nd attack.

Soulance
01-02-2016, 12:38 AM
I don't recall ever seeing a problem with 302 channeled hard rt when I've used it for my cleric. I will try it out for my Wizard though. Thanks!

Haldrik
01-05-2016, 02:07 PM
The incant fix I rolled out hasn't completely fixed the issue of not looting some creatures. I'm not going to be able to resolve this until I get a caster and place debug echoes. So for now I suggest people use incant 301(x1) if they are noticing the issue when using incant 301(xx).

Let me know if there are other issues related to spells/incant.

Haldrik
01-05-2016, 02:23 PM
I've updated the OP to be more of a issue tracking/change log. Let me know if there are any other outstanding issues so I can add them to the list.

Haldrik
01-05-2016, 04:10 PM
Here's another attempt at fixing the spell/loot issue. If anyone wants to test... use spell(xx). If there are multiple creatures in the room it should stop after killing one and loot.

http://pastebin.com/Uz8SmFc0

FinisWolf
01-05-2016, 04:45 PM
How weird that this is a constant issue for some, as I have not experienced it very often at all. Maybe once every 10-15 hunts if that? When I am watching, it is simply because Lich sent the loot command immediately after the kill shot but the game does not seem to catch up, and when the game does catch up, Lich is already off and running on the next mob. This is my experience with chars that channel and chars that do not channel. (Of course I have watched it occur with my swingers as well.) Not sure if this helps you Haldrik, but thought I would share my experience in case it does/can help you. Good luck!

Haldrik
01-05-2016, 04:52 PM
How weird that this is a constant issue for some, as I have not experienced it very often at all. Maybe once every 10-15 hunts if that? When I am watching, it is simply because Lich sent the loot command immediately after the kill shot but the game does not seem to catch up, and when the game does catch up, Lich is already off and running on the next mob. This is my experience with chars that channel and chars that do not channel. (Of course I have watched it occur with my swingers as well.) Not sure if this helps you Haldrik, but thought I would share my experience in case it does/can help you. Good luck!

Appreciate the comments. This particular bug is linked to multiple commands via cast. 302(xx) = 302 times 5. (Not infinite!) It also only happens if multiple creatures are in the room. So you wont see the bug if you only hunt solo monsters. Or if you don't use (xx). It also likely only affects situations in which there are 2 mobs of the same name. So goblin/goblin versus goblin/skeleton. (if skeleton WASN'T a valid target.)

This bug has also likely affected non-spells but since there isn't a lot of attack(xx) floating around, I doubt a lot of people have seen it.

FinisWolf
01-05-2016, 05:01 PM
This particular bug is linked to multiple commands via cast. 302(xx) = 302 times 5. (Not infinite!)

Now that bug I have seen a lot with the guys I set up to do an attack something to the effect of (swinger Finiswolf Paladin) shield bash target, 1615 target(m16), kill target(xx), also (pure Filswolf Mage) 501/505/516(varying mana checks) target, 904 target(xx) ... those are the two that jump out at me. I was wondering why it would circle back to the beginning on the occasions that the mob did not die going through the first round (which could tie to the multiple target you mentioned), but I never really cared as I fry just fine even though it returns to the setup spells/cmans that I use.

Nahkaev
01-05-2016, 05:49 PM
would it be possible to add something to a GUI element or something like that which can modulate the movement speed of bigshot's version of ;wander?

I totally get that some people want to run around like they're shopping for $5 televisions on black friday, but I'm also certain some people do not- it'd be cool to be able to adjust this.

crb
01-05-2016, 05:58 PM
I for one do not recognize any sort of pet as being a claim to a room vs a disk. People often leave pets camping out here or there. Get a disk or risk being poached.

FinisWolf
01-05-2016, 06:09 PM
would it be possible to add something to a GUI element or something like that which can modulate the movement speed of bigshot's version of ;wander?

Wouldn't changing (limiting) your type ahead lines provide the desired result that you are seeking?

Nahkaev
01-05-2016, 07:19 PM
Wouldn't changing (limiting) your type ahead lines provide the desired result that you are seeking?

wander code has to look at a room before it knows to move out of it- - so obviously typeahead is not important there.

FinisWolf
01-05-2016, 08:25 PM
Wasn't obvious to me. That's why it was stated as a question. :-) Now I know though.

Haldrik
01-05-2016, 11:48 PM
Easy enough to change. I'm not much of a GUI person but i can add that to the list.


wander = proc {
room = Room.current
next_room_options = room.wayto.keys - @HUNTING_BOUNDARIES
if next_room_options.length > 1
next_room_options.delete_if { |option| option == wander_last_room }
end
next_room = next_room_options[rand(next_room_options.length)]
way = room.wayto[next_room]
if way.class == String
sleep 0.3
move(way)
else
way.call
end
cast_signs(true)
wander_last_room = room.id.to_s
}


I for one do not recognize any sort of pet as being a claim to a room vs a disk. People often leave pets camping out here or there. Get a disk or risk being poached.

That's a good point. Rangers that snipe could get disks too, just like rogues.

Insodus
01-06-2016, 09:31 PM
Anyone noticing that all of a sudden now when you are MA, your tails will sit in "ATTACK STANCE" when they are fried? its seriously fucking stuff up. I tried putting a "STANCE DEF" as a fried command, but then it would just flip OFFENSIVE / DEFENSIVE indefinitely until the whole group was fried.

Haldrik
01-07-2016, 05:28 AM
Anyone noticing that all of a sudden now when you are MA, your tails will sit in "ATTACK STANCE" when they are fried? its seriously fucking stuff up. I tried putting a "STANCE DEF" as a fried command, but then it would just flip OFFENSIVE / DEFENSIVE indefinitely until the whole group was fried.

Define all of a sudden? In my version? Or the repo version?

Insodus
01-09-2016, 02:23 AM
Repo version, but it started about 3 days ago and I didnt touch a single setting

Haldrik
01-12-2016, 04:48 AM
Repo version, but it started about 3 days ago and I didnt touch a single setting

Strange. I'd run through your settings to make sure nothing got messed up. I'm not too familiar with the tail code but I can poke around. Can you paste logs?

Soulance
01-29-2016, 11:40 AM
I just tried a copy/paste of your version, which I am pretty sure works fine on my other computer... But I'm now getting this when I paste it in and try to run it:


sJ>;bigshot setup--- Lich: bigshot active.
--- Lich: error: bigshot:1833: syntax error, unexpected end-of-input, expecting keyword_end
C:/Users/~/Desktop/lich/lich.rbw:2473:in `eval'
C:/Users/~/Desktop/lich/lich.rbw:2473:in `block (2 levels) in <class:Script>'
--- Lich: bigshot has exited.
Edit: Nevermind. I had used the link on the first page but you'd already updated that one so I found one later in the thread that works. Thanks!

Haldrik
01-29-2016, 02:12 PM
I just tried a copy/paste of your version, which I am pretty sure works fine on my other computer... But I'm now getting this when I paste it in and try to run it:


sJ>;bigshot setup--- Lich: bigshot active.
--- Lich: error: bigshot:1833: syntax error, unexpected end-of-input, expecting keyword_end
C:/Users/~/Desktop/lich/lich.rbw:2473:in `eval'
C:/Users/~/Desktop/lich/lich.rbw:2473:in `block (2 levels) in <class:Script>'
--- Lich: bigshot has exited.
Edit: Nevermind. I had used the link on the first page but you'd already updated that one so I found one later in the thread that works. Thanks!

Fixed!

Updated the OP link with my latest build. Thanks for letting me know.

SashaFierce
01-29-2016, 03:04 PM
Something you did went very, very wrong.


R>
--- Lich: exec1 active.
--- Lich: exec2 active.
--- Lich: exec3 active.
--- Lich: exec4 active.
--- Lich: exec5 active.
--- Lich: exec6 active.
--- Lich: exec7 active.
--- Lich: exec8 active.
--- Lich: exec9 active.
--- Lich: exec10 active.
--- Lich: exec11 active.
--- Lich: exec12 active.
--- Lich: exec13 active.
--- Lich: exec14 active.
--- Lich: exec15 active.
--- Lich: exec16 active.
--- Lich: exec17 active.
--- Lich: exec18 active.
--- Lich: exec19 active.
--- Lich: exec20 active.
--- Lich: exec21 active.
--- Lich: exec22 active.
A greater construct raises its massive foot and attempts to smash you!
--- Lich: exec23 active.
AS: +443 vs DS: +481 with AvD: +44 + d100 roll: +17 = +23
--- Lich: exec17 has exited.
--- Lich: exec2 has exited.
--- Lich: exec14 has exited.
--- Lich: exec5 has exited.
--- Lich: exec8 has exited.
--- Lich: exec11 has exited.
--- Lich: exec24 active.
--- Lich: exec9 has exited.
--- Lich: exec20 has exited.
--- Lich: exec12 has exited.
--- Lich: exec3 has exited.
--- Lich: exec6 has exited.
--- Lich: exec4 has exited.
--- Lich: exec1 has exited.
--- Lich: exec15 has exited.
--- Lich: exec18 has exited.
--- Lich: exec21 has exited.
--- Lich: exec2 active.
--- Lich: exec23 has exited.
--- Lich: exec7 has exited.
--- Lich: exec16 has exited.
--- Lich: exec19 has exited.
--- Lich: exec13 has exited.
--- Lich: exec10 has exited.
--- Lich: exec22 has exited.
--- Lich: exec1 active.
A clean miss.
--- Lich: exec3 active.
--- Lich: exec4 active.
--- Lich: exec5 active.
--- Lich: exec6 active.
--- Lich: exec7 active.
--- Lich: exec8 active.
--- Lich: exec9 active.
--- Lich: exec24 has exited.
--- Lich: exec10 active.
--- Lich: exec11 active.
--- Lich: exec12 active.
--- Lich: exec13 active.
--- Lich: exec14 active.
--- Lich: exec15 active.
--- Lich: exec16 active.
--- Lich: exec17 active.
--- Lich: exec18 active.
--- Lich: exec19 active.
--- Lich: exec20 active.
--- Lich: exec21 active.
--- Lich: exec22 active.
--- Lich: exec2 has exited.
--- Lich: exec2 active.
--- Lich: exec23 active.
--- Lich: exec24 active.
--- Lich: exec25 active.
--- Lich: exec26 active.
--- Lich: exec27 active.
--- Lich: exec28 active.
--- Lich: exec29 active.
--- Lich: exec30 active.
--- Lich: exec1 has exited.
--- Lich: exec31 active.
>
--- Lich: exec1 active.
--- Lich: exec32 active.
--- Lich: exec3 has exited.
--- Lich: exec33 active.
--- Lich: exec3 active.
--- Lich: exec4 has exited.
--- Lich: exec4 active.
--- Lich: exec5 has exited.
--- Lich: exec34 active.
--- Lich: exec6 has exited.
--- Lich: exec7 has exited.
--- Lich: exec5 active.
--- Lich: exec6 active.
--- Lich: exec8 has exited.
--- Lich: exec7 active.
--- Lich: exec9 has exited.
--- Lich: exec8 active.
--- Lich: exec9 active.
--- Lich: exec35 active.
--- Lich: exec10 has exited.
--- Lich: exec36 active.
--- Lich: exec11 has exited.
--- Lich: exec10 active.
--- Lich: exec11 active.
--- Lich: exec12 has exited.
--- Lich: exec12 active.
--- Lich: exec13 has exited.
--- Lich: exec37 active.
>;pa
--- Lich: exec14 has exited.
--- Lich: exec13 active.
--- Lich: exec15 has exited.
--- Lich: exec14 active.
--- Lich: exec16 has exited.
--- Lich: exec15 active.
--- Lich: exec16 active.
--- Lich: exec17 has exited.
--- Lich: exec17 active.
--- Lich: exec18 has exited.
--- Lich: exec38 active.
--- Lich: exec18 active.
--- Lich: exec19 has exited.
--- Lich: exec19 active.
--- Lich: exec20 has exited.
--- Lich: exec39 active.
--- Lich: exec21 has exited.
--- Lich: exec20 active.
--- Lich: exec21 active.
--- Lich: exec22 has exited.
--- Lich: exec22 active.
--- Lich: exec40 active.
--- Lich: exec2 has exited.
--- Lich: exec41 active.
--- Lich: exec23 has exited.
>;pa
--- Lich: exec2 active.
--- Lich: exec23 active.
--- Lich: exec24 has exited.
--- Lich: exec42 active.
--- Lich: exec25 has exited.
--- Lich: exec24 active.
--- Lich: exec25 active.
--- Lich: exec26 has exited.
--- Lich: exec26 active.
>;k bigs
--- Lich: exec27 has exited.
--- Lich: exec43 active.
--- Lich: exec27 active.
--- Lich: exec44 active.
--- Lich: exec29 has exited.
--- Lich: exec45 active.
--- Lich: exec30 has exited.
--- Lich: exec29 active.
--- Lich: exec31 has exited.
--- Lich: exec30 active.
--- Lich: exec31 active.
>;k sb
>
You suddenly feel less light-footed.
--- Lich: exec155 active.
--- Lich: exec127 active.
--- Lich: exec119 active.
--- Lich: exec171 active.
--- Lich: exec142 active.
--- Lich: exec135 active.
--- Lich: exec165 active.
--- Lich: exec162 active.
--- Lich: exec149 active.
--- Lich: exec31 active.
--- Lich: exec95 has exited.
--- Lich: exec88 has exited.
--- Lich: exec91 has exited.
--- Lich: exec99 has exited.
--- Lich: exec115 has exited.
--- Lich: exec177 active.
--- Lich: exec113 has exited.
--- Lich: exec97 has exited.
--- Lich: exec89 has exited.
--- Lich: exec117 has exited.
--- Lich: exec93 has exited.
--- Lich: exec183 active.
--- Lich: exec172 active.
--- Lich: exec156 active.
--- Lich: exec166 active.
--- Lich: exec128 active.
--- Lich: exec188 active.
--- Lich: exec111 has exited.
--- Lich: exec87 has exited.
--- Lich: exec103 has exited.
--- Lich: exec83 has exited.
--- Lich: exec107 has exited.

Haldrik
01-29-2016, 03:26 PM
Did you rename it?


Something you did went very, very wrong.


R>
--- Lich: exec1 active.
--- Lich: exec2 active.
--- Lich: exec3 active.
--- Lich: exec4 active.
--- Lich: exec5 active.
--- Lich: exec6 active.
--- Lich: exec7 active.
--- Lich: exec8 active.
--- Lich: exec9 active.
--- Lich: exec10 active.
--- Lich: exec11 active.
--- Lich: exec12 active.
--- Lich: exec13 active.
--- Lich: exec14 active.
--- Lich: exec15 active.
--- Lich: exec16 active.
--- Lich: exec17 active.
--- Lich: exec18 active.
--- Lich: exec19 active.
--- Lich: exec20 active.
--- Lich: exec21 active.
--- Lich: exec22 active.
A greater construct raises its massive foot and attempts to smash you!
--- Lich: exec23 active.
AS: +443 vs DS: +481 with AvD: +44 + d100 roll: +17 = +23
--- Lich: exec17 has exited.
--- Lich: exec2 has exited.
--- Lich: exec14 has exited.
--- Lich: exec5 has exited.
--- Lich: exec8 has exited.
--- Lich: exec11 has exited.
--- Lich: exec24 active.
--- Lich: exec9 has exited.
--- Lich: exec20 has exited.
--- Lich: exec12 has exited.
--- Lich: exec3 has exited.
--- Lich: exec6 has exited.
--- Lich: exec4 has exited.
--- Lich: exec1 has exited.
--- Lich: exec15 has exited.
--- Lich: exec18 has exited.
--- Lich: exec21 has exited.
--- Lich: exec2 active.
--- Lich: exec23 has exited.
--- Lich: exec7 has exited.
--- Lich: exec16 has exited.
--- Lich: exec19 has exited.
--- Lich: exec13 has exited.
--- Lich: exec10 has exited.
--- Lich: exec22 has exited.
--- Lich: exec1 active.
A clean miss.
--- Lich: exec3 active.
--- Lich: exec4 active.
--- Lich: exec5 active.
--- Lich: exec6 active.
--- Lich: exec7 active.
--- Lich: exec8 active.
--- Lich: exec9 active.
--- Lich: exec24 has exited.
--- Lich: exec10 active.
--- Lich: exec11 active.
--- Lich: exec12 active.
--- Lich: exec13 active.
--- Lich: exec14 active.
--- Lich: exec15 active.
--- Lich: exec16 active.
--- Lich: exec17 active.
--- Lich: exec18 active.
--- Lich: exec19 active.
--- Lich: exec20 active.
--- Lich: exec21 active.
--- Lich: exec22 active.
--- Lich: exec2 has exited.
--- Lich: exec2 active.
--- Lich: exec23 active.
--- Lich: exec24 active.
--- Lich: exec25 active.
--- Lich: exec26 active.
--- Lich: exec27 active.
--- Lich: exec28 active.
--- Lich: exec29 active.
--- Lich: exec30 active.
--- Lich: exec1 has exited.
--- Lich: exec31 active.
>
--- Lich: exec1 active.
--- Lich: exec32 active.
--- Lich: exec3 has exited.
--- Lich: exec33 active.
--- Lich: exec3 active.
--- Lich: exec4 has exited.
--- Lich: exec4 active.
--- Lich: exec5 has exited.
--- Lich: exec34 active.
--- Lich: exec6 has exited.
--- Lich: exec7 has exited.
--- Lich: exec5 active.
--- Lich: exec6 active.
--- Lich: exec8 has exited.
--- Lich: exec7 active.
--- Lich: exec9 has exited.
--- Lich: exec8 active.
--- Lich: exec9 active.
--- Lich: exec35 active.
--- Lich: exec10 has exited.
--- Lich: exec36 active.
--- Lich: exec11 has exited.
--- Lich: exec10 active.
--- Lich: exec11 active.
--- Lich: exec12 has exited.
--- Lich: exec12 active.
--- Lich: exec13 has exited.
--- Lich: exec37 active.
>;pa
--- Lich: exec14 has exited.
--- Lich: exec13 active.
--- Lich: exec15 has exited.
--- Lich: exec14 active.
--- Lich: exec16 has exited.
--- Lich: exec15 active.
--- Lich: exec16 active.
--- Lich: exec17 has exited.
--- Lich: exec17 active.
--- Lich: exec18 has exited.
--- Lich: exec38 active.
--- Lich: exec18 active.
--- Lich: exec19 has exited.
--- Lich: exec19 active.
--- Lich: exec20 has exited.
--- Lich: exec39 active.
--- Lich: exec21 has exited.
--- Lich: exec20 active.
--- Lich: exec21 active.
--- Lich: exec22 has exited.
--- Lich: exec22 active.
--- Lich: exec40 active.
--- Lich: exec2 has exited.
--- Lich: exec41 active.
--- Lich: exec23 has exited.
>;pa
--- Lich: exec2 active.
--- Lich: exec23 active.
--- Lich: exec24 has exited.
--- Lich: exec42 active.
--- Lich: exec25 has exited.
--- Lich: exec24 active.
--- Lich: exec25 active.
--- Lich: exec26 has exited.
--- Lich: exec26 active.
>;k bigs
--- Lich: exec27 has exited.
--- Lich: exec43 active.
--- Lich: exec27 active.
--- Lich: exec44 active.
--- Lich: exec29 has exited.
--- Lich: exec45 active.
--- Lich: exec30 has exited.
--- Lich: exec29 active.
--- Lich: exec31 has exited.
--- Lich: exec30 active.
--- Lich: exec31 active.
>;k sb
>
You suddenly feel less light-footed.
--- Lich: exec155 active.
--- Lich: exec127 active.
--- Lich: exec119 active.
--- Lich: exec171 active.
--- Lich: exec142 active.
--- Lich: exec135 active.
--- Lich: exec165 active.
--- Lich: exec162 active.
--- Lich: exec149 active.
--- Lich: exec31 active.
--- Lich: exec95 has exited.
--- Lich: exec88 has exited.
--- Lich: exec91 has exited.
--- Lich: exec99 has exited.
--- Lich: exec115 has exited.
--- Lich: exec177 active.
--- Lich: exec113 has exited.
--- Lich: exec97 has exited.
--- Lich: exec89 has exited.
--- Lich: exec117 has exited.
--- Lich: exec93 has exited.
--- Lich: exec183 active.
--- Lich: exec172 active.
--- Lich: exec156 active.
--- Lich: exec166 active.
--- Lich: exec128 active.
--- Lich: exec188 active.
--- Lich: exec111 has exited.
--- Lich: exec87 has exited.
--- Lich: exec103 has exited.
--- Lich: exec83 has exited.
--- Lich: exec107 has exited.

Soulance
01-29-2016, 03:30 PM
The one I found on page 5 (I think it was) worked fine for me.

Haldrik
01-29-2016, 03:32 PM
The one I found on page 5 (I think it was) worked fine for me.

The one I posted was my working copy so I'm not sure what's going on. I'm out of town so will check when I can.

SashaFierce
01-29-2016, 03:39 PM
I didn't use your copy, that's probably part of the problem but I added things to my copy that I didn't want to port over.

I added the Wait_for_swing changes and something else.

Soulance
01-29-2016, 03:41 PM
I didn't use your copy, that's probably part of the problem but I added things to my copy that I didn't want to port over.

I added the Wait_for_swing changes and something else.
"You're doing it wrong!" :)

JendrykGaming
02-06-2016, 09:17 PM
Quick question for a new user, will bigshot kill critters when another player's present? I'm currently hunting in an area that'll have 1-2 players at any given time, and I don't want to piss them off. I didn't see anything specific about this in the setup/faq

Soulance
02-06-2016, 09:23 PM
Quick question for a new user, will bigshot kill critters when another player's present? I'm currently hunting in an area that'll have 1-2 players at any given time, and I don't want to piss them off. I didn't see anything specific about this in the setup/faq
If the other person is visible then there isn't usually a problem. But if they are hiding/ambushing, yes. Hal did an update to bigshot that I think checks for disks and is better at it than bigshot, but I don't think you can group hunt with it.

Zhiart
02-09-2016, 01:49 PM
Does Hal's version do a better job of recognizing critters in rooms with no PCs/disks? I'm having a lot of issues with wandering into a room that has no one in it and a viable critter, but bigshot continues to wander around.

Haldrik
02-09-2016, 02:06 PM
I also updated the targeting which fixed several issues in directly, so likely. I run my version at least 8 hours a day and no issues.

Haldrik
02-09-2016, 02:09 PM
Does Hal's version do a better job of recognizing critters in rooms with no PCs/disks? I'm having a lot of issues with wandering into a room that has no one in it and a viable critter, but bigshot continues to wander around.

I should probably check, are you certain your targets are setup correctly?

Zhiart
02-09-2016, 02:18 PM
Yeah they were set correctly. Your version works MUCH better for that. HOWEVER, I found a bug that makes it a bit hard to hunt as a channeler. You can't do "Stance off and 705 target" in the attack string. It errors on line 396 saying that the target variable isn't set.

Haldrik
02-09-2016, 04:53 PM
Hmm. Can you try "incant 705"? That should set you to stance offensive assuming your stance is set to offensive.

Haldrik
02-09-2016, 04:56 PM
My home computer took a crap so I won't have access to my Scripts for awhile. Can you post snippets of the old incant and also the new ?

Haldrik
03-06-2016, 02:11 PM
I've updated bigshot a bit. Most of the changes are under the hood stuff. Converted exec scripts to a different type. Also made changes that will allow bigshot to be renamed and not have 10000 exec scripts open.

There is some incant fixes rolled in here as well.

http://pastebin.com/dgL7P296

Soulance
03-06-2016, 03:54 PM
Is it under ;bigshot or still ;halbig?

Haldrik
03-06-2016, 07:11 PM
Is it under ;bigshot or still ;halbig?

What?

Soulance
03-18-2016, 07:24 PM
What?
Nevermind, I had renamed it.

Haldrik
03-24-2016, 02:51 PM
Is anyone having any memory leak issues? Trying to track some memory issues down.

elcidcannon
03-24-2016, 03:26 PM
Is anyone having any memory leak issues? Trying to track some memory issues down.

Yeah....I find that ruby will occasionally keep running instances even when I close out stormfront. If I'm doing a lot of logging on/off, it's not unusual to have 5 or 6 ruby "running applications" to close when clearing my memory.

Haldrik
03-24-2016, 03:29 PM
Yeah....I find that ruby will occasionally keep running instances even when I close out stormfront. If I'm doing a lot of logging on/off, it's not unusual to have 5 or 6 ruby "running applications" to close when clearing my memory.

Yeah, I think that might be a general ruby/lich thing. I don't know if it's associated with scripts. I'm referring to Stormfront.exe memory usage specifically.

Soulance
03-25-2016, 12:06 AM
Same here. I keep the task manager open to shut down the extra instances that pop up from time to time.

Zhiart
03-25-2016, 12:26 PM
I've updated bigshot a bit. Most of the changes are under the hood stuff. Converted exec scripts to a different type. Also made changes that will allow bigshot to be renamed and not have 10000 exec scripts open.

There is some incant fixes rolled in here as well.

http://pastebin.com/dgL7P296


I swapped to this version to make the ambush changes that SashaFierce had mentioned in that other thread, but it appears this version is broken. Without making any changes, I get this message when it tries to attack a critter.

--- Lich: error: undefined local variable or method `target' for #<Bigshot:0x3dc7358>
newbigshot:405:in `block in cmd'
newbigshot:404:in `each'
[newbigshot: Cleaning up hunting scripts: stand.]
--- Lich: 'stand' has been stopped by newbigshot.
--- Lich: stand has exited.
--- Lich: newbigshot has exited.

Zhiart
03-25-2016, 12:37 PM
Issue above seems to have been with me using 'stance off and kill target(xx)' as a command. If I just do 'kill target(xx)' it works fine.

Here is the version with the ambush changes.

http://pastebin.com/KCtwcrSh

Soulance
03-25-2016, 01:22 PM
Doesn't it automatically change the stance for you using the "Attack Stance" window there?

Zhiart
03-28-2016, 10:13 AM
Yeah, it does. I had it in there for channeling on my sorc and so I had just copied it over. It works fine with previous versions of this script, just not the latest one. It is redundant, and it seems the only case it's necessary is for channeling.

Stavman
04-17-2016, 04:36 PM
Im having issues with Bigshot avoiding Boars, Hits Ogres and Vipers but no Boars.... works with my Other Characters

Tried the full name Massive Black Boars... No dice

Any ideas

Tgo01
04-17-2016, 04:42 PM
Im having issues with Bigshot avoiding Boars, Hits Ogres and Vipers but no Boars.... works with my Other Characters

Tried the full name Massive Black Boars... No dice

Any ideas

Try opening up the script and make the very first line the following:

CharSettings['untargetable'] = nil

At least that seems to have worked for people in the past who have reported a similar problem. Basically what bigshot does is it tries to TARGET a critter and if it gets the message that "you can't target" that blah blah blah it adds the critters noun to a list of critters to never try to attack again. This sounds good in theory but the problem is a cleric or empath's spirit servant has a noun of SPIRIT so if you were hunting, say, tree spirits and thus you were attempting to target/attack "spirit" and a cleric's spirit was in the room and bigshot tried to target said cleric's spirit it would get the message "you can't target this" and BAM! Bigshot will never again try to attack anything in the game with the word "spirit" in their name.

I'm assuming a ranger's companion or possibly even a wizard's familiar can be a boar so maybe something similar happened to you.

It could be something else but I'd start here first.

Haldrik
04-17-2016, 05:00 PM
Im having issues with Bigshot avoiding Boars, Hits Ogres and Vipers but no Boars.... works with my Other Characters

Tried the full name Massive Black Boars... No dice

Any ideas

Did you try 'boar'? 'Boars' won't work.

Stavman
04-17-2016, 06:00 PM
Nope no Dice... added it and still wont hit em

added it in 3 locations just ta be sure...

Buggers

Tgo01
04-17-2016, 06:19 PM
Nope no Dice... added it and still wont hit em

added it in 3 locations just ta be sure...

Buggers

Hmm...odd.

As Haldrik suggested, you are indeed doing "boar" and not "boars", right?

Assuming so try adding this line as the very first line in bigshot:

echo "Your untargetable setting is: #{CharSettings['untargetable']}"

And then run the script and the first thing the script should say is: "Your untargettle setting is blah blah blah"

Also I just realized, when I said the very first line of code in the script I mean don't put it inbetween the beginning = begin and =end

So to be on the safe side try adding the following code right after the line of =end:

CharSettings['untargetable'] = nil
echo "Your untargetable setting is: #{CharSettings['untargetable']}"

So the beginning of the script would look something like:



=begin

bigshot.lic: the new optimus prime

hunting script for hunting

author: Sheikhh
contributers: SpiffyJr, Tillmen
game: Gemstone
tags: hunting
version: 3.0

changelog:
3.0 (2015-05-30):
stop trying to attack monsters that aren't in the room (wild guess, untested)
bumped version up from 2.12052012 to 3.0, because 2.12052012 is a stupid version format
added message to trust script

=end

CharSettings['untargetable'] = nil
echo "Your untargetable setting is: #{CharSettings['untargetable']}"

Stavman
04-17-2016, 06:37 PM
That did it... think I had it in the wrong spot

ROCK AND ROLL!!!!!!!!!!!

Thanks a Bazillion

SashaFierce
04-20-2016, 11:18 PM
Something I don't like about your bigshot version Haldrik, it walks away after killing a creature if someone new walks into the room. It shouldn't do that.

Haldrik
04-21-2016, 02:17 AM
Something I don't like about your bigshot version Haldrik, it walks away after killing a creature if someone new walks into the room. It shouldn't do that.

Hmmm. So if someone walks in and stays in the room between when you kill it and try it loot?

If someone attacks your monster it definitely should walk away, regardless of who was in the room first.

Soulance
04-21-2016, 07:59 AM
I've been using it for awhile now and haven't noticed that when people run through.

Hazado
04-21-2016, 10:01 AM
It happens for sure.
Under def do_hunt()
this line

while( (target = find_target(target, just_arrived)) && !should_rest? && no_players == true)
The "no_players" call there causes the issue.

I fixed it by creating a second no_players called no_players_hunt

change the above line to below

while( (target = find_target(target, just_arrived)) && !should_rest? && no_players_hunt == true)

Add this code snippet after def no_players .... end section

def no_players_hunt()
return false if $ambusher_here
return true
end

This will stop players from making you move, but still let the ambusher move you.

My version of bigshot.lic, has changes and additions from the last code added here.
So compare the two versions and copy what you need.
Dont complain if you copy it straight out and find it does things you dont want.
https://www.dropbox.com/s/a32kkaoyh7tv7n5/bigshot.lic?dl=0

SashaFierce
04-21-2016, 03:41 PM
Hmmm. So if someone walks in and stays in the room between when you kill it and try it loot?

If someone attacks your monster it definitely should walk away, regardless of who was in the room first.

Someone is poaching so you walk away? Why?