Hi Akroam.
I pasted this into my init.lua file: import "assets/scripts/monsters/tentacles.lua"
and it still does not work. If I try to put the monster on the floor it crashes with:
assets/animations/monsters/drainage_tentcles/drainage_tentcles_attack_from_back_animation
I have no idea whats going on lol.
EDIT I have the latest version of Grimrock, it just cant find the animation files.
Ok I got it to works wow man. I had to copy this into my monster.lua
Code: Select all
--- Original Monster
defineObject{
name = "tentacles",
baseObject = "base_monster",
components = {
{
class = "Model",
model = "assets/models/monsters/drainage_tentacles.fbx",
storeSourceData = true,
},
{
class = "Animation",
animations = {
idle = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_idle.fbx",
turnLeft = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_turn_left.fbx",
turnRight = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_turn_right.fbx",
hide = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_hide.fbx",
reveal = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_raise.fbx",
attack = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_from_back.fbx",
attackBack = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_back.fbx",
attackLeft = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_left.fbx",
attackRight = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_right.fbx",
getHitFrontLeft = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_left.fbx",
getHitFrontRight = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_right.fbx",
getHitBack = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_left.fbx",
getHitLeft = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_right.fbx",
getHitRight = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_left.fbx",
fall = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_left.fbx",
},
currentLevelOnly = true,
},
{
class = "Monster",
meshName = "drainage_tentacles_mesh",
hitSound = "tentacles_hit",
dieSound = "tentacles_die",
hitEffect = "hit_goo",
capsuleHeight = 1,
capsuleRadius = 0.1,
health = 420,
immunities = { "assassination", "backstab", "sleep", "blinded", "knockback" },
resistances = {
["cold"] = "resist",
["shock"] = "weak",
},
exp = 320,
headRotation = vec(90, 0, 0),
},
{
class = "TentacleBrain",
name = "brain",
sight = 2.5,
allAroundSight = true,
},
{
class = "MonsterTurn",
name = "turn",
sound = "tentacles_walk",
},
{
class = "TentacleHide",
name = "hide",
},
{
class = "MonsterAttack",
name = "basicAttack",
attackPower = 25,
accuracy = 15,
cooldown = 4,
sound = "tentacles_attack",
causeCondition = "paralyzed",
conditionChance = 20,
},
},
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack.fbx",
event = "attack",
frame = 15,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack.fbx",
event = "attack",
frame = 20,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack.fbx",
event = "attack",
frame = 25,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_left.fbx",
event = "attack",
frame = 12,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_left.fbx",
event = "attack",
frame = 18,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_left.fbx",
event = "attack",
frame = 24,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_right.fbx",
event = "attack",
frame = 11,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_right.fbx",
event = "attack",
frame = 18,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_right.fbx",
event = "attack",
frame = 25,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_back.fbx",
event = "attack",
frame = 12,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_back.fbx",
event = "attack",
frame = 18,
}
defineAnimationEvent{
animation = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_back.fbx",
event = "attack",
frame = 26,
}
defineSound{
name = "tentacles_attack",
filename = "assets/samples/monsters/tentacles_attack_01.wav",
loop = false,
volume = 1,
minDistance = 1,
maxDistance = 10,
}
defineSound{
name = "tentacles_walk",
filename = "assets/samples/monsters/tentacles_walk_01.wav",
loop = false,
volume = 1,
minDistance = 1,
maxDistance = 10,
}
defineSound{
name = "tentacles_rise",
filename = "assets/samples/monsters/tentacles_rise_01.wav",
loop = false,
volume = 1,
minDistance = 1,
maxDistance = 10,
}
defineSound{
name = "tentacles_retreat",
filename = "assets/samples/monsters/tentacles_retreat_01.wav",
loop = false,
volume = 1,
minDistance = 1,
maxDistance = 10,
}
defineSound{
name = "tentacles_hit",
filename = {
"assets/samples/weapons/hit_bone_01.wav",
"assets/samples/weapons/hit_bone_02.wav",
"assets/samples/weapons/hit_flesh_01.wav",
},
loop = false,
volume = 1,
minDistance = 1,
maxDistance = 10,
}
defineSound{
name = "tentacles_die",
filename = "assets/samples/monsters/tentacles_die_01.wav",
loop = false,
volume = 1,
minDistance = 1,
maxDistance = 10,
}
If I use the (above) monster in my mod it crashes. If I use the below monster, which I just named ie (tentcles_min) It works perfectly.
Code: Select all
defineObject{
name = "tentacles_min",
baseObject = "tentacles",
components = {
{
class = "Animation",
animations = {
idle = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_idle.fbx",
turnLeft = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_turn_left.fbx",
turnRight = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_turn_right.fbx",
hide = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_hide.fbx",
reveal = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_raise.fbx",
attack = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack.fbx",
attackBack = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_back.fbx",
attackLeft = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_left.fbx",
attackRight = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_attack_right.fbx",
getHitFrontLeft = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_left.fbx",
getHitFrontRight = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_right.fbx",
getHitBack = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_left.fbx",
getHitLeft = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_right.fbx",
getHitRight = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_left.fbx",
fall = "assets/animations/monsters/drainage_tentacles/drainage_tentacles_get_hit_front_left.fbx",
},
currentLevelOnly = true,
},
{
class = "TentacleBrain",
name = "brain",
sight = 2.5,
allAroundSight = true,
onThink = function(self)
-- fix bug with builtin brain
if not self.partyOnLevel then
return self:performAction("hide") or self:wait()
else
return false
end
end,
},
{ -- fix another bug with builtin brain
class = "MonsterAction",
name = "move",
onBeginAction = function(self) return false end,
},
{ -- fix another bug with builtin brain
class = "MonsterAction",
name = "turn",
onBeginAction = function(self) return false end,
},
}
}