Hello,
someone can help me for a script please?
I am thinking of a spellbook (like the tome of wisdom), that the player can use to store the scrolls in, like a container (chest)
the difficult part is, that the tome can only store scrolls, nothing else. This has to be done by scripting, if it is possible.
spell book container to store scrolls
Re: spell book container to store scrolls
You can find such a nice item made by John Wordsworth here: viewtopic.php?f=14&t=6230&hilit=notebook#p65614
Or directly on nexus: http://www.nexusmods.com/grimrock/mods/355/?
Or directly on nexus: http://www.nexusmods.com/grimrock/mods/355/?
Re: spell book container to store scrolls
well I know the notebook by JW, but I have difficult to add it with the hooks, as I'm already using some other script like: quick action bar, log journal, and a spellbook script, picked I don't remember where, that the spells must be learned before used, another hook used for a boulder projectile, and a hook with an item that allow the champion a resistance against physical damage.
This start to be a total mess
That's why I wanted something more easy to implement like a "simple" item.
I ve already tried the notebook but I can't turn or moves when it is opened, there is something wrong with the onMove and onTurn hooks. Then I'm not really sure of what I'm doing when adding it, seems that quick bar, the spell book and the journal works. By the way Ihave spawn 2 large notebooks, one to store the notes, the other to store the scrolls, works great, but I always can't move or turn.
maybe can you help or someone else?
here is my init.lua
and there is this script for a boulder
This start to be a total mess
That's why I wanted something more easy to implement like a "simple" item.
I ve already tried the notebook but I can't turn or moves when it is opened, there is something wrong with the onMove and onTurn hooks. Then I'm not really sure of what I'm doing when adding it, seems that quick bar, the spell book and the journal works. By the way Ihave spawn 2 large notebooks, one to store the notes, the other to store the scrolls, works great, but I always can't move or turn.
maybe can you help or someone else?
here is my init.lua
SpoilerShow
-- This file has been generated by Dungeon Editor 1.3.7
-- import standard assets
import "assets/scripts/standard_assets.lua"
-- import custom assets
--import "mod_assets/framework/framework.lua"
-- load desired framework modules
--fw_loadModule('timers')
--fw_loadModule('grimq')
--fw_loadModule('data')
--fw_loadModule('help')
--fw_loadModule('fw')
--fw_loadModule('fw_default_hooks')
-- import custom assets
import "mod_assets/scripts/items.lua"
import "mod_assets/scripts/monsters.lua"
import "mod_assets/scripts/objects.lua"
import "mod_assets/scripts/wall_sets.lua"
import "mod_assets/scripts/recipes.lua"
import "mod_assets/scripts/spells.lua"
import "mod_assets/scripts/materials.lua"
import "mod_assets/scripts/sounds.lua"
--
--wallsets
import "mod_assets/scripts/mine/mine_objects.lua"
import "mod_assets/scripts/mine/mine_wall_sets.lua"
import "mod_assets/scripts/mine/mine_materials.lua"
import "mod_assets/scripts/mine/mine_sounds.lua"
import "mod_assets/scripts/sx_yuleland.lua"
import "mod_assets/scripts/northern_dungeon_materials.lua"
import "mod_assets/scripts/northern_dungeon_objects.lua"
import "mod_assets/scripts/northern_dungeon_wall_set.lua"
import "mod_assets/scripts/outdoor.lua"
import "mod_assets/southern_temple/scripts/wall_sets.lua"
-- dm pack
import "mod_assets/dmcsb_pack/scripts/dmcsb_pack_init.lua"
--
-- items
import "mod_assets/grim_vsword/grim_fbox.lua"
import "mod_assets/grim_vsword/gor_coin.lua"
import "mod_assets/grim_vsword/grim_coinslot.lua"
import "mod_assets/grim_vsword/grim_firestaff.lua"
import "mod_assets/grim_vsword/dm_food.lua"
import "mod_assets/grim_vsword/dm_keys.lua"
import "mod_assets/grim_vsword/dm_gems.lua"
import "mod_assets/oliveitem/oliveitems.lua"
import "mod_assets/oliveitem/tech_box/tech_box.lua"
import "mod_assets/oliveitem/anvil.lua"
import "mod_assets/pandafox_assets/black_armor/black_armor.lua"
import "mod_assets/throwing_hammer/scripts/items.lua"
import "mod_assets/throwing_hammer/scripts/materials.lua"
import "mod_assets/books/tome.lua"
import "mod_assets/rocketlauncher/rocketlauncher.lua"
-- Import Oriental Weapons
import "mod_assets/oriental_weapons/oriental_weapons.lua"
--
-- objects
import "mod_assets/lol_gobelins/scripts/objects.lua"
import "mod_assets/lol_gobelins/scripts/materials.lua"
import "mod_assets/grim_bed/grim_bed.lua"
import "mod_assets/scripts/statuemove.lua"
import "mod_assets/scripts/glass_walls_and_secret_doors.lua"
import "mod_assets/scripts/flooded_dungeon.lua"
import "mod_assets/scripts/customalcoves.lua"
import "mod_assets/log_desk/log_desk.lua"
import "mod_assets/glasswall/glasswall.lua"
import "mod_assets/scripts/fusion_reactor.lua"
import "mod_assets/oliveitem/particle/sphere_particles.lua"
--wall plaques
import "mod_assets/wall_plaques/scripts/wall_plaques.lua"
-- odinsball industrial machine object
import "mod_assets/plugins/sh_ob_wallset/sh_ob_scripts/sh_ob_wallset_materials.lua"
import "mod_assets/plugins/sh_ob_wallset/sh_ob_scripts/sh_ob_wallset_objects.lua"
--
-- boulder with party hook
import "mod_assets/boulder/scripts/boulder_party.lua"
--
-- monsters
import "mod_assets/plugins/beholder/beholder.lua"
import "mod_assets/dragon/dragon.lua"
import "mod_assets/plugins/cultist/scripts/monsters.lua"
import "mod_assets/plugins/cultist/scripts/materials.lua"
import "mod_assets/plugins/skeleton_warrior_sword/skeleton_warrior_sword.lua"
import "mod_assets/plugins/human_bowman/human_bowman.lua"
import "mod_assets/swarm/scripts/init.lua"
--
-- special script
import "mod_assets/dx_sky_system/dx_sky_system.lua"
-- stone skin bracelet
defineObject{
name = "party",
class = "Party",
editorIcon = 32,
onDamage = function(champion,dmg,type)
if recursing then recursing = false return true end
if champion:getItem(10) and champion:getItem(10).name == "primal_bracelet" then
if type == "physical" then
recursing = true
champion:damage(math.ceil(dmg*.85),type)
return false
end
end
return true
end
}
-- spellbook
cloneObject{
name = "party",
baseObject = "party",
onCastSpell = function(caster,spell)
return spellbook_script.checkSpellbook(caster,spell)
end,
}
--
import "mod_assets/plugins/locks/keys_and_locks_collection.lua"
-- notebook JW
import "mod_assets/notebook/init_framework.lua";
--quickbar et journal book JW
cloneObject{
name = "party",
baseObject = "party",
onDrawGui = function(g)
-- Start NoteBook Mod Hook
if ( nb_main_script ~= nil and nb_main_script.onDrawGui ~= nil ) then
nb_main_script:onDrawGui(g);
end
-- End NoteBook Mod Hook
mdConversationList.onDraw(g);
qb_script.onDrawGui(g);
-- end
--}
end,
onMove = function(party, direction)
-- Start NoteBook Mod Hook
if ( nb_main_script ~= nil and nb_main_script.isNoteBookShowing() ) then
return false;
end
-- End NoteBook Mod Hook
end,
onTurn = function(party, direction)
-- Start NoteBook Mod Hook
if ( nb_main_script ~= nil and nb_main_script.isNoteBookShowing() ) then
return false;
end
-- End NoteBook Mod Hook
end,
onRest = function(party)
-- Start NoteBook Mod Hook
if ( nb_main_script ~= nil and nb_main_script.isNoteBookShowing() ) then
return false;
end
-- End NoteBook Mod Hook
end,
}
--
-- import standard assets
import "assets/scripts/standard_assets.lua"
-- import custom assets
--import "mod_assets/framework/framework.lua"
-- load desired framework modules
--fw_loadModule('timers')
--fw_loadModule('grimq')
--fw_loadModule('data')
--fw_loadModule('help')
--fw_loadModule('fw')
--fw_loadModule('fw_default_hooks')
-- import custom assets
import "mod_assets/scripts/items.lua"
import "mod_assets/scripts/monsters.lua"
import "mod_assets/scripts/objects.lua"
import "mod_assets/scripts/wall_sets.lua"
import "mod_assets/scripts/recipes.lua"
import "mod_assets/scripts/spells.lua"
import "mod_assets/scripts/materials.lua"
import "mod_assets/scripts/sounds.lua"
--
--wallsets
import "mod_assets/scripts/mine/mine_objects.lua"
import "mod_assets/scripts/mine/mine_wall_sets.lua"
import "mod_assets/scripts/mine/mine_materials.lua"
import "mod_assets/scripts/mine/mine_sounds.lua"
import "mod_assets/scripts/sx_yuleland.lua"
import "mod_assets/scripts/northern_dungeon_materials.lua"
import "mod_assets/scripts/northern_dungeon_objects.lua"
import "mod_assets/scripts/northern_dungeon_wall_set.lua"
import "mod_assets/scripts/outdoor.lua"
import "mod_assets/southern_temple/scripts/wall_sets.lua"
-- dm pack
import "mod_assets/dmcsb_pack/scripts/dmcsb_pack_init.lua"
--
-- items
import "mod_assets/grim_vsword/grim_fbox.lua"
import "mod_assets/grim_vsword/gor_coin.lua"
import "mod_assets/grim_vsword/grim_coinslot.lua"
import "mod_assets/grim_vsword/grim_firestaff.lua"
import "mod_assets/grim_vsword/dm_food.lua"
import "mod_assets/grim_vsword/dm_keys.lua"
import "mod_assets/grim_vsword/dm_gems.lua"
import "mod_assets/oliveitem/oliveitems.lua"
import "mod_assets/oliveitem/tech_box/tech_box.lua"
import "mod_assets/oliveitem/anvil.lua"
import "mod_assets/pandafox_assets/black_armor/black_armor.lua"
import "mod_assets/throwing_hammer/scripts/items.lua"
import "mod_assets/throwing_hammer/scripts/materials.lua"
import "mod_assets/books/tome.lua"
import "mod_assets/rocketlauncher/rocketlauncher.lua"
-- Import Oriental Weapons
import "mod_assets/oriental_weapons/oriental_weapons.lua"
--
-- objects
import "mod_assets/lol_gobelins/scripts/objects.lua"
import "mod_assets/lol_gobelins/scripts/materials.lua"
import "mod_assets/grim_bed/grim_bed.lua"
import "mod_assets/scripts/statuemove.lua"
import "mod_assets/scripts/glass_walls_and_secret_doors.lua"
import "mod_assets/scripts/flooded_dungeon.lua"
import "mod_assets/scripts/customalcoves.lua"
import "mod_assets/log_desk/log_desk.lua"
import "mod_assets/glasswall/glasswall.lua"
import "mod_assets/scripts/fusion_reactor.lua"
import "mod_assets/oliveitem/particle/sphere_particles.lua"
--wall plaques
import "mod_assets/wall_plaques/scripts/wall_plaques.lua"
-- odinsball industrial machine object
import "mod_assets/plugins/sh_ob_wallset/sh_ob_scripts/sh_ob_wallset_materials.lua"
import "mod_assets/plugins/sh_ob_wallset/sh_ob_scripts/sh_ob_wallset_objects.lua"
--
-- boulder with party hook
import "mod_assets/boulder/scripts/boulder_party.lua"
--
-- monsters
import "mod_assets/plugins/beholder/beholder.lua"
import "mod_assets/dragon/dragon.lua"
import "mod_assets/plugins/cultist/scripts/monsters.lua"
import "mod_assets/plugins/cultist/scripts/materials.lua"
import "mod_assets/plugins/skeleton_warrior_sword/skeleton_warrior_sword.lua"
import "mod_assets/plugins/human_bowman/human_bowman.lua"
import "mod_assets/swarm/scripts/init.lua"
--
-- special script
import "mod_assets/dx_sky_system/dx_sky_system.lua"
-- stone skin bracelet
defineObject{
name = "party",
class = "Party",
editorIcon = 32,
onDamage = function(champion,dmg,type)
if recursing then recursing = false return true end
if champion:getItem(10) and champion:getItem(10).name == "primal_bracelet" then
if type == "physical" then
recursing = true
champion:damage(math.ceil(dmg*.85),type)
return false
end
end
return true
end
}
-- spellbook
cloneObject{
name = "party",
baseObject = "party",
onCastSpell = function(caster,spell)
return spellbook_script.checkSpellbook(caster,spell)
end,
}
--
import "mod_assets/plugins/locks/keys_and_locks_collection.lua"
-- notebook JW
import "mod_assets/notebook/init_framework.lua";
--quickbar et journal book JW
cloneObject{
name = "party",
baseObject = "party",
onDrawGui = function(g)
-- Start NoteBook Mod Hook
if ( nb_main_script ~= nil and nb_main_script.onDrawGui ~= nil ) then
nb_main_script:onDrawGui(g);
end
-- End NoteBook Mod Hook
mdConversationList.onDraw(g);
qb_script.onDrawGui(g);
-- end
--}
end,
onMove = function(party, direction)
-- Start NoteBook Mod Hook
if ( nb_main_script ~= nil and nb_main_script.isNoteBookShowing() ) then
return false;
end
-- End NoteBook Mod Hook
end,
onTurn = function(party, direction)
-- Start NoteBook Mod Hook
if ( nb_main_script ~= nil and nb_main_script.isNoteBookShowing() ) then
return false;
end
-- End NoteBook Mod Hook
end,
onRest = function(party)
-- Start NoteBook Mod Hook
if ( nb_main_script ~= nil and nb_main_script.isNoteBookShowing() ) then
return false;
end
-- End NoteBook Mod Hook
end,
}
--
and there is this script for a boulder
SpoilerShow
cloneObject{
name = "party",
baseObject = "party",
onProjectileHit = function(champion, projectile, amount)
if projectile.name == "boulder" then
party:playScreenEffect("damage_screen")
shootProjectile("boulder",party.level,party.x,party.y,party.facing, 3,0,0,0,10,0,1000,party,false)
damageTile(party.level, party.x, party.y, projectile.facing, 6, "physical", 9999)
end
return true
end,
}
name = "party",
baseObject = "party",
onProjectileHit = function(champion, projectile, amount)
if projectile.name == "boulder" then
party:playScreenEffect("damage_screen")
shootProjectile("boulder",party.level,party.x,party.y,party.facing, 3,0,0,0,10,0,1000,party,false)
damageTile(party.level, party.x, party.y, projectile.facing, 6, "physical", 9999)
end
return true
end,
}
Re: spell book container to store scrolls
That you can´t move or turn when you've opened the notebook is normal.
The entry for it should be stay in the notebook.script in your dungeon.
I think if you would change the lines in the script for what you will, it should be possible then to move or turn when you´ve open the notebook.
But for this I would maybe ask JohnWordsworth.
The entry for it should be stay in the notebook.script in your dungeon.
I think if you would change the lines in the script for what you will, it should be possible then to move or turn when you´ve open the notebook.
But for this I would maybe ask JohnWordsworth.
Re: spell book container to store scrolls
ok I will see that when I have time. Thanks for your help 
Re: spell book container to store scrolls
@bongobeat: What I´ve told you was total bullshit. Sorry.
In your init.lua you must only deactivate the following entries:
In your onMove hook:
In your onTurn hook:
I did this with two strokes in front of each line and it works well. I can walk, turn and put scrolls and notes at the same time into the book now.
In your init.lua you must only deactivate the following entries:
In your onMove hook:
Code: Select all
if ( nb_main_script ~= nil and nb_main_script.isNoteBookShowing() ) then return false end
if scriptHook.onMove() == false then return true endCode: Select all
if ( nb_main_script ~= nil and nb_main_script.isNoteBookShowing() ) then return false end
return scriptHook.onTurn()
end,Re: spell book container to store scrolls
no problem
it works, thanks anyway!
it works, thanks anyway!