Jump to content
Unity Insider Forum

NewbiLars

Members
  • Content count

    36
  • Joined

  • Last visited

Community Reputation

2 Neutral

About NewbiLars

  • Rank
    Advanced Member
  • Birthday 07/12/1993

Profile Information

  • Gender
    Male
  • Location
    NRW- Mülheim

Recent Profile Visitors

230 profile views
  1. NewbiLars

    Random Choose

    bei Java gab es eine ähnliche random funktion - weiß leider nicht mehr wie die hieß. da war es aber so, dass wenn du beispielweise 10 angegeben hast also (1-10), hat das Programm daraus 0-9 gemacht. Da es dies als Array sah und das beginnt mit 0...Bei Java wurde das dann mit einem +1 am Return-Wert (Variabel) behoben
  2. die SchwierigkeitsStufe lässt sich ja auch mit nem Script steuern, if Abfrage um festzustellen welche Schwierigskeitsstufe & dementsprechend Verhalten der Gegner Aktivieren oder eben die entsprechenden Gegner Spawnen lassen. Jenachdem ob du für die Schwierigkeiten unterschiedliche Gegner verwendest (zb leicht = Ork , mittel = Troll , schwer = drache - oder sowas)
  3. NewbiLars

    Text string ausgeben

    Hab es jetzt gelöst bekommen. Speicher den string "Nachricht" in einer statischen Variabel Klasse ab. und mit einem neuen Script dann auf das textFeld zugegriffen.
  4. NewbiLars

    Text string ausgeben

    okay, danke dir. Versuche dann mal die DLL step by Step in Unity als C#-Klasse zu schreiben. Melde mich dann noch mal, wenn das erledigt ist, vlt klappt es dann sogar.
  5. NewbiLars

    Text string ausgeben

    kriege ich folgende Fehlermeldung
  6. NewbiLars

    Text string ausgeben

    seh leider nichts da falls, da vlt was hilfreiches dabei ist, das wäre aus der Console Verbindung zum Server hergestellt! UnityEngine.Debug:Log(Object) ClientVerarbeitetDaten:VerarbeiteDatenPacket1(Byte[]) (at Assets/Scripts/Netzwerk/ClientVerarbeitetDaten.cs:46) ClientVerarbeitetDaten:VerarbeiteNachrichten(Int32, Byte[]) (at Assets/Scripts/Netzwerk/ClientVerarbeitetDaten.cs:17) ClientVerarbeitetDaten:VerarbeiteDaten(Byte[]) (at Assets/Scripts/Netzwerk/ClientVerarbeitetDaten.cs:36) Netzwerk:BeiEmpfang(IAsyncResult) (at Assets/Scripts/Netzwerk/Netzwerk.cs:87) System.Net.Sockets.Worker:Receive()
  7. NewbiLars

    Text string ausgeben

    auch etwas, an das ich noch nicht gedacht habe. Aber das löst es auch noch nicht leider. bearbeitet: habe gerade mal ein leeres Script erstellt & nur das Text feld manuell ändern lassen. Das funktionierte Wollte dann mal in dem obigen Script was testen. bei der 1. Methode VerarbeiteNachrichten. Wenn case 1 erreicht wird, dort dann wie im Leeren Script das Text feld manuell ändern, aber auch das geht nicht einmal... case 1: //Wenn PaketNr = 1 , dann folgt Case 1. serverFeedback.text = "Verbindung zum Server herrgestellt!"; VerarbeiteDatenPacket1 (daten); in der Reihenfolge geht wieder der DebugLog nicht. umgedreht geht der DebugLog zwar aber das TextFeld nicht.
  8. NewbiLars

    Text string ausgeben

    so okay, List<byte> Buff; byte[] readBuff; int readpos; bool buffUpdate = false; public void WriteString(string input) { Buff.AddRange(BitConverter.GetBytes(input.Length)); Buff.AddRange(Encoding.ASCII.GetBytes(input)); buffUpdate = true; } public int ReadInteger (bool Peek = true) { if (Buff.Count > readpos) { if (buffUpdate) { readBuff = Buff.ToArray(); buffUpdate = false; } int ret = BitConverter.ToInt32(readBuff, readpos); if (Peek & Buff.Count > readpos) { readpos += 4; } return ret; } else { throw new Exception("Byte Buffer is Past its Limit!"); } } public string ReadString(bool Peek = true) { int Len = ReadInteger(true); if(buffUpdate) { readBuff = Buff.ToArray(); buffUpdate = false; } string ret = Encoding.ASCII.GetString(readBuff, readpos, Len); if(Peek & Buff.Count > readpos) { if(ret.Length > 0) { readpos += Len; } } return ret; } hab jetzt auch den dazugehörigen WriteString ... aber viel schlauer werde ich dadruch auch nicht. Gut es wird alles in Bytes gespeichert, aber diese ja auch wieder in ein String encodiert...
  9. NewbiLars

    Text string ausgeben

    glaub liegt an der .dll datei... das PlugIn war bereits gegeben von ihm. Da ist ja die Einsicht begrenzt. Ich schau mal, glaube er hat im späteren Tutorial Part das PlugIn auch nochmal step by step erstellt. Schaue da rein, und melde mich dann hoffentlich mit neurer information
  10. NewbiLars

    Text string ausgeben

    viel kriege ich gerade nicht zu sehen dazu, public string ReadString (bool Peek = true); nicht besonders aufschlussreich für mein Empfinden ...
  11. NewbiLars

    Text string ausgeben

    der liefert immer einen String zurück. wenn ich in einem Datenpack mehr versenden würde, würde es so aussehen. Beispiel string nachricht1 = buffer.ReadString(); string nachricht2 = buffer.ReadString();
  12. NewbiLars

    Text string ausgeben

    Hatte ich noch nicht dran gedacht, danke dafür. Hat aber leider auch nicht geklappt.
  13. NewbiLars

    Text string ausgeben

    Hey Leute, Ich hab folgendes Problem, ich kriege einen String ohne Probleme mittels "Debug.Log(string);" ausgegeben. Was ich persönlich aber lieber in einem Text Ui angezeigt kriegen würde. Und zwar geht es um Daten, die vom Server zum Client gesendet werden. Übliche herangehensweise, ist mir klar - aber aus irgeneinem Grund geht es nicht. In der Letzten Methode using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ClientVerarbeitetDaten : MonoBehaviour { public Text serverFeedback; void VerarbeiteNachrichten(int packetNr, byte[] daten) { //Für Jedes mögliche DatenPaket wird ein "case"-Fall benötigt. switch (packetNr) { case 1: //Wenn PaketNr = 1 , dann folgt Case 1. VerarbeiteDatenPacket1(daten); break; case 2: break; } } public void VerarbeiteDaten(byte[] daten) { int packetNr; //Zur identifizierung des DatenPackets und zuordnung des Inhalts. KaymakGames.KaymakGames buffer = new KaymakGames.KaymakGames (); buffer.WriteBytes (daten); packetNr = buffer.ReadInteger (); buffer = null; if (packetNr == 0) return; VerarbeiteNachrichten (packetNr, daten); } void VerarbeiteDatenPacket1 (byte[]daten) { //dll-Plugin vom Tutorial. KaymakGames.KaymakGames buffer = new KaymakGames.KaymakGames (); buffer.WriteBytes (daten); //DatenPacket muss in der Reihenfolge ausgelesen werden, wie es versendet wurde! int nummer = buffer.ReadInteger (); string nachricht = buffer.ReadString (); //Debug.Log (nachricht); serverFeedback.text = nachricht; buffer = null; } } "Debug.Log (nachricht);" funktioniert, aber auch nur über der Zeile "serverFeedback.text = nachricht;" . Wenn ich das unter der Zeile habe, geht nicht einmal die Konsole. Eine Fehlermeldung kriege ich nicht, dem Script wurde auch das TextFeld zugeordnet. Mit dem String ansich, kann ja eigentlich kein Fehler vorliegen - da sonst die Console es ja auch nicht anzeigen dürfte. Vlt überseh ich da was oder hab irgendwo einen Denkfehler. Hoffe das mir dabei jemand helfen kann. Vielen Dank & habt noch einen Angenehmen Tag
  14. NewbiLars

    Probleme mit Material/Shader

    Danke für die beiden Tipps, werde es gleich mal austesten
  15. NewbiLars

    Probleme mit Material/Shader

    Hey Leute, Ich hab mir ein Asset geholt, und es funktioniert bei manchen Objecten scheinbar nicht so wie es sollte... Denke, es liegt vlt an einstellungen der einzelnen Objecten. Aber weiß da nicht weiter. Hoffe ihr wisst vlt einen Rat. Die Bilder sind einmal wie das Object Normal ist & in schwarz nach dem Shader. Falls ihr mehr Informationen oder andere Bilder zu den Einstellungen vlt braucht, gebt mir bescheid. Ich weiß da momentan überhaupt nicht weiter Es handelt sich hierbei auch um ein einzelnes Object.
×