SA-MP Forums Archive
how to make local chat? "max 4-5 meters away" - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: how to make local chat? "max 4-5 meters away" (/showthread.php?tid=193055)



how to make local chat? "max 4-5 meters away" - jonnyboy - 24.11.2010

how do i make so you can only chat in your current area? like Local chat not global chat? need help


Re: how to make local chat? "max 4-5 meters away" - Fj0rtizFredde - 24.11.2010

You could use LimitGlobalChatRadius. Or make a loop and check if the players is near the one that sends the message


Re: how to make local chat? "max 4-5 meters away" - jonnyboy - 24.11.2010

on:
pawn Код:
public OnGameModeInit()
{
    LimitGlobalChatRadius(200.0);
    return 1;
}
should i just add it? and what does (200) do? is that meters? or centimetres?


Re: how to make local chat? "max 4-5 meters away" - Zh3r0 - 24.11.2010

Quote:
Originally Posted by jonnyboy
Посмотреть сообщение
on:
pawn Код:
public OnGameModeInit()
{
    LimitGlobalChatRadius(200.0);
    return 1;
}
should i just add it? and what does (200) do? is that meters? or centimetres?
It's meters, why would it be centimeters ?

Also, this limits the chat radius for EVERYONE, if you want to do it just for one player.
Use a loop and a function that calculates radius.


Re: how to make local chat? "max 4-5 meters away" - jonnyboy - 24.11.2010

Quote:
Originally Posted by Zh3r0
Посмотреть сообщение
It's meters, why would it be centimeters ?

Also, this limits the chat radius for EVERYONE, if you want to do it just for one player.
Use a loop and a function that calculates radius.
loop wut?


Re: how to make local chat? "max 4-5 meters away" - Zh3r0 - 24.11.2010

Quote:
Originally Posted by jonnyboy
Посмотреть сообщение
loop wut?
I just gave you the tip, it's up to you to realize the code and stuff.


Re: how to make local chat? "max 4-5 meters away" - jonnyboy - 24.11.2010

Quote:
Originally Posted by Zh3r0
Посмотреть сообщение
I just gave you the tip, it's up to you to realize the code and stuff.
ah, ok

<max 8 characters>


Re: how to make local chat? "max 4-5 meters away" - Anthonyx3' - 24.11.2010

if your talking about like roleplay IC chat try this:

pawn Код:
public OnPlayerText(playerid, text[])
{
    new pname[24], str[128];
    GetPlayerName(playerid, pname, 24);
    format(str, sizeof(str), "%s Says: %s", pname, text);
    ProxDetector(10.0, playerid, str, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
    return 0;
}



Re: how to make local chat? "max 4-5 meters away" - jonnyboy - 24.11.2010

Quote:
Originally Posted by Anthonyx3'
Посмотреть сообщение
if your talking about like roleplay IC chat try this:

pawn Код:
public OnPlayerText(playerid, text[])
{
    new pname[24], str[128];
    GetPlayerName(playerid, pname, 24);
    format(str, sizeof(str), "%s Says: %s", pname, text);
    ProxDetector(10.0, playerid, str, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
    return 0;
}
Код:
C:\Documents and Settings\Old Smurf\My Documents\Hдmtade filer\Ravens\Ravens\gamemodes\rp.pwn(2711) : error 017: undefined symbol "ProxDetector"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
help?


Re: how to make local chat? "max 4-5 meters away" - Anthonyx3' - 24.11.2010

You need the forward and the public. Ill post hold up

pawn Код:
forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
and
pawn Код:
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) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
            {
                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;
}



Re: how to make local chat? "max 4-5 meters away" - jonnyboy - 25.11.2010

thank you


Re: how to make local chat? "max 4-5 meters away" - Anthonyx3' - 25.11.2010

Your Welcome

This forum requires that you wait 120 seconds between posts. Please try again in 56 seconds.