Fly Mode ( Noclip ) - Gespräch/Ideen

    Unser Forum verwendet Cookies. Durch die Nutzung unserer Seite erklärst du dich damit einverstanden, dass wir Cookies setzen. Datenschutzerklärung.


    Entscheidet mit wie es mit dem Forum in Zukunft weitergehen soll -> Status & Umfrage
      Die haben die Bewegung und die Kamera getrennt...

      Kamera:
      Spoiler anzeigen
      CameraFollow.cs:
      Spoiler anzeigen

      Quellcode

      1. ​using UnityEngine;
      2. public class CameraFollow : MonoBehaviour
      3. {
      4. public float xMargin;
      5. public float yMargin;
      6. public float xSmooth;
      7. public float ySmooth;
      8. public Vector2 maxXAndY;
      9. public Vector2 minXAndY;
      10. private Transform player;
      11. public CameraFollow()
      12. {
      13. base.\u002Ector();
      14. }
      15. private void Awake()
      16. {
      17. this.player = GameObject.FindGameObjectWithTag("Player").get_transform();
      18. }
      19. private bool CheckXMargin()
      20. {
      21. return (double) Mathf.Abs((float) (((Component) this).get_transform().get_position().x - this.player.get_position().x)) > (double) this.xMargin;
      22. }
      23. private bool CheckYMargin()
      24. {
      25. return (double) Mathf.Abs((float) (((Component) this).get_transform().get_position().y - this.player.get_position().y)) > (double) this.yMargin;
      26. }
      27. private void Update()
      28. {
      29. this.TrackPlayer();
      30. }
      31. private void TrackPlayer()
      32. {
      33. float num1 = (float) ((Component) this).get_transform().get_position().x;
      34. float num2 = (float) ((Component) this).get_transform().get_position().y;
      35. if (this.CheckXMargin())
      36. num1 = Mathf.Lerp((float) ((Component) this).get_transform().get_position().x, (float) this.player.get_position().x, this.xSmooth * Time.get_deltaTime());
      37. if (this.CheckYMargin())
      38. num2 = Mathf.Lerp((float) ((Component) this).get_transform().get_position().y, (float) this.player.get_position().y, this.ySmooth * Time.get_deltaTime());
      39. ((Component) this).get_transform().set_position(new Vector3(Mathf.Clamp(num1, (float) this.minXAndY.x, (float) this.maxXAndY.x), Mathf.Clamp(num2, (float) this.minXAndY.y, (float) this.maxXAndY.y), (float) ((Component) this).get_transform().get_position().z));
      40. }
      41. }

      CameraLook.cs:
      Spoiler anzeigen

      Quellcode

      1. ​using UnityEngine;
      2. public class CameraMouseEvents : MonoBehaviour
      3. {
      4. public LayerMask layerMask;
      5. private GameObject selectedObject;
      6. private bool isMouseDown;
      7. public CameraMouseEvents()
      8. {
      9. base.\u002Ector();
      10. }
      11. private void Awake()
      12. {
      13. if (Object.op_Implicit((Object) ((Component) this).GetComponent<Camera>()))
      14. return;
      15. Object.Destroy((Object) this);
      16. }
      17. private void Update()
      18. {
      19. RaycastHit raycastHit = (RaycastHit) null;
      20. // ISSUE: explicit reference operation
      21. GameObject gameObject = !Physics.Raycast(((Component) this).get_camera().ScreenPointToRay(Input.get_mousePosition()), ref raycastHit, 100f, LayerMask.op_Implicit(this.layerMask)) ? (GameObject) null : ((Component) ((RaycastHit) @raycastHit).get_collider()).get_gameObject();
      22. if (Object.op_Inequality((Object) gameObject, (Object) this.selectedObject))
      23. {
      24. if (Object.op_Implicit((Object) this.selectedObject))
      25. {
      26. if (this.isMouseDown)
      27. {
      28. this.selectedObject.SendMessage("OnMouseUpCollider", (SendMessageOptions) 1);
      29. this.isMouseDown = false;
      30. }
      31. this.selectedObject.SendMessage("OnMouseExitCollider", (SendMessageOptions) 1);
      32. }
      33. if (Object.op_Implicit((Object) gameObject))
      34. gameObject.SendMessage("OnMouseEnterCollider", (SendMessageOptions) 1);
      35. this.selectedObject = gameObject;
      36. }
      37. if (!Object.op_Implicit((Object) this.selectedObject))
      38. return;
      39. this.selectedObject.SendMessage("OnMouseOverCollider", (SendMessageOptions) 1);
      40. if (Input.GetMouseButtonDown(0))
      41. {
      42. this.selectedObject.SendMessage("OnMouseDownCollider", (SendMessageOptions) 1);
      43. this.isMouseDown = true;
      44. }
      45. if (!Input.GetMouseButtonUp(0))
      46. return;
      47. this.selectedObject.SendMessage("OnMouseUpCollider", (SendMessageOptions) 1);
      48. this.isMouseDown = false;
      49. }
      50. }

      CameraMouseEvents.cs:
      Spoiler anzeigen

      Quellcode

      1. ​using UnityEngine;
      2. public class CameraMouseEvents : MonoBehaviour
      3. {
      4. public LayerMask layerMask;
      5. private GameObject selectedObject;
      6. private bool isMouseDown;
      7. public CameraMouseEvents()
      8. {
      9. base.\u002Ector();
      10. }
      11. private void Awake()
      12. {
      13. if (Object.op_Implicit((Object) ((Component) this).GetComponent<Camera>()))
      14. return;
      15. Object.Destroy((Object) this);
      16. }
      17. private void Update()
      18. {
      19. RaycastHit raycastHit = (RaycastHit) null;
      20. // ISSUE: explicit reference operation
      21. GameObject gameObject = !Physics.Raycast(((Component) this).get_camera().ScreenPointToRay(Input.get_mousePosition()), ref raycastHit, 100f, LayerMask.op_Implicit(this.layerMask)) ? (GameObject) null : ((Component) ((RaycastHit) @raycastHit).get_collider()).get_gameObject();
      22. if (Object.op_Inequality((Object) gameObject, (Object) this.selectedObject))
      23. {
      24. if (Object.op_Implicit((Object) this.selectedObject))
      25. {
      26. if (this.isMouseDown)
      27. {
      28. this.selectedObject.SendMessage("OnMouseUpCollider", (SendMessageOptions) 1);
      29. this.isMouseDown = false;
      30. }
      31. this.selectedObject.SendMessage("OnMouseExitCollider", (SendMessageOptions) 1);
      32. }
      33. if (Object.op_Implicit((Object) gameObject))
      34. gameObject.SendMessage("OnMouseEnterCollider", (SendMessageOptions) 1);
      35. this.selectedObject = gameObject;
      36. }
      37. if (!Object.op_Implicit((Object) this.selectedObject))
      38. return;
      39. this.selectedObject.SendMessage("OnMouseOverCollider", (SendMessageOptions) 1);
      40. if (Input.GetMouseButtonDown(0))
      41. {
      42. this.selectedObject.SendMessage("OnMouseDownCollider", (SendMessageOptions) 1);
      43. this.isMouseDown = true;
      44. }
      45. if (!Input.GetMouseButtonUp(0))
      46. return;
      47. this.selectedObject.SendMessage("OnMouseUpCollider", (SendMessageOptions) 1);
      48. this.isMouseDown = false;
      49. }
      50. }



      Und die Bewegung:
      Spoiler anzeigen

      CamMove.cs:
      Spoiler anzeigen

      Quellcode

      1. ​using UnityEngine;
      2. public class CamMove : MonoBehaviour
      3. {
      4. public CamMove()
      5. {
      6. base.\u002Ector();
      7. }
      8. private void Start()
      9. {
      10. Debug.Log((object) "Press 'W' to move foreward and 'S' to move back!");
      11. }
      12. private void Update()
      13. {
      14. if (Input.GetKey((KeyCode) 119))
      15. {
      16. Transform transform = ((Component) this).get_transform();
      17. Vector3 vector3 = Vector3.op_Addition(transform.get_position(), Vector3.op_Multiply(Vector3.op_Multiply(((Component) this).get_transform().get_forward(), 10f), Time.get_deltaTime()));
      18. transform.set_position(vector3);
      19. }
      20. if (!Input.GetKey((KeyCode) 115))
      21. return;
      22. Transform transform1 = ((Component) this).get_transform();
      23. Vector3 vector3_1 = Vector3.op_Addition(transform1.get_position(), Vector3.op_Multiply(Vector3.op_Multiply(((Component) this).get_transform().get_forward(), -10f), Time.get_deltaTime()));
      24. transform1.set_position(vector3_1);
      25. }
      26. }

      movement.cs:
      Spoiler anzeigen

      Quellcode

      1. ​using System;
      2. using UnityEngine;
      3. [RequireComponent(typeof (CharacterController))]
      4. [Serializable]
      5. public class movement : MonoBehaviour
      6. {
      7. public float speed;
      8. public float jumpSpeed;
      9. public float gravity;
      10. private Vector3 moveDirection;
      11. private bool grounded;
      12. public movement()
      13. {
      14. this.speed = 6f;
      15. this.jumpSpeed = 8f;
      16. this.gravity = 20f;
      17. this.moveDirection = Vector3.zero;
      18. }
      19. public virtual void FixedUpdate()
      20. {
      21. if (this.grounded)
      22. {
      23. this.moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0.0f, Input.GetAxis("Vertical"));
      24. this.moveDirection = this.transform.TransformDirection(this.moveDirection);
      25. this.moveDirection = this.moveDirection * this.speed;
      26. if (Input.GetButton("Jump"))
      27. this.moveDirection.y = this.jumpSpeed;
      28. }
      29. this.moveDirection.y = this.moveDirection.y - this.gravity * Time.deltaTime;
      30. int num = (int) ((CharacterController) this.GetComponent(typeof (CharacterController))).Move(this.moveDirection * Time.deltaTime);
      31. }
      32. public virtual void Main()
      33. {
      34. }
      35. }



      Auch hier sieht man das die einfach Code schnipsel zusammen gemixt haben :P


      Wörter sind es oft nicht wert Groß geschrieben zu werden.
      Es sollte bald den offiziellen Mod Support geben.
      Spätestens dann sollten für euch die Türen offen sein.

      Falls es bei V0.05 noch keinen / guten Mod Support gibt, versuche ich meine eigene ModSupport Idee Umzusetzen.
      Trotzdem muss ich sagen, dass in meiner Prioritätsliste die oben genannte Funktion relativ unten ist..

      Bezüglich des NoClips / Low Gravity werde ich mich heute noch dran setzen.

      Accu, du möchtest eine Funktion haben, mit der die Abhängigkeit von dem Terrain bei der Platzierung der Blueprints entfernt wird.
      Das sollte eigentlich nicht viel Code Arbeit sein, man müsste eigentlich nur ein If Statement Manipulieren.

      Ich habe mein eigenes Mod Menü gebastelt und dort werden diverse neue Möglichkeiten "an und abschaltbar" und Regelbar sein.
      Dieses Mod Menü wird dann hoffentlich immer umfangreicher :)
      Falls euch gefällt, was wir für die Community tun, könnt ihr uns gerne unterstützen !
      ​Accu, du möchtest eine Funktion haben, mit der die Abhängigkeit von dem Terrain bei der Platzierung der Blueprints entfernt wird.Das sollte eigentlich nicht viel Code Arbeit sein, man müsste eigentlich nur ein If Statement Manipulieren.


      Vollkommen richtig und bitte diese Manipulation in den NoClip Mod reinmachen mit den Funktionen vom CreativeMod. Ich würde direkt als erstes ein "Admin" und oder "Sascha" Denkmal nachbauen und Täglich huldigen :D

      theaccu schrieb:

      Ich würde direkt als erstes ein "Admin" und oder "Sascha" Denkmal nachbauen und Täglich huldigen :D

      Ich lese wohl nicht richtig :D Will doch auch nur einen Axt-Bau - wo bleib ich denn da ab *heul* :D (und vergesst mir ja nicht den guten Forenkasper @jok3r ;) )
      Von mir verfasste Beiträge befinden sich unter der Creative Commons Lizenz 3.0
      •[ Profil im The Forest Forum & Profil im Stranded Deep Forum ]•

      DieAxtimWalde schrieb:

      Bezugnehmend auf diesen Post von @theaccu -> forum.survivetheforest.net/The…ar?postID=11188#post11188

      theaccu schrieb:

      1. Ein FlyMode ( eine Art leichtes Schweben in alle Richtungen, und langsame Geschwindigkeit wegen Fall Schaden )

      2. Eine Trennung der Blueprints von der Worldmap ! ( Das wichtigere )

      Die 2 Punkte mit dem Creative-Bauen-Mode und dann geht die Lutzi aber sowas von ab im Forum, dass so monumentale Gebilde wie in Minecraft entstehen 8| Ich bin gespannt, sowohl als auch erfürchtig was da auf uns zukommen wird :D



      wtf - warum zur Hölle, brauch ich sowas? 8o
      mal ehrlich, wie soll so ein Spielstil Spass bringen? Für einen 10/12 Jährigen wahrscheinlich...
      Für seriöse Survivalgamer eher uninteressant
      Hi @TiMEDANCE :)

      Wie jemand spielen möchte, bleibt doch jedem selbst überlassen ;) Vor allem ist es aber nicht nötig abwertend zu werden, das möchtest du auf deine Person bezogen doch auch nicht ... oder? Solange es dich nicht schädigt wie jemand anderer spielt, ist das Jacke-Hose-Mütze-Glatze-Wibbel-Wubbel :D

      LG, die Axt ;)
      Von mir verfasste Beiträge befinden sich unter der Creative Commons Lizenz 3.0
      •[ Profil im The Forest Forum & Profil im Stranded Deep Forum ]•

      admin schrieb:

      Accu, du möchtest eine Funktion haben, mit der die Abhängigkeit von dem Terrain bei der Platzierung der Blueprints entfernt wird.
      Das sollte eigentlich nicht viel Code Arbeit sein, man müsste eigentlich nur ein If Statement Manipulieren.

      Joho! ..so eine "snap to ground ON/Off" Funktion wollt ich auch schon Vorschlagen, sowas muß unbedingt in den Kreativmodi rein.
      Optimal wäre zusätzlich die Möglichkein ein Objekt auf und ab bewegen zu können damit mann auch mal nach unten oder oben Bauen kann.
      Evtl. auch die Entfernung zum Spieler veränderbar, damit man sich nicht immer so exakt positionieren muß.
      Zusätzlich könnte man auch vertikales Drehen von Bauteilen einfügen, um die Möglichkeiten voll auszuschöpfen.
      peace! ...und fröhliches Schaffen!
      ☺sieht den Wald vor lauter Bäumen nicht☻