Hallo Breadfish
Da bin ich mal wieder aber diesmal mit
einen Tutorial den es (glaub ich) nicht gibt.
Also gut wir benötigen nur 3 Sachen.
• Grundwissen.
• 10 Minuten.
• Wissen wie man mit strings umgeht.
Fangen wir an.
___________________________________________________________________
So jetzt würde man denken wir setzten den LimitGlobalChatRadius auf 20 oder
40 aber genau das tun wir nicht. wir setzen ihn auf 0. Also gehen wir unter
OnGameModeInit und setzten den GlobalChatRadius auf 0. Das sollte so aus-
sehen :
public OnGameModeInit()
{
LimitGlobalChatRadius(0);
return 1;
}
So aber warum 0 wenn wir doch die Message an die Senden möchten
die bei uns In der nähe sind? ganz einfach und zwar möchten wir machen
das man die Message so bekommt : SpielerX sagt : X ich meine das so
"|John| sagt : Hallo Welt". Um das hinzubekommen machen wir uns
erstmal ein stock. wir nennen ihn SMessage
stock SMessage(playerid,farbe,text[],Float:umkreis)
{
new Float:xm, Float:ym, Float:zm,maxplayers=GetMaxPlayers(); //erklärt ich von selbst
if(GetPlayerPos(playerid,xm,ym,zm)) //das sollte sich auch von selbst erklären
{
for(new i=0;i<maxplayers;i++) //schleife die durch alle spieler geht
if(IsPlayerConnected(i) && (i==playerid || IsPlayerInRangeOfPoint(i,umkreis,xm,ym,zm)))
SendClientMessage(i,farbe,text);
return 1;
}
return 0;
}
So nun muss die Nachricht auch irgendwie verschickt werden
dafür gehen wir in das publlic OnPlayerText
und schreben nun rein was passieren soll wenn er die nachricht abschickt
public OnPlayerText(playerid, text[])
{
new string[128]; //string
format(string, sizeof(string), "%s sagt: %s",Spielername(playerid),text); // sollte sich von selbst erklären
SMessage(playerid,farbe,string,20); //Hier wird der text gesendet
return 0;
}
So die 20 heißt das nur spieler die Nachricht bekommen die im Umkreis von 20m sind
so ich hoffe ich konnte euch helfen
viel spaß
mfg John
//warum ich das heir gemacht hab Ganz einfahc ich glaube das viele so einen Chat radius brauchen ..