Új hozzászólás Aktív témák

  • VikMorroHun

    senior tag

    Teljesen más téma (mármint az eddigiektől más, csak gondoltam muszáj leírnom valahova).

    Szóval egy Skyrim modon dolgozgatok. Különféle, a játékban meg(nem)jelenő objektumok egymáshoz való viszonyát próbálom lekezelni. Belebotlottam egy olyan hibába, amivel nem igazán tudtam mit kezdeni, mert egyszerűen nem hajtott végre egy utasítást a Papyrus rendszer. (Vagy lehet, hogy végrehajtotta, csak nem működött a dolog.) Aztán jött egy ötlet, hogy mi lenne, ha megismételtetném vele ugyanazt. Bejött. :) Így már működik. Csak azt nem értem, hogy elsőre miért nem, és ha másodikra igen, akkor miért igen...

    (Érdekes. Miután ezt megírtam, újra ellenőriztem az előző változatot, és most már végrehajtja elsőre is. Viszont cserébe egyszer megjelent az UH-OH utasítás is. Azt hiszem, mára ideje abbahagyni. :) )

    Kód részlet:
    ActiRef = BaseRef.PlaceAtMe(PlaceMeAsTargetActivator as Form, 1)
     if ( ActiRef == None )
    debug.notification("UH-OH. ActiRef none.") ;ez még sosem jelent meg, tehát működik
      return
     endif
     int i = 0
     int j = StorageUtil.FloatListCount(none, "EFTargetPosList")
     while ( i < j )
    ;XMarker: A generic marker, often used to designate a specific point. nem érdekes
      posX = StorageUtil.FloatListGet(none, "EFTargetPosList", i)
      posY = StorageUtil.FloatListGet(none, "EFTargetPosList", i + 1)
      posZ = StorageUtil.FloatListGet(none, "EFTargetPosList", i + 2)
    OtherRef = BaseRef.PlaceAtMe(PlaceMeAsTargetActivator as Form, 1)
    if ( OtherRef == None ) ;itt van a baj
     OtherRef = BaseRef.PlaceAtMe(PlaceMeAsTargetActivator as Form, 1)  ; ez mi a túró?! Azonkívül, hogy megismételtem az előző utasítást, mert az nem elég.
     if ( OtherRef == None )                   ;így viszont működik
        debug.notification("Fault! OtherRef none 2*, index: " + i + " size of list: " + j)
        ActiRef.DisableNoWait()
        ActiRef.Delete()
        ActiRef = None
        return
       endif
      endif

    [ Szerkesztve ]

    Nem lehet körökre osztott módba váltani, mert a karakter halott.

Új hozzászólás Aktív témák