Modderecke > Coding

Anoverions Coding-Fragen

<< < (4/4)

Alien aka Infiltrator:
kleine anmerkung hierzu:

--- Code: --- if sword <= 0.33 then
ObjectHideSubObjectPermanently( self, "SWORD01", false )
elseif sword <= 0.66 then
ObjectHideSubObjectPermanently( self, "SWORD02", false )
--- Ende Code ---

Ist zwar an sich nicht falsch, allerdings kanns dir passieren das du keine Waffe angezeigt bekommst
Denn, wenn Sword (also die Zufallszahl) kleiner 0.33 ist dann wird SWORD01 angezeigt, zwischen .34 und .66 wird SWORD02 angzeigt, allerdings hast du nicht gesagt was passieren soll wenn die zahl über .66 groß ist
Eventuelle wurde die Zahl bisher immer größer .66, dann wird dir natürlich nichts angezeigt

Lösungvorschlag dazu:
--- Code: --- if sword <= 0.50 then
ObjectHideSubObjectPermanently( self, "SWORD01", false )
else
ObjectHideSubObjectPermanently( self, "SWORD02", false )
--- Ende Code ---
Der letzte Fall sollte immer ein "else" sein (nicht zwingend, aber am einfachsten), natürlich nur wenn du IMMER eins der beiden Schwerter haben willst...

Würde dir vll auch dazu raten eine eindeutigere Variablenbezeichnung zu verwenden, das hat EA Games leider auch recht schlecht gemacht ( die nennen jegliche Variable "str" -,-*)
Da es sich um eine Zahl handelt würde ich dir raten das ganze SwordZahl oder SwordDouble zu nennen (double ist der Datentyp einer Gleitkommazahl), dann ist der Code auch für Andere leichter Lesbar und es entstehen keine verwechslungen mit zb. den Meshnamen

Rimli:
Noch eine Anmerkung:
Funzt es denn bei anderen Units mit den Meshs noch? Z.B. haben Bogenschützen erst mit Feuerpfeilen auch das Feuer am Bogen oder schon sofort?
Wenn sie Feuer schon sofort haben, dann deutet das darauf hin, dass du deine scripts.lua zerschossen hat (geht recht schnell, z.B. zwei Functions mit gleichem Namen oder ein end iwo vergessen).
Die Folge ist, dass die komplette scripts.lua lahm gelegt wird, und das ganze ohne Fehlermeldung der game.dat

Anoverion:
@Rimli
Danke für den Tipp!
Daran wird es wohl liegen. Ich hab mich schon gewundert, warum die gegnerischen Truppen alle geupgradet sind ohne einen Effekt zu bewirken.

Edit:

Es geht jetzt.
Vielen Dank nochmal an alle,
 die mir bei der Sache geholfen haben

Ealendril der Dunkle:
Jou, super Rimli. (Ich glaube ich habe dich auch mal darauf aufmerksam gemacht oder?  :) )
Ja, lua-scripts, da muss man immer ein wenig aufpassen.
Nun, mein Tutorial funktioniert in dieser Form fehlerfrei, freut mich also, dass die Sachen bei dir jetzt umgesetzt sind.

Rimli:
@Ea
Weiß nicht mehr genau, wer mir das mal gesagt hat. Jedenfalls hab ich mich beim Coden einer Saurons Mund Fähigkeit sehr mit der scripts.lua rumgeplagt und irgendwann auch die komplette scripts.lua zerschossen. ^^

Hauptsache es geht jetzt, freut mich. :)

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln