Reallife Chat und gta skill ändern

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
  • Hallo liebe Fische,
    ich wollte gern wissen wie man aus einem normalen chat einen Reallife chat macht... also das die leute nur in der Umgebung das hören.


    Und ich wollte fragen wo im script ich es machen kann das der Spieler nicht so lahmarschig läuft.



    mfg Drake

  • ist ein komplettes selfmade^^ da ist nix muss alles selber machen

  • Vielen dank internetink^^ :D :love: :love:


    Aber wie ändert man das ich nicht automatisch Orange schreibe ?
    und das da steht vlt Drake_Bell sagt:

  • So vllt? Ich meine mich zu erinnern das das gelaggt hat dadurch xD Ist also nicht die beste lösung :D



    public OnPlayerText(playerid, text[])
    {
    new Float:slx, Float:sly, Float:slz,pName[30], string[126];
    GetPlayerPos(playerid, slx, sly, slz);
    GetPlayerName(playerid, pName, 30);
    for(new i;i<=MAX_PLAYERS;i++)
    {
    if(PlayerToPoint(20.0,i, slx,sly,slz))
    {
    format(string, 256, "%s sagt: %s", pName,text);
    SendClientMessage(i, COLOR_WHITE, string);
    }
    else {return 0;}
    }
    return 1;
    }

  • weiß jemand grad die definierung von PlayerToPoint grad aus dem kopf ?^^

  • Ist nicht das Standart Player To Point, sollte aber auch gehen (aus dem Kopf geschrieben)

    stock PlayerToPoint(playerid,Float:X,Float:Y,Float:Z,Float:R)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    return ((pX - X) ^ 2) + ((pY - Y) ^ 2) + ((pZ - Z) ^ 2) < (R ^ 2); // denke, hier ginge auch wenn man X - pX rechnet,da man ja nur die Entfernung berechnet
    }

  • Hier, einfach ganz unten ins Script tun

    stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }

  • Danke liebe Fische die mir geholfen haben :D werde das jetz testen

  • Kürzer wäre meine oder Y_Less Variante:

    stock IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)
    {
    new
    Float:px,
    Float:py,
    Float:pz;
    GetPlayerPos(playerid, px, py, pz);
    px -= x;
    py -= y;
    pz -= z;
    return ((px * px) + (py * py) + (pz * pz)) < (range * range);
    }

  • jetz ist aber noch bei der Playerlist die Orangene Makierung da . . .

  • habs probiert mit SetPlayerColor (COLOR_WHITE) ; ändert aber i-wie nix^^

  • Wann soll der Player weiß werden? wenn er spawnt oder wann?