Hallo liebe Breadfish user,
ich arbeíte in der zeit an meinem Roleplay Selfmade script ich kann eigentlich gut Scripten nun aber
ich habe eine schwäche im Chat system , wenn ihr euch grade fragt welches chat system dann
beantwort ich euch sie so : >> ALLE << ja weil wenn man schreibt ist das irgendwie in einem chat
das jeder lesen kann , das will ich aber nicht sonder ich will einen : Localen- , Globalen- , Megaphon-Chat
Ich weiß leider nicht wie das geht und wollte fragen ob mir da einer helfen kann.
Chat system?
- deathvirus79
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
schleife, position holen, posi abfragen, senden.
-
Wenn du gut scripten kannst, dann wäre das eig. kein problem für dich ! Zeig mal her wie du das versucht hast.
-
Code
new Float: pos[3]; GetPlayerPos(playerid, pos[0], pos[1], pos[2]); new rad = 20; for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i)) continue; if(!IsPlayerInRangeOfPoint(i, rad, pos[0], pos[1], pos[2])) continue; //Spieler ist in der Nähe und connected, also kannst du hier die Nachricht an diesen Spieler senden. }
Nicht getestet und aus dem Kopf heraus. Sollte aber klappen (auch wenn ich jetzt paar Jahre aus dem SA:MP Scripting raus bin), wenn nicht melde dich.
-
Ein versuch hab ich leider nicht , Perfekt kann ich nicht scripten , übertrieben gut auch nicht aber ich kann SCHON GUT scripten , ich hab das nett mal versucht weil ich nicht mal weis wie ich anfangen soll.
>>Edit an 8D
Wo soll ich das den einfügen?
-
Naja dort wo du es halt benötigst OnPlayerText z.B
Es ist halt ein Grundgerüst
-
Code
new Float: pos[3]; GetPlayerPos(playerid, pos[0], pos[1], pos[2]); new rad = 20; for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i)) continue; if(!IsPlayerInRangeOfPoint(i, rad, pos[0], pos[1], pos[2])) continue; //Spieler ist in der Nähe und connected, also kannst du hier die Nachricht an diesen Spieler senden. }
Nicht getestet und aus dem Kopf heraus. Sollte aber klappen (auch wenn ich jetzt paar Jahre aus dem SA:MP Scripting raus bin), wenn nicht melde dich.
Naja dort wo du es halt benötigst OnPlayerText z.B
Es ist halt ein Grundgerüst
ich glaube abjetz sollte ich das schon allein hinbekommen aber nur noch als sicherheit mal noch 2fragen :
- Wie kann ich einstellen das dann die schrift zmb Grau oder Blau oder sonstiges ist?
- new rad = 20; ist doch der Radius zmb " new rad = 20; " bedeut doch alle in der reichweite von 20radius kann das lessen
-
- Wie kann ich einstellen das dann die schrift zmb Grau oder Blau oder sonstiges ist?
- new rad = 20; ist doch der Radius zmb " new rad = 20; " bedeut doch alle in der reichweite von 20radius kann das lessen
Zu 1:
Bei SendClientMessage einfach eine anderen #RRGGBBAA Farbcode nehmen.
z.B 0xFF0000FF ist Grelles Rot, 0x00FF00FF ist Grün, 0x0000FFFF ist Blau, 0x00FFFFFF ist Gelb.Zu 2: Einfach => JA.
-
Danke aber für die frage 1 die antwort hab ich immer noch nit verstanden
-
Sicher, dass du "schon gut" scripten kannst?
-
-
Bei SendClientMessage ist der zweite Parameter die Farbe. Willst du aber verschiedene Farben haben, so musst du mit den so genannten Hexcodes arbeiten.
Das ist z.B. so etwas:
{FFFFFF}Das wäre nun Weiß.
Diese kannst du hier rausbekommen:
http://html-color-codes.info/webfarben_hexcodes/ -
Also ich weiß das mit SendClientMessage(playerid,GRAU,"WAS KOMMT ABER HIER HIN?");
-
Der text der gesendet werden soll?
-
genau
-
Also ich weiß das mit SendClientMessage(playerid,GRAU,"WAS KOMMT ABER HIER HIN?");
SendClientMessage(playerid,GRAU, deinstringname);
bzw.
SendClientMessage(playerid,GRAU, text);
Bei OnPlayerText (musste gucken wie es im public definiert ist.)/Handy
-
SendClientMessage(playerid,GRAU, deinstringname);
bzw.
SendClientMessage(playerid,GRAU, text);
Bei OnPlayerText (musste gucken wie es im public definiert ist.)/Handy
Gut ein teil klappt ja aufjeden fall kommt es jetz grau aber es kommt dann zmb so An
Anfang :
Ich schreibe Hey
dann kommt in Grau
Hey
und datrunter steht
deathvirus79 : Hey
aber das in weiß wieder -
Schick mal den ganzen public OnPlayerText
-
Schick mal den ganzen public OnPlayerText
Da
new Float: pos[3];GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
new rad = 20;
for(new i = 0; i < MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i)) continue;
if(!IsPlayerInRangeOfPoint(i, rad, pos[0], pos[1], pos[2])) continue;
//Spieler ist in der Nähe und connected, also kannst du hier die Nachricht an diesen Spieler senden. } -
Den ganzen am besten aber egal,
hast du ganz unten
Return 0;stehen?
-
public OnPlayerText(playerid, text[]){ new Float: pos[3]; GetPlayerPos(playerid, pos[0], pos[1], pos[2]); new rad = 20; for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i)) continue; if(!IsPlayerInRangeOfPoint(i, rad, pos[0], pos[1], pos[2])) continue; //Spieler ist in der Nähe und connected, also kannst du hier die Nachricht an diesen Spieler senden. } return 1;}