OnPlayrText

  • OnPlayrText

    [pwn][/pwn]Hallo,

    kann mir jemand sein OnPlayerText schicken?
    Also will es so, dass nur die User, die in der Nöhe des Spielers stehen das sehen können.
    Habe es so, ist aber komplett Buggy.

    [pwn]public OnPlayerText(playerid, text[])
    {
    new string[128];
    format(string,128,"%s sagt: %s",SpielerName(playerid),text);
    for(new i = 0;i<MAX_PLAYERS;i ++)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(i,15,X,Y,Z))
    {
    SendClientMessage(i,Weis,string);
    return 0;
    }
    }
    return 1;
    }[/pwn]

    Neu im Bereich Pawn? Du kommst nicht klar? Du bist verwirrt und möchtest endlich scripten können?
    Klick mich für mehr Informationen.
  • [pwn] SetPlayerChatBubble(playerid, text, 0xFF0000FF, 20.0, 10000);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);[/pwn]

    [pwn]public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:posx, Float:posy, Float:posz;
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    //radi = 2.0; //Trigger Radius
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(!BigEar)
    {
    GetPlayerPos(i, posx, posy, posz);
    tempposx = (oldposx -posx);
    tempposy = (oldposy -posy);
    tempposz = (oldposz -posz);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
    {
    SendClientMessage(i, col1, string);
    }
    else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
    {
    SendClientMessage(i, col2, string);
    }
    else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
    {
    SendClientMessage(i, col3, string);
    }
    else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
    {
    SendClientMessage(i, col4, string);
    }
    else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    SendClientMessage(i, col5, string);
    }
    }
    else
    {
    SendClientMessage(i, col1, string);
    }
    }
    }
    }//not connected
    return 1;
    }[/pwn]
  • [pwn]public OnPlayerText(playerid, text[])
    {
    new string[128];
    format(string,128,"%s sagt: %s",SpielerName(playerid),text);
    new Float:X,Float:Y,Float:Z; // Außerhalb der Schleife...
    GetPlayerPos(playerid,X,Y,Z); // Außerhalb der Schleife...
    for(new i = 0;i<MAX_PLAYERS;i ++)
    {
    if(IsPlayerInRangeOfPoint(i,15,X,Y,Z)) SendClientMessage(i,Weis,string); // kein Return, das beendet die Funktion (-> auch die Schleife), nur 1 Spieler bekommt die Nachricht)
    }
    return 1;
    }[/pwn]