Voice Chat (ähnlich wie TaskForceRadio) - für SA:MP?

  • Moin,


    Es gibt mittlerweile 5 GTA V Projekte, warum wagt sich keiner auf eine Verbesserung für SA:MP?


    Wenn es für SA:MP so etwas wie Task Force Radio geben würde, wäre es 100x besser. :)
    Gibt es jemanden der sowas entwickelt könnte?


    Man müsste ja nur das Task Force Radio Plugin ansprechen (Socket oder irgendwie so) und
    dann einstellen wer einen hört etc? Sollte ja in der Theorie ziemlich einfach sein.


    Kennt sich jemand damit aus? Könnte es jemand durchsetzen?


    Lg,
    m4a_X



    #EDIT


    Wird umgesetzt von "toor" -> [DEVELOPMENT][BETA] SAMP Voice

  • Nicht möglich.


    Du brauchst ein Voice Interface für den Client was nicht in SAMP vorhanden ist, folgendermaßen müßtest du dir einen zweiten Client für den Voice Chat herunterladen.


    Dann könntest du es aber auch gleich in einem AC einbauen und müsstest aber zusätzlich eine permanente Socket Verbindung mit dem Gameserver haben um die Positionsdaten der Spieler bzw. eine Liste der Spieler an welche die Sprachnachricht zu senden ist zu empfangen.


    Bis hier sind 90% der "Scripter" schonmal raus.


    Dann brauchst du noch ein Voice Codec und jemanden der in der Lage ist mit z.B. Opus und RTP sowas zusammen zu bauen.


    Da die meisten hier auch nur Java können sind wieder 50% der letzten 10% raus, da man eine Programmiersprache beherrschen muss die in der Lage dauerhaft gut zu performen. Java ist einfach nur ein Bullshit.


    Dann hast du nur 5% der Leute die in der Lage wären sowas umzusetzen, dann ist da noch die Frage der Zeit. Wer hat genügend Zeit um einen Voice Client zu bauen? So gut wie keiner dieser 5%. Die müssen arbeiten und so etwas braucht Zeit ein Konzept und ein gute eingespieltes Team.


    Anders gesagt. Benutz Teamspeak oder Mumble.

  • Wäre es dann vielleicht möglich Samp mit Teamspeak zu verbinden ?
    Ein Gedankengang der mir gerade kam, alle sitzen im selben Teamspeak Channel, können sich aber nur in Reichweite hören.

    Genau das macht doch das Task Force Radio.

  • Du hast in SAMP nur beschränkten Zugriff auf Tasten Kombinationen und zusätzlich die gleichen Punkte wie davor.


    Wer hat das Wissen, wer die Zeit, wer Testet,? All das für ein Spiel welches nur von wenigen aktiv gespielt wird und dann sind noch die kleinen Kinder und Dilettanten die keine Ahnung haben wie man das benutzt.


  • Task Force Radio, verwendet TeamSpeak für das Voice gedönste.
    Somit braucht man kein Voice Interface, Voice Codec etc alles dann unnötig.


    Das einzigste was man kontrollieren muss ist den TeamSpeak Clienten was per Plugin möglich sein könnte. (TaskForceRadio Plugin u.A.)
    Man muss vom Server aus sagen können das User X nun alle mutet und nur Personen um umkreis mutet und die Lautstärke kalkuliert, das kann alles ein Scripter.
    Also muss ein Plugin/Client geschrieben werden was funktionen ermöglicht wie:


    TogglePlayerVoice(uid, bool); // Mutet, bzw entmutet einen Spieler
    SetVoiceVolume(uid, Float:dB); // Setzt die Lautstärke von dem Spieler in dB


    Im groß und ganzen sollten die zwei Funktionen reichen, dann wäre alles andere per Scripting möglich.


    Lg


    #edit
    Hier ne kleine Simple Funktion die wahrscheinlich nicht klappt, aber immerhin darstellt was ich meine. :D
    #define MAX_DISTANCE 50.0


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerDistanceFromPlayer(i, playerid) < MAX_DISTANCE)
    {
    TogglePlayerVoice(pInfo[i][uID], true);
    TogglePlayerVoice(pInfo[playerid][uID], true);
    SetVoiceVolume(pInfo[i][uID], GetPlayerDistanceFromPlayer(i, playerid));
    SetVoiceVolume(pInfo[i][uID], GetPlayerDistanceFromPlayer(i, playerid));
    }
    else
    {
    TogglePlayerVoice(pInfo[i][uID], false);
    TogglePlayerVoice(pInfo[playerid][uID], false);
    }
    }


    stock Float:GetPlayerDistanceFromPlayer(playerid, targetid)
    {
    new Float:fDist[3];
    GetPlayerPos(playerid, fDist[0], fDist[1], fDist[2]);
    return GetPlayerDistanceFromPoint(targetid, fDist[0], fDist[1], fDist[2]);
    }

  • Code
    TSC_AddClientToServerGroup(clientid, groupid);
    TSC_RemoveClientFromServerGroup(clientid, groupid);

    Damit könnte man den Spieler in eine Servergruppe setzen, die keinerlei Talkpower besitzt. Sprich: Mute.
    Problem Nummer eins gelöst.


    Das Problem bei der Lautstärke ist dass diese je nach Client bestimmt ist und nicht vom Server ausgeht. Entsprechend bietet Teamspeak hierzu auch keine Möglichkeit in der API dies zu tun, denn dies währe ein Zugriff auf den Rechner des jeweiligen Clients und ist damit illegal. Fakto: Wird nie kommen.

  • denn dies währe ein Zugriff auf den Rechner des jeweiligen Clients und ist damit illegal. Fakto: Wird nie kommen.

    1. Rechtsberatung
    2. Totaler Schwachsinn


    Es gibt bereits Task Force Radio, außerdem greife ich nicht auf seinen PC zu sondern auf TeamSpeak das wiederrum nur über ein Plugin/Clienten den die Person selber installiert mit dem wissen was dieses Programm tut. Fazit, einen scheiß ist das illegal.


    Zweitens, deine Lösung mit TalkPower ist zwar gut ausgewählt, allerdings total umständlich und das wichtigste mit der Lautstärke wäre nicht dabei.


    #edit
    Talkpower wird für jeden gesetzt

  • Also, wenn würde ich auf derzeit verfügbare Ressourcen zurückgreifen, du könntest durch die Teamspeak Plugins einen Spieler der in deiner Nähe ist entweder mit dir zusammen in einen dafür temporär von Plugin erstellen Channel moven, jedoch würde ich es nicht via Servergruppe lösen, da die anderen Clients dich nicht Gemutet haben, aber so könnte man den InGame Chat schonmal vereinfachen.

  • So ein Plugin habe ich mal geplannt. Kam aber bisher nicht mehr dazu weiterzumachen auch Hauptsächlich weil mir die Lust an SAMP vergangen ist.
    Vielleicht werde ich mich mal wieder daran setzen wenn Interesse besteht.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Also, wenn würde ich auf derzeit verfügbare Ressourcen zurückgreifen, du könntest durch die Teamspeak Plugins einen Spieler der in deiner Nähe ist entweder mit dir zusammen in einen dafür temporär von Plugin erstellen Channel moven, jedoch würde ich es nicht via Servergruppe lösen, da die anderen Clients dich nicht Gemutet haben, aber so könnte man den InGame Chat schonmal vereinfachen.

    Hab ich mir auch schon gedacht, wäre zwar nicht unbedingt was ich mir Vorstelle würde aber ein paar Situationen im Spiel erleichtern.



    Vielleicht werde ich mich mal wieder daran setzen wenn Interesse besteht.

    Wenn man in SA:MP reden könnte, würde das eine weitere Gen. in meinen Augen erschaffen. :D

  • Hab ich mir auch schon gedacht, wäre zwar nicht unbedingt was ich mir Vorstelle würde aber ein paar Situationen im Spiel erleichtern.


    Wenn man in SA:MP reden könnte, würde das eine weitere Gen. in meinen Augen erschaffen. :D

    Denke es wäre zumindest ein Anfang, die Spieler sofern sie sich im Spiel via TS UID verifiziert haben oder per IP online sind, einfach in einen Channel zu moven..
    Ansonsten wäre ein "Voice" Chat definitiv mal was neues für SAMP :)