Skripta koju koristim: GTA-RP
Detaljan opis problema: Pa napravio sam komandu /gm za gamemaster chat i stavio sam da mogu i admini koristiti taj chat, a problem je to sto kad sam admin i napisem /gm napise ovako:
Citat[18:22:09] |GM 1|Dwayne_Miller: a
[18:22:09] |GM 1|Dwayne_Miller: a
Dio skripte:
//----------------------------------[GMChat]-----------------------------------------------
if(strcmp(cmd, "/gm", 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, "USAGE: /gm [gm chat]");
return 1;
}
new grank[64];
if(PlayerInfo[playerid][pGameMaster] == 1) { grank = "|GM| 1"; }
else if(PlayerInfo[playerid][pGameMaster] == 2) { grank = "|GM| 2"; }
else if(PlayerInfo[playerid][pGameMaster] == 3) { grank = "|GM| 3"; }
else if(PlayerInfo[playerid][pGameMaster] == 4) { grank = "|GM| 4"; }
else { grank = "GM 1"; }
new arank[64];
if(PlayerInfo[playerid][pAdmin] == 1) { arank = "Admin 1"; }
else if(PlayerInfo[playerid][pAdmin] == 2) { arank = "Admin 2"; }
else if(PlayerInfo[playerid][pAdmin] == 3) { arank = "Admin 3"; }
else if(PlayerInfo[playerid][pAdmin] == 4) { arank = "Admin 4"; }
else if(PlayerInfo[playerid][pAdmin] == 1337) { arank = "Admin 1337"; }
else if(PlayerInfo[playerid][pAdmin] == 1338) { arank = "Admin 1338"; }
else if(PlayerInfo[playerid][pAdmin] == 1339) { arank = "Admin 1339"; }
else if(PlayerInfo[playerid][pAdmin] == 1340) { arank = "Admin 1340"; }
else { arank = "Admin 1"; }
format(string, sizeof(string), "|%s|%s: %s", grank, sendername, result);
if (PlayerInfo[playerid][pGameMaster] >= 1)
format(string, sizeof(string), "|%s|%s: %s", arank, sendername, result);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
SendAdminMessage(COLOR_YELLOW, string);
SendGMMessage(COLOR_YELLOW, string);
}
printf("GM %s: %s", sendername, result);
printf("Admin %s: %s", sendername, result);
}
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Ovaj deo ne kapiram:
format(string, sizeof(string), "|%s|%s: %s", grank, sendername, result);
if (PlayerInfo[playerid][pGameMaster] >= 1)
format(string, sizeof(string), "|%s|%s: %s", arank, sendername, result);
if (PlayerInfo[playerid][pAdmin] >= 1)
Formatiras testa ali sta ispitujes XD
//----------------------------------[GMChat]-----------------------------------------------
if(strcmp(cmd, "/gm", true) == 0)
{
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, "USAGE: /gm [gm chat]");
return 1;
}
new grank[64];
if(PlayerInfo[playerid][pGameMaster] == 1) { grank = "|GM| 1"; }
else if(PlayerInfo[playerid][pGameMaster] == 2) { grank = "|GM| 2"; }
else if(PlayerInfo[playerid][pGameMaster] == 3) { grank = "|GM| 3"; }
else if(PlayerInfo[playerid][pGameMaster] == 4) { grank = "|GM| 4"; }
else { grank = "GM 1"; }
new arank[64];
if(PlayerInfo[playerid][pAdmin] == 1) { arank = "Admin 1"; }
else if(PlayerInfo[playerid][pAdmin] == 2) { arank = "Admin 2"; }
else if(PlayerInfo[playerid][pAdmin] == 3) { arank = "Admin 3"; }
else if(PlayerInfo[playerid][pAdmin] == 4) { arank = "Admin 4"; }
else if(PlayerInfo[playerid][pAdmin] == 1337) { arank = "Admin 1337"; }
else if(PlayerInfo[playerid][pAdmin] == 1338) { arank = "Admin 1338"; }
else if(PlayerInfo[playerid][pAdmin] == 1339) { arank = "Admin 1339"; }
else if(PlayerInfo[playerid][pAdmin] == 1340) { arank = "Admin 1340"; }
else { arank = "Admin 1"; }
if (PlayerInfo[playerid][pGameMaster] >= 1) { format(string, sizeof(string), "|%s|%s: %s", grank, sendername, result); }
if (PlayerInfo[playerid][pAdmin] >= 1) { format(string, sizeof(string), "|%s|%s: %s", arank, sendername, result); }
SendAdminMessage(COLOR_YELLOW, string);
SendGMMessage(COLOR_YELLOW, string);
printf("GM %s: %s", sendername, result);
printf("Admin %s: %s", sendername, result);
return 1;
}
Sada znaci ako je GM formatira ovaj text:
format(string, sizeof(string), "|%s|%s: %s", grank, sendername, result);
A ako je Admin formatira format(string, sizeof(string), "|%s|%s: %s", arank, sendername, result); taj text
i onda salje poruke
Opet isto samo sto ne pise |GM 1|Dwayne Miller: a nego pise |Admin 1338|Dwayne Miller
Citat: ItAk poslato Novembar 08, 2011, 16:26:21 POSLE PODNE
Opet isto samo sto ne pise |GM 1|Dwayne Miller: a nego pise |Admin 1338|Dwayne Miller
Ako to pise onda i jesi adm lvl 1338 :S
Kod od Gagija je dobar...
Citat: [SC] ScHaLe poslato Novembar 08, 2011, 16:53:42 POSLE PODNE
Citat: ItAk poslato Novembar 08, 2011, 16:26:21 POSLE PODNE
Opet isto samo sto ne pise |GM 1|Dwayne Miller: a nego pise |Admin 1338|Dwayne Miller
Ako to pise onda i jesi adm lvl 1338 :S
Kod od Gagija je dobar...
:O o cemu ti pricas?? :O pogledaj malo bolje temu!
Citat: ItAk poslato Novembar 08, 2011, 17:32:14 POSLE PODNE
Citat: [SC] ScHaLe poslato Novembar 08, 2011, 16:53:42 POSLE PODNE
Citat: ItAk poslato Novembar 08, 2011, 16:26:21 POSLE PODNE
Opet isto samo sto ne pise |GM 1|Dwayne Miller: a nego pise |Admin 1338|Dwayne Miller
Ako to pise onda i jesi adm lvl 1338 :S
Kod od Gagija je dobar...
:O o cemu ti pricas?? :O pogledaj malo bolje temu!
On je rekao da li si sebi dao uopste GameMaster-a
Aj onda probaj ovako
//----------------------------------[GMChat]-----------------------------------------------
if(strcmp(cmd, "/gm", true) == 0)
{
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, "USAGE: /gm [gm chat]");
return 1;
}
new rank[64];
if(PlayerInfo[playerid][pGameMaster] == 1) { rank = "|GM| 1"; }
else if(PlayerInfo[playerid][pGameMaster] == 2) { rank = "|GM| 2"; }
else if(PlayerInfo[playerid][pGameMaster] == 3) { rank = "|GM| 3"; }
else if(PlayerInfo[playerid][pGameMaster] == 4) { rank = "|GM| 4"; }
else if(PlayerInfo[playerid][pAdmin] == 1) { rank = "Admin 1"; }
else if(PlayerInfo[playerid][pAdmin] == 2) { rank = "Admin 2"; }
else if(PlayerInfo[playerid][pAdmin] == 3) { rank = "Admin 3"; }
else if(PlayerInfo[playerid][pAdmin] == 4) { rank = "Admin 4"; }
else if(PlayerInfo[playerid][pAdmin] == 1337) { rank = "Admin 1337"; }
else if(PlayerInfo[playerid][pAdmin] == 1338) { rank = "Admin 1338"; }
else if(PlayerInfo[playerid][pAdmin] == 1339) { rank = "Admin 1339"; }
else if(PlayerInfo[playerid][pAdmin] == 1340) { rank = "Admin 1340"; }
if (PlayerInfo[playerid][pGameMaster] >= 1) { format(string, sizeof(string), "|%s|%s: %s", rank, sendername, result); }
if (PlayerInfo[playerid][pAdmin] >= 1) { format(string, sizeof(string), "|%s|%s: %s", rank, sendername, result); }
SendAdminMessage(COLOR_YELLOW, string);
SendGMMessage(COLOR_YELLOW, string);
printf("GM %s: %s", sendername, result);
printf("Admin %s: %s", sendername, result);
return 1;
}
Citat: ItAk poslato Novembar 08, 2011, 16:26:21 POSLE PODNE
Opet isto samo sto ne pise |GM 1|Dwayne Miller: a nego pise |Admin 1338|Dwayne Miller
pa kad si sebi dao i admina i gamemastera lol zato ti ispisuje za obadva.