Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 18 von 18
  1. Beiträge anzeigen #1 Zitieren
    Schwertmeister Avatar von Ska-Ara
    Registriert seit
    Nov 2010
    Ort
    Bayern
    Beiträge
    802
     
    Ska-Ara ist offline

    Wetter erstellen und kontrollieren

    Hey Leutchens,

    ich wollte mal wissen ob es möglich ist neues Wetter samt Effekte zu erstellen und wie das zu handhaben ist.

    ich dachte da an folgendes
    Leichter Regen (wenige Tropfen Effekte)
    Mittlerer Regen (viele Tropfen)
    Gewitter (viele Tropfen samt Blitze und Donner)
    Leichter Schneefall (wenige Schneeflocken)
    starker Schneefall (viele Schneeflocken)
    Blizzard (extrem viele Schneeflocken dazu starker Wind)
    Leichter Wind ( Bäume wackeln leicht stärker als normal)
    Starker Wind ( Bäume wackeln extrem Stark)

    Ist es überhaupt möglich so etwas zu realiseren?

  2. Beiträge anzeigen #2 Zitieren
    Deus Avatar von lucigoth
    Registriert seit
    May 2012
    Ort
    Witten
    Beiträge
    23.824
     
    lucigoth ist offline
    Gute Idee!
    Bei G2 gibt es ja einiges davon schon- je näher man z.B. zum "Neuen Lager" kommt, desto mehr Schnee fällt.
    Kann man bestimmt irgendwo einstellen- ich lasse mich überraschen.

  3. Beiträge anzeigen #3 Zitieren
    Schwertmeister Avatar von Ska-Ara
    Registriert seit
    Nov 2010
    Ort
    Bayern
    Beiträge
    802
     
    Ska-Ara ist offline
    Kommt schon Leute, werft mal eurer geballtes Fachwissen heraus. Sicherlich weiß doch jemand irgendwas

  4. Beiträge anzeigen #4 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Naja, kann gut sein das du der erste bist der mit diesen Sachen arbeiten möchte.
    Unmöglich klingt das alles nicht.

    In zCSkyController.d von den Ikarus engine classes gibt es ja einiges was mit Wetter zu tun hat.
    Wenn du da beispielsweise m_bWindVec mit unterschiedlichen Werten überschreibst, könnte das evt. ausreichen um den Wind zu verändern. Müsste man mal ausprobieren.

    Wenn du da tiefgreifende Veränderungen vornehmen willst, wäre es wahrscheinlich nicht verkehrt mit mud-freaks Tutorial
    https://wiki.worldofgothic.de/doku.p...ngineforschung
    in der engine herum zu suchen wie genau die Werte verwendet werden und was die zEngine halt so macht wenn es regnet/schneit.

  5. Beiträge anzeigen #5 Zitieren
    Deus Avatar von lucigoth
    Registriert seit
    May 2012
    Ort
    Witten
    Beiträge
    23.824
     
    lucigoth ist offline
    Die Frage gab es schon mal und da wurde als Lösung Mondgesänge vorgeschlagen:
    https://forum.worldofplayers.de/foru...-1-%C3%A4ndern.
    Habe da aber nicht wirklich was gefunden.
    Ska-Ara, kannst ja selbst noch mal dort suchen.

  6. Beiträge anzeigen #6 Zitieren
    Schwertmeister Avatar von Ska-Ara
    Registriert seit
    Nov 2010
    Ort
    Bayern
    Beiträge
    802
     
    Ska-Ara ist offline
    Nene Lucy, mir gehts nicht ums ändern. Ich würde wirklich gerne eigenes Wetter kreeieren und abspielbar machen.
    im Original Gothic gibt es ja meines wissens nach nur regen, gewitter, normales wetter und etwas Schnee, und ich würde gern diverse vielfalt bringen.

    Daher wäre mir wichtig zu wissen wie man da ansetzt.
    Ist Wettereffekte beispielsweise ein PFX den man Global triggern kann.
    Setzt es sich aus einer Reihe von Scripten zusammen usw.

    Das mit der Windstärke ist beispielsweise schonmal ein super Ansatz. Wobei ich als Grafiker nun nicht gerade der Scripter Pro bin. Daher bin ich um jede erklärung froh

  7. Beiträge anzeigen #7 Zitieren
    General Avatar von uhrparis
    Registriert seit
    Jan 2006
    Beiträge
    3.127
     
    uhrparis ist offline
    Zitat Zitat von Ska-Ara Beitrag anzeigen
    Nene Lucy, mir gehts nicht ums ändern. Ich würde wirklich gerne eigenes Wetter kreeieren und abspielbar machen.
    im Original Gothic gibt es ja meines wissens nach nur regen, gewitter, normales wetter und etwas Schnee, und ich würde gern diverse vielfalt bringen.

    Daher wäre mir wichtig zu wissen wie man da ansetzt.
    Ist Wettereffekte beispielsweise ein PFX den man Global triggern kann.
    Setzt es sich aus einer Reihe von Scripten zusammen usw.

    Das mit der Windstärke ist beispielsweise schonmal ein super Ansatz. Wobei ich als Grafiker nun nicht gerade der Scripter Pro bin. Daher bin ich um jede erklärung froh :D

    Vielleicht hilft dir die Gothic ini ja weiter.
    Spoiler:(zum lesen bitte Text markieren)
    ;
    ; G O T H I C 2
    ;
    ; INI-File
    ;
    ; contains different settings
    ; ... some can be modified in gothics menu
    ; ... some not (feel free to hack, but don't cry ... :)
    ; ... others won't take any effect (they will be reset during gameplay)
    ; ... and a few may cause a crash or some other funny things :)
    ;
    ; Be careful but DON'T PANIC !!
    ;



    [PERFORMANCE]

    recalc=0
    ; ... indicates if your performance-settings should be recalculated (1) {analyses you computer} or not (0). Replays Intro-Video.

    sightValue=14
    ; ... range of visibility: 0=20% ... 14=300%, default is 4 (100%)

    modelDetail=1
    ; ... detail of models (LODing) from 0.0 to 1.0, default is 0.5


    [GAME]

    animatedWindows=1
    ; ... turn fading of game-internal windows(views) off (0) or on (1), default is 1

    camLookaroundInverse=0
    ; ... inverts the camera-lookaround for UP and DOWN-direction (for both: mouse and keyboard)

    bloodDetail=2
    ; ... details of blood (0 = off), use values from 0 to 3

    extendedVideoKeys=0
    ; ... enables extra keys for videoplay: HOME (restart), RIGHT (step forward), UP, DOWN (volume), Q(uiet), default is 0

    scaleVideos=0
    ; ... disable scaling of videos (0) if you have problems with your graphics-adapter, default is on (1)

    cameraLightRange=1
    ; ... range of cameralight in cm, default is 0 (no camera-light)

    invShowArrows=1
    ; ... show arrows beside inventory if there are more items above or beyond, default is 1

    invSwitchToFirstCategory=0
    ; ... switch to first category (weapons) in trading-screen, when moving to your heroes inventory, default is 0

    enableMouse=1
    ; ... enable your mouse for gothic, default is 0

    mouseSensitivity=0.5
    ; ... mouseSpeed in game between 0.0 and 1.0, default is 0.5

    playLogoVideos=0
    ; ... if set to 0 no intro logo videos will be played

    skyEffects=0
    ; ... turn weather-effects (rain) on (1) or off (0), default is 1

    highlightMeleeFocus=2
    ; ... here you can turn on an optional focus highlight effect during fighting

    highlightInteractFocus=1
    ; ... here you can turn on an optional focus highlight during interactions

    useGothic1Controls=1
    ; ... if you set this one to 0 you will have another fight interface (one key to attack).
    ; we feel the gothic 1 interface is more challenging, so we set the old controls to default
    ; with the new interface, the focus nsc stays locked until you move the mouse. in this mode
    ; the side attacks are being accessed with additional side attack keys.

    disallowVideoInput=0
    ; ... set to 1 if you dont want to have keyboard control over video sequences (default: 0)

    keyDelayRate=150
    ; ... sets the keyboard repeat delay rate in msec (default: 150)

    enableJoystick=0
    ; ... enables joystick support in gothic (default: 1) set to 0 if you encounter problems (rapid fire etc.)

    keyDelayFirst=0
    ; ... delay for first keyboard repeat in msec (default: 0)

    subTitles=1
    ; ... choose if you want to see windows with spoken words (1) or not (0), default is 0

    subTitlesAmbient=1
    ; ... set to 1 if you dont want to have subtitles for ambient talks (default: 1) [disabled if subTitles is off]

    subTitlesPlayer=1
    ; ... activates (1) or deactivates (0) subtitles for the hero (default: 1) [disabled if subTitles is off]

    subTitlesNoise=1
    ; ... activates (1) or deactivates (0) subtitles for surroundings npc ambient infos and talks (default: 0) [disabled if subTitles is off]

    invMaxColumns=18
    ; ... determins how many colums you can see with you inventory (default: 5) [0: limited by resolution]

    invMaxRows=8
    ; ... determins how many rows you can see with you inventory (default: 0: limited by resolution)

    invSplitScreen=1
    ; ... determins if you can see a second inventory during object interaction and trading. TAB will toggle inventory focus or close your inventory depending on the setting

    invCatOrder=COMBAT,RUNE,ARMOR,MAGIC,POTION,FOOD,DOCS,OTHER,NONE
    ; ... determins the inventory item group order.

    gametextAutoScroll=1000
    ; ... with this value you can tune the scroll time in msec of the various in game infos (default: 1000)

    usePotionKeys=1
    ; ... with this value you are allowed to use the potion keys if set to "1". potionkeys do not work and are not visible in the keyboard settings if you leave this to "0"
    ; we feel potion shortkeys suck in gameplay, so you will manually have to enable them here

    useQuickSaveKeys=1
    ; ... with this value set to "1" you quicksave and quickload slots will be enabled in the savegame screen. press "F5" to quicksave and "F9" to quickload
    ; this feature is not testet good enough yet, and therefore it is disabled for goldmaster. you may enable it at your own risk by setting it to "1"

    useSpeechReverbLevel=1
    ; ... with this setting you can enable several reverb-settings for in-game-speech. 0: no reverb, 1: slight reverb, 2: full reverb (default: 2)

    keyboardLayout=00000407
    ; ... currently there are two supported keyboard layouts: 00000407 - German, 00020409 - US-International
    ; ( see http://www.microsoft.com/globaldev/k.../keyboards.asp , dead keys are not supportet at all )

    pickLockScramble=0
    ; ... you can increase the feeling of lockpicking if you enable scrambling the combination on loading an savegame
    ; the value is the maximum length of combination which will be scrambled, 0 = off (default)

    PATCHVERSION=5
    SHORTKEY1FARPLANEDIST=0.8
    SHORTKEY2FARPLANEDIST=1.2
    SHORTKEY3FARPLANEDIST=2
    SHORTKEY4FARPLANEDIST=3
    zShowWeaponTrails=0
    itemEffects=1
    spawnRemoveNpcOnlyIfEmpty=1
    spawnUseDeadNpcRoutinePos=1


    [VIDEO]

    zVidDevice=0
    ; ... index of graphic-device beginning with zero.

    zVidResFullscreenX=1920
    zVidResFullscreenY=1200
    zVidResFullscreenBPP=32
    ; ... used resolution

    zStartupWindowed=0
    ; ... should the game be started as a window-application? Just for debugging!
    ; ... ATTENTION: Not all resolution work in window-mode!!!

    zVidBrightness=0.45714286
    ; ... brightness from 0.0 (dark) to 1.0 (bright)

    zVidContrast=0.485714287
    ; ... contrast from 0.0 (low contrast) to 1.0 (high contrast)

    zVidGamma=0.571428597
    ; ... gamma from 0.0 (dark) to 1.0 (bright)

    zTexMaxSize=16384
    ; ... size of texture in pixels, default is 16384 (max)


    [SOUND]

    soundVolume=1
    musicVolume=0.800000012
    ; ... volume of sound and music, ranges between 0.0 (off) and 1.0 (noisy)

    musicEnabled=1
    ; ... enables (1) or disables (0) music. Gothic needs less memory without music.

    soundEnabled=1
    ; ... enables (1) or disables (0) sound.

    soundUseReverb=1
    ; ... enables (1) or disables (0) in game reverb effects in indoor locations.

    extendedProviders=0
    ; ... enables (1) or disables (0) some unsupported sound providers in the menu (Dolby Surround and Intel RSX; use at your own risk)


    [RENDERER_D3D]

    zFogDisabled=1
    ; ... diables fog. set this to 1 if you have any problem with fogging

    zFogRadial=0
    ; ... enables radial fog. this could be somehow slower on some grafic cards, but looks smoother. set to "0" if you have any problems with it
    ; some cards without T&L don't support radial fog. On these cards, (although they are unsupported) it may be wise to deactivate radial fog.

    zVidRefreshRate=0
    ; ... overrides the windows default refresh rate. enter a value above 75 to make your eyes happier (default: 0)
    ; Attention: could collide with various refresh rate tools as nvmax, nvidia refresh rate fix, etc.. if you enter any value above "0"

    zForceZBuffer=0
    ; ... gothic first tries to activate a w buffer if your cards supports it. however, some cards have problems with gothics way to access the w buffer
    ; you can force z buffering here by setting the value to "1"

    zEnableTaskSwitch=1
    ; ... enables (1) or disables (0) going to windowed/pause mode if gothic 2 looses focus (e.g. on ALT-Tab)

    geforce3HackWBufferBug=1
    ; ... some geforce 3 or geforce 4 cards have problems with gothics way to access the w buffer, resulting in flickering polys
    ; in the distant. with this setting set to "1" these cards automatically use a z buffer, loosing some precision near the camera but without the flickering polys.
    ; the driver version 12.41 does not have this problem. if you you have this version installed you may set this to 0 in order to activate the better looking
    ; w buffer. Driver versions later than 30.82 may not have this problem either.

    zSyncAmbientCol=1
    ; ... some grafic drivers have problems with gothics way to access the ambient lightning on a per object base but want the ambient
    ; light on a per scene base. this is a driver bug! if there occurs heavily lightning flickering with objects, you might set this setting
    ; to "1" to synchronize the ambient color after each object. this forces the driver to flush the scene after each objects which can
    ; seriously degrade performance (especially if you activate antialiasing!)

    radeonHackAmbientColBug=0
    ; ... the radeon 9700 has known problems with accessing the ambient lightning on a per object base, thus using the above "zSyncAmbientCol"
    ; Feature automatically. By activating the workaround for this card, performance may drop about 10%. Fullscene antialiasing does not work
    ; fast enough on this card until ATI fixes the ambient col driver bug.
    ; if you set this setting to "0" and no object lightning flickering occurs, ATI has probably managed to fix the problem and you may enable antialiasing


    [SKY_OUTDOOR]

    zDayColor0=82 109 198
    zDayColor1=255 255 0
    zDayColor2=18 16 60
    zDayColor3=134 104 125
    zDayColor0_OW=90 80 80
    zDayColor1_OW=90 80 80
    zDayColor2_OW=90 80 80
    zDayColor3_OW=90 80 80
    ; ... these values tune the different sky colors during different daytimes

    zSkyDome=1
    ; ... here you can define if you want a smooth sky sphere instead of a sky plane. enter a "0" here if you want more performance. (default:1)

    zColorizeSky=1
    ; ... with this value you can make the skysphere even more beautiful (set it to "0" for a plus of performance) (default:1)

    zSunName=unsun5.tga
    zSunSize=200
    zSunAlpha=230
    zMoonName=moon.tga
    zMoonSize=400
    zMoonAlpha=255
    ; ... these values tune the different sizes and alpha intensitys of the sky planets. you should leave them as they are :)

    zRainWindScale=0.003
    ; ... this value tunes how wind affects the rain. looks great with higher values, but occasional you will see rain drops in indoor locations

    zNearFogScale=1
    zFarFogScale=1
    ; ... these settings tune the far- and near-fog distances (default: 1, range: 0.0 - 1.0)


    [ENGINE]

    zDetailTexturesEnabled=1
    ; ... here you can define if the engine should support detail textures (default: 1)

    zSubdivSurfacesEnabled=0
    ; ... with this setting you can activate subdiving surface for progressive meshes (untestet, default: 0)

    zTexCacheOutTimeMSec=3600000
    zTexCacheSizeMaxBytes=6400000000
    zSndCacheOutTimeMSec=1000000
    zSndCacheSizeMaxBytes=20000000000
    ; ... with these settings you can tune the memory usage of the texture and sound resources.
    ; if you have more ram than 512 MB, greater values will improve performance

    zVobFarClipZScale=3
    ; ... with this setting you can tune the object visibility range. (range: 1..3) default: 1

    zFarClipAlphaFade=1
    ; ... enables (1) or disables (0) water distance fade and camera angle transparency dependencies. disabling improves performance

    zEnvMapTextureName=zflare1.tga
    ; ... texture name for the object env effects

    zWaterAniEnabled=1
    ; ... enables (1) or disables (0) water waves. disabling improves performance

    zWaterEnvMapTextureName=cloudenv_bright.tga
    ; ... texture name for the water env effect

    zWaterEnvMapAniFPS=0
    ; ... animation speed in for an optional water env texture

    zHighLightScale=1
    ; ... enables (1) or disables (0) item highlight swell (default: 0)

    ZMAXFPS=0
    ; ... some strange gfx hardware may have problems with gothic's way accessing the game-timer. you may limit the maximum fps rate with entering any value
    ; above 1. (The spacer needs a reasonably value here especially for editing very small ZENs)

    zSmoothTimer=1
    ; ... enables (1) or disables (0) smoothing of the in-game timer so that animations will look smoother during short sloppy framerates
    ; (default: 1)

    zVidEnableAntiAliasing=0
    ; ... enables (1) or disables (0) edge antialiasing. this is driver dependant and a performance hit.

    zSmoothModelRootNode=1
    ; ... enables (1) or disables (0) model moving smooting (default: 1)

    zMouseRotationScale=2.0
    ; ... this value affects the npc turning speed while using your mouse. Attention: can seriously affect gameplay if setting to unreasonably values (default: 2.0)

    zDontSwitchToThirdPerson=0
    ; ... enables (1) or disables (0) auto-switching the camera to 3rd person during dialogs, interactions and combat.
    ; Attention: seriously affects gameplay if setting to "1", as everything can be done in 1st person, untested feature but fun

    zCacheInAllNSCAtNewGame=0
    ; ... with this value setting to "0" you can achive a plus of startup time, as several humans won't be loaded in memory on startup

    zCloudShadowScale=0
    ; ... this value enables (1) or disables (0) the cloudshadow effect during raining. range: (0.0-1.0) default: 0.0. attention: performance hog!

    zTexAnisotropicFiltering=1
    ; ... enables (1) or disables (0) anisotropic filtering for textures. this is driver dependant and a performance hit, but improves texture sharpness
    ; default: 0

    NOAMBIENTPFX=1
    ; ... enables (0) or disables (1) rendering of ambient particles during gameplay. if you have a card with a lesser fillrate, you should set this to "1"
    ; in order to improve speed

    zVobPointLight=1
    ; ... enables (1) or disables (0) additional dynamic lights for indoor objects, greatly improving details. you should left this as it is, although in can improve indoor performance.

    ZNEARVALUE=-1
    ; ... with this setting you may fine-tune the distant-value of the near clipping plane. some cards may accept more aggresive near z values then the default calculated
    ; by gothic. (w buffering uses alway a value of 1, so you don't need to fine-tune this setting) (default: -1, let the value determin by renderer)

    zSkyRenderFirst=1
    ; ... enables (0) or disables (1) an additional way to workaround the flickering poly in the distant on geforce 3 or geforce 4 cards.
    ; if you set this to "0" the sky will be renderer after the normal game world thus overlaying the flickering polys. this does only work with 32 bit
    ; color enabled and if you set the value "geforce3HackWBufferBug" to "0". the drawback is that the sky is slightly distorted, but this should be the best
    ; workaround for most geforce 3/4 users as the flicker polys are more annoying. moreover you can't see through walls with this workaround any more
    ; (default: 1)

    zMaxFPS=0
    ; ... some rare gfx hardware may have problems with gothics way to access the timer, resulting in jerky animations.
    ; with this setting set to a fixed value (e.g. 20) you can avoid choppy animations on those systems
    ; the spacer needs a fixed value here in order to work properly during editing small ZEN Files

    zAmbientPFXEnabled=1
    ; ... enables (1) or disables (0) rendering of ambient particles. rendering ambient particles greatly limits your fillrate, so if you have a card with less
    ; fill-rate capabilities (e.g. geforce 2 MX versions) you may set this to "0" to improve performance. (default: 1)

    zAmbientVobsEnabled=1
    ; ... enables (1) or disables (0) rendering of ambient objects. not used in gothic 2

    zEnvMappingEnabled=1
    ; ... enables (1) or disables (0) rendering of environmental effects (aka shiny/reflective surfaces). improves performance if deactivated (default: 1)

    zKillSysKeys=0
    ; ... enables (1) or disables (0) the window keys as ALT-TAB, ALT-ESC, etc... GOTHIC handles focus-loss by going to windowed-pause mode, so
    ; there is no real need to deactivate the keys (moreover, disallowing those keys is more of a hack than a feature).
    ; this feature is untested and unsupported.

    zSmoothMouse=3
    ; ... with this setting you can smooth your mouse movements by averaging the last [n] frame moves. higher values result in laggier but smoother mouse response.
    ; (default: 3) ATTENTION: modifying this value may result in different gameplay.

    zMusic16ChannelsOnly=0
    ; ... if you have 256 MB or less memory, you can force the music system to use only 16 channels, thus killing several instruments and performances.
    ; ATTENTION: setting this to "1" reduces music quality but can improve performance. If music is not important for you, you have the choice to only
    ; use 16 channels.

    zInventoryItemsDistanceScale=1.2
    ; ... some rare grafic cards have a high near clipping value resulting in inventory items not being visible (esp. if you have the cursor focus on it)
    ; with entering a value above "0" you can scale the item distances from the camera in order to make the items smaller, but visible
    ; (e.g. with a value of 2.0 the items will be twice as far away from the camera)
    ; range: 0..1000. (default: 1.3)

    zWindEnabled=0
    ; ... enables (1) or disables (0) in-game wind for objects/trees etc. improves performance (especially on slow cpu's) (default: 1)

    zWindCycleTime=4
    zWindCycleTimeVar=2
    zWindStrength=70
    zWindStrengthVar=40
    zWindAngleVelo=0.9
    zWindAngleVeloVar=0.8
    ; ... these settings tune the wind effect, you should leave them as they are (altough funny things can happen;)

    zSunMaxScreenBlendScale=0.8
    zRayTurboPolyTreshold=500



    [KEYS]
    keyEnd=0100
    keyHeal=2300
    keyPotion=1900
    keyLockTarget=4f00
    keyParade=cf000d02
    keyActionRight=d100
    keyActionLeft=d300
    keyUp=1100
    keyDown=1f00
    keyLeft=1000
    keyRight=1200
    keyStrafeLeft=1e00
    keyStrafeRight=2000
    keyAction=4c00
    keySlow=4f00
    keySMove=4b00
    keyWeapon=5000
    keySneak=5200
    keyLook=4800
    keyLookFP=4700
    keyInventory=4900
    keyShowStatus=3000
    keyShowLog=5100
    keyShowMap=4d00

    [KEYSDEFAULT0]
    keyEnd=0100
    keyHeal=2300
    keyPotion=1900
    keyLockTarget=4f00
    keyParade=cf000d02
    keyActionRight=d100
    keyActionLeft=d300
    keyUp=c8001100
    keyDown=d0001f00
    keyLeft=cb001000
    keyRight=cd001200
    keyStrafeLeft=d3001e00
    keyStrafeRight=d1002000
    keyAction=1d000c02
    keySlow=2a003600
    keySMove=38009d00
    keyWeapon=39000e02
    keySneak=2d00
    keyLook=13005200
    keyLookFP=21005300
    keyInventory=0f000e00
    keyShowStatus=30002e00
    keyShowLog=31002600
    keyShowMap=3200

    [KEYSDEFAULT1]
    keyEnd=0100
    keyHeal=2300
    keyPotion=1900
    keyLockTarget=4f00
    keyParade=cf000d02
    keyActionRight=d100
    keyActionLeft=d300
    keyUp=c8001100
    keyDown=d0001f00
    keyLeft=1000
    keyRight=1200
    keyStrafeLeft=cb001e00
    keyStrafeRight=cd002000
    keyAction=1d000c02
    keySlow=2a003600
    keySMove=38009d00
    keyWeapon=39000e02
    keySneak=2d00
    keyLook=13005200
    keyLookFP=21005300
    keyInventory=0f000e00
    keyShowStatus=30002e00
    keyShowLog=31002600
    keyShowMap=3200


    [INTERNAL]
    idComputerName=WINDOWS7
    idUserName=Uwe
    extendedMenu=1
    gameStarts=3457
    perfQualityIndex=0
    gameStartFailed=0
    gameAbnormalExit=1
    menuShowVersion=1
    gamePath=
    gameScript=
    gameCompile=1.0
    playerInstanceName=
    menuAction=SAVEGAME_LOAD
    debugAllChannels=0
    debugAllInstances=0
    debugChannels=
    cutscenesDisabled=0
    texDetailIndex=1
    vidResIndex=35
    soundProviderIndex=0
    soundSampleRateIndex=1
    soundSpeakerIndex=0
    logStatistics=0
    zFastSaveGames=1
    GhostAlpha=0.300000012
    [DEBUG]
    gameStartFailed=0
    gameAbnormalExit=0
    BorderlessWindow=0
    Polish_version=0
    StrafeBug=0
    Show_FPS_Counter=0
    [PARAMETERS]
    VerticalFOV=67.5
    NewFOVformula=0
    DisableLOD=0
    DisableIndoorClipping=1
    SPAWN_INSERTRANGE=4500
    SPAWN_REMOVERANGE=5000
    SPAWN_INSERTTIME_MAX=1000
    DrawDistanceMultiplier=1
    OutDoorPortalDistanceMultiplier=1
    InDoorPortalDistanceMultiplier=1
    EnableShields=1
    No_Take_Anim=0
    RMB_No_Take_Anim=0
    HideFocus=0
    [INTERFACE]
    Scale=1
    ForceMenuScale=0
    ScaleMenusX=640
    ScaleMenusY=480
    DialogBoxX=800
    DialogBoxY=600
    SubtitlesBoxX=600
    NewChapterSizeX=800
    NewChapterSizeY=600
    SaveGameImageSizeX=320
    SaveGameImageSizeY=200
    InventoryCellSize=70
    Color_DialogChoice_Active=-1
    Color_DialogChoice_Inactive=-6316129
    Color_Talk_Hero=-1
    Color_Talk_NPC=-256
    [SUBTITLES]
    Control=0
    TimeMultiplier=2.0
    MaxTimePerPhrase=30.0
    TimePerChar=100.0
    [RETURNING2]
    Enable=1
    [GFA]
    freeAimingEnabled=0
    focusUpdateIntervalMS=0
    showFocusWhenNotAiming=0
    reticleSizePx=64
    overwriteControlSchemeRanged=0
    overwriteControlSchemeSpells=0
    [LOA]
    DifficultyLevel=0
    DynamicRespawn=1
    [XERES]
    autosave=0
    difficulty=0
    balken=0
    erfahrung=0
    spielzeit=0
    bloodsplats=1
    enableMouse=1
    [SPINE]
    XR_achievement_15=1
    XR_achievement_0=1
    XR_achievement_41=1
    XR_achievement_12=1
    XR_achievement_36=1
    XR_achievement_10=1



    Und hier sind die einzelnen Punkte aus der Gothic ini im Detail,
    die mit Himmel, Wind und Wasser zutun haben.

    Spoiler:(zum lesen bitte Text markieren)
    [GAME]

    skyEffects=0
    ; ... turn weather-effects (rain) on (1) or off (0), default is 1
    Wettereffekte


    [RENDERER_D3D]

    zFogDisabled=1
    ; ... diables fog. set this to 1 if you have any problem with fogging
    deaktiviert Nebel = 1

    zFogRadial=0
    ; ... enables radial fog. this could be somehow slower on some grafic cards, but looks smoother. set to "0" if you have any problems with it
    ; some cards without T&L don't support radial fog. On these cards, (although they are unsupported) it may be wise to deactivate radial fog.
    Deaktiviert wechen Übergangs-Nebel = 0


    [SKY_OUTDOOR]

    zDayColor0=82 109 198
    zDayColor1=255 255 0
    zDayColor2=18 16 60
    zDayColor3=134 104 125
    zDayColor0_OW=90 80 80
    zDayColor1_OW=90 80 80
    zDayColor2_OW=90 80 80
    zDayColor3_OW=90 80 80
    ; ... these values tune the different sky colors during different daytimes
    Diese Werte regeln die Farbeinstellungen für den Himmel zu verschiedenen Tageszeiten.

    zSkyDome=1
    ; ... here you can define if you want a smooth sky sphere instead of a sky plane. enter a "0" here if you want more performance. (default:1)
    Einstellung für die Himmelssphäre. Eine 1 sorgt dafür, dass eine Kuppel generiert wird anstatt eines platten Himmels. Standardwert 1

    zColorizeSky=1
    ; ... with this value you can make the skysphere even more beautiful (set it to "0" for a plus of performance) (default:1)
    Macht den Himmel schöner 1 für ein und 0 für aus. Standardwert 1

    zSunName=unsun5.tga
    zSunSize=200
    zSunAlpha=230
    zMoonName=moon.tga
    zMoonSize=400
    zMoonAlpha=255
    ; ... these values tune the different sizes and alpha intensitys of the sky planets. you should leave them as they are :)
    Hier geht um die Einstellungen der Größe und Alphaintensitäten der Planeten am Himmel.

    zRainWindScale=0.003
    ; ... this value tunes how wind affects the rain. looks great with higher values, but occasional you will see rain drops in indoor locations
    Einstellung für die Anfälligkeit des Regens in Hinblick auf den Wind. Ein hoher Wert sorgt dafür, dass der Wind den Regenfall mehr beeinflusst,
    kann aber dazu führen, dass Regen teilweise auch innerhalb von geschlossen Räumen auftritt.

    zNearFogScale=1
    zFarFogScale=1
    ; ... these settings tune the far- and near-fog distances (default: 1, range: 0.0 - 1.0)
    Diese Werte passen den Sichtbarkeitsbereich des Nebels an (Bereich: 0,0 - 1,0)


    [ENGINE]

    zFarClipAlphaFade=1
    ; ... enables (1) or disables (0) water distance fade and camera angle transparency dependencies. disabling improves performance
    Einstellungen über die Ansicht des Wassers.

    zWaterAniEnabled=1
    ; ... enables (1) or disables (0) water waves. disabling improves performance
    Einstellung zur Darstellung der Wellen des Wassers. 0 für aus und 1 für ein.

    zWaterEnvMapTextureName=cloudenv_bright.tga
    ; ... texture name for the water env effect
    Kein flimmerndes Wasser.

    zWaterEnvMapAniFPS=0
    ; ... animation speed in for an optional water env texture
    Einstellung zur Geschwindigkeit des fallenden Wassers an Wasserfällen.

    zCloudShadowScale=0
    ; ... this value enables (1) or disables (0) the cloudshadow effect during raining. range: (0.0-1.0) default: 0.0. attention: performance hog!
    Effekte für Regen.

    zSkyRenderFirst=1
    ; ... enables (0) or disables (1) an additional way to workaround the flickering poly in the distant on geforce 3 or geforce 4 cards.
    ; if you set this to "0" the sky will be renderer after the normal game world thus overlaying the flickering polys. this does only work with 32 bit
    ; color enabled and if you set the value "geforce3HackWBufferBug" to "0". the drawback is that the sky is slightly distorted, but this should be the best
    ; workaround for most geforce 3/4 users as the flicker polys are more annoying. moreover you can't see through walls with this workaround any more
    ; (default: 1)
    Kein flimmernder Himmel.

    zWindEnabled=0
    ; ... enables (1) or disables (0) in-game wind for objects/trees etc. improves performance (especially on slow cpu's) (default: 1)
    Verfeinert Bewegungsabläufe von Objekten, die durch Wind entstehen. 0 für aus und 1 für ein. Standardwert 1

    zWindCycleTime=4
    zWindCycleTimeVar=2
    zWindStrength=70
    zWindStrengthVar=40
    zWindAngleVelo=0.9
    zWindAngleVeloVar=0.8
    ; ... these settings tune the wind effect, you should leave them as they are (altough funny things can happen;)
    Hier kann der Wind in seiner Struktur und Stärke geändert werden.

  8. Beiträge anzeigen #8 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Ich hatte mir das Wetter in der Engine mal genauer angeschaut, um einen Patch zu erstellen in dem es immer schneit. Wenn ich mich recht erinnere gibt es all diese Wetterzustände, die du im Einleitungspost beschreibst schon. Wenn es bspw. anfängt zu regnen durchläuft das Wetter verschiedene Zustände von leichtem Regen zu viel Regen und von hellem Himmel zu bewölkt. Für mich war das wichtig um die Engine genau dort fest zu halten, wo es möglichst viel schneit aber der Himmel noch nicht so dunkel ist. Leider weiß ich nicht mehr genau wie das abläuft, aber kann mich noch erinnern, dass mir das ein wenig Kopfzerbrechen bereitet hat.

    Ich schaue mal ob ich den Patch noch finde und könnte als ersten Anhaltspunkt die Zeilen Code hier teilen. EDIT: Komme ich auf die schnelle nicht dran.
    Geändert von mud-freak (29.02.2020 um 16:57 Uhr)

  9. Beiträge anzeigen #9 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Das ist der relevante Code aus meinem Winterpatch für einen fröhlichen Winter (kurz vorgestellt beim letzten Moddertreffen):

    Code:
    // It must not already rain when setting up the snow
    MEM_SkyController.rainFX_outdoorRainFXWeight = FLOATNULL;
    
    // Set weather type to snow
    const int zCSkyControler_Outdoor__SetWeatherType_arg1 = 6207538; //0x5EB832
    MemoryProtectionOverride(zCSkyControler_Outdoor__SetWeatherType_arg1, 4);
    MEM_WriteInt(zCSkyControler_Outdoor__SetWeatherType_arg1, -315518832); //0xED319090 // nop / nop / xor ebp, ebp
    
    // Set to always rain/snow at full weight
    const int zCSkyControler_Outdoor__ProcessRainFX_checkTime = 6205268; //0x5EAF54
    const int zCSkyControler_Outdoor__ProcessRainFX_weightMax = 6205396; //0x5EAFD4
    var int j; j = zCSkyControler_Outdoor__ProcessRainFX_weightMax-zCSkyControler_Outdoor__ProcessRainFX_checkTime-2;
    MemoryProtectionOverride(zCSkyControler_Outdoor__ProcessRainFX_checkTime, 2);
    MEM_WriteByte(zCSkyControler_Outdoor__ProcessRainFX_checkTime, 235); //0xEB // jmp
    MEM_WriteByte(zCSkyControler_Outdoor__ProcessRainFX_checkTime+1, j);
    
    // Set full weight actually to zero, to prevent dark clouds (we want a happy winter)
    MemoryProtectionOverride(zCSkyControler_Outdoor__ProcessRainFX_weightMax+5, 4);
    MEM_WriteInt(zCSkyControler_Outdoor__ProcessRainFX_weightMax+5, FLOATNULL);
    Viel mehr als die Kommentare kann ich dazu nicht mehr sagen, ohne noch einmal von vorn zu "forschen". Wie es scheint hing die Stärke des Regens/Schnees und die Wolkendichte sowohl von einem Zeitfaktor als auch von einer Gewichtung ab, was wohl knifflig war zu kontrollieren.

    Ich kann mich auch daran erinnern, dass dieser Code tatsächlich funktionierte und nicht, wie bei anderen, simpleren Ansätzen hier im Forum, dass der Regen irgendwie pulsierte, nach Spielladen aufhörte, oder ähnliche Einschränkungen.


    Hier ist der Patch dazu: WinterGothic2patchREWORKED.zip.
    Es ist der WinterGothic2REWORKED Patch von LordRiisis (Link), der auf dem Winter Gothic 2 Patch aufbaut, mit zusätzlichem Schneien.
    Das interessante an dem Patch ist übrigens: Wenn Ninja nicht installiert ist, ist der Patch identisch zu LordRiisis Patch, wenn Ninja installiert ist schneit es zusätzlich dauerhaft.

  10. Homepage besuchen Beiträge anzeigen #10 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline
    Hey,
    eine Frage hierzu: Ich möchte zu einem bestimmten Zeitpunkt (nicht zu einer bestimmten Uhrzeit!) Regen starten. Es soll zu diesem Zeitpunkt aber nicht erst anfangen zu regnen, sondern der Regen soll sofort bei 100% sein. Außerdem soll der Regen nicht nach einiger Zeit einfach von selbst aufhören, sondern erst, wenn ich das möchte. So teilweise tut die Funktion von mud-freak also bereits genau das, was ich möchte. Problem ist, dass ich jetzt seit knapp einer Stunde versuche, eine Lösung zu finden, den Regen dann wieder aufhören zu lassen, denn diese Funktion sorgt ja nur dafür, dass es dauerhaft regnet. Dabei soll das Wetter aber nicht sofort vom starken Regen wieder zu Sonnenschein und blauem Himmel wechseln, sondern der Regen soll dann in der normalen Gothic-Geschwindigkeit wieder aufhören. Wie mache ich das?
    Vor einiger Zeit hatte ich hier im Forum auch schon mal ein Skript von (ich glaube?) Milky-Way gesehen, mit dem man Regen oder alternativ sogar Schnee sofort starten und ich glaube auch wieder stoppen konnte. Mit der Suchfunktion konnte ich zwar mehrere Skripte finden, mit denen man das Wetter beeinflussen oder den Regen zu einer bestimmten Uhrzeit starten kann, diese Funktion konnte ich aber nicht mehr finden. Hab jetzt auch schon in den Enginefunktionen nachgeschaut, aber Funktionen, die den Regen einfach starten bzw. aufhören lassen habe ich leider nicht gefunden. Wobei das ja möglich sein muss, denn wenn man in die Konsole zStartRain eintippt startet der Regen und per zStartRain 1 hört er wider auf (allerdings sofortiger Wechsel, was ich ja eigentlich nicht haben möchte). Es gibt zwar
    Code:
    rainFX_timeStopRain
    , aber das bringt mich nicht wirklich weiter, da ich nicht weiß, wie ich hier die aktuelle Uhrzeit übergebe (bzw. wenn ich das tue, passiert einfach nichts).
    Geändert von Bloodfly91 (16.08.2020 um 23:51 Uhr)

  11. Beiträge anzeigen #11 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.246
     
    Milky-Way ist offline
    Zitat Zitat von Bloodfly91 Beitrag anzeigen
    Hey,
    eine Frage hierzu: Ich möchte zu einem bestimmten Zeitpunkt (nicht zu einer bestimmten Uhrzeit!) Regen starten. Es soll zu diesem Zeitpunkt aber nicht erst anfangen zu regnen, sondern der Regen soll sofort bei 100% sein. Außerdem soll der Regen nicht nach einiger Zeit einfach von selbst aufhören, sondern erst, wenn ich das möchte. So teilweise tut die Funktion von mud-freak also bereits genau das, was ich möchte. Problem ist, dass ich jetzt seit knapp einer Stunde versuche, eine Lösung zu finden, den Regen dann wieder aufhören zu lassen, denn diese Funktion sorgt ja nur dafür, dass es dauerhaft regnet. Dabei soll das Wetter aber nicht sofort vom starken Regen wieder zu Sonnenschein und blauem Himmel wechseln, sondern der Regen soll dann in der normalen Gothic-Geschwindigkeit wieder aufhören. Wie mache ich das?
    Vor einiger Zeit hatte ich hier im Forum auch schon mal ein Skript von (ich glaube?) Milky-Way gesehen, mit dem man Regen oder alternativ sogar Schnee sofort starten und ich glaube auch wieder stoppen konnte. Mit der Suchfunktion konnte ich zwar mehrere Skripte finden, mit denen man das Wetter beeinflussen oder den Regen zu einer bestimmten Uhrzeit starten kann, diese Funktion konnte ich aber nicht mehr finden. Hab jetzt auch schon in den Enginefunktionen nachgeschaut, aber Funktionen, die den Regen einfach starten bzw. aufhören lassen habe ich leider nicht gefunden. Wobei das ja möglich sein muss, denn wenn man in die Konsole zStartRain eintippt startet der Regen und per zStartRain 1 hört er wider auf (allerdings sofortiger Wechsel, was ich ja eigentlich nicht haben möchte). Es gibt zwar
    Code:
    rainFX_timeStopRain
    , aber das bringt mich nicht wirklich weiter, da ich nicht weiß, wie ich hier die aktuelle Uhrzeit übergebe (bzw. wenn ich das tue, passiert einfach nichts).
    Ich würde hiermit ansetzen:
    https://forum.worldofplayers.de/foru...7#post15187837

    und dann überlegen, welche Zeiten du einstellen musst, damit die 20% ausblenden zur jetzigen Uhrzeit starten und die gewünschte Dauer brauchen.

  12. Homepage besuchen Beiträge anzeigen #12 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline
    Danke. Hab mir das Skript mal angeschaut und etwas abgeändert, so sieht das nun aus:

    Code:
    func void PO_Rain(var int val) {
    	MEM_InitGlobalInst();
    	
    	var int start_hr; start_hr = Wld_GetHour();
    	start_hr = (start_hr + 12) % 24;
    	
    	var int start_min; start_min = Wld_GetMinute();
    	
    	var int start_float; start_float = divf(mkf(start_hr*60 + start_min), mkf(24*60));
    	var int end_float; end_float = divf(mkf(start_hr*60 + start_min+25), mkf(24*60));
    	
    	if (val > 0) {
    		MEM_SkyController.rainFX_timeStartRain = start_float;
    		MEM_SkyController.rainFX_timeStopRain  = end_float;
    	
    	} else {
    	
    		end_float = divf(mkf(start_hr*60 + start_min+5), mkf(24*60));
    		MEM_SkyController.rainFX_timeStopRain  = end_float;
    	};
    	
    	MEM_SkyController.rainFX_renderLightning = TRUE;
    };
    Ich kann damit nun schon mal den Regen starten und auch wieder deaktivieren. Problem ist, es permanent regnen zu lassen. Leider ist es nicht möglich, nur eine Startzeit anzugeben und die Endzeit wegzulassen, denn dann regnet es nämlich gar nicht erst. Ich hatte mir deshalb überlegt, eine globale Variable einzubauen, die auf true zu setzen wenn Regen gestartet wurde, in einer FrameFunction dann abzufragen, ob die Variable den Wert 1 hat und falls ja, die PO_Rain-Funktion einfach erneut aufzurufen.
    Nur so einfach geht das leider nicht. Denn sogar wenn ich dann jeden Frame diese Funktion erneut aufrufe, läuft der Regen immer erst bis zum Ende durch, hört also auf und wechselt zu blauem Himmel und dann fängt es erneut an zu regnen. Ist es möglich, diesen sehr unschönen Übergang irgendwie loszuwerden?

  13. Beiträge anzeigen #13 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Versuch mal, nachdem du den Regen gestartet hast, MEM_SkyController.rainFX_timeStopRain auf FLOATONE zu setzen (Dann sollte es bis 12:00 Mittags des nächsten Tages regnen.) Am nächsten Tag musst du dann wahrscheinlich vor 12:00 Mittags das ganze erneut machen.

  14. Homepage besuchen Beiträge anzeigen #14 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline
    So einfach geht das scheinbar leider nicht. Denn wenn man den Regen vor 12 Uhr startet, hört der dann noch am gleichen Tag 12 Uhr wieder auf. Dachte mir dann, ich könnte ja einfach die Startzeit (z.B. 13 Uhr) einfach mal höher setzen, als die Endzeit (z.B. 12 Uhr), aber das klappt leider ebenfalls nicht, der Regen startet gar nicht erst. Mir ist dann wieder eingefallen, dass es ja auch eine Anmerkung diesbezüglich im Skript von Sektenspinner gibt.

    Also eigentlich macht die Funktion von mud-freak ja genau das, was ich haben möchte, bereits problemlos: Endloser Regen, der sofort bei 100% beginnt. Aber ich bekomme es damit einfach nicht hin, den Regen dann wieder zu stoppen, denn der Aufruf von MEM_SkyController.rainFX_timeStopRain bewirkt hier nichts. Ich vermute, das liegt daran, dass MEM_WriteByte da irgendwelche Werte überschreibt, müsste ich wohl auf die Standardwerte dann irgendwie wieder zurücksetzen (vermutlich ist checkTime hier für den 24/7 Regen verantwortlich?), wenn der Regen aufhören soll. Allerdings verstehe ich dieses MEM_WriteByte nicht. Ich habe mir diese Funktion mal angeschaut, es ist mir aber weiterhin ein Rätsel, was genau die überhaupt tut (bzw. erklärt das ja der Name... Nur dsa bringt mich auch nicht wirklich weiter, da ich die Funktion nicht verstehe... ), Kommentare dazu gibt es leider auch nicht. Auch wüsste ich nicht, wie ich wieder an die Standard-Gothic-Werte kommen soll. Kann mir jemand der sich besser mit Ikarus auskennt als ich dazu vielleicht genaueres sagen?
    Mir wäre es eigentlich sogar egal, ob der Regen dann wieder sofort aufhört, zur Not könnte man da einfach eine Schwarzblende reinbringen, damit der Spieler diesen sofortigen Übergang nicht bemerkt.

    Zitat Zitat von Cryp18Struct Beitrag anzeigen
    Versuch mal, nachdem du den Regen gestartet hast, MEM_SkyController.rainFX_timeStopRain auf FLOATONE zu setzen (Dann sollte es bis 12:00 Mittags des nächsten Tages regnen.) Am nächsten Tag musst du dann wahrscheinlich vor 12:00 Mittags das ganze erneut machen.
    Geändert von Bloodfly91 (18.08.2020 um 10:38 Uhr)

  15. Beiträge anzeigen #15 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Ja, richtig. In meinem Code wird die Zeitabfrage in der Engine überschrieben, damit es unabhängig davon immer schneit/regnet. Man muss also nur die überschriebenen Bytes mit ihren ursprünglichen Werten überschreiben, damit der Regen wieder stoppt (sofort). Mit geschicktem Setzen von den Start- und End-Zeiten des Regens direkt danach, lässt sich der Regen auch schön wieder "aus-faden". Habe ich vor ein paar Tagen mal ausprobiert.

    Allerdings ist der Regeneffekt nach manueller Anpassung von den Start- und End-Zeiten dann kaputt, deshalb habe ich bisher nichts gepostet. Das ist übrigens auch der einzige Grund warum ich den Code ganz oben geschrieben habe. Bei dem passiert das nicht. Nach rumfummeln in den Start und End-Zeiten pulsiert der Regen später beim erneuten Regen. Das mag an dem Regen-Effekt selbst liegen. Den müsste man noch zurücksetzen. Das habe ich mir aber nicht angeschaut.

  16. Homepage besuchen Beiträge anzeigen #16 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline
    Dass der Regen-Effekt dadurch kaputt geht, ist mir während meinen Tests mit dem Skript von Sektenspinner auch aufgefallen. Deine Variante scheint mir definitiv die sicherste und auch einfachste, werde die dann wohl verwenden. Ein- und Ausblenden des Regens muss nicht sein, der Regen wird nämlich während einer Zeitsprung-Schwarzblende aktiviert und das sofortige Deaktivieren des Effekts kann man ja ebenfalls einfach durch eine Schwarzblende verstecken. Noch mehr Zeit möchte ich da nicht mehr reinstecken, da diese Funktion nur ein Mal in der gesamten Mod verwendet wird, während einer eher kurzen Quest.
    Ich habe nun versucht, die Standardwerte wiederherzustellen (per MEM_ReadByte geschaut, was da der Standardwert ist [-> 217]), werde beim Versuche, die Funktion aufzurufen, aber mit einer AV belohnt, also irgendwas hab ich da wohl nicht so ganz richtig gemacht:

    Code:
    func void stopRain() {
        const int zCSkyControler_Outdoor__ProcessRainFX_checkTime = 6205268; //0x5EAF54
        MemoryProtectionOverride(zCSkyControler_Outdoor__ProcessRainFX_checkTime, 2);
        MEM_WriteByte(zCSkyControler_Outdoor__ProcessRainFX_checkTime, 217);
    };
    MemoryProtectionOverride hab ich auch schon komplett weggelassen, wieder AV. Dann mal einfach deine komplette Funktion kopiert und die 235 durch die 217 ersetzt, da aber (logischerweise) ebenfalls AV.

  17. Beiträge anzeigen #17 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Fast korrekt. Es werden zwei Bytes überschrieben. Das zweite Byte müsstest du auch zurücksetzen.

    Ich habe mal eine Funktion daraus geschrieben. Der Code ist nicht besser als der von Sektenspinner, sondern hat ihm gegenüber einige Vorteile aber auch Nachteile.

    + Es regnet dauerhaft und man muss sich nicht mit Zeitrechnungen herumschlagen.
    + Das bedeutet auch, dass es ohne Unterbrechung problemlos über 12 Uhr Mittags hinaus regnen kann.
    + Späteres, erneutes Regnen geht durch das Skript nicht kaputt (pulsierender Regen).
    - Der Wechsel zwischen Regen und kein Regen ist instant.
    - Der Regenzustand wandert nicht in den Spielstand.[1]
    - Der Regenzustand bleibt über die Session hinweg, d.h. lädt man einen anderen Spielstand regnet es immer noch.[1]
    - Nur für Gothic 2 (für Gothic 1 müsste man sich die Adressen heraussuchen).

    [1] Um dem Abhilfe zu verschaffen, ist eine Initialisierung aus der Init_Global nötig, siehe Kopfkommentar im Skript.


    Code:
    /*
     * toggleRain.d
     * Source: https://forum.worldofplayers.de/forum/threads/?p=26510378
     *
     * Toggle continuous raining/snowing on/off
     *
     * - Requires Ikarus
     * - Compatible with Gothic 2 only
     *
     * Instructions/Info
     * - The transition is instant. The rain will not fade in or out, to not break the rain FX on subsequent raining
     * - This change is unfortunately non-persisted across game saves but persistent across the session:
     * - Add the following line to Init_Global to ensure that the raining state is loaded from the game save when loading
     *     Rain_Toggle(-1);
     * - Turn raining on/off anywhere in the scripts with
     *     Rain_Toggle(1);  /  Rain_Toggle(0);
     */
    func void Rain_Toggle(var int on) {
        const int zCSkyControler_Outdoor__ProcessRainFX_checkTime = 6205268; //0x5EAF54
        const int zCSkyControler_Outdoor__ProcessRainFX_weightMax = 6205396; //0x5EAFD4
        const int jmp = zCSkyControler_Outdoor__ProcessRainFX_weightMax-zCSkyControler_Outdoor__ProcessRainFX_checkTime-2;
    
        // Load state from game save
        var int status;
        if (on == -1) {
            on = status;
        };
        status = MEM_ReadByte(zCSkyControler_Outdoor__ProcessRainFX_checkTime) == 235;
    
        // Toggle if changed
        if (on != status) {
            if (on) {
                MemoryProtectionOverride(zCSkyControler_Outdoor__ProcessRainFX_checkTime, 2);
                MEM_WriteByte(zCSkyControler_Outdoor__ProcessRainFX_checkTime,   235); //0xEB // jmp
                MEM_WriteByte(zCSkyControler_Outdoor__ProcessRainFX_checkTime+1, jmp);
            } else {
                MEM_WriteByte(zCSkyControler_Outdoor__ProcessRainFX_checkTime,   217); //0xD9 // fld
                MEM_WriteByte(zCSkyControler_Outdoor__ProcessRainFX_checkTime+1, 134); //0x86
            };
            status = !status;
        };
    };


    PS: Mit dem obigen Skript gibt es keine Blitze. Die kann man noch manuell nach Starten des Regens aktivieren:
    Code:
    Rain_Toggle(1);
    MEM_SkyController.rainFX_renderLightning = TRUE;
    Geändert von mud-freak (19.08.2020 um 10:46 Uhr)

  18. Homepage besuchen Beiträge anzeigen #18 Zitieren
    Team Velen
    Registriert seit
    Aug 2015
    Beiträge
    952
     
    Bloodfly91 ist offline
    Wow, danke! Funktioniert einwandfrei und ist für meine Zwecke völlig ausreichend.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide