Skripta koju koristim: Street Stories
Detaljan opis problema: Zašto mi GMovi vide /admin chat i /headadminchat :SS
Dio skripte: dolje ću stavit
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
evo:
if(strcmp(cmd, "/a", true) == 0 || strcmp(cmd, "/admin", true) == 0)
{
if(IsPlayerConnected(playerid))
{
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, "Koristi: /a [Admin Chat]");
return 1;
}
format(string, sizeof(string), "|%d|A|%s:{FFFFFF} %s", PlayerInfo[playerid][pAdmin], sendername, result);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
SendAdminMessage(COLOR_LIGHTBLUE, string);
}
printf("Admin %s: %s", sendername, result);
}
return 1;
}
ZaÅ¡to GMovi vide /report, znaÄi admini bi trebali vidjet /pomoc i report a gmovi samo /pomoc,a oni vide sve :S
evo /report
if(strcmp(cmd, "/report", true) == 0)
{
if(IsPlayerConnected(playerid))
{
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, "Koristite: /report [text]");
return 1;
}
format(string, sizeof(string), "|R|%s: %s", sendername, (result));
ABroadCast(COLOR_YELLOW,string,1);
SendClientMessage(playerid, COLOR_YELLOW, "Vase pitanje je poslano svim online Adminima.");
}
return 1;
}
Jer su ti u modu zapravo GMovi admini lvl 1 kolko se meni cini .... trealo bi ako je odvojeno valjda
if (PlayerInfo[playerid][pAdmin] >= 1)
Tu se negira svaki dodir sa obicnim igracem ....
A ocito ne i sa Gmovima
imam ja u enum pinfo i pAdmin i pGameMaster. Ako na to misliš xD
i gm komande admin ne moze koristit (/gmon) tako da nisu onda gm komande admin lvl 1 :S
Malo vidi public ABroadCast
za /a chat posataj public SendAdminMessage(color, string[])
a onda ces za /report umjesto abroadcasta stavit sednadminmessage jer je ti je abroadcast stavit za gm i admina
a i sigurno i sendadminmessage
evo public sendadminmessage
public SendAdminMessage(color, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1 || PlayerInfo[i][pGameMaster] >= 1)
{
SendClientMessage(i, color, string);
}
}
}
}
moze lock,rijesio sam. hvala na pomoci :-*
stavi ovako ali to ce ti radit samo za /A chat..
public SendAdminMessage(color, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1)
{
SendClientMessage(i, color, string);
}
}
}
}
evo ti za report samo da admin moze vidit
if(strcmp(cmd, "/report", true) == 0)
{
if(IsPlayerConnected(playerid))
{
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, "Koristite: /report [text]");
return 1;
}
format(string, sizeof(string), "|R|%s: %s", sendername, (result));
SendAdminMessage(COLOR_GREEN, string);
SendClientMessage(playerid, COLOR_YELLOW, "Vase pitanje je poslano svim online Adminima.");
}
return 1;
}
nadam se da si skuzio
Koliko sam ja shvatio..
ZnaÄi napravio sam: SendAdminMessage i SendGameMasterMessage
hoce li to valjati jer nemam sad vremena testirati s nekim :D
SendAdminMessage
public SendAdminMessage(color, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1)
{
SendClientMessage(i, color, string);
}
}
}
}
sendGameMasterMessage
public SendGameMasterMessage(color, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pGameMaster] >= 1)
{
SendClientMessage(i, color, string);
}
}
}
}
da radit ce..