** SOS - URGENT Help Needed With Bloodwych Mod **

Talk about anything Legend of Grimrock 1 related here.
wagtunes
Posts: 316
Joined: Sun Feb 04, 2018 11:04 pm

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by wagtunes »

trancelistic wrote:I might have tons of saves on my old backup pc from that mod.
I played it till the end.
I will look for you.

Yuu could try this
It scans all floors

Code: Select all

for i = 1, getMaxLevels() do 
    for x = 0, 32 do  
        for y = 0, 32 do 
            local entities = entitiesAt(i, x, y) 
             
            for entity in entities do 
                 if (entity.name == "figure") then 
                    hudPrint("found at "..i..", "..x..", "..y.."")
                  --  party:setPosition(entity.x, entity.y, party.facing, entity.level) --      this line tp's your party to the item. (Note: Pick item up and run code again to find the second)
This should work, else I forgot:P
I get an error when running it. I'm pretty sure it has to be inside a function.
wagtunes
Posts: 316
Joined: Sun Feb 04, 2018 11:04 pm

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by wagtunes »

I tried putting it in a function and calling the function but still get an error.

How can I modify this function, which works, to check for all levels?

Code: Select all

function  findObjects(objName) 
   if type(objName) == "string" then 
      local perLineMax = 3
      local line = "" 
      local term = string.char(13) 
      local entityCount = 0 
      for obj in allEntities(party.level) do  
         if  obj.name:match(objName) == objName then 
            entityCount = entityCount + 1 
            line = line.."type:"..obj.name.." id:"..obj.id.."  X/Y:"..tostring(obj.x)..","..tostring(obj.y).."  "..string.char(124).."  "  
         end 
         if obj.class == "Item" then 
            for item in obj:containedItems() do 
               if item.name:match(objName) == objName then 
                  entityCount = entityCount + 1 
                  line = line.."Inside "..obj.name..", "..obj.id.." id:"..item.id.." type:"..item.name.." X/Y:"..tostring(obj.x)..","..tostring(obj.y).."  "..string.char(124).."  " 
               end 
            end 
         end 
         if  entityCount >= perLineMax then 
            entityCount = 0 
            line = line..term 
         end 
         if line:match(term) then print(line) line = "" end 
      end  
   end  
end  

findObjects("key") 
User avatar
Isaac
Posts: 3172
Joined: Fri Mar 02, 2012 10:02 pm

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by Isaac »

Code: Select all

function  findObjects(objName) 
	for everyLevel = 1, getMaxLevels() do 
		
		if type(objName) == "string" then 
			local perLineMax = 4 
			local line = "" 
			local term = string.char(13) 
			local entityCount = 0 
			for obj in allEntities(everyLevel) do 
				if  obj.name:match(objName) == objName then 
					entityCount = entityCount + 1 
					line = line.."type:"..obj.name.." id:"..obj.id.." Lvl/X/Y: "..everyLevel..","..tostring(obj.x)..","..tostring(obj.y).."  "..string.char(124).."  "  
				end 
				if obj.class == "Item" then 
					for item in obj:containedItems() do 
						if item.name:match(objName) == objName then 
							entityCount = entityCount + 1 
							line = line.."Inside "..obj.name..", "..obj.id.." id:"..item.id.." type:"..item.name.." Lvl/X/Y: "..everyLevel..","..tostring(obj.x)..","..tostring(obj.y).."  "..string.char(124).."  " 
						end 
					end 
				end 
				if  entityCount >= perLineMax then 
					entityCount = 0 
					line = line..term 
				end 
				if line:match(term) then print(line) line = "" end 
			end  
		end 
		 
	end 	 
end 
Note that changing the value of perLineMax will change how many items appear on each printed line. This can make more items visible on the console, before they are lost due to scrolling. The console only shows 15 lines at a time.
wagtunes
Posts: 316
Joined: Sun Feb 04, 2018 11:04 pm

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by wagtunes »

Isaac wrote:

Code: Select all

function  findObjects(objName) 
	for everyLevel = 1, getMaxLevels() do 
		
		if type(objName) == "string" then 
			local perLineMax = 4 
			local line = "" 
			local term = string.char(13) 
			local entityCount = 0 
			for obj in allEntities(everyLevel) do 
				if  obj.name:match(objName) == objName then 
					entityCount = entityCount + 1 
					line = line.."type:"..obj.name.." id:"..obj.id.." Lvl/X/Y: "..everyLevel..","..tostring(obj.x)..","..tostring(obj.y).."  "..string.char(124).."  "  
				end 
				if obj.class == "Item" then 
					for item in obj:containedItems() do 
						if item.name:match(objName) == objName then 
							entityCount = entityCount + 1 
							line = line.."Inside "..obj.name..", "..obj.id.." id:"..item.id.." type:"..item.name.." Lvl/X/Y: "..everyLevel..","..tostring(obj.x)..","..tostring(obj.y).."  "..string.char(124).."  " 
						end 
					end 
				end 
				if  entityCount >= perLineMax then 
					entityCount = 0 
					line = line..term 
				end 
				if line:match(term) then print(line) line = "" end 
			end  
		end 
		 
	end 	 
end 
Note that changing the value of perLineMax will change how many items appear on each printed line. This can make more items visible on the console, before they are lost due to scrolling. The console only shows 15 lines at a time.
Thank you. That worked. It is as I suspected. The item I missed is in Moon Tower level 7 (last level) and must have been someplace I didn't look. The way the game is designed, once you leave Level 7 there is no way back to it. So there was no chance of me completing this.

I'll take some time off and run through this again to see if I can't go straight through with just the maps and without hacking the console.

Thank you again for all your help. It has been greatly appreciated.
User avatar
Isaac
Posts: 3172
Joined: Fri Mar 02, 2012 10:02 pm

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by Isaac »

Image
Updated console function:

usage:
findObjects("rock") —looks for a match on the current level
findObjects("rock", true) —looks for a match in the entire dungeon

In either case, it now also tells if it finds nothing, or how many it found.

Code: Select all

function findObjects(objName, bool) 
	local foundObjects = 0 
	local line = "" 
	local function search(objName, level) 
			if type(objName) == "string" then 
				local perLineMax = 4 
				local term = string.char(13) 
				local entityCount = 0 
				for obj in allEntities(level) do 
					if  obj.name:match(objName) == objName then 
						foundObjects = foundObjects + 1 
						entityCount = entityCount + 1 
						line = line.."type:"..obj.name.." id:"..obj.id.." Lvl/X/Y: "..level..","..tostring(obj.x)..","..tostring(obj.y).." "..string.char(124).."  " 

					 elseif obj.class == "Item" then 
						for item in obj:containedItems() do 
							if item.name:match(objName) == objName then 
								foundObjects = foundObjects + 1 
								entityCount = entityCount + 1 
								line = line.."Inside "..obj.name..", "..obj.id.." id:"..item.id.." type:"..item.name.." Lvl/X/Y: "..level..","..tostring(obj.x)..","..tostring(obj.y).."  "..string.char(124).."  " 
							print("DBG:Item", line, obj.name, obj.id)

							end 
						end 
					end 
					if entityCount >= perLineMax then 
						entityCount = 0 
						line = line..term 
					end 
					if line:match(term) then print(line) line = "" end 
				end 
			end 
			if #line >0 then print(line) line = "" end 
		end 

	if bool then 
		for everyLevel = 1, getMaxLevels() do 
			 search(objName, everyLevel) 
		end 
		print("Found:",foundObjects, "matching objects in dungeon") 
		return  
	end 

	search(objName, party.level) 
	print("Found:",foundObjects, "matching objects on this level") 
	return 
end 

wagtunes
Posts: 316
Joined: Sun Feb 04, 2018 11:04 pm

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by wagtunes »

First off, I want to thank everybody who helped me get through this. After completing the game by hacking the console and opening doors when needed, I wanted to see if I could get through this mod legitimately, only using the console to show me how many keys were on each level and using the maps to walk my way through.

I made it up to Zendik level 2, which is very close to the end of the game. Things went very smoothly up to the point, having no problem finding everything I needed.

I then got to the room with the pressure plates. Easy puzzle to solve with the maps. Just use a red key to open the door on the left in order to start the process enabling the opening of the door ahead.

The key needed doesn't exist. I can prove this.

I hacked the console and ran the find key routine that Isaac made for me that checks every level of the dungeon, making just one change to show one key per line so that I don't miss any.

The list was about 6 or 7 keys. None of them being the key I need to open this door as all the rest are on the levels above which are inaccessible without getting through the door ahead. So that's it. I'm officially stuck without a legitimate way of progressing.

Sure, I could hack the console again and do the open door routine, but I've done that already. I don't need to do it again. The point of this walk through was to see if there was a way to get through this dungeon without cheating. There is not. Again, I can prove this.

I can't even begin to express my disappointment at how a person can put together a dungeon with such a glaring oversight. How do you not test for something so critical to the completion of the game?

If anybody has actually gotten through this dungeon without cheating, I want to know how you did it without that key. Unless, by some miracle, you have a version where this key exists. It doesn't in mine and I'm pretty sure I have the latest version as I just downloaded it a few weeks ago. The last version was made years ago.

Shame, because the dungeon itself is excellent. The amount of work that was put into this is clearly evident. But there is simply no way to get through this without hacking it.

I hope the dev will please come back to this forum and point out where my error is (I'm 100% sure I'm not in error) and I wil make a public apology. But unless Isaac's find key function has a bug in it, that key simply does not exist.

If anybody can shed some light on this mod, I'd greatly appreciate it.
wagtunes
Posts: 316
Joined: Sun Feb 04, 2018 11:04 pm

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by wagtunes »

Mystery solved. It was a map error. Lesson learned. Never trust maps. They lie.
wagtunes
Posts: 316
Joined: Sun Feb 04, 2018 11:04 pm

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by wagtunes »

Well, now that I've finally gotten my way through this, I'd like to give my final impressions on the mod itself, outside of the map irregularities.

The whole thing in general was very well made. There's a lot of custom work in this mod that I am sure took the developer months to do. The layout itself was very well done, the way all the different towers interacted with each other. I get that this was taken from an existing game but still, translating it to LoG couldn't have been easy.

As far as playing it went, there are a few things that stood out.

1. Pillars. Absolutely the most maddening thing about the whole game. If there was a pillar where you DIDN'T want it to be, it was there. Working around these pillars was incredibly frustrating and pretty much drove the entire experience.

2. Creature combat. Lots of custom creatures that were very well made. The dragons especially were very cool. I started my final play through with a very strong party so I don't know how tough this would have been with a starting party at level 1. I'm guessing ridiculously hard. Thankfully, I will never find out because this game was tough enough as it is because of...

3. Puzzles. Yep. Some of these puzzles were so tough I don't see how anybody gets through this game without a clue book of some kind. Of course this is pretty much true for the genre itself so I guess nothing new here. Still, these puzzles were very hard. I could have never done this without the maps and even with them you see how much trouble I had.

4. Food. Too much of it. Of course learning how to ration (like when you reach one of those points where there seems to be nowhere else to go and your stuck) is key. I eventually discovered that when I was stuck on a level and all the creatures were dead on that level, just let your characters starve until you find your way out. If you do this then yeah, there's way too much food.

5. The Towers. If I had to rank the towers from best to worst as far as game play, excitement, twists, turns and whatever, I'd have to rank them like this.

1. Chaos Tower. Without a doubt the most difficult puzzle in the whole game. Getting through this tower is extremely hard due to all the teleporting around and finding all the switches and pressing them in just the right order.

2. Moon Tower. Beautiful looking tower. The custom graphics on this were really great. Getting through it was interesting as well.

3. Dragon Tower. Figuring out how to stay alive against these things was the key to the whole level. This was NOT easy.

4. Serpent Tower. The darkest and dullest of the towers but still more interesting than the Main Tower.

5. Zendik Tower. Probably the most disappointing of the game because of how anti climactic the ending was. The last battle was so meh. Was expecting something more like out of the main game or even ORR2.

6. Main Tower. I found this the most tedious of all the towers, especially the main puzzle room. You're pretty much just hoping to get through this in order to get to the other towers.

All in all, there is something about this mod that is very addictive, as frustrating as it is. Would I play it again? Well, I've played through it like 5 times already until I was finally able to do it without cheating or getting hopelessly lost. So yes, I'd play it again. Soon? Probably not. I need a bit of rest from it though there is a part of me that just wants to tackle this beast again. Like I said, very addictive.

On a scale of 1-10 I give it a 9. I highly recommend it. Trust me, you won't be sorry if you eventually figure out how to get through this thing.
User avatar
HypnoToad
Posts: 73
Joined: Thu Sep 22, 2016 1:19 am
Location: Melbourne, Australia

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by HypnoToad »

wagtunes wrote: Wed May 09, 2018 7:37 pm
Dr.Disaster wrote:I'd try finding a walkthru of the original game "Bloodwych".
I doubt it will help as the engines are totally different. In fact, the room layouts are different because the two games are so different. For example, The Chaos Tower Level 5 is actually level 33 in this game. There is no way to know for certain that accessing each level is the same for each game as there is no 1 to 1 correlation between the levels.

Aside from that, I have mapped out every single level of this game with the exception of Zendik's Tower (which I assume I access once I have the 4 figures and the 3 crystals) and there is nothing left to find. Every key has been accounted for. In addition to that, there is no way to reaccess the Moon Tower. Once you leave, there is no way back in as the gems no longer trigger the portals. So if I have missed something in that tower, it's lost for good and I will have to start over from the beginning, which I'm not doing.

I just want to know where the 4 figures are (I've found 2 of them) so I can then determine if it even makes sense to try to retrieve them. Right now, I am literally walking around an empty dungeon. I've killed everything. My party is at level 27. There is nothing left to do until I find the last 2 figures.
I've started playing this game and found the maps that I got from the link for the game on Nexus are the same as the game. For example I am in Serpent Tower Level 2 (Grimrock level 13), it says Serpent Tower Level 2 at the top of the ingame map and as far as I can see it's identical to the downloaded map. Of course Grimrock has each level one on top of the other so that's why level 33 would be The Chaos Tower level 5 but would say this on the top of the ingame map.

http://www.alanchapman.org/bloodwych/maps.html

One thing I am doing that makes the game way easier is mapping all the Pillars as it was driving me nuts at the start, because you couldn't go where you thought you could. I just put a map notation with "Blocker" in it where they are. Now you can see in an instant how to get from A to B.

If and when I come across those figures I will let you know.
Last edited by HypnoToad on Tue Oct 09, 2018 8:55 am, edited 1 time in total.
Return of the Dark Lord - V3.5 Download:
https://www.nexusmods.com/grimrock/mods ... escription
User avatar
HypnoToad
Posts: 73
Joined: Thu Sep 22, 2016 1:19 am
Location: Melbourne, Australia

Re: ** SOS - URGENT Help Needed With Bloodwych Mod **

Post by HypnoToad »

Double Post
Return of the Dark Lord - V3.5 Download:
https://www.nexusmods.com/grimrock/mods ... escription
Post Reply