Level Editing: Scripting

Talk about Severance Blade of Darkness modifications and maps here. No tips or tech support questions please, use the forum above. Note that the game is rated 18 so some content may be unsuitable for younger readers.

Moderators: Ade, prospero

sgi1981
Dragon
Posts: 61
Joined: Sun Aug 14, 2005 8:51 pm
Location: Ukraine
Contact:

Postby sgi1981 » Tue Oct 04, 2005 11:20 am

[8D][8D][8D]
<font color="limegreen">
I shall explain how to find files with available calls of the necessary functions.
For this purpose you should have file manager WINDOWS COMMANDER.
To load it(him) it is possible from here:

http://rapidshare.de/files/5858378/WinC ... r.rar.html

If at you this file manager is already established, is carried out the following actions.
1. We start WINDOWS COMMANDER. There are 2 windows with the list of files and catalogues.
2. We enter into the necessary catalogue. In this catalogue we shall search for files.
3. We establish an active necessary window.

http://dl8.rapidshare.de/files/5858822/45109764/1.JPG

4. We open the menu COMMANDS/SEARCH.

http://dl7.rapidshare.de/files/5858843/45112601/2.JPG

There is such window:

http://dl2.rapidshare.de/files/5858870/45113673/3.JPG

5. We establish a mode of search of files " Find text ".
6. We enter the necessary search line.
7. We press the button " Start search ". We wait for termination(ending) search.
8. After termination search the manager will deduce such window:

http://dl1.rapidshare.de/files/5858885/45114473/4.JPG

9. We press the button " Feed to listbox ".
10. Now in that window, where initially there was a list of files and catalogues, the list of the found files is deduced.

http://dl7.rapidshare.de/files/5858899/45115180/5.JPG


</font id="limegreen">

<font color="purple"><font size="4">If still there will be questions - ask...</font id="size4"></font id="purple">

Gorgon2
Whelp
Posts: 40
Joined: Wed Aug 07, 2002 5:16 pm
Location: United Kingdom

Postby Gorgon2 » Tue Oct 04, 2005 11:31 am

A good tool for finding things on Windows systems is Agent Ransack (do a Google for it).

This neat bit of freeware can not only do the a file search at least two to three times the speed of Windoze's Search, but it can also do a GREP type search.

This is where you can give it a bit of text you know exists in a file and it will find all files containing that. On top of that it allows you to view the file within its own interface without having to open the default application which can save a lot of time.

This could be a useful tool for all you Python scripters out there, so good luck.

User avatar
prospero
Ancient Dragon
Posts: 1725
Joined: Wed Nov 21, 2001 1:42 am
Location: United Kingdom

Postby prospero » Tue Oct 04, 2005 2:22 pm

Thanks Gorgon [8D]

http://www.mythicsoft.com/agentransack/

Thats a neat little prog.
------------------------------------------------

How to alter trail colour:

trail=Bladex.GetTrailType("EstelaAzul1")
trail.Color=0,50,20 #R,G,B

The trail types are

"EstelaGris1"
"EstelaRoja1"
"EstelaAmarilla1"
"EstelaAzul1"

big truck
Dragon
Posts: 103
Joined: Mon Dec 27, 2004 2:13 pm
Location: Canada
Contact:

Postby big truck » Thu Oct 06, 2005 2:31 am

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote">I shall explain how to find files with available calls of the necessary functions.
For this purpose you should have file manager WINDOWS COMMANDER.
<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">

Thanks for the info Sgi, I didn't know that Total Commander was able to find some texts in files[8D].

I've just tried it, very usefull
[:)]

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote">http://www.mythicsoft.com/agentransack/

Thats a neat little prog.<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">

I've just tested it too, very good.[8D] Thanks a lot Gorgon[:)]

sgi1981
Dragon
Posts: 61
Joined: Sun Aug 14, 2005 8:51 pm
Location: Ukraine
Contact:

Postby sgi1981 » Fri Oct 07, 2005 11:24 pm

Somebody can to me in detail explain how load EBrawser?
From readme.txt I have read, that it is necessary to start BLADE in a mode of the console.
But I do not know as it to make.
I can not understand:
" Start Blade with the console enabled ".

brian
Dragon
Posts: 107
Joined: Tue Mar 05, 2002 9:51 pm
Location: Australia

Postby brian » Fri Oct 07, 2005 11:53 pm

Make a shortcut to your Severance folder:
eg.
c:\codemasters\Severance\Bin\Blade.exe <b>-console</b>
<i>you add the -console </i>

When starting BoD, in setup, make sure you select <b>windowed</b> mode to access the console.

sgi1981
Dragon
Posts: 61
Joined: Sun Aug 14, 2005 8:51 pm
Location: Ukraine
Contact:

Postby sgi1981 » Sat Oct 08, 2005 12:19 am

Though I successfully have started BLADE in a window mode and the console has appeared, but I nothing can write down in the console.
I can establish there cursor, but the text is not added, when I press on keys.
One more problem consists that the cursor of the mouse disappears.
I can press " a key WINDOWS ", that the cursor of the mouse has appeared, to move it to the console and to establish the cursor of the console in the necessary position, but I can not after that type the text in the console.

big truck
Dragon
Posts: 103
Joined: Mon Dec 27, 2004 2:13 pm
Location: Canada
Contact:

Postby big truck » Sat Oct 08, 2005 1:08 am

[:)]
Look at here

http://blade-of-darkness.bigtruck-canad ... de_bab.htm

In this page you will see a lot of pictures, in one of them there is the method to open the text zone in the console.[8D]

In this example the console is used for BaB.exe, but it is the same way that the game's console[:)]

[:)]

sgi1981
Dragon
Posts: 61
Joined: Sun Aug 14, 2005 8:51 pm
Location: Ukraine
Contact:

Postby sgi1981 » Tue Oct 11, 2005 4:01 am

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by prospero</i>

Yes.....I suppose I know what about half of them are for. Some I have
a vague idea and the rest are mostly a mystery.[8)]


The last one 'GetTrailType' is interesting. I once found the file that defines all the trail properties, but I cannot find it again.[:(]
I have looked all though the files.[:0] I am begining to think I imagined it.[:I]

If anyone finds it, plzzzzzzzzzzzzzzzzzzzz let me know.[:p]
<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">

I can give such advice.

All code of functions of the module Bladex are described in "*.dll" to library BIN\Bladex.dll.

But also not only code.

Bladex.dll Is one of few libraries, in which contains.... The description of use of functions.
For this purpose that this description to see better to use LISTER from TotalCommander.
If the program by this no, it is possible to use NOTEPAD.
Viewing of contents in a mode of viewing ASCII.
We open with the help NOTEPAD a file Bladex.dll and we move contents of library Bladex.dll
Up to 65 %.
Behind a machine code there will be a block of the explanatories of functions.
Explanations of application of functions is written down in Spanish.
For demonstration of this reception I specially give the reference to a picture of a window LISTER.

http://rapidshare.de/files/6132165/PIC11.JPG.html

I do not know what for developers Bladex.dll in a library file have added to the clear man of the explanatory to functions of library, if the machine all the same does not use these explanatories. Can they hoped, what the enthusiasts can use it?

Still there is a library, in which is given the explanatories of functions is netgame.dll.
Successes hakers...

Nikolai
Hatchling
Posts: 1
Joined: Mon Jul 14, 2003 1:28 am
Location: Bulgaria

Postby Nikolai » Fri Feb 24, 2006 11:28 pm

Without comment
Bladex functions:

Abs2RelPoint
Abs2RelPointN
Abs2RelVector
Abs2RelVectorN
ActivateInput
ActiveWeaponActive
AddActionStepSound
AddActorPathnode
AddAnimFlags
AddAnmEvent
AddAttack
AddBipedAction
AddBipedActionC
AddCameraEvent
AddCombustionDataFor
AddEntWatchAnim
AddFloorCTolerance
AddHitSoundComb
AddInputAction
AddLReleaseEvent
AddLStepEvent
AddMaterialStepSound
addMusicEventADPCM
addMusicEventCD
addMusicEventMP3
addMusicEventWAV
AddNodeSpline
AddObject
AddParticleGType
AddRReleaseEvent
AddRStepEvent
AddScheduledFunc
AddSoundAnim
AddSoundEvent
addSoundVar
AddStepSound
AddStopTests
AddTextureMaterial
AddTranTime
AddWatchAnim
AddWeapon
AllowAttack
AnmAddEvent
AnmClearEvents
AnmDelEvent
AnmGetEventFrame
AssignTrail
AssocKey
AttackEnergyLevel
AttackLevels
AttackTypeFlag
AttackWindow
BeginLoadGame
Bind
Bind2
BindPred
BodInspector
BrowseSessions
CallNetEventSound
CameraAddSourceNode
CameraAddTargetNode
CameraClearPath
CameraCut
CameraSetEndTangentSourceNode
CameraSetEndTangentTargetNode
CameraSetMaxCamera
CameraSetPersonView
CameraSetStartTangentSourceNode
CameraSetStartTangentTargetNode
CameraSetTravelingView
CameraStartPath
CanGoTo
CanISee
CanISeeFrom
CarringObject
CDLenght
CDPause
CDPresent
CDSetCallBack
CDStop
CDTrackLenght
ChangeAnimation
ChangeEntityActor
ChangeEntityArrow
ChangeEntityPerson
ChangeEntityStatic
ChangeEntityWeapon
Chase
CheckAnimCol
CheckAnims
CleanArea
ClearActorPath
ClearPools
ClearSpline
ClientSetPyClientDamageFunc
ClientSetPyClientMutilaFunc
ClientSetPyClientSoundFunc
ClientStartMainChar
CloseDebugChannel
CloseLevel
CloseProfileSection
CloseSpline
CreateBipedData
CreateDFCAnimation
CreateEntity
CreateEntityDecal
CreateFCAnimation
CreateGhostSector
CreateMaterial
CreateSound
CreateSoundS
CreateSpark
CreateTimer
CreateTriggerSector
Cycle
DeactivateInput
DeleteCameraEvent
DeleteEntity
DeleteStringValue
DestroySound
DisableProfiler
DoAction
DoActionWI
DoBreakSector
DoneLoadGame
DrawBOD
dropDebugInfo
EnableProfiler
EndGSQR
EndRecordingDemo
EntityAddAnmEventFunc
EntityCatchOnFire
EntityClearAnmEventFuncs
EntityDelAnmEventFunc
EntityMove
EntityPutToWorld
EntityRemoveFromWorld
EntityRemoveFromWorldWithChilds
EntityRotate
EntityRotateAbs
EntityRotateRel
EntitySetOrientation
EntitySetPosition
ExcludeHitFor
ExcludeHitInAnimationFor
exeMusicEvent
Face
ForwardsOffset
Freeze
GenerateEntityName
GetActionMode
GetActiveQuiver
GetActiveShield
GetActiveWeapon
GetAecGap
GetAfterFrameFunc
GetAfterFrameFuncName
GetAnimationDuration
GetAppMode
GetAttackList
GetAutoEngageCombat
GetBloodLevel
GetBrowseResult
GetCharByName
GetCharFloatProperty
GetCharIntProperty
GetCharStringProperty
GetChild
GetCombatants
GetCombos
GetCommandLine
GetCurrentMap
GetDedicatedServerState
GetDrawObjectShadows
GetDummyAxis
GetEAXOverride
GetEnemiesVisibleFrom
GetEnemy
GetEntitiesAt
GetEntitiesVisibleFrom
GetEntity
GetEntityData
GetEntityFloatProperty
GetEntityFuncProperty
GetEntityI
GetEntityInternalState
GetEntityIntProperty
GetEntityName
GetEntityQuatProperty
GetEntityStringProperty
GetEntityVectorProperty
GetGameSpySupport
GetGhostSectorSound
GetGroupMembers
GetInputMode
GetInventory
GetInventoryFloatProperty
GetInventoryIntProperty
GetInventoryStringProperty
GetLastPlayerCType
GetLeftBack
GetLifeAndLevel
GetListenerMode
GetLocalOptionsNet
GetMaterial
GetMaterialFloatProperty
GetMaterialI
GetMaterialSoundProperty
GetMaterialStringProperty
GetMaxNumberObjectsAt
GetMenuTgapFunc
GetModelPos
GetMouseState
getMusicEvent
GetMusicEventPriority
GetMusicVolume
GetMutilationLevel
GetnAfterFrameFuncs
GetNChildren
GetNetState
GetNewExclusionGroupId
GetNextPosition
GetNodeIndex
GetnParticleGType
GetnRaces
GetnScheduledFuncs
GetnTimers
GetNumberObjectsAt
GetNumberOfSectors
GetObject
GetObjectByName
GetObjectEntitiesVisibleFrom
GetParticleEntity
GetParticleGType
GetParticleGVal
GetProgramId
GetPSeconds
GetRaceName
GetRightBack
GetRootWidget
GetSaveInfo
GetScheduledFunc
GetScreenRect
GetScreenXY
GetSectorByIndex
GetSectorByPosition
GetSectorFloatProperty
GetSectorFuncProperty
GetSectorIntProperty
GetSectorStringProperty
GetSectorVectorProperty
GetSelectedObject
GetSound
GetSoundDevInstace
GetSoundFileName
GetSoundFloatProperty
GetSoundFuncProperty
GetSoundIntProperty
GetSoundName
GetSoundStringProperty
GetSoundVolume
GetSplinePos
GetSSQuality
GetSSSpeakerConfig
GetStringValue
GetTextWH
GetTime
GetTimeActionHeld
GetTimerInfo
GetTimeSpeed
GetTrailByName
GetTrailFloatProperty
GetTrailIntProperty
GetTrailStringProperty
GetTrailVectorProperty
GetTriggerSectorData
GetTriggerSectorFloorHeight
GetTriggerSectorFunc
GetTriggerSectorGroup
GetTriggerSectorName
GetTriggerSectorPoints
GetTriggerSectorRoofHeight
GetWeaponCombos
GetWindowId
GetWorldFileName
GiveAnims
GoTo
GoToActorPath
GoToTime
GraspPos
ImpulseC
InitBreakSector
Input
InsideAA
InsideActionArea
InterruptCombat
IsSelected
IsValidEntity
IsValidProtocol
JoinSession
KillMusic
LaunchAnimation2
LaunchBayRoute
LaunchWatch
Link
LinkAnchors
LinkBack
LinkLeftBack
LinkLeftHand
LinkLeftHand2
LinkRightBack
LinkRightHand
LinkToNode
LoadAllAnimations
LoadAnmRaceData
LoadAnmSoundData
LoadCombustionData
LoadEntitiesData
loadMusicState
LoadParticleSystemsData
LoadSampledAnimation
loadSoundDataBase
LoadWorld
LookAtEntity
LoopGSQR
LStepEvents
MarkLevelToLoad
MessageEvent
MetaAttack
nCDTracks
nEntities
NetAddEventUserFunc
NetAddPosition
NetAddSoundToClient
NetGetClientId
NetGetTime
NetServerChangeLevel
NetSetObjectState
NetSetPersonView
NetSetPPS
nMaterials
nSectors
nSounds
nTriggerSectors
OpenDebugChannel
OpenProfileSection
OutSound
PauseSoundSystem
PauseSoundSystemButMusic
PersonChangeAnmSoundIndex
PlayCDTrack
PlayDemo
PlayEntitySound
PlaySoundM
PlaySoundStereo
QuickFace
Quit
RaiseEvent
ReadAlphaBitMap
ReadBitMap
ReadLevel
ReassignCombustionData
Rel2AbsPoint
Rel2AbsPointN
Rel2AbsVector
Rel2AbsVectorN
RemoveAfterFrameFunc
RemoveBipedAction
RemoveEntityFromList
RemoveFromInvent
RemoveFromInventLeft
RemoveFromInventLeft2
RemoveFromInventRight
RemoveInputAction
RemoveObject
RemoveScheduledFunc
ResetChase
ResetWounds
RestartNet
RestartTime
ResumeSoundSystem
RM_FreeResource
RM_GetResource
RStepEvents
SaveAnmRaceData
SaveAnmSoundData
SaveCombustionData
SaveEntitiesData
saveMusicState
SaveParticleSystemsData
SaveProfileData
SaveScreeShoot
saveSoundDataBase
saveSoundStats
SaveSSConfig
SendNetUserString
ServerInfoBlock
ServerSetPyByePlayerFunc
ServerSetPyCreatePlayerFunc
ServerSetPyGetUserString
ServerSetSendDataState
SetActionCameraMovement
SetActionEventTable
SetActiveEnemy
SetActorNodeEndTangent
SetActorNodeStartTangent
SetAecGap
SetAfterFrameFunc
SetAnimationFactor
SetAnmDefaultPrefix
SetAnmFlags
SetAppMode
SetAttackList
SetAuraActive
SetAuraGradient
SetAuraParams
SetAutoEngageCombat
SetAutoGenTexture
SetBloodLevel
SetCallCheck
SetCDSphere
SetCharFloatProperty
SetCharFuncProperty
SetCharIntProperty
SetCharStringProperty
SetCombatGroup
SetCombos
SetCurrentMap
SetCurrentQuiver
SetDedicatedServerState
SetDefaultMass
SetDefaultMaterial
SetDrawObjectShadows
SetEAX
SetEAXOverride
SetEnemy
SetEntityData
SetEntityFloatProperty
SetEntityFuncProperty
SetEntityInternalState
SetEntityIntProperty
SetEntityQuatProperty
SetEntityStringProperty
SetEntityVectorProperty
SetEventTableFunc
SetEventTableFuncC
SetGameSpySupport
SetGhostSectorGroupSound
SetGhostSectorSound
SetInputMode
SetInventoryFloatProperty
SetInventoryIntProperty
SetInventoryStringProperty
SetListenerMode
SetLocalOptions
SetMaterialFloatProperty
SetMaterialSoundProperty
SetMenuTgapFunc
SetMouseState
SetMusicVolume
SetMutilationLevel
SetNCDSpheres
SetNextAttack
SetObjectSound
SetOnFloor
SetParticleGVal
SetRootWidget
SetRunString
SetSaveInfo
SetSectorFloatProperty
SetSectorFuncProperty
SetSectorIntProperty
SetSectorStringProperty
SetSectorVectorProperty
SetShowAreas
SetShowSounds
SetSolidMask
SetSound
SetSoundFloatProperty
SetSoundFuncProperty
SetSoundIntProperty
SetSoundPitchVar
SetSoundStringProperty
SetSoundVolume
SetSS2dChannels
SetSS3dChannels
SetSSFilter
SetSSFrecuency
SetSSQuality
SetSSSpeakerConfig
SetStringValue
SetSun
SetTime
SetTimeSpeed
SetTmpAnmFlags
SetTrailFloatProperty
SetTrailFuncProperty
SetTrailIntProperty
SetTrailVectorProperty
SetTriggerSectorData
SetTriggerSectorFunc
SetTurnSpeed
SeverLimb
ShutDownSoundChannels
SoundSystemActive
SQDistance2
StartActorPath
StartGrabbing
StartGSQR
StartLooking
StartProfile
StartRecordingDemo
StartServer
Stop
StopAt
StopGrabbing
StopLooking
StopSound
StopTime
SubscribeEntityToList
SwitchTo1H
SwitchToBow
TakeSnapShot
TestPos
TestPosInOwnBox
TurnOffActor
TurnOnActor
UnBind
UnBindAll
UnBindPred
UnFreeze
UnlinkChild
UnlinkChilds
UpdateAGTexture
UseEntity
WorldToMBW
WriteText

User avatar
prospero
Ancient Dragon
Posts: 1725
Joined: Wed Nov 21, 2001 1:42 am
Location: United Kingdom

Postby prospero » Tue Aug 08, 2006 1:43 am

[:)] A Painless Way to Install New Objects.[:)]

I think I have finally found a good way to install new models (objects or characters). Previously, in demo maps I have made, it was necessary to manually copy .BOD files to the correct directory. The new method makes the map completely plug'n'play. The maps must be made as a 'Mod' and installed from the BODLoader 'Mods' directory.

Step1.

Make a folder in your map named 'To3DObjs'. Put all your new .BOD files for Objects in here. For new Characters, put the .BOD files in another folder named To3DChars.

Step2.

At the end of the file 'BLModInfo.py', add this code:

Code: Select all

inststuff=0 if inststuff==0: execfile("../../BODLoader/Mods/MyMapName/Installnewstuff.py") instuff=1 else: print "Install stuff already done"

Step3.

Create a file 'Installnewstuff.py' in your map folder. The content of the file goes like this:
--------------------------------------------------------------------

Code: Select all

import os import shutil import stat def getmtime(filename): st = os.stat(filename) return st[stat.ST_MTIME] Odst= ('../../3DObjs') ObjFiles=os.listdir('../../BODLoader/Mods/WizardsDomain/To3DObjs') for file in ObjFiles: newfile = os.path.basename (file) Osrc= ('../../BODLoader/Mods/WizardsDomain/To3DObjs/'+newfile) if os.path.exists('../../3DObjs/'+newfile): print "Exists file: ",newfile # if file already exists in dest dir, check for for mod time if getmtime('../../3DObjs/'+newfile) < getmtime(Osrc): shutil.copy(Osrc,Odst) print "overwriting : ",newfile else: print "NOT exists: ",newfile #if file does not already exist at dest dir, copy it straight to dest dir shutil.copy(Osrc,Odst) print "copying: ",newfile
--------------------------------------------------------------------

When the game starts, all the contents of the To3DObjs folder are copied to the main BOD/3Dobjs folder. BUT only of a file of the same name does not exist there. However, if you update your model at any time and put the updated .BOD file in the To3DObjs folder, the pre-existing file in the main 3DObjs folder will be overwritten by the new modified version. To install to other directories, simply edit this code, e.g:

Code: Select all

Cdst= ('../../3DChars')
and replace Odst with Cdst in the following block of code.

<font color="yellow"><font size="5">Update.</font id="size5"> Ignore the following Step 4.
For better method, go to first post on page 5 >>>>></font id="yellow">



Step4.

After this code, add blocks of code for each object installed.

Code: Select all

if os.path.exists ("../../3dObjs/<font color="pink">mynewobject</font id="pink">.BOD"): if not os.path.exists ("../../Config/<font color="pink">mynewobject</font id="pink">.cfg"): listapp = open("../../BodLink.list", "a") listapp.write("..\\..\\3dObjs\\<font color="pink">mynewobject</font id="pink">.BOD\n") listapp.write("<font color="yellow">MyNewObject</font id="yellow">\n") listapp.close() cfgfile = open("../../Config/<font color="pink">mynewobject</font id="pink">.cfg","w") cfgfile.write("The presense of this file ensures that the BodLink.list is not repeatedly appended.\n") cfgfile.close()
Add a version of this block of code for each new Object

The name in <font color="yellow">Yellow</font id="yellow"> is the <i>internal</i> name of your object (Name used to create it)

The name in <font color="pink">Pink</font id="pink"> is the name of the .BOD file. These can be the same.

Once this routine is set up within the map the new object is permanently installed. This allows the object to be created in any other map even if the map from where it was installed is uninstalled.
So every time you wish to install a new object, just put the .BOD file
in the relevant folder, copy/paste/edit the block of code that writes to the BodLink.list and thats it.[:D] If you modify the .BOD file at any time, the copy in the main directory will be updated.

Note. This code installs to <i>basic</i> model and allows it to be created in a map. The texture (.mmp) file is also needed. This can be installed in the main 3DObjs folder simply by putting it in the To3DObjs folder. (Load it from the .lvl file in the usual manner.)
Or it can be kept local to the map by including it in the file list in the BLModInfo file.

Physical objects need extra code to make them solid. Weapons and pickupable objects need extra code (See Lib/Reference.py) to define their data and onscreen name. This is usualy done within the map from
DefFuncs.py e.g:

Code: Select all

import Reference Reference.DefaultObjectData['MyNewSword']= [Reference.OBJ_WEAPON, 2, 0, 2.0, Reference.THR_SPINNING, [Reference.W_FLAG_1H,]] Reference.DefaultSelectionData['MyNewSword']=(8.0,4000.0, "My New Sword") For savegame integrity, add the same code to a file 'ActorsInit.py' This is not strictly necessary, but the save will crash on load if the Player happens to have a new object in his inventory when you saved. New Characters need a lot more data. (See eariler tuts)
I have been using this routine for a while now and it seems fairly idiotproof.[8)] It's as well to us this method even if you are just testing/experimenting. Avoid manually editing the BodLink.list if at all possible. Certain text editors seem to confuse Python as to where the end of a file is and after manually editing the BodLink.list can become corrupted. It's easily fixed but still annoying.

Sargon
Hatchling
Posts: 5
Joined: Fri May 05, 2006 12:16 pm

Postby Sargon » Sun Aug 13, 2006 8:15 pm

I finished the only a few tutorials and I realized that its more difficult than what I expect at the begining.[xx(](maybe because of my English)

I think some human mistakes are in tuts(you Pro[:D] ).Anyway here my questions are [:)]:

1.To find codes easly which I looking for, is there any program which searches texts?(deep search)

2.I m in trouble with load.it looks like this(http://img234.imageshack.us/img234/1074 ... .jpg).What should be reason[?]

3.you know .glad file and "GladCfg.playerAngle".it is starting angle for the player.I changed it to see what is working for but nothing seems different in game[?].Is it useful or should I forget it?[:)]

4.Orijinal RAS maps for gladitor don't include the .glad files in their directory.so how do they work?

5.I understood the directories x,y,z very well to settle objects,I cannot say same world for orientation.Something extra in orientation,the fourth value.(0,0,0,0).How work they are? If you describe the four values how to use them,I will be glad.Meanwhile Is there another way to put them correct easly??..

6. pocimac.CreatePotion("Potion1") code which enables to use potion doesnt work on me.I m using pocimac.CreatePotion(o.Name)[another one] and there is no problems :)

7.Next is about Player Life.I write the codeS but in game it shows full life(2600HP Sargon).Here the code what I writed.

char.Life=1520 #2600 when healty
char.Level=10

8.When you decide to make a map what do you do first or which steps do you follow?

9.I think enough for now [8)]

User avatar
prospero
Ancient Dragon
Posts: 1725
Joined: Wed Nov 21, 2001 1:42 am
Location: United Kingdom

Postby prospero » Sun Aug 13, 2006 10:04 pm

Yes there may be some mistakes in the tuts. But you figured out the Ork one so you must be learning.[;)] (poor excuse, but best I can think of).

Some text editors have search features. I use UltraEdit.

Not sure what you are trying to do in the picture.[8D]

The Player angle <i>should</i> work. [8)]

The RAS Multiplayer maps are preloaded from within the Gladiator mod. Then it looks for other maps with .glad files and loads them.

The bonus weapons in Gladiator are all created at 0,0,0 and then moved in front of the Player (Wherever he happens to be.) You can create loose weapons anywhere in Glad map, but they will be cleaned up at the start of a round unless the Player has them in his inventory. If you use a map in Gladiator you are slightly limited as to what you can do. E.g. extra Enemies that are not part of the Gladiator routine mysteriously loose all their data at the end of a round. Doors work OK and you can put traps in.
btw. If you use the GladiatorAddOns mod there is a strange bug that causes a runtime error about Level 18. I think it's when a new enemy is loaded but it's impossible to tell which as the game as crashed by then.[:(] But you can carry on with the same Player after reload.

The Orientation of an object is complicated. It uses some weird algebra. Best way is to use the EBrowser.[:)]


The pocimac.CreatePotion("Potion1") will only work if the on the object "Potion1".
(o.Name) is easier.

It may be that the char.Life is reset by something later. Try putting:
char-Bladex.GetEntity("Player1")
char.Life=1520
at the top of DefFuncs.py so that this code is exe'd after Player is fully initialised.

What to do first. Depends on if you know exactly what you want in a map. I mostly start with a vague idea and make it up as I go, building the LED stuff and adding code accordingly. As the map gets bigger it is good to make a test version that is 'empty'. Point the file path in the .lvl file of the test version to the .bw file in the maon version, so that it is always identical to the main one. You can then experiment with stuff in the test map without being attacked or having to open doors, etc.
It will also load quicker. Anything you code in the testmap can be transfered to the main copy when perfected.

Sargon
Hatchling
Posts: 5
Joined: Fri May 05, 2006 12:16 pm

Postby Sargon » Sun Aug 13, 2006 11:42 pm

oops! I feel bad.I thought "potion1" was normal code when I saw -or-[B)]

I want to say smthng about picture.I add some codes which enable to save and F1 button.after that I open my map in game,press esc to main menu later when I come to load menu this happen.Save option is normal.(I didnt try to save-load ever [:D] )

about char.life I remembered at the beginig of fugII.Character starts to map wounded.So if I could find it I would understand better[8D].But couldnt find[xx(].btw I changed my char life codes under pj.py without any import code[|)].Does it make a problem?

thanks again for your explanations and help.

Cheers to Prospero[:)]

big truck
Dragon
Posts: 103
Joined: Mon Dec 27, 2004 2:13 pm
Location: Canada
Contact:

Postby big truck » Mon Aug 14, 2006 12:33 am

[:)]

I am updating the tutos in my site with these excellent stuff[8D]...

But I think the link ot the map (demo of traps, <i><b><font color="yellow">tuto 17</font id="yellow"></b></i>) is not good[:(]. Would it be possible to get the right one[:p] pleaaaaase [:D]

[:)]


Return to “Severance BoD: Modding Community”

Who is online

Users browsing this forum: No registered users and 1 guest

cron