Sign in to follow this  
Gabi

Cum fac să se trimită mesajul doar la o rază de jucători, nu la tot server-ul când scriu ceva?

Recommended Posts

Salut, totul este foarte simplu, avem nevoie de o funcție numită: NearMessage(așa am denumit-o eu, așa am văzut-o pe o mare parte din gm-uri așa că am decis s-o fac cu numele ăsta).

Funcție: 

function NearMessage(playerid, const string[], color, range)
{
    new Float: X, Float: Y, Float: Z;
    GetPlayerPos(playerid, X, Y, Z);
    foreach(new i: Player)
    {
        if(IsPlayerInRangeOfPoint(i, range, X, Y, Z))
        {
            SCM(i, color, string);
        }
    }
}

 

Acum, căutăm OnPlayerText, dacă nu o aveți o puteți adăuga voi: public OnPlayerText(playerid, text[])

 

Acum, între { }  punem:

 

public OnPlayerText(playerid, text[])
{
	new string[128];
	format(string, 128, "%s scrie: %s", GetName(playerid), text);
	NearMessage(playerid, string, -1, 10);
	return 0;
}

 

Apropo, funcția GetName(playerid)

 

stock GetName(playerid)
{
	new pName[MAX_PLAYER_NAME];

	GetPlayerName(playerid, pName, sizeof(pName));
	return pName;
}

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this