Hey Leute !
Hab erneut probleme:
Wenn ich jetzt etwas im Server schreibe kann das jeder lesen.
Wie mache ich es, dass z.B steht : Peter sagt:
MFG
Hey Leute !
Hab erneut probleme:
Wenn ich jetzt etwas im Server schreibe kann das jeder lesen.
Wie mache ich es, dass z.B steht : Peter sagt:
MFG
Wurde bereits gefragt. Bitte benutze doch die Suchfunktion ...
Nach was soll ich deiner Meinung nach suchen xD
MFG
unter onplayertext
new string[100];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s sagt: %s", sendername, text);
SendClientMessageToAll(deinefarbe, string);
ungetestet
//edit ortsangabe^^
//edit2
//edit3
oder ungetestet das:
SendPlayerMessageToAll(sender, text);
Fischer hat die Frage nicht verstanden.
Er möchte, dass das nur in einem Umkreis gelesen werden kann
for schleife und distance abfrage!
er sagt aber nirgendwo was davon
nunja dann hab ich das wohl falsch verstanden
ich hab gedacht er will das auf deutsch haben
says-->sagt
geht da auch http://wiki.sa-mp.com/wiki/LimitGlobalChatRadius ?
steht aber nicht MiniYoda sagt, sondern nur MiniYoda xD
ja ok ich geb mich geschlagen^^
positionsabfrage und berechnung der entfernung muss wohl sein
Wie geht das ?
[ SCRIPTING ] Tacho erstellen
hier ist beschrieben wie man eine entfernung zur nächsten berechnet. du muss das halt nur für mehrere personen umstellen
wiki.sa-mp.com
getDistanceBetweenPlayers oder so xD
http://wiki.sa-mp.com/wiki/Use…GetDistanceBetweenPlayers
edit:
Und schon wieder geht MiniYoda an die 3 Punkte Linie und schon wieder verwandelt er gegen Fischer xD (sry tut mir leid, ich hoffe du bist keine Mimose)
Dafür gibt es schon eine Funktion,
ok fail von mir, meister yoda hat recht
#define FARBE_FADE1 0xE6E6E6E6
#define FARBE_FADE2 0xC8C8C8C8
#define FARBE_FADE3 0xAAAAAAAA
#define FARBE_FADE4 0x8C8C8C8C
#define FARBE_FADE5 0x6E6E6E6E
public OnPlayerText(playerid, text[])
{
new string[142];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s sagt: %s", name, text);
ProxDetector(30.0, playerid, string, FARBE_FADE1,FARBE_FADE2,FARBE_FADE3,FARBE_FADE4,FARBE_FADE5);
return 0;
}
stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
if(IsPlayerConnected(playerid))
{
new Float:posx, Float:posy, Float:posz,Float:oldposx, Float:oldposy, Float:oldposz,Float:tempposx, Float:tempposy, Float:tempposz,i=0;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
for(; 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);
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);
}
}
}
}
return 1;
}
wie war das mit keine Komplettlösung geben, lass sich doch mal denken, die können das, aber wenn wir sie nicht fordern, werden sie es nie lernen und du wirst immer ein schlechter Scripter sein, ich rate dir es selbst zu lösen, denn die angebotene Lösung ist viiiiilll zu kompliziert und ehrlich gesagt gleichermaßen lächerlich xD
Das ist meine Variante des Umgebungschats. Funktioniert einwandfrei.
new UC[MAX_PLAYERS]; // Zum Zwischenspeichern ob man im Umgebunschat ist oder nicht. Unter die Includes damit ^^
ocmd:uc(playerid,params[])
{
if(UC[playerid] == 0) // Fragt die Variable UC oben im Script ab.
{
SendClientMessage(playerid,COLOR_YELLOW, " Der Umgebungschat ist eingeschaltet"); //
LimitGlobalChatRadius(30.0); // Hier wird der Chatradius eingestellt mit.
UC[playerid] = 1; // Damit ich den Status später wieder abrufen kann.
return 1;
}
else
{
SendClientMessage(playerid,COLOR_YELLOW, " Der Umgebungschat ist ausgeschaltet");
UC[playerid] = 0;
return 1;
}
}
Wie stelle ich die Reichwite bei den Chats ein?
LimitGlobalChatRadius(Float:chat_radius)
MFG RFT