look :
i'm use dbo loader for my map
function LoadWorld(file$,obj)
load object file$,obj
scale object obj,30,30,30
do
ln=ln+1
if limb exist(obj,ln)
properties$=limb name$(obj,ln)
objecttype$=lower$(KeyValue$(properties$,"objecttype",""))
classname$=lower$(KeyValue$(properties$,"classname",""))
select objecttype$
case "brush"
do
ln=ln+1
if limb exist(obj,ln)
subobjectproperties$=limb name$(obj,ln)
subobjecttype$=KeyValue$(subobjectproperties$,"objecttype","")
if subobjecttype$="face"
select classname$
`aiobstacle brushes are used to setup obstalces for the ai system
case "aiobstacle"
x#=limb position x(obj,ln)
y#=limb position y(obj,ln)
z#=limb position z(obj,ln)
newobj=NewObjectIndex()
make object from limb newobj,obj,ln
position object newobj,x#,y#,z#
AI Add Static Obstacle newobj,1
Phy Make Rigid Body Static Mesh newobj
set shadow shading on newobj,-1,128,1
hide limb obj,ln
endcase
CASE "fenetre"
x#=limb position x(obj,ln)
y#=limb position y(obj,ln)
z#=limb position z(obj,ln)
newobj=NewObjectIndex()
make object from limb newobj,obj,ln
position object newobj,x#,y#,z#
set object transparency newobj,2
Phy Make Rigid Body Static Mesh newobj
AI Add Static Obstacle newobj,0
hide limb obj,ln
endcase
endselect
else
ln=ln-1
exit
endif
endif
loop
endcase
case "sector"
layers=0
do
ln=ln+1
if limb exist(obj,ln)
subobjectproperties$=limb name$(obj,ln)
subobjecttype$=KeyValue$(subobjectproperties$,"objecttype","")
if subobjecttype$="layer"
layers=layers+1
if layers=1
newobj=NewObjectIndex()
make object from limb newobj,obj,ln
Phy Make Rigid Body Static Mesh newobj
hide object newobj
endif
else
ln=ln-1
exit
endif
else
exit
endif
loop
endcase
case "entity"
x#=limb position x(obj,ln)
y#=limb position y(obj,ln)
z#=limb position z(obj,ln)
select classname$
case "playerstart"
player.xpos# = x#
player.ypos# = y#
player.zpos# = z#
player_Stand()
endcase
case "enemystart"
load object "G:\mon jeux\model player\gerrilla\AVEC FUSIL\GERRILA AVEC FUSIL.dbo",enemy_specialist
load object "G:\mon jeux\model player\gerrilla\SG 552.X",sg_552
rem scale object sg_552,90,90,90
zrotate object sg_552,90
yrotate object sg_552,90
xrotate object sg_552,0.0+sg552#
scale object enemy_specialist, 25,25,25
xrotate object enemy_specialist,90
yrotate object enemy_specialist,180
fix object pivot enemy_specialist
set object speed enemy_specialist,25
position object enemy_specialist,x#,y#,z#
set shadow shading on enemy_specialist,-1,128,1
SET OBJECT SPEED enemy_specialist,10000
enemy_specialist_phy = NewObjectIndex()
makeObjectCapsule(enemy_specialist_phy,player.ysiz#,player.rsiz#)
POSITION OBJECT enemy_specialist_phy,x#,y#,z#
hide object enemy_specialist_phy
Phy Make Rigid Body Dynamic Capsule enemy_specialist_phy, player.Material
Phy Set Rigid Body Position enemy_specialist_phy, x#,y#,z#
Phy Set Rigid Body Mass enemy_specialist_phy, player.mass#
Phy Set Rigid Body Rotation enemy_specialist_phy, object angle x(enemy_specialist), object angle y(enemy_specialist), object angle z(enemy_specialist)
perform checklist for object limbs enemy_specialist
for c=1 to checklist quantity()
if checklist string$(c)="ValveBiped_Bip01_R_W"
sg552=c-1
glue object to limb sg_552,enemy_specialist,sg552
c=checklist quantity()+1
endif
next c
endcase
case "waypointmarker"
if limb exist(obj,ln)
pathid$=KeyValue$(properties$,"path_id","")
coneobj=NewObjectIndex()
make object cone coneobj, 5
position object coneobj,x#,y#,z#
AI Path Add Point 1,object position x(coneobj),object position z(coneobj)
Waypoint_count = Waypoint_count+1
endif
endcase
endselect
endcase
endselect
else
exit
endif
loop
endfunction
you have soluce pllease ?