%s sagt: mit translate.google.com/#en|de|

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • hey ich war grade auf so ein server und immer wen man getextet hat bzw was geschrieben hat kamm immer so ein sond der es nach gelabert hat wie kann ich das damit verbinden mit soundinput text ?


    ich habe es mal so versucht :D


    if (realchat)
    {
    if(gPlayerLogged[playerid] == 0)
    {
    return 0;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    PlayAudioStreamForPlayer(playerid,"http://translate.google.com/#en|de|",text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }

    Einmal editiert, zuletzt von Pink Floyd () aus folgendem Grund: edit

  • Hier mal eine Funktion die das machen sollte:


    stock VoiceText(playerid,language[],text[])
    {
    new url[256];
    format(url, sizeof(url), "http://translate.google.com/translate_tts?tl=%s&q=%s",language,text);
    Audio_PlayStreamed(playerid,url,false,false,false);
    return 1;
    }


    Nutzung: VoiceText(playerid,"de","Dies ist ein VoiceText");

  • und der labert das wen ich normal mit t schreibe alles nach ?

  • Laut deinem Ausschnitt müsstest du die Funktion wie folgt nutzen:


    if (realchat)
    {
    if(gPlayerLogged[playerid] == 0)
    {
    return 0;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    VoiceText(playerid,"de","%s");
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }


    Du musst aber bedenken, das er dann nur den jeweiligen Text als Sprache ausgibt und das es der ganze Server hört und nicht nur die Umgebung.

  • ich raffe dein vorhaben nicht wie soll er den den text lesen ??


    if(strcmp(cmd, "/local", true) == 0 || strcmp(cmd, "/l", true) == 0 || strcmp(cmd, "/say", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt!");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: (/l)ocal [local chat]");
    return 1;
    }
    format(string, sizeof(string), "%s Sagt: %s", sendername, result);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    printf("%s", string);
    }
    return 1;
    }


    das muss ja hier nagepasst werden das da oben war falsch
    ich muss doch das ganze als inputex auslesen lassen ich ersteh nix ?(

  • So fangen wir nochmal bei den Grundlagen an, das was oben in dem CMD in string formatiert wurde ist die Ausgabe was der Spieler schreibt und wie er heißt. So nun nutzen wir diese Ausgabe in unserer Funktion so das der Google Translator dies voiced und ausgibt.


    VoiceText(playerid,"de",string); am besten unter das format in der Funktion.


    Beachte aber das diese Funktion den Text global streamed, also hört es jeder auf dem Server

  • dann müsste ich es so machen ?


    format(string, sizeof(string), "%s Sagt: %s", sendername, result);
    VoiceText(playerid,"de","result");
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    printf("%s", string);
    :huh:


    und bekomme das die ganze zeit


    (47789) : error 017: undefined symbol "Audio_PlayStreamed"
    (47785) : warning 203: symbol is never used: "playerid"

  • bekomme aber das
    (47789) : error 017: undefined symbol "Audio_PlayStreamed"
    (47785) : warning 203: symbol is never used: "playerid"

  • Ups sry, die Funktion hat das Audio Plugin genutzt.
    Die hier funktioniert mit den Standart Samp Funktionen:


    stock VoiceText(playerid,language[],text[])
    {
    new url[256];
    format(url, sizeof(url), "http://translate.google.com/translate_tts?tl=%s&q=%s",language,text);
    PlayAudioStreamForPlayer(playerid, url);
    return 1;
    }


    Nicht zu vergessen, das hier wieder Global der Voice ausgegeben wird.

  • das prop ist nur ich habe grade auch was geändert dan ging es auch nur dan sagte die alte immer result result result egal was ich eingeben habe es kamm immer result :D


    ka wie ich den text auslesen soll wen ich %s machen sagt die %s (lachkrampf)

  • So, hab mal die Funktion ganz umgeschrieben. Da die oben mist war ^^ Die hat nichtmal richtig funktioniert. (Vom sinn her)

    stock VoiceInRange(playerid,language[],text[],distance = 20.0)
    {
    new url[256],new Float: VoicePos[3];
    GetPlayerPos(playerid, VoicePos[0], VoicePos[1], VoicePos[2]);
    format(url, sizeof(url), "http://translate.google.com/translate_tts?tl=%s&q=%s",language,text);
    for(new i; i != MAX_PLAYERS; ++i)
    {
    PlayAudioStreamForPlayer(i, url,VoicePos[0],VoicePos[1],VoicePos[2],distance,1);
    }
    return 1;
    }


    Die hier streamt für jeden in der angegeben Umgebung (distance (Standart 20)) den VoiceText.


    Nutzen kannst du sie wie vorher, nach dem string mit "VoiceInRange(playerid,"de",string);"

  • und das hört dan jeder geil
    ich habe das andere jetzt auch hin bekommen man hört das aber nur bei sich ich werde mal deine austesten kannse mal auf mein ts kommen bekommst pn brauch ein zum testen ^^

  • geht aber nicht das es alle hören bekomme das hier


    (47786) : warning 213: tag mismatch
    (4778) : error 001: expected token: "-identifier-", but found "new"
    (47789) : error 017: undefined symbol "VoicePos"
    (47789) : warning 215: expression has no effect
    (47789) : error 001: expected token: ";", but found "]"
    (47789) : error 029: invalid expression, assumed zero
    (47789) : fatal error 107: too many error messages on one line

  • Das tag mismatch Warning ist auf jeden in der Zeile der stock.

    Zitat

    stock VoiceInRange(playerid,language[],text[],distance = 20.0)

    MfG Boss