Visual Basic

  • Bitte nicht mit "samp://" machen.
    Ermittle den Pfad von der samp.exe und setze als Parameter die IP.


    Bei "Process.Start("samp://IP")" kommt erstmal eine Meldung, ob der Spieler die IP zur Favoritenliste hinzufügen will, ob er zum Server verbinden will, oder ob er SA:MP beenden möchte.

  • Die Frage lautet:

    Zitat

    wie kann ich in Visual Basic dem Benutzer sagen, starte SA:MP und connecte auf dem Server?


    Da hier auch wieder grammatikalische Fehler vorliegen und der Satz so wie er da steht inhaltlich keinen Sinn ergibt, gehe ich stark davon aus, dass eig. folgendes gemeint war:

    Zitat

    wie kann ich in Visual Basic dem Benutzer sagen: "Starte SA:MP und connecte auf den Server"?


    Da das der für mich einfachste Weg ist, das gesagte in einen sinnvollen Zusammenhang zu stellen (mit 3 Änderungen).Um dem Benutzer zu sagen, er solle SAMP starten und auf den Server connecten, würde ich eine MsgBox verwenden. Aus Nettigkeit habe ich noch die (mMn. sehr nützliche) MSDN Seite dazu gepostet, da dort Parameter, Rückgabewerte und Besonderheiten gut erklärt sind.
    So wie ihr die Frage beantwortet müsste sie lauten:

    Zitat

    Wie kann ich in Visual Basic SAMP starten und auf den Server connecten


    Dafür müsste aber an 6 Stellen etwas geändert werden, von daher gehe ich davon aus, dass dies nicht die ursprüngliche Aussage war. Sollte das jedoch der Fall sein, dann tut es mir leid, jedoch sollte der TE nächstes mal besser ausdrücken, was er möchte. Besonders wenn man möchte, dass einem andere helfen, sollte man sich wenigstens ein bisschen dafür anstrengen ;).
    Letztlich scheitert ja in diesem Forum eh immer alles daran, dass niemand der Meinung ist, deutsche Rechtschreibung und deutsche Grammatik verwenden zu müssen, obwohl ich das eig. zu der Regel III/1 zähle:

    Zitat

    Beiträge müssen stets verständlich, leserlich, höflich und dem jeweiligen Thema dienlich sein.

  • Oh, dann entschuldige mich.
    Es kommt jedoch öfters vor, dass die Anfänger mit "dem benutzer sagen" meinen, dem Programm eine Anweisung zu geben, etwas zu tun.
    Somit habe ich ihn missverstanden. <.<


    ("wie kann ich dem benutzer sagen, dass er dateien von a nach b kopieren soll?" - Traurig, ist aber so..)

  • Oh, dann entschuldige mich.
    Es kommt jedoch öfters vor, dass die Anfänger mit "dem benutzer sagen" meinen, dem Programm eine Anweisung zu geben, etwas zu tun.
    Somit habe ich ihn missverstanden. <.<


    ("wie kann ich dem benutzer sagen, dass er dateien von a nach b kopieren soll?" - Traurig, ist aber so..)

    Das hast du schon richtig verstanden ;)


    Nochmal für He3lixxx...
    Das Programm (Visual Basic Express 2010) soll einen bestimmten Befehl ausführen, dieser das jeweilige Programm startet und sich automatisch mit dem Server verbindet.

  • Nun denn. Wie man die Programme startet wurde ja hier schon fleißig beschrieben. Damit sich der Client dann direkt mit einem Server verbindet, musst du für TeamSpeak noch den ts3server:\\ Link als Parameter (2. Argument im Funktionsaufruf) hinzufügen. Damit sich der SA-MP Client direkt mit dem Server verbindet, musst du die hier genannten Startparameter im Funktionsaufruf angeben
    Den Ort der sa-mp.exe und ts3client.exe kannst du aus der Registry auslesen.


    Falls Du Fragen zu Process.Start hast, kannst du hier nachlesen.
    Falls Du Fragen zum Umgang mit der Registry hast, das hier erklärt, wie es geht.

  • Hier mal ein Codeschnipsel, damit kannst du den Benutzernamen ändern und auslesen :)

    Code
    Dim PlayerName As String = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\SAMP\", "PlayerName", Nothing)
    My.Computer.Registry.CurrentUser.OpenSubKey("Software\SAMP\", True).DeleteValue("PlayerName")
    My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\SAMP\", "PlayerName", TextBox1.Text)


    Zum starten (musst du etwas anpassen)

    Code
    General.RunProcess("" & System.Windows.Forms.Application.StartupPath & "\samp.exe", System.Diagnostics.ProcessWindowStyle.Normal, "127.0.0.1:7777 abc123", "False")