Hallo liebe Community,
ich suche einen selfmadechat ich habe schon lange gesucht aber das war erfolglos.
Ich hätte es mir so vorgestellt das ein admin mit einen Befehl dies wäre jetzt (/o [text]) das es alle spieler lesen können.
mfg
simplefire
Hallo liebe Community,
ich suche einen selfmadechat ich habe schon lange gesucht aber das war erfolglos.
Ich hätte es mir so vorgestellt das ein admin mit einen Befehl dies wäre jetzt (/o [text]) das es alle spieler lesen können.
mfg
simplefire
if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht eingeloggt!");
return 1;
}
if ((noooc) && PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COLOR_YELLOW, "Der OOC Channel wurde von einem Admin deaktiviert!");
return 1;
}
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Du kannst nicht schreiben, weil du stummgeschaltet bist!");
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, "Verwendung: (/o)oc [text]");
return 1;
}
format(string, sizeof(string), "(( %s: %s ))", sendername, result);
OOCOff(COLOR_OOC,string);
printf("%s", string);
}
return 1;
}
if(strcmp(cmd, "/noooc", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 3 && (!noooc))
{
noooc = 1;
SendClientMessage(playerid, COLOR_YELLOW, "Der OOC Channel wurde von einem Admin deaktiviert!");
}
else if (PlayerInfo[playerid][pAdmin] >= 3 && (noooc))
{
noooc = 0;
BroadCast(COLOR_YELLOW, "Der OOC Channel wurde von einem Admin aktiviert!");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt diesen Befehl zu benutzen!");
}
}
return 1;
}
Sorry vielleicht habe ich mich falsch ausgedrückt aber ich meine das nur admins /o [text] befehl nutzen können und das es dann halt alle spieler lesen können was der admin da geschrieben hat .So zum beispiel /o Bitte kein dm am noobspawn so was meine ich Vielen Dank
Ja bau halt die /oooc Funktioniert und /noooc Funktion nicht ein, fertig
if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht eingeloggt!");
return 1;
}
if ((noooc) && PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COLOR_YELLOW, "Der OOC Channel wurde von einem Admin deaktiviert!");
return 1;
}
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Du kannst nicht schreiben, weil du stummgeschaltet bist!");
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, "Verwendung: (/o)oc [text]");
return 1;
}
format(string, sizeof(string), "(( %s: %s ))", sendername, result);
OOCOff(COLOR_OOC,string);
printf("%s", string);
}
return 1;
}
OCMD mit SSCANF - Natürlich noch Variablen anpassen
ocmd:o(playerid,params[])
{
if(Spieler[playerid][Admin] < 1)return SendClientMessage(playerid,COLOR_GREY,"Du bist kein Admin");
new text[128], string[128],name[MAX_PLAYERS];
GetPlayerName(playerid,name,sizeof(name));
if(sscanf(params,"s",text))return SendClientMessage(playerid,COLOR_GREY,"Fehler: /o [Text]");
format(string,sizeof(string),"Admin %s: %s",name,text);
SendClientMessageToAll(COLOR_WHITE,string);
return 1;
}
Sollte so klappen.
Natürlich brauchst du die ocmd.inc, den sscanf code und du musst deine Variablen einsetzen.
Viel Spaß.
Vielen Dank ich habe bisle rumgespielt danke sehr
so sieht es bei mir aus
ocmd:o(playerid,params[])
{
if(isPlayerAnAdmin(playerid,2))
{
new text[128], string[128],name[MAX_PLAYERS];
GetPlayerName(playerid,name,sizeof(name));
if(sscanf(params,"s",text))return SendClientMessage(playerid,WEIß,"Fehler: /o [Text]");
format(string,sizeof(string),"Admin %s: %s",name,text);
SendClientMessageToAll(WEIß,string);
return 1;
}
}