Modderecke > Coding

Festes Bauen Problem

<< < (5/6) > >>

Ealendril der Dunkle:
Ich weiß nicht ganz, wie dein System funktioniert. Ich müsste dafür deine Codes/Daten sehen, aber an sich müsste es nach dem Prinzip von Turin funktionieren. Problematisch ist es aber hier, weil das PLAYER_Upgrade der Faction bereits am Anfang ausgelöst wurde. Dieses doCommand funktioniert nur, wenn spezifisch über einen Zeitprozess ein Upgrade gegeben wird.
Es gäbe in der Hinsicht viele Möglichkeiten, zb könnte man über einen Attributemodifier ein Upgrade zukommen lassen, welches eben diesen Button auslöst (Stichwort Draft der Bauern). Eine andere Lösung wäre eben ein extrabutton, der nur ein Upgrade gibt. Das Upgrade wird "gekauft" (Kosten und Buildtime auf 0) und über dieses Upgrade löst sich per docommand dieser button aus.
Schreib mich einfach mal in icq an und schick mir eine erklärung bzw. die besagten Codes, dann können wir uns das zusammen anschauen.

Rimli:
Okay, ist viellicht besser wenn wir das per ICQ besprechen. ^^

Bin aber grad in der Schule, also ich hätte dann erst heute abend irgendwann Zeit. Ich schreib dich einfach mal per ICQ an...

EDIT:
Neues Volk, neue Probleme.

Ich hab mal wieder eine Frage, diesmal bezüglich Mordor.

Ich kann keine Festung/Lager aufbauen. Die Zitadelle wird nicht geladen. Wenn ich am Anfang als Startunit nur normale Orks habe, d.h. nichts das als Festung zählt, dann kann ich das Lager gar nicht aufbauen und habe sofort verloren.
Wenn ich jedoch einen Arbeiter als Startunit habe, der per KindOf als Base gilt, dann wird die Zitadelle zwar auch nicht geladen, jedoch wird das übrige Lager gebaut, bleibt für etwa 3 Sekunden stehen und verschwindet dann. Wenn ich in diesen 3 Sekunden auf einem Bauplatz etwas baue, bleibt das Lager ganz stehen.
Jetzt kommt das komische:
-Bei dem Außenposten (ExpansionFlag) wird in der BSE-Datei das selbe Objekt als Zitadelle benutzt, der Außenposten funktioniert jedoch im Gegensatz zum Lager.
- Wenn das Lager dem Spieler sofort von Anfang an gehört, man es also nicht einnimt,  dann ist die Zitadelle vorhanden

Ich habe schon bei der Mordorzitadelle die KindOf von der Elbenzitadelle versucht, bei denen es ja funktioniert, bringt jedoch nichts...

EDIT: Hab's gelößt, mit der KindOf der Menschenzitadelle geht es.

Rimli:
Es ist mal wieder soweit, dass ich eure Hilfe brauche:

Es geht um die Gondormauern, die Probleme machen.

Erstes Problem:
Bei der Gondorfestung können die Mauern nicht mit einer Ramme angegriffen werden bzw. ein Belagerungsturm kann nicht andocken.

Ich vermute das hängt mit den Geometries zusammen, ich benutzt ja ein Geometry-Update-System, um das kollidieren der Geometrys beim Laden der Festung und somit Löcher in den Mauern zu vermeiden:


--- Code: --- Behavior = ObjectCreationUpgrade MakeTheGeom ;Änderung
        TriggeredBy        = Upgrade_MenFaction       
        Delay            = 1000   
        GrantUpgrade     = Upgrade_MauerGeom           
    End
    Behavior = GeometryUpgrade ModueTag_TowerGeom
        TriggeredBy            = Upgrade_MauerGeom
        ShowGeometry        = Geom_Orig1 Geom_Orig2
        HideGeometry        = DummyGeom
    End

Geometry                        = BOX
    GeometryMajorRadius                = 1.0
    GeometryMinorRadius                = 1.0
    GeometryHeight                    = 1.0
    GeometryName                    = DummyGeom
    GeometryActive                    = Yes

AdditionalGeometry = BOX
GeometryMajorRadius = 24.0
GeometryMinorRadius = 55.0
GeometryHeight = 52.0
GeometryOffset = X:-3 Y:-55 Z:0
    GeometryName                    = Geom_Orig1
    GeometryActive                    = No

AdditionalGeometry = CYLINDER
GeometryMajorRadius = 33.0
GeometryMinorRadius = 0
GeometryHeight = 52.0
GeometryOffset = X:-12 Y:-105 Z:0
    GeometryName                    = Geom_Orig2
    GeometryActive                    = No

GeometryRotationAnchorOffset = X:375.0 Y:0
GeometryIsSmall = No

GeometryContactPoint = X:35 Y: -25 Z:0 Grab
GeometryContactPoint = X:21 Y: -25 Z:0
GeometryContactPoint = X:21 Y: -60 Z:52
GeometryContactPoint = X:21 Y: -95 Z:0 
GeometryContactPoint = X:31 Y: -95 Z:0 Grab
GeometryContactPoint = X:-50 Y: -95 Z:0 Grab
GeometryContactPoint = X:-30 Y: -95 Z:0
GeometryContactPoint = X:-21 Y: -60 Z:52 
GeometryContactPoint = X:-21 Y: -25 Z:0
GeometryContactPoint = X:-40 Y: -25 Z:0 Grab


Shadow = SHADOW_VOLUME
End
--- Ende Code ---

Zweites Problem: Wenn die Mauer zerstört ist, kommt der Sound von einstürzenden Mauern zweimal.

Gefunden habe ich dazu nur diesen Eintrag:

--- Code: --- ModelConditionState  = RUBBLE
Model         = GBCSTWLLGTL2_D3 ;GBCASTGATEL_D3
End
AnimationState = RUBBLE
StateName = STATE_Rubble
Animation = Death
AnimationName = GBCSTWLLGTL2_D3.GBCSTWLLGTL2_D3 ;GBCASTGATEL_D3.GBCASTGATEL_D3
AnimationMode = ONCE
End
EnteringStateFX = FX_WallDie
End     
--- Ende Code ---

Wenn ich die FX auskommentiere, kommt gar kein Sound mehr. Wenn die Zeile drinsteht kommt die FX zweimal: einmal direkt wenn die Mauer zerbricht und dann nochmal wenn die Bruchstücke im Boden versinken. Keine Ahnung wieso das so ist, die FX hat nur einen Sound eintrag in der FXList.ini.
Hab noch eine von EA auskommentierte Zeile etwas weiter drüber gefunden, aber das ergibt trotzdem noch kein Sinn für mich:

--- Code: --- ModelConditionState  = RUBBLE UPGRADE_NUMENOR_STONEWORK
Model         = GBCSTWLLGTL2_D3 ;GBCASTGATL_UD3
End
AnimationState = RUBBLE UPGRADE_NUMENOR_STONEWORK
StateName = STATE_Rubble
Flags = START_FRAME_LAST
;EnteringStateFX = FX_WallDie ;this plays after the stone sink into the ground
Animation = Death
AnimationName = GBCASTGATL_UD3.GBCASTGATL_UD3
AnimationMode = MANUAL
AnimationBlendTime = 0
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_ReallyDamaged" or Prev == "STATE_None" or Prev == "TRANS_U_IntoReallyDamaged"
then
; Only play the rubble anim if we havn't come from another rubble.
CurDrawableSetTransitionAnimState("TRANS_U_IntoRubble")
end
EndScript
End     
--- Ende Code ---

Drittes Problem: Ich hab ein neues Model mit komplett neuer UVW gemacht, wenn die Mauer zerstört wird (das D3 Model, das oben angegeben ist. Es zeigt die animierte zerbrechende Mauer). Problem: Der schwarze Grund wird nicht angezeigt im Spiel.
Hier ein Screen von dem, was ich meine mit W3D Einstellungen:


Viertes Problem: Die KI macht mit dem festen Bauen in SuM2 gar nichts. Die SuM2 KI funzt offensichtlich nicht und wie ich die SuM1 KI in SuM2 reinbekomme weiß ich auch nicht.
Ich bin auf dem Gebiet ein völliger Anfänger, habe auf 3rdage jedoch nur ein Tutorial zur SuM2-KI gefunden (die ja offensichtlich nichts macht). Wie man eine SuM1-KI anlegt bzw. verändert hab ich niergends gefunden.

Ich wäre froh, wenn ihr mir zumindest bei einem der Probleme helfen könnt. :)

Ealendril der Dunkle:
Da ich mich allgemein selbst mit dem festes bauen-Prinzip nicht so sehr auskenne, kann ich nur Vermutungen anstellen. Ich bin aber trotzdem gewillt dir zu helfen.

Zu dem Andock-Problem: Es gibt bei den Contactpoints in sum2 Punkte, die mit "ram" bestückt sind. Müssten in vielen Inis vorhanden sein. Nach deinem Prinzip zu urteilen werden Geometries ja erst nach Spielaufbau aktiviert, deshalb könnte es sein, dass die contactgeometries (die für rammen verantwortlich sind) nicht mehr akzeptiert werden, bzw. nur halb. Mein Vorschlag wäre nochmals extrige anzulegen mit "ram" (Du siehst dort grab, das gibts auch noch für repair und ram).

Zu dem Sound-Problem: Sicher, dass du nur einmal den rubble sound drinnen hast?
Nunja schau mal in den sum2 mauern nach, es gibt ja nicht nur den behaviour rubble, sondern noch andere. Rubble wird nur aktiviert, wenn ein "wiederaufbau" Behaviour angegeben ist, bzw. ein keepobjectdie (weiß nicht wie es auswendig heißt) angegeben ist. Es könnte sein, dass dun einen weiteren Behaviour dort drinnen hast, der auch auf ein "zerstörungs"-System hinweist.

Zu dem Anzeige-Problem: Check mal ob ein Leerzeichen im Meshnamen ist. Wenn keines drinnen ist das Model nochmals exportieren und darauf achten, dass der Boden leicht über der der z-achse von 0 liegt. Meistens verschwinden Meshpaletten im Boden, wenn sie genau auf der z-achse = 0 liegen. Zusätzlich kommt es auch vor, dass meshteile einfach unsichtbar werden (Problem wie bei deinem Lurtz-Model), da heißt es neu exportieren.

Viertes Problem: Das ist leider ein Rätsel bei dem ich dir nicht weiter helfen kann. In sum2 funktioniert alles über bases und ich weiß nicht, wie man das sum1 Prinzip hinbekommt. Lordi hat für uns die KI gemacht (zusammen mit gnom) vll wissen die hierzu mehr.

Rimli:
Vielen Dank für das Feedback, Ealendril.

Problem Eins:
Werd mir das angucken mit den Contactpoints. In SuM1 gibts das jedoch nicht oder? Weil dann würd's ja schon in den INIs stehen ...
Übrigens hab ich festgestellt dass die Rammen die Lagermauern problemlos zerstören können ... (Da benutze ich auch das gleiche Geometry-Coding System).
Werd da einfach noch rumprobieren, danke für die Anregung.

Problem Zwei:
Rubble Sound ist nur einmal drin, jedenfalls verschwinden mit dem Auskommentieren des einen Eintrags beide Sounds und einen anderen Eintrag hab ich auch nicht gefunden. :(
Bei den SuM2 Mauern ist es aber komplett anders, weil die kann man ja nicht aus dem eigenen Schutt wieder aufbauen, oder?

Problem Drei:
Der Mesh hat ein Leerzeichen seh ich grad.  [ugly]
Hab vergessen dass EA alles darf und alles macht und wir armen Modder nicht. ^^
Danke für den Tipp.

Problem Vier:
Schade, dass du da auch nichts weißt. Wenn die besagten Personen oder irgendjemand anderes was dazu beisteuern kann, wär ich über eine Antwort sehr dankbar.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln