Lua Programmiersprache lernen, empfehlenswerte Bücher?

Hallo Freunde,

ich habe seit 2015/16 angefangen Garry‘s Mod auf verschiedenen Gameservern zu spielen. Dort konnte bereits über 6.000 Spielstunden ansammeln.

2017 habe ich mich dann auch dem Serverteam bei einer etwas größeren Community angeschlossen. Dort fing alles an als Supporter.

Meine Neugier war selbstverständlich sehr hoch, wie solch ein Server überhaupt betrieben wird und wie es zu diesen ganzen Funktionen auf dem Server kommt. Ich eignete mir leichtes Grundwissen an und helfte als ,,Servertechniker“ aus. (Jobs schreiben/umschreiben, Skripte umschreiben/übersetzen und schließlich die Inbetriebnahme eines Gameservers)

2020 eröffnete ich dann meinen eigenen Server mit Skripten aus dem Gmodstore.

Nun möchte ich mich aber selbst an das Programmieren von solchen Skripts befassen, da mir die Arbeiten mit LUA damals schon Spaß gemacht hatten.

Allerdings habe ich keinen blassen Schimmer wie ich mit einem Skript überhaupt anfange, die Funktionen, das Overlay und alles was eben dazugehört.

Schlichtweg möchte ich erstmal einfacheren Skripte schreiben. (z.B Scoreboard und HUD)

Gibt es für die Programmiersprache LUA gute Bücher oder Webseiten die ihr mir empfehlen könntet?

Textprogramm mit dem ich damals gearbeitet habe war Notepad++, nun möchte ich aber mit Visual Code Studio arbeiten.

Ich hoffe ihr könnt mir weiterhelfen.

Computer, Computerspiele, Mods, Programm, Community, Webseite, Programmierer, programmieren, Garry's Mod, lua, Programmiersprache, Visual Studio, Visual Studio Code, Garry's Mod Server
Unity: Wieso läuft die Registrierung schief?

Hallo,

ich bin gerade dabei, ein Unity-Spiel zu programmieren. In dem Spiel soll man sich registrieren können, dabei benutze ich PlayFab. Bei dem Test der Registrierung läuft etwas schief und ich weiß einfach nicht wieso. Vielleicht könnt ihr mir weiterhelfen?

Danke für jede Antwort.

Unity:

Das Spiel:

Das Skript:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using PlayFab.ClientModels;
using PlayFab;
using System;
using UnityEditor.PackageManager.Requests;
using UnityEngine.UI;
using TMPro;
using PlayFab.PfEditor;

public class PlayFabLoginScript : MonoBehaviour
{
  public TextMeshProUGUI regPassword, regUsername, regEmail;
  public GameObject regPanel;

  // Start is called before the first frame update
  void Start()
  {
    var request = new LoginWithCustomIDRequest { CustomId = "GettingStardedGuide", CreateAccount = true };
    PlayFabClientAPI.LoginWithCustomID(request, OnLoginSucces, OnLoginFailure);
  }

  private void OnLoginFailure(PlayFabError obj)
  {
    Debug.Log("Es ist etwas schief gelaufen");
  }

  private void OnLoginSucces(LoginResult obj)
  {
    Debug.Log("API Call hat funktioniert");
  }

  public void Register()
  {
    var request = new RegisterPlayFabUserRequest();
    request.TitleId = PlayFabSettings.TitleId;
    request.Email = regEmail.text;
    request.Username = regUsername.text;
    request.Password = regPassword.text;
    PlayFabClientAPI.RegisterPlayFabUser(request, OnRegisterResult, OnPlayFabError);
  }

  private void OnPlayFabError(PlayFabError obj)
  {
    print("Error:" + obj.Error);
  }

  private void OnRegisterResult(RegisterPlayFabUserResult obj)
  {
    print("Registrierung hat funktioniert");
    regPanel.SetActive(false);
  }
Bild zum Beitrag
C Sharp, Code, Programmiersprache, Spieleentwicklung, Visual Studio, Unity
Wie kann ich bei Unity einem 2D generierten Mesh einen Collider geben?

Ich arbeite in Unity zurzeit an einen kleinen Projekt und bin auf folgendes Problem gestoßen:

Ich generiere dieses Mesh mit Perlin Noises, also quasi eine Berglandschaft. Sie sieht auch gut aus, nur jetzt habe ich das Problem mit den Collider. Und zwar mache ich das aktuell mit einem Polygon Collider, wo ich die Punkte per Code selber erstelle:

private void GenCollider()
{
  GrassMashObject.AddComponent<PolygonCollider2D>();
  GrassMashObject.GetComponent<PolygonCollider2D>().sharedMaterial = GrassPhysics;
  PolygonCollider2D polygonCollider = GrassMashObject.GetComponent<PolygonCollider2D>();

  if (polygonCollider != null)
  {
    Vector2[] points = new Vector2[(WorldSize + 1) * (yHight + 1)];

    for (int i = 0, y = 0; y <= yHight; y++)
    {
      for (int x = 0; x <= WorldSize; x++)
      {
        points[i] = new Vector2(x, y - (WorldSize / 4f));

        if (y == 1)
        {
          float perlin1 = (float)x / PerlinScale;
          float perlin2 = (float)y / PerlinScale;
          float perlin3 = Mathf.PerlinNoise(perlin1, perlin2);
          float perlin4 = Mathf.PerlinNoise(perlin1 * 2, perlin2 * 2);
          float perlin5 = Mathf.PerlinNoise(perlin1 / 2, perlin2 / 2);
          points[i].y = y + ((perlin3 + perlin4 + perlin5) * PerlinHeight);
        }

        i++;
      }
    }

    polygonCollider.points = points;
  }
}

Es funktioniert ganz gut, nur werden manche Punkte falsch zusammengesetzt und deshalb werden sehr unnötige "Linien" zwischen den Punkten generiert. Deshalb kommt es auch manchmal zu massiven Performenceeinbrüchen.

Ich bin für jede Hilfe dankbar! Danke im Voraus!

C Sharp, Visual Studio

Meistgelesene Beiträge zum Thema Visual Studio