Verbesserter Schildeffekt (TC)

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum

Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

Aber das eine ist doch die schleife, mit dem einzigen unterschied, dass ich noch abfrage, ob ship existiert (oder verstehe ich was falsch?)
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

der unterschied zwischen if und while ist dir bewusst?
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

Hehe, genau das meine ich. Hab es übersehen, Sorry. Ich komm den ganzen Tag schon zu nichts...
Skystorm1
Posts: 38
Joined: Wed, 18. Aug 10, 15:38

Post by Skystorm1 »

Nabend,

ich beobachte das hier schon eine ganze Weile und muss doch mal loswerden, das ich schwer beeindruckt bin, wie hier endlich mal jemand einen vernünftige Schild versucht umzusetzen......
Falls du Hilfe benötigst....bin ich gern bereit zu helfen.

Finde ich echt stark das du das machst!

:D


Gruss Skyy
Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

So, ich melde mich mal wieder, und zwar mit einer äußerst guten Nachricht. Der Script ist jetzt vollständig fertiggestellt und wurde zu genüge getestet, es wurden 16 Schiffe mit den blasen ausgestattet. Die Performance ist äußerst gut, es kommt mittlerweile zu keinerlei Rucklern mehr. Alles ist so, wie geplant! Ein Release gibt es jedoch frühestens mit der nächsten Version meiner Nexus Mod, das bedeutet, es werden noch einige Monate ins Land gehen. Außerdem erstelle ich noch ein Tutorial, welches beschreibt, wie man neue blasen erstellt und einbindet.
Ghostrider[FVP]
Posts: 3274
Joined: Wed, 6. Nov 02, 20:31
x3ap

Post by Ghostrider[FVP] »

Klingt cool, gibt's evlt. ein schickes Video zum "schmachten" jetzt wo alles implementiert und vollständig ist?
Föderation Vereinter Planeten -=)FVP(=-
Since 1998... join the future! X3-The Sonen
Image
Ghostrider's X-Universum [INDEX]Lucikes Scripts & Mods
Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

Noch nicht, das kommt erst, wenn die Triebwerksflammen fertig sind. Das dauert aber nicht mehr lange.
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

Hier mal mein geänderter Code bezüglich deines Performance-Problems:
Zeilen die mit 000 beginnen sind neu (oder von anderswo kopiert), fehlende Zeilennummern sind entfernte Zeilen, unpassende wurden von anderswo verschoben:
Setup: (No Arguments)
  • 001 global secondary signal map: add signal=SIGNAL_CHANGESECTOR race=null class=Schiff script='shield.changesector' prio=0 name='shield.changesector'
    002 $tmp = get number of subtypes of maintype 7
    003 $ship.shield.arr = array alloc: size=$tmp
    000
    000 * variablen in den folgenden abschnitten, die mit $tmp beginnen
    000 * werden nur im jeweiligen Abschnitt (4 Zeilen) benutzt und danach
    000 * für den nächsten Abschnitt neu befüllt
    000
    004 $tmp.ship = Angelwing
    022 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 126, 124, 125
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    005 $tmp.ship = Träger
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 135, 133, 134
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    006 $tmp.ship = Gorg-Kreuzer
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 132, 130, 131
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    007 $tmp.ship = Jäger
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 129, 127, 128
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    008 $tmp.ship = Killer
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 129, 127, 128
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    009 $tmp.ship = Gorg-Schlachtschiff
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 138, 136, 137
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    010 $tmp.ship = Taktischer Zerstörer
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 141, 139, 140
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    011 $tmp.ship = Gorg-Zerstörer
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 144, 142, 143
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    012 $tmp.ship = Ghost Kreuzer
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 126, 124, 125
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    013 $tmp.ship = Ghost Zerstörer
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 147, 145, 146
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    014 $tmp.ship = Schwerer Kreuzer
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 150, 148, 149
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    015 $tmp.ship = Schweres Schlachtschiff
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 153, 151, 152
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    016 $tmp.ship = Ghost Schlachtschiff
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 156, 154, 155
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    017 $tmp.ship = Versorgungsschiff
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 159, 157, 158
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    018 $tmp.ship = Leichte Fregatte
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 162, 160, 161
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    019 $tmp.ship = Korvette
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 162, 160, 161
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    020 $tmp.ship = Explorer
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 165, 163, 164
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    021 $tmp.ship = Cityschiff
    000 $tmp.ship = get subtype of ware $tmp.ship
    000 $tmp.arr = create new array, arguments = 168, 166, 167
    000 $ship.shield.arr[$tmp.ship] = tmp.arr
    000
    073 set global variable: name='plugin.shields.typearray' value=$ship.shield.arr
    074 return null
Greift bei Sektorwechsel: (No Arguments)
  • 001 if [THIS] == [PLAYERSHIP]
    002 |$x = [PLAYERSHIP] -> get x position
    003 |$y = [PLAYERSHIP] -> get y position
    004 |$z = [PLAYERSHIP] -> get z position
    005 |$s1 = create special: type=161 addto=[SECTOR] x=$x y=$y z=$z
    006 |$s2 = create special: type=162 addto=[SECTOR] x=$x y=$y z=$z
    007 |$s3 = create special: type=163 addto=[SECTOR] x=$x y=$y z=$z
    008 |$s4 = create special: type=143 addto=[SECTOR] x=$x y=$y z=$z
    009 |$s5 = create special: type=144 addto=[SECTOR] x=$x y=$y z=$z
    010 |$s6 = create special: type=145 addto=[SECTOR] x=$x y=$y z=$z
    011 |$s7 = create special: type=134 addto=[SECTOR] x=$x y=$y z=$z
    012 |$s8 = create special: type=135 addto=[SECTOR] x=$x y=$y z=$z
    013 |$s9 = create special: type=136 addto=[SECTOR] x=$x y=$y z=$z
    014 |$ship.arr = [SECTOR] -> get ship array from sector/ship/station
    015 @ |= wait 2000 ms
    016 |$s1 ->destruct: show no explosion=[TRUE]
    017 |$s2 ->destruct: show no explosion=[TRUE]
    018 |$s3 ->destruct: show no explosion=[TRUE]
    019 |$s4 ->destruct: show no explosion=[TRUE]
    020 |$s5 ->destruct: show no explosion=[TRUE]
    021 |$s6 ->destruct: show no explosion=[TRUE]
    022 |$s7 ->destruct: show no explosion=[TRUE]
    023 |$s8 ->destruct: show no explosion=[TRUE]
    024 |$s9 ->destruct: show no explosion=[TRUE]
    025 else
    026 |$ship.arr = create new array, arguments=[THIS], null, null, null, null
    027 end
    028 $ship.shield.arr = get global variable: name='plugin.shields.typearray'
    029 $ship.size = size of array $ship.arr
    030 while $ship.size
    031 |dec $ship.size =
    032 |$ship = $ship.arr[$ship.size]
    033 |$ship.type = $ship -> get subtype
    034 |$shield.type = $ship.shield.arr[$ship.type]
    035 |if not $shield.type == null
    036 ||$task = $ship -> get next available task: starting=8000
    037 ||$ship ->start task $task with script 'a111' and prio 0: arg1=null arg2=null arg3=null arg4=null arg5=null
    038 |end
    039 end
    040 return null
Hauptteil mit Erstellung usw. (No Arguments anymore - will get Shield type directly from Global Var)
  • 000 * Array der Schildtypen für dieses Schiff holen & beenden wenn kein Schild verfügbar
    000 $shield.type.arr = get global variable: name='plugin.shields.typearray'
    000 $tmp = [THIS] -> get subtype
    000 $shield.type.arr = $shield.type.arr[$tmp]
    000 skip if $shield.type.arr != null
    000 | return null
    000
    000 * Zahl der verschiedenen Normalschaden-Schildtypen ermitteln (Index 0 ist immer der Crit, deswegen die Zahl der Einträge -1
    000 * und beim Würfeln des anzuzeigenden Typen wird wieder +1 gemacht)
    000 $ran.max = size of array $shield.type.arr
    000 dec $ran.max=
    000
    001 while [THIS] -> is in same sector as [PLAYERSHIP]
    002 |$type = 0
    003 |$vorher = [THIS] -> get current shield strength
    004 @ |= wait 50 ms
    005 |$nachher = [THIS] -> get current shield strength
    006 |if $nachher < $vorher
    007 ||$type = 0
    008 ||if $vorher - $nachher > 140000
    009 |||$type = 1
    010 ||end
    011 ||$strength = [THIS] -> get shield percent
    012 ||if $strength > 3
    013 |||$sec = [THIS] -> get sector
    014 |||$x = [THIS] -> get x position
    015 |||$y = [THIS] -> get y position
    016 |||$z = [THIS] -> get z position
    017 |||$a = [THIS] -> get rot alpha
    018 |||$b = [THIS] -> get rot beta
    019 |||$g = [THIS] -> get rot gamma
    000 |||
    000 ||| *prüfen ob ein Crit und wenn nein auswürfeln welcher Normalschaden-Schild (typ id wird direkt aus dem im setup erstellten Array gelesen)
    000 |||
    000 |||if $type = 0
    020 ||||$ran = random value from 0 to $ran.max - 1
    000 ||||inc $ran=
    000 ||||$shield.type = $shield.type.arr[$ran]
    000 ||||$shield = create special: type=$shield.type addto=$sec x=$x y=$y z=$z
    025 |||else
    000 ||||$shield.type = $shield.type.arr[0]
    000 ||||$shield = create special: type=$shield.type addto=$sec x=$x y=$y z=$z
    229 |||end
    000 |||
    000 |||
    230 |||$shield ->set rotation: alpha=$a beta=$b gamma=$g
    231 |||$shield ->ignore collisions: [TRUE]
    232 |||$task = [THIS] -> get next available task: starting=9000
    233 |||[THIS] ->start task $task with script 'shield.schleif' and prio 0: arg1=$shield arg2=null arg3=null arg4=null arg5=null
    234 @ |||START $null -> call script 'plugin.shield.destroy' : Schildobjekt=$shield
    235 @ |||= wait 150 ms
    236 ||end
    237 |end
    238 end
    239 return null
Schleife für Bewegung: (Arguments: $shield - shield to move)
  • 001 while $shield -> exists
    002 @ |= wait 50 ms
    003 |$x = [THIS] -> get x position
    004 |$y = [THIS] -> get y position
    005 |$z = [THIS] -> get z position
    006 |$a = [THIS] -> get rot alpha
    007 |$b = [THIS] -> get rot beta
    008 |$g = [THIS] -> get rot gamma
    009 |$shield ->force position: x=$x y=$y z=$z
    010 |$shield ->set rotation: alpha=$a beta=$b gamma=$g
    011 end
    012 return null
Zerstört die jeweilige Blase nach 950ms: (Arguments: $shield - shield to destroy)
  • 001 if $shield -> exists
    002 @ |= wait 950 ms
    003 |$shield ->destruct: show no explosion=[TRUE]
    004 end
    005 return null
[/quote]
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

So, frisch aus dem Steinofen und mit Absturz wegen "get shield percent":
-Alle Argumente gelöscht
-Fehlerbehebungen mit falschen IDs usw.

Setup:
  • 001 global secondary signal map: add signal=SIGNAL_CHANGESECTOR race=null class=Schiff script='shield.changesector' prio=0 name='shield.changesector'
    002 $tmp = get number of subtypes of maintype 7
    003 $ship.shield.arr = array alloc: size=$tmp
    004 * 18 Schiffe mit Schild ausgestattet
    005 $tmp.ship = Angelwing
    006 $tmp.ship = get subtype of ware $tmp.ship
    007 $tmp.array = create new array, arguments=126, 124, 125, null, null
    008 $ship.shield.arr[$tmp.ship] = $tmp.array
    009 * *
    010 $tmp.ship = Träger
    011 $tmp.ship = get subtype of ware $tmp.ship
    012 $tmp.array = create new array, arguments=129, 127, 128, null, null
    013 $ship.shield.arr[$tmp.ship] = $tmp.array
    014 * *
    015 $tmp.ship = Gorg-Kreuzer
    016 $tmp.ship = get subtype of ware $tmp.ship
    017 $tmp.array = create new array, arguments=132, 130, 131, null, null
    018 $ship.shield.arr[$tmp.ship] = $tmp.array
    019 * *
    020 $tmp.ship = Jäger
    021 $tmp.ship = get subtype of ware $tmp.ship
    022 $tmp.array = create new array, arguments=135, 133, 134, null, null
    023 $ship.shield.arr[$tmp.ship] = $tmp.array
    024 * *
    025 $tmp.ship = Killer
    026 $tmp.ship = get subtype of ware $tmp.ship
    027 $tmp.array = create new array, arguments=135, 133, 134, null, null
    028 $ship.shield.arr[$tmp.ship] = $tmp.array
    029 * *
    030 $tmp.ship = Gorg-Schlachtschiff
    031 $tmp.ship = get subtype of ware $tmp.ship
    032 $tmp.array = create new array, arguments=138, 136, 137, null, null
    033 $ship.shield.arr[$tmp.ship] = $tmp.array
    034 * *
    035 $tmp.ship = Taktischer Zerstörer
    036 $tmp.ship = get subtype of ware $tmp.ship
    037 $tmp.array = create new array, arguments=141, 139, 140, null, null
    038 $ship.shield.arr[$tmp.ship] = $tmp.array
    039 * *
    040 $tmp.ship = Gorg-Zerstörer
    041 $tmp.ship = get subtype of ware $tmp.ship
    042 $tmp.array = create new array, arguments=144, 142, 143, null, null
    043 $ship.shield.arr[$tmp.ship] = $tmp.array
    044 * *
    045 $tmp.ship = Ghost Kreuzer
    046 $tmp.ship = get subtype of ware $tmp.ship
    047 $tmp.array = create new array, arguments=126, 124, 125, null, null
    048 $ship.shield.arr[$tmp.ship] = $tmp.array
    049 * *
    050 $tmp.ship = Ghost Zerstörer
    051 $tmp.ship = get subtype of ware $tmp.ship
    052 $tmp.array = create new array, arguments=147, 145, 146, null, null
    053 $ship.shield.arr[$tmp.ship] = $tmp.array
    054 * *
    055 $tmp.ship = Schwerer Kreuzer
    056 $tmp.ship = get subtype of ware $tmp.ship
    057 $tmp.array = create new array, arguments=150, 148, 149, null, null
    058 $ship.shield.arr[$tmp.ship] = $tmp.array
    059 * *
    060 $tmp.ship = Schweres Schlachtschiff
    061 $tmp.ship = get subtype of ware $tmp.ship
    062 $tmp.array = create new array, arguments=153, 151, 152, null, null
    063 $ship.shield.arr[$tmp.ship] = $tmp.array
    064 * *
    065 $tmp.ship = Ghost Schlachtschiff
    066 $tmp.ship = get subtype of ware $tmp.ship
    067 $tmp.array = create new array, arguments=156, 154, 155, null, null
    068 $ship.shield.arr[$tmp.ship] = $tmp.array
    069 * *
    070 $tmp.ship = Versorgungsschiff
    071 $tmp.ship = get subtype of ware $tmp.ship
    072 $tmp.array = create new array, arguments=159, 157, 158, null, null
    073 $ship.shield.arr[$tmp.ship] = $tmp.array
    074 * *
    075 $tmp.ship = Leichte Fregatte
    076 $tmp.ship = get subtype of ware $tmp.ship
    077 $tmp.array = create new array, arguments=162, 160, 161, null, null
    078 $ship.shield.arr[$tmp.ship] = $tmp.array
    079 * *
    080 $tmp.ship = Korvette
    081 $tmp.ship = get subtype of ware $tmp.ship
    082 $tmp.array = create new array, arguments=162, 160, 161, null, null
    083 $ship.shield.arr[$tmp.ship] = $tmp.array
    084 * *
    085 $tmp.ship = Explorer
    086 $tmp.ship = get subtype of ware $tmp.ship
    087 $tmp.array = create new array, arguments=165, 163, 164, null, null
    088 $ship.shield.arr[$tmp.ship] = $tmp.array
    089 * *
    090 $tmp.ship = Cityschiff
    091 $tmp.ship = get subtype of ware $tmp.ship
    092 $tmp.array = create new array, arguments=168, 166, 167, null, null
    093 $ship.shield.arr[$tmp.ship] = $tmp.array
    094 * *
    095 set global variable: name='plugin.shields.typearray' value=$ship.shield.arr
    096 return null
Greift bei Sektorwechsel:
  • 001 if [THIS] == [PLAYERSHIP]
    002 |$x = [PLAYERSHIP] -> get x position
    003 |$y = [PLAYERSHIP] -> get y position
    004 |$z = [PLAYERSHIP] -> get z position
    005 |$s1 = create special: type=161 addto=[SECTOR] x=$x y=$y z=$z
    006 |$s2 = create special: type=162 addto=[SECTOR] x=$x y=$y z=$z
    007 |$s3 = create special: type=163 addto=[SECTOR] x=$x y=$y z=$z
    008 |$s4 = create special: type=143 addto=[SECTOR] x=$x y=$y z=$z
    009 |$s5 = create special: type=144 addto=[SECTOR] x=$x y=$y z=$z
    010 |$s6 = create special: type=145 addto=[SECTOR] x=$x y=$y z=$z
    011 |$s7 = create special: type=134 addto=[SECTOR] x=$x y=$y z=$z
    012 |$s8 = create special: type=135 addto=[SECTOR] x=$x y=$y z=$z
    013 |$s9 = create special: type=136 addto=[SECTOR] x=$x y=$y z=$z
    014 |$ship.arr = [SECTOR] -> get ship array from sector/ship/station
    015 @ |= wait 2000 ms
    016 |$s1 ->destruct: show no explosion=[TRUE]
    017 |$s2 ->destruct: show no explosion=[TRUE]
    018 |$s3 ->destruct: show no explosion=[TRUE]
    019 |$s4 ->destruct: show no explosion=[TRUE]
    020 |$s5 ->destruct: show no explosion=[TRUE]
    021 |$s6 ->destruct: show no explosion=[TRUE]
    022 |$s7 ->destruct: show no explosion=[TRUE]
    023 |$s8 ->destruct: show no explosion=[TRUE]
    024 |$s9 ->destruct: show no explosion=[TRUE]
    025 else
    026 |$ship.arr = create new array, arguments=[THIS], null, null, null, null
    027 end
    028 $ship.shield.arr = get global variable: name='plugin.shields.typearray'
    029 $ship.size = size of array $ship.arr
    030 while $ship.size
    031 |dec $ship.size =
    032 |$ship = $ship.arr[$ship.size]
    033 |$ship.type = $ship -> get subtype
    034 |$shield.type = $ship.shield.arr[$ship.type]
    035 |if not $shield.type == null
    036 ||$task = $ship -> get next available task: starting=8000
    037 ||$ship ->start task $task with script 'a111' and prio 0: arg1=null arg2=null arg3=null arg4=null arg5=null
    038 |end
    039 end
    040 return null
Hauptteil mit Erstellung usw.
  • 001 $shield.type.arr = get global variable: name='plugin.shields.typearray'
    002 $tmp = [THIS] -> get subtype
    003 $shield.type.arr = $shield.type.arr[$tmp]
    004 skip if $shield.type.arr != null
    005 |return null
    006 * *
    007 $ran.max = size of array $shield.type.arr
    008 dec $ran.max =
    009 while [THIS] -> is in same sector as [PLAYERSHIP]
    010 |$strength = [THIS] -> get shield percent
    011 |if $strength >= 3
    012 ||$type = 0
    013 ||$vorher = [THIS] -> get current shield strength
    014 @ ||= wait 20 ms
    015 ||$nachher = [THIS] -> get current shield strength
    016 ||if $nachher < $vorher
    017 |||$type = 0
    018 |||if $vorher - $nachher > 140000
    019 ||||$type = 1
    020 |||end
    021 |||$sec = [THIS] -> get sector
    022 |||$x = [THIS] -> get x position
    023 |||$y = [THIS] -> get y position
    024 |||$z = [THIS] -> get z position
    025 |||$a = [THIS] -> get rot alpha
    026 |||$b = [THIS] -> get rot beta
    027 |||$g = [THIS] -> get rot gamma
    028 * *
    029 |||if $type == 0
    030 ||||$ran = random value from 0 to $ran.max - 1
    031 ||||inc $ran =
    032 ||||$shield.type = $shield.type.arr[$ran]
    033 ||||$shield = create special: type=$shield.type addto=$sec x=$x y=$y z=$z
    034 |||else
    035 ||||$shield.type = $shield.type.arr[0]
    036 ||||$shield = create special: type=$shield.type addto=$sec x=$x y=$y z=$z
    037 |||end
    038 |||$shield ->set rotation: alpha=$a beta=$b gamma=$g
    039 |||$shield ->ignore collisions: [TRUE]
    040 |||$task = [THIS] -> get next available task: starting=9000
    041 |||[THIS] ->start task $task with script 'shield.schleif' and prio 0: arg1=$shield arg2=null arg3=null arg4=null arg5=null
    042 @ |||START $null -> call script 'plugin.shield.destroy' : Schildobjekt=$shield
    043 ||end
    044 |end
    045 @ = wait 100 ms
    046 end
    047 return null
Schleife für Bewegung:
  • 001 while $shield -> exists
    002 @ |= wait 30 ms
    003 |$x = [THIS] -> get x position
    004 |$y = [THIS] -> get y position
    005 |$z = [THIS] -> get z position
    006 |$a = [THIS] -> get rot alpha
    007 |$b = [THIS] -> get rot beta
    008 |$g = [THIS] -> get rot gamma
    009 |$shield ->force position: x=$x y=$y z=$z
    010 |$shield ->set rotation: alpha=$a beta=$b gamma=$g
    011 end
    012 return null
Zerstört die jeweilige Blase nach 950ms:
  • 001 if $shield -> exists
    002 @ |= wait 960 ms
    003 |$shield ->destruct: show no explosion=[TRUE]
    004 end
    005 return null
Last edited by Einheit 101 on Sun, 24. Feb 13, 13:10, edited 1 time in total.
!!dodo!!
Posts: 637
Joined: Sun, 10. Feb 08, 09:40
x4

Post by !!dodo!! »

oh mann ey das ist echt ne klasse arbeit...damit wird das spiel um einiges "aufgepeppt"

und noch ne andere kleine frage...welche mods verwendest du? also die schiffe und waffen hab ich noch nicht gesehen, sihet aber echt hammer aus^^
Mein System

-Intel Core i5 7600k 4,6 GH
-16 GB DDR 4, 2400 MH
-Geforce GTX 1080

[ external image ]
Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

Das ist alles aus meiner Mod, die in Entwicklung ist. Zur Zeit besteht jedoch ein Problem mit der Performance, es gibt einige seltsame Ruckler, die hoffentlich behebbar sind.
!!dodo!!
Posts: 637
Joined: Sun, 10. Feb 08, 09:40
x4

Post by !!dodo!! »

joa sowas kenn ich.

ich werd mir bald nen neuen lappi anschaffen... aber ich glaub es liegt auch einiges an x3 ^^

mein game is mittlerweile bei fast 10 gig größe angelangt und 28 cat dateien xD

hab fleißig gesammelt^^
Mein System

-Intel Core i5 7600k 4,6 GH
-16 GB DDR 4, 2400 MH
-Geforce GTX 1080

[ external image ]
Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

Performanceproblem gelöst. Video folgt spätestens am Wochenende. Jetzt ist gameplaytechnisch alles so weit.
Ghostrider[FVP]
Posts: 3274
Joined: Wed, 6. Nov 02, 20:31
x3ap

Post by Ghostrider[FVP] »

Einheit 101 wrote:Performanceproblem gelöst. Video folgt spätestens am Wochenende. Jetzt ist gameplaytechnisch alles so weit.
So ein Mist.. und wir ham' erst Montag.. das wird ne lange Woche :D
Föderation Vereinter Planeten -=)FVP(=-
Since 1998... join the future! X3-The Sonen
Image
Ghostrider's X-Universum [INDEX]Lucikes Scripts & Mods
!!dodo!!
Posts: 637
Joined: Sun, 10. Feb 08, 09:40
x4

Post by !!dodo!! »

dienstag ^^
Mein System

-Intel Core i5 7600k 4,6 GH
-16 GB DDR 4, 2400 MH
-Geforce GTX 1080

[ external image ]
Ghostrider[FVP]
Posts: 3274
Joined: Wed, 6. Nov 02, 20:31
x3ap

Post by Ghostrider[FVP] »

Einheit 101 wrote:Performanceproblem gelöst. Video folgt spätestens am Wochenende. Jetzt ist gameplaytechnisch alles so weit.
Es sind schon fast ZWEI WE's rum.. mal so in Erinnerung ruft :)... hibbel*freu* :D
Föderation Vereinter Planeten -=)FVP(=-
Since 1998... join the future! X3-The Sonen
Image
Ghostrider's X-Universum [INDEX]Lucikes Scripts & Mods
Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

Hehe ich weiß, ich hab am Montag gemerkt, dass ich im Verzug bin, weil ich keine Zeit hatte. Und genau das ist mein Problem zur Zeit. Aber das Video wird kommen. In letzter Zeit hab ich noch ein paar Schiffe erstellt und getestet. Hauptproblem ist jetzt erstmal der Movie Maker von Windows 7, der mir gerade zur Verfügung steht. Der von Windows XP ist um längen besser und übersichtlicher, aber dafür kann der neuere 1080p Videos erstellen.
Loader009
Posts: 2174
Joined: Wed, 16. Jul 08, 17:44
x3tc

Post by Loader009 »

Ich hatte mal unter Linux ein exzellentes Videobearbeitungsprogramm genutzt, leider ist mir der Name entfallen.

Wenn du allerdings Interesse an Linux und dem Programm hast, kann ich gerne nochmal ein paar dieser Linux Programme antesten und dir den Namen nennen, sollte ich es denn wiederfinden.

Der Movie Maker hatte für meine damaligen Bedürfnisse lange nicht gereicht.
User avatar
Shadow dream
Posts: 1840
Joined: Thu, 1. Mar 07, 11:39
x3tc

Post by Shadow dream »

Ich hatte bei einem Festplattenkauf mal "Muvee" drauf. Fands nett und hab auch mal das ein oder andere Video gebastelt - bis ich nach einem weiteren Systemkill (tut mir und PC in gesunden Abständen gut ^^) bemerkt hab, dass ich die Setup nicht gesaved hab -.-
Vielleicht kannst du ja was passendes für dich finden :)

Shadow
Wahre Gentlemen behalten sogar umzingelt von Löwen ihren Leitsatz: Ladies first.
Wann lernt die Gesellschaft endlich, dass Geld erst die Probleme macht, die wir haben?
[ external image ]
Topic - Gallery - Forum - Freiheit
Einheit 101
Posts: 660
Joined: Sat, 3. Jan 09, 22:57
x3tc

Post by Einheit 101 »

Och, er reicht eigentlich. Ich hab gerade für die Arbeit ein kleines Video erstellt und man kommt damit klar, obwohl die Bedienung zum Teil sehr fummelig und die Funktionen sehr eingeschränkt sind. Das ist bei meinem zweitrechner mit Windows XP deutlich besser.

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”