Wie mach ich das, wenn ich /ps <text> eingebe, steht im Chat ne Nachricht?
Also ne SendClientMessageToAll nur der eigene Text?
/ps Command
- LuX
- 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
-
-
if(strcmp(cmd, "/ps", true) == 0 && PlayerInfo[playerid][pAdmin] >=1)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ps) [TEXTNACHRICHT]");
return 1;
}
SendClientMessageToAll(format(string, sizeof(string), "Ein Admin sagt: %s", result));
return 1;
}
}So vielleicht
-
if(strcmp(cmd, "/ps", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ps) [TEXTNACHRICHT]");
return 1;
}
format(string, sizeof(string), "%s sagt: %s", sendername, result);
ProxDetector(20.0, playerid, string,FARBE1,FARBE2,FARBE3,FARBE4,FARBE5);
return 1;
}
}So vielleicht
Ja, mit Adminlevel bitte noch und ohne, dass man den Namen sieht. -
if(strcmp(cmd, "/ps", true) == 0 && PlayerInfo[playerid][pAdmin] >=1)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ps) [TEXTNACHRICHT]");
return 1;
}
SendClientMessageToAll(format(string, sizeof(string), "Ein Admin (Lvl. %d) sagt: %s", PlayerInfo[playerid][pAdmin], result));
return 1;
}
}Also ich hab's jetzt so gemacht, dass "ein Admin etwas sagt" und Admin ist definiert, wenn derjenige einen Rang von 1 oder höher hat (kannst du ja verändern ^^)
-
if(strcmp(cmd, "/ps", true) == 0 && PlayerInfo[playerid][pAdmin] >=1)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ps) [TEXTNACHRICHT]");
return 1;
}
SendClientMessageToAll(format(string, sizeof(string), "Ein Admin (Lvl. %d) sagt: %s", PlayerInfo[playerid][pAdmin], result));
return 1;
}
}Also ich hab's jetzt so gemacht, dass "ein Admin etwas sagt" und Admin ist definiert, wenn derjenige einen Rang von 1 oder höher hat (kannst du ja verändern ^^)
So wollte ich das ungefähr. Werde ich testen.if(strcmp(cmd, "/ps", true) == 0 && PlayerInfo[playerid][pAdmin] >=2000)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ps) [TEXTNACHRICHT]");
return 1;
}
SendClientMessageToAll(format(string, sizeof(string), "%s", result));
return 1;
}
}warning 202: number of arguments does not match definition
Zeile:
SendClientMessageToAll(format(string, sizeof(string), "%s", result));
-
Versuchs mal so:
pwn spackt bei mir.
Poste es mal so. Sorry.if(strcmp(cmd, "/ps", true) == 0 && PlayerInfo[playerid][pAdmin] >=2000)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ps) [TEXTNACHRICHT]");
return 1;
}
else
{
SendClientMessageToAll(format(string, sizeof(string), "%s", result));
return 1;
}
}
} -
Ich will natürlich auch was lernen, was hast du verändert?
-
Hat es denn geklappt?
Habe in der letzten Zeile ein Else eingefügt, da es sonst keinen sinn ergab. -
if(strcmp(cmd, "/ps", true) == 0 && PlayerInfo[playerid][pAdmin] >=1)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist noch nicht eingeloggt!");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: (/ps) [TEXTNACHRICHT]");
return 1;
}
format(string, sizeof(string), "%s",result);
SendClientMessageToAll(Farbe,string);
return 1;
}
}
so?//edit: klammer hinzugefügt
-
Hat geklappt. DANKE.
-
-
breadfish.de
Hat das Thema geschlossen.