Seite 1 von 1

Problem mit .exe

Verfasst: 15.07.2006 16:49
von X-prt
Guten Tach

Es läuft im Compiler noch perfekt! :)
aber als .exe nicht mehr :cry: und ich frage mich wieso?

Ich bedanke mich schon im voraus für eure Erklärungen

Die 3dArchive Datei:


www.buboot.kilu2.de/models.zip




Der Code:

Code: Alles auswählen

InitEngine3D()

Add3DArchive("models.zip",#PB_3DArchive_Zip)

InitSprite()
InitKeyboard()
InitMouse()
OpenScreen(1152,864,32,"GAME")



ider=CreateMaterial(2,LoadTexture(2,"terrain_texture.jpg"))
AddMaterialLayer(2, LoadTexture(3, "terrain_detail.jpg"),1)
CreateTerrain("terrain.png",MaterialID(2),1,1,1,4)

WorldShadows(#PB_Shadow_Modulative);Modulative



texid=LoadTexture(0,"Beton.jpg")  ;256,256)
matid=CreateMaterial(0,texid) ;TextureID(0)


meshid=LoadMesh(1,"pilon.mesh")
CreateEntity(0,meshid,matid)
Fog(RGB(0,0,0),1,50,400)
EntityLocate(0,524,-50,384)


LoadTexture(1, "Beton1.jpg")
   
CreateMaterial(1, TextureID(1))
  DisableMaterialLighting(1, 1)
  MaterialBlendingMode   (1, #PB_Material_Add)
        
CreateParticleEmitter(0, 10, 1, 1, #PB_Particle_Point) ;#PB_Particle_Box)
  ParticleMaterial    (0, MaterialID(1))
  ParticleTimeToLive  (0, 10, 11)
  ParticleEmissionRate(0, 20)
  ParticleSize        (0, 30, 30)
  ParticleColorRange  (0, RGB(0,0,255), RGB(0,255,255))
  ParticleVelocity    (0, 1,10)
  ParticleEmitterLocate(0,EntityX(0),EntityY(0),EntityZ(0))


CreateParticleEmitter(1, 10, 1, 1, #PB_Particle_Point) ;#PB_Particle_Box)
  ParticleMaterial    (1, MaterialID(1))
  ParticleTimeToLive  (1, 2, 2.5)
  ParticleEmissionRate(1, 20)
  ParticleSize        (1, 30, 30)
  ParticleColorRange  (1, RGB(255,0,0), RGB(255,255,0))
  ParticleVelocity    (1, 1,10)
  ParticleEmitterLocate(1,EntityX(0)+100,EntityY(0),EntityZ(0)+100)


CreateLight(0,RGB(0,200,255),ParticleEmitterX(0),ParticleEmitterY(0),ParticleEmitterZ(0))
CreateLight(1,RGB(255,100,0),ParticleEmitterX(1),ParticleEmitterY(1),ParticleEmitterZ(1))


MaterialSpecularColor(1,RGB(123,13,221))


    CreateCamera(0, 0, 0, 50, 50)  ; Front camera
    CreateCamera(1, 0, 50, 50, 50) ; Back camera
    CreateCamera(2, 50, 0, 50, 50)  ; Front camera
    CreateCamera(3, 50, 50, 50, 50) ; Back camera
    CameraRenderMode(1,1)
    CameraRenderMode(2,#PB_Camera_Plot)
    CameraBackColor(3,RGB(255,255,255))
    CameraFOV(0,45)
    CameraFOV(1,45)
    CameraFOV(2,20)
    CameraFOV(3,45)
    CameraLocate(0,520,0,300)

I=0
umgebung.s="boden"


AmbientColor(RGB(10,10,10))
Repeat
  WindowEvent()
  ClearScreen(0)
  ExamineMouse()
  ExamineKeyboard()
  If KeyboardPushed(#PB_Key_Up)
    If KeyboardPushed(#PB_Key_RightShift)
      MoveCamera(0,0,0,-4)
    Else
      MoveCamera(0,0,0,-2)
    EndIf
  EndIf
  If KeyboardPushed(#PB_Key_Down)
    MoveCamera(0,0,0,2)
  EndIf
  If KeyboardPushed(#PB_Key_Left)
    MoveCamera(0,-2,0,0)
  EndIf
  If KeyboardPushed(#PB_Key_Right)
    MoveCamera(0,2,0,0)
  EndIf
  
  If KeyboardPushed(#PB_Key_Pad8)
    MoveEntity(0,0,0,-2)
  EndIf
  If KeyboardPushed(#PB_Key_Pad5)
    MoveEntity(0,0,0,2)
  EndIf
  If KeyboardPushed(#PB_Key_Pad4)
    MoveEntity(0,-2,0,0)
  EndIf
  If KeyboardPushed(#PB_Key_Pad6)
    MoveEntity(0,2,0,0)
  EndIf
  If KeyboardPushed(#PB_Key_S)
    umgebung="luft"
  EndIf
  If KeyboardPushed(#PB_Key_W)
    umgebung="wasser"
  EndIf
  If KeyboardPushed(#PB_Key_Space)
    umgebung="sprung"
  EndIf
  If KeyboardPushed(#PB_Key_A)
    umgebung="boden"
  EndIf


  RotateCamera(0,MouseDeltaX()/-3.5,MouseDeltaY()/-3.5,0)
  RotateCamera(1,MouseDeltaX()/-3.5,MouseDeltaY()/-3.5,0)
  RotateCamera(2,MouseDeltaX()/-3.5,MouseDeltaY()/-3.5,0)
  RotateCamera(3,MouseDeltaX()/-3.5,MouseDeltaY()/-3.5,0)
  
  Select umgebung
    Case "boden"
      Height.f = TerrainHeight(CameraX(0), CameraZ(0))+10
    Case "sprung"
      Height.f = TerrainHeight(CameraX(0), CameraZ(0))+10
    Case "wasser"
      Height.f = TerrainHeight(CameraX(0), CameraZ(0))+10
    Case "luft"
      Height.f = CameraY(0)
  EndSelect
  
  
  CameraLocate(0,CameraX(0),Height.f,CameraZ(0)) 
  CameraLocate(1,CameraX(0),CameraY(0),CameraZ(0))
  CameraLocate(2,CameraX(0),CameraY(0),CameraZ(0))
  CameraLocate(3,CameraX(0),CameraY(0),CameraZ(0))
  
  If I=3
    LightLocate(0,ParticleEmitterX(0)+Random(10)-5,ParticleEmitterY(0)+500,ParticleEmitterZ(0)+Random(10)-5)
    LightLocate(1,ParticleEmitterX(1)+Random(50)-25,ParticleEmitterY(1)+50,ParticleEmitterZ(1)+Random(50)-25)
    I=0
  Else
    I+1 
  EndIf
 
  RenderWorld()
  StartDrawing(ScreenOutput())
    DrawText(10,10,"S            = Flugmodus")
    DrawText(10,30,"D            = Normal")
    DrawText(10,50,"Rechts SHIFT = Laufen")
  StopDrawing()
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Edit by Falko

Verfasst: 15.07.2006 17:13
von DarkDragon
Bitte codetags setzen und Fehlermeldung hier reinkopieren, danke.

Verfasst: 15.07.2006 18:33
von Kaeru Gaman
DarkDragon hat geschrieben:Bitte codetags setzen und Fehlermeldung hier reinkopieren, danke.
dazu gehst du bei deinem ersten post auf EDIT, dann markierst du den kompletten Programmcode und drückst auf den kleinen Button "code"...

Verfasst: 15.07.2006 19:00
von Falko
Ich habs für ihn angepasst und hoffe das jetzt jemand aufs Eigendliche antworten kann :lol:

Also ich habe den Source getestet nachdem ich auch die Zip-Datei runtergeladen habe. Bei mir läuft der nicht ohne Debugfehler im Compiler.

Hast du ohne Debugger getestet? Ich würde sagen:" teste mal selbst mit dem eingeschalteten Debugger". Dann ist schon klar warum es in der Exe nicht läuft.


Fehler tritt hier schon in Zeile 12 wegen der TexturID auf:
8)

Verfasst: 16.07.2006 01:05
von manunidi
Hi!! Also der code von X-Pert funktioniert perfeckt im editor, aber als exe nicht, warum nicht, das wundert mich!

Verfasst: 16.07.2006 01:25
von Falko
OK, jetzt habe ich den Fehler bei mir auch gefunden. In den Compileroptionen war die Unicode exe... eingehakt. Nachdem ich das
ausgehakt habe läuft es unter der IDE.

Damit es auch mit der Exe läuft muss die Engine3D.dll und die
stlport_vc646.dll ins Programmverzeichnis zu dieser Exe kopiert werden. Damit läufts
dann auch mit der Exe, was ich im Moment ausprobieren konnte.

Evt. die besagten DLL's, die im PB-Compilerverzeichnis sind, ins Systemverzeichnis kopieren.

Grüße Falko

Verfasst: 16.07.2006 01:27
von ts-soft
Funktioniert auch als Exe!

Wahrscheinlich fehlen "Engine3D.dll" und/oder "stlport_vc646.dll" im
Verzeichnis der Exe.

Bei mir gehts :wink:

Verfasst: 17.07.2006 11:38
von X-prt
:allright: Danke leute es läuft jetzt einwandfrei :D