[C# und Unity] Fragenthread

  • Hallo,


    Ich beschäftige mich seit ein paar Tagen damit ein kleines Spiel zu programmieren.


    Wollte nun aber ne simple Taschenlampe einbauen, aber dieses funktioniert nicht..


    Sie kann zwar ausgeschaltet werden (mit B), aber nicht eingeschaltet werden (ebenfalls mit B).


    Kode:


    Mfg KeksKing

    Exetra-Play = mtasa://5.62.64.218:22003
    Discord: KeksKing#9206

    Einmal editiert, zuletzt von KeksKing ()

  • Probiere es mal so:


  • Kurz noch wodran es lag:


    Der Ausdruck

    Lua
    if (can = false)


    vergleicht nicht "can" mit false, sondern setzt can auf false und prüft dann ob can wahr ist. Da es aber davor auf false gesetzt wurde, wird dein erster Zweig nie ausgeführt.


    Zum Vergleichen von Dingen immer den == Operator nutzen, der prüft auf Gleichheit.


    x = y -> Setze x auf y und gebe x zurück.
    x == y -> Gebe zurück ob x gleich y ist.

  • So, danke für eure Antworten :)!


    Wollte mir nun mein erstes Schwert erstellen, also nen Modell heruntergeladen und ne Animation zusammengeschustert..
    Wollte aber, dass beim benutzen des Schwertes ein Sound zu hören ist..


    Hab´ ihn dem Schwert zugewiesen und sound.Play() ins Script eingefügt. (Der Sound wurde richtig ans Schwert "angebracht", habe es bei nem Versuch mit meiner Taschenlampe genauso getan!)


    Nur wird dieser Sound beim starten des Spieles kurz abgespielt und dann nicht mehr..


    Script:


    Exetra-Play = mtasa://5.62.64.218:22003
    Discord: KeksKing#9206

  • Also ich kenn mich jetzt kaum mit C# und erst recht nicht mit Unity aus. Was ich mir aber denken könnte ist, dass bei "audio.Play()" der Parameter fehlt welcher Sound abgespielt werden soll, oder?

    Hier wird ja ein Parameter übergeben:

    Lua
    animation.Play ("swordattack")



    Wenn die Audioklasse genauso aufgebaut ist, könnte hier der Parameter fehlen:

    Lua
    audio.Play (???);




    Ansonsten brauchen wir wohl mehr Code, zum Beispiel wo und wie du den Sound deklariert hast.

    Viele Grüße,
    [email protected]

  • Mit dem Schwert habe ich es nun hinbekommen,


    aber ich bekomme es nicht hin, auf eine Variable zuzugreifen die in einem anderen Script ist..


    Lua
    public int Wert = lampetasche.Batterie;


    Habe es bisher so versucht funktionierte aber nicht.


    Die Variable in der anderen Datei sieht so aus:


    Lua
    public int Batterie = 100;


    Diese Funktion sollte den Wert aus der anderem Datei verändern:


    Lua
    void OnMouseDown()
    {
    Wert = Wert + 20;
    Debug.Log ("Geil!");
    }

    Exetra-Play = mtasa://5.62.64.218:22003
    Discord: KeksKing#9206

  • Danke, funktioniert so :D!


    Hätte da noch ne Frage:


    Hab beim Script meiner "KI" das Problem, dass wenn ich nen Hügel herunter spaziere , dass der Gegner der mit halt folgt anfängt zu fliegen da seine Y Koordinate sich nicht dem Gelände anpasst... Wie könnte ich dies verhindern?

    Exetra-Play = mtasa://5.62.64.218:22003
    Discord: KeksKing#9206

  • Hallo,


    Lua
    void OnMouseDown()
    {
    Destroy (this.gameObject);
    float x1 = lampetasche.Batterie;
    x1 = x1 + 20;
    Debug.Log (x1);
    }


    In dem Script soll der Variable "Batterie" (aus dem Script lampetasche, also halt eine Variable aus nem anderen Script) 20 dazugerechnet werden.


    Ich habe 2 Batterien im Level, aber es wird halt nur einmal 20 dazu gerechnet.


    Habe gerade echt keine Ahnung wie ich dieses lästige Problem lösen soll.

    Exetra-Play = mtasa://5.62.64.218:22003
    Discord: KeksKing#9206

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!