how to make local chat? "max 4-5 meters away"
#1

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

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

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

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.
Reply
#5

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?
Reply
#6

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

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>
Reply
#8

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;
}
Reply
#9

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?
Reply
#10

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;
}
Reply
#11

thank you
Reply
#12

Your Welcome

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


Forum Jump:


Users browsing this thread: 2 Guest(s)