I have made a complete MonsterList.txt with all (230) aviable monsters from PK/BooH.
Please post wich monsters you are planing to test in the comments! Like PeTjA from monster 0-20. So we can avoid doubletesting!
For testing try to create small groups with different sizes of the monsters etc.
If U get LScript-errors post them in the comments from your /Bin/script_error.log. And if possible the line from the *.lua that causes the error.
Ok i test the 20 first monsters (0-20).
Friday, June 29, 2007 17:31:53:
./Data/LScripts/Templates/Monsters/Alastor/Alastor.lua:157:CheckDamageFromFlame
./Data/LScripts/Classes/CActor.lua:340:Update
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:122:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from the Alastor.lua:
local dist = Dist3D(x,y,z, brain.Target._groundx, brain.Target._groundy + 1.5, brain.Target._groundz)
—————————————————–
./Data/LScripts/Templates/Monsters/Amput_zombie/Amput_zombie_barf.lua:58:OnUpdate
./Data/LScripts/Classes/CActor.lua:243:Update
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:122:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from Amput_zombie_barf.lua:
local distToPlayer = Dist2D(x,z,self._AIBrain.Target._groundx,self._AIBrain.Target._groundz)
… more will come
Testing 21-40
./Data/LScripts/Templates/Monsters/Bat/Bat.lua:258:OnUpdate
./Data/LScripts/Classes/CActor.lua:243:Update
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:122:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
self._AIBrain.Target:OnDamage(aiParams.weaponDamage * FRand(0.6, 1.4),actor,0)
————————–
./Data/LScripts/Templates/Monsters/Bat/Bat.lua:295:OnRelease
./Data/LScripts/Classes/CActor.lua:243:Update
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:122:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
brain._batflySndSrc = Vector:New(self._AIBrain.Target.Pos.X + FRand(1,2), self._AIBrain.Target.Pos.Y, self._AIBrain.Target.Pos.Z + FRand(1,2))
———————————————
./Data/LScripts/Templates/Monsters/Bones/Bones.lua:178:OnInit
./Data/LScripts/Classes/CActor.lua:243:Update
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:122:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
if self._AIBrain.Target then actor:RotateToVector(self._AIBrain.Target._groundx,self._AIBrain.Target._groundy,self._AIBrain.Target._groundz) end
… nomore tests today for me. 😀
Anyhow i try 41-60
First: The BreakBoyTranfsormed.CActor is original wrong written. O?O
Maybe he and other things will still work if we rename him.
Same goes to the Beast_agrresive (3 of them). But the Boy´s and the Beasts all work fine. So maybe never touch a running system …
./Data/LScripts/Templates/Monsters/Corn/CornThrowable.CItem:47:OnUpdate
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:126:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
if math.random(100) < 20 and self.ObjOwner._AIBrain.Target and not self.ObjOwner._AIBrain.Target._poisoned then
Lets see if i can test 61-80
That was a nice run. No errors. So gogogo 81-100 ^_^
I remember this one. If Ur fix i applyed works i think i can fix this myself:
[string “../Data/LScripts/Templates/Monsters/HellAngel/Gas.lua”]:37: `then’ expected near `self’
from LUA:
if self.ObjOwner self.ObjOwner._AIBrain and self.ObjOwner._AIBrain.Target and self.ObjOwner._AIBrain.Target.Health > 0 then
————————————————-
This one was caused by HellAngel_V3:
./Data/LScripts/Main/Utils.lua:85:Dist3D
./Data/LScripts/Classes/Ai/CAiBrain.lua:443:EvaluateGoals
./Data/LScripts/Classes/Ai/CAiBrain.lua:407:OnUpdate
./Data/LScripts/Classes/CActor.lua:243:Update
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:122:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
return math.sqrt( (x-x1)*(x-x1) + (y-y1)*(y-y1) + (z-z1)*(z-z1) )
[q]I remember this one. If Ur fix i applyed works i think i can fix this myself:
[string “../Data/LScripts/Templates/Monsters/HellAngel/Gas.lua”]:37: `then’ expected near `self’
from LUA:
if self.ObjOwner self.ObjOwner._AIBrain and self.ObjOwner._AIBrain.Target and self.ObjOwner._AIBrain.Target.Health > 0 then[/q]
LOL, this was the one with the 2 and´s (we removed one). So what to do now? Change all AIBrain into brain?
Drop me a line blowfish, so i can fix and test them again after i awaked …
[q]Blowfish says: basically if the function already refers to brain, we use brain rather than self._AIBrain[/q]
… i will try later O_O
After reading Line 37 again and again and oncemore:
Now the Gas(MolotovCocktail) dont cause a crash (if i get hit) … but it also does no damage. And the Flames dont burn.
Thats what i have changed:
if self.ObjOwner [b]==[/b] self.ObjOwner._AIBrain and self.ObjOwner._AIBrain.Target and self.ObjOwner._AIBrain.Target.Health > 0 then
should be
if self.ObjOwner and self.ObjOwner._AIBrain and self.ObjOwner._AIBrain.Target and self.ObjOwner._AIBrain.Target.Health > 0 then
which basically means if there is an object owner, and if there is a brain of the object owner, and if there is a target of the brain of the object owner, and if the health of the target of the brain of the object owner is greater than zero, then
[q]Thats what i have changed:
if self.ObjOwner == self.ObjOwner._AIBrain and self.ObjOwner._AIBrain.Target and self.ObjOwner._AIBrain.Target.Health > 0 then[/q]
Why would the object owner ever be equal to his brain?
Thanks, perfect.
Here i go again 101-120
No crashes. Continuing testing 121-140
./Data/LScripts/Templates/Monsters/Lucifer/Lucifer.lua:86:CustomOnDeath
./Data/LScripts/Classes/CActor.lua:3321:InDeathZone
./Data/LScripts/Main/Game.lua:1455:ExecMsgQueue
./Data/LScripts/Main/Game.lua:684:Tick2
./Data/LScripts/Main/Game.lua:1852:Game_Tick2
from LUA:
Game._EarthQuakeProc:Add(brain.Target._groundx,brain.Target._groundy,brain.Target._groundz, self.demonFXTimeAfterDeath*30, 999, 0.27, 0.27, 1.0)
—————————————————–
./Data/LScripts/Templates/Monsters/Ninja/Ninja1.lua:200:OnUpdate
./Data/LScripts/Classes/CActor.lua:243:Update
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:122:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
actor:RotateToVector(self._AIBrain.Target._groundx, self._AIBrain.Target._groundy, self._AIBrain.Target._groundz)
… 141-160 now
./Data/LScripts/Templates/Monsters/Officer/BombParts.CItem:57:OnUpdate
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:126:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from CItem (caused by MSN?):
local dist = Dist3D(self.ObjOwner._AIBrain.Target._groundx,
self.ObjOwner._AIBrain.Target._groundy,self.ObjOwner._AIBrain.Target._groundz,self.Pos.X, self.Pos.Y, self.Pos.Z)
————————
./Data/LScripts/Classes/CActor.lua:1755:RotateToVector
./Data/LScripts/Classes/Ai/CAiBrain.lua:424:OnUpdate
./Data/LScripts/Classes/CActor.lua:243:Update
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:122:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
self._angleDest = math.atan2(tx – self._groundx, tz – self._groundz)
What more can i say then 161-180 ?
Thats how i like it 0 crashes.
BANZAI 181-200
./Data/LScripts/Templates/Monsters/Skeleton_soldier/Can.lua:31:OnUpdate
./Data/LScripts/Main/GObjects.lua:102:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:126:Update
./Data/LScripts/Main/Game.lua:472:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
local dist = Dist3D(self.ObjOwner._AIBrain.Target._groundx, self.ObjOwner._AIBrain.Target._groundy, self.ObjOwner._AIBrain.Target._groundz, x,y,z)
———————————————–
(StoneGolem)
ev:Respawn(a[1],a[2],a[3]):1:?
./Data/LScripts/Main/GObjects.lua:159:?
[C]:-1:foreachi
./Data/LScripts/Main/GObjects.lua:165:Tick
./Data/LScripts/Main/Game.lua:469:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
func = function(i,v) v:Tick(delta) end
… continuing 201-215
./Data/LScripts/Templates/Monsters/Thor/ThorMlot.lua:42:OnDamage
./Data/LScripts/Classes/CWeapon.lua:175:InterpretAction
./Data/LScripts/Classes/CPlayer.lua:791:InterpretAction
./Data/LScripts/Classes/CPlayer.lua:679:ServerTick
./Data/LScripts/Main/Game.lua:419:Tick
./Data/LScripts/Main/Game.lua:1848:Game_Tick
from LUA:
owner._AIBrain._lastHitByEnemyPos = Vector:New(self._AIBrain.Target._groundx,self._AIBrain.Target._groundy,self._AIBrain.Target._groundz)
and finished 216-230 without crashes. I think i will restart the same procedure on a dedicated server soon.
I just had a small short test with a bunch of Clowns on a dedicated server. There movement looks a bit strange and i dont see any bullets and stuff but i get the damage. Also if i kill them, they just disapear.