[Ajuda] Nao mandar menssagem -
Senhor_Azul - 09.05.2012
Falae galera,eu quero fazer o seguinte:quando um admin que й level maior que 1340,quando ele digitar /trabalhar nao aparecer a menssagem que ele esta trabalhando/jogando pro servidor inteiro.Como que eu faзo isso ?
pawn Код:
if(strcmp(cmd, "/trabalhar", true) == 0)
{
if(PlayerInfo[playerid][pJailed] != 0)
{
SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode trabalhar na cadeia!");
return true;
}
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(admtrampando[playerid] > 0)
{
admtrampando[playerid] = 0;
GetPlayerName(playerid,sendername,sizeof(sendername));
SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
format(string, 128, "{00BFFF}Admin: %s estб Jogando, Veja mais em {E0EEE0}/admins",sendername, playerid);
SendClientMessageToAll(0xFFFBF8AA, string);
KillTimer(TempoAdministrador);
SetPlayerToTeamColor(playerid);
ResetPlayerWeaponsEx(playerid);
SetPlayerHealth(playerid,100);
getdate(year, month, day);
gettime(hour,minute,second);
format(gstring, sizeof(gstring), "%s esta jogando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
AdminLog(gstring);
}
else
{
admtrampando[playerid] = 1;
GetPlayerName(playerid,sendername,sizeof(sendername));
SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
format(string, 128, "{00BFFF}Admin: %s estб Trabalhando, veja mais em {E0EEE0}/admins",sendername, playerid);
SendClientMessageToAll(0xFFFBF8AA, string);
SetPlayerToTeamColor(playerid);
TempoAdministrador = SetTimerEx("Administrador", 100, true, "i", playerid);
getdate(year, month, day);
gettime(hour,minute,second);
format(gstring, sizeof(gstring), "%s esta trabalhando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
AdminLog(gstring);
}
}
return true;
}
Valeu ae a todos.
Re: [Ajuda] Nao mandar menssagem -
Linow - 09.05.2012
Код:
if(strcmp(cmd, "/trabalhar", true) == 0)
{
if(PlayerInfo[playerid][pJailed] != 0)
{
SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode trabalhar na cadeia!");
return true;
}
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(admtrampando[playerid] > 0)
{
admtrampando[playerid] = 0;
if(PlayerInfo[playerid][pAdmin] >= 1340)
{
SetTimerEx("Administrador", 100, true, "i", playerid);
return false;
}
GetPlayerName(playerid,sendername,sizeof(sendername));
SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
format(string, 128, "{00BFFF}Admin: %s estб Jogando, Veja mais em {E0EEE0}/admins",sendername, playerid);
SendClientMessageToAll(0xFFFBF8AA, string);
KillTimer(TempoAdministrador);
SetPlayerToTeamColor(playerid);
ResetPlayerWeaponsEx(playerid);
SetPlayerHealth(playerid,100);
getdate(year, month, day);
gettime(hour,minute,second);
format(gstring, sizeof(gstring), "%s esta jogando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
AdminLog(gstring);
}
else
{
admtrampando[playerid] = 1;
if(PlayerInfo[playerid][pAdmin] >= 1340)
{
SetTimerEx("Administrador", 100, true, "i", playerid);
return false;
}
GetPlayerName(playerid,sendername,sizeof(sendername));
SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
format(string, 128, "{00BFFF}Admin: %s estб Trabalhando, veja mais em {E0EEE0}/admins",sendername, playerid);
SendClientMessageToAll(0xFFFBF8AA, string);
SetPlayerToTeamColor(playerid);
TempoAdministrador = SetTimerEx("Administrador", 100, true, "i", playerid);
getdate(year, month, day);
gettime(hour,minute,second);
format(gstring, sizeof(gstring), "%s esta trabalhando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
AdminLog(gstring);
}
}
return true;
}
Sу isso basta.
#EDIT:
Faltou colocar uma if quando ele nгo estб trabalhando.
Re: [Ajuda] Nao mandar menssagem -
Senhor_Azul - 09.05.2012
Beleza,funciono,mas ele da server unknow commando.
Re: [Ajuda] Nao mandar menssagem -
Linow - 09.05.2012
pawn Код:
if(strcmp(cmd, "/trabalhar", true) == 0)
{
if(PlayerInfo[playerid][pJailed] != 0)
{
SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode trabalhar na cadeia!");
return true;
}
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(admtrampando[playerid] > 0)
{
admtrampando[playerid] = 0;
if(PlayerInfo[playerid][pAdmin] >= 1340)
{
SetTimerEx("Administrador", 100, true, "i", playerid);
}
else
{
GetPlayerName(playerid,sendername,sizeof(sendername));
SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
format(string, 128, "{00BFFF}Admin: %s estб Jogando, Veja mais em {E0EEE0}/admins",sendername, playerid);
SendClientMessageToAll(0xFFFBF8AA, string);
KillTimer(TempoAdministrador);
SetPlayerToTeamColor(playerid);
ResetPlayerWeaponsEx(playerid);
SetPlayerHealth(playerid,100);
getdate(year, month, day);
gettime(hour,minute,second);
format(gstring, sizeof(gstring), "%s esta jogando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
AdminLog(gstring);
}
}
else
{
admtrampando[playerid] = 1;
if(PlayerInfo[playerid][pAdmin] >= 1340)
{
SetTimerEx("Administrador", 100, true, "i", playerid);
return false;
}
else
{
GetPlayerName(playerid,sendername,sizeof(sendername));
SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
format(string, 128, "{00BFFF}Admin: %s estб Trabalhando, veja mais em {E0EEE0}/admins",sendername, playerid);
SendClientMessageToAll(0xFFFBF8AA, string);
SetPlayerToTeamColor(playerid);
TempoAdministrador = SetTimerEx("Administrador", 100, true, "i", playerid);
getdate(year, month, day);
gettime(hour,minute,second);
format(gstring, sizeof(gstring), "%s esta trabalhando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
AdminLog(gstring);
}
}
}
return true;
}
Tenta assim entгo...
Re: [Ajuda] Nao mandar menssagem -
Senhor_Azul - 09.05.2012
Valeu ae,mas pra entrar em modo jogo vai normal,e pra sair ainda esta dando server unknow command.
Re: [Ajuda] Nao mandar menssagem -
Linow - 09.05.2012
pawn Код:
if(strcmp(cmd, "/trabalhar", true) == 0)
{
if(PlayerInfo[playerid][pJailed] != 0)
{
SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode trabalhar na cadeia!");
return true;
}
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(admtrampando[playerid] > 0)
{
admtrampando[playerid] = 0;
if(PlayerInfo[playerid][pAdmin] >= 1340)
{
SetTimerEx("Administrador", 100, true, "i", playerid);
}
else
{
GetPlayerName(playerid,sendername,sizeof(sendername));
SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
format(string, 128, "{00BFFF}Admin: %s estб Jogando, Veja mais em {E0EEE0}/admins",sendername, playerid);
SendClientMessageToAll(0xFFFBF8AA, string);
KillTimer(TempoAdministrador);
SetPlayerToTeamColor(playerid);
ResetPlayerWeaponsEx(playerid);
SetPlayerHealth(playerid,100);
getdate(year, month, day);
gettime(hour,minute,second);
format(gstring, sizeof(gstring), "%s esta jogando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
AdminLog(gstring);
}
}
else
{
admtrampando[playerid] = 1;
if(PlayerInfo[playerid][pAdmin] >= 1340)
{
SetTimerEx("Administrador", 100, true, "i", playerid);
}
else
{
GetPlayerName(playerid,sendername,sizeof(sendername));
SendClientMessageToAll(COLOR_AZULBB, "|_______________ Administraзгo _______________|");
format(string, 128, "{00BFFF}Admin: %s estб Trabalhando, veja mais em {E0EEE0}/admins",sendername, playerid);
SendClientMessageToAll(0xFFFBF8AA, string);
SetPlayerToTeamColor(playerid);
TempoAdministrador = SetTimerEx("Administrador", 100, true, "i", playerid);
getdate(year, month, day);
gettime(hour,minute,second);
format(gstring, sizeof(gstring), "%s esta trabalhando [%d/%d/%d - %d:%d:%d]\n", PlayerName(playerid), day, month, year, hour, minute, second);
AdminLog(gstring);
}
}
}
return true;
}
Foi um errinho bobo meu, agora estб funcionando.
Re: [Ajuda] Nao mandar menssagem -
Senhor_Azul - 09.05.2012
Funciono perfeito,+rep pra vc.Agora apareceu outra duvida,creio que nao seja muito diferente disso.Eu quero uma fazer uma excessгo tambem,mas pro anti cheat,pra quando alguma arma for dada pelo /dararma,ele nao acusar de hack,como que faz isso ?
A public do anti cheat
pawn Код:
public CheckHack()
{
new string[128];
new giveplayer[MAX_PLAYER_NAME];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && gPlayerLogged[i] == 1 && !IsPlayerNPC(i) && spawnado[i] > 0)
{
//Minigun
if(GetPlayerWeapon(i) == 38)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Minigun /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Rocket Launcher
else if(GetPlayerWeapon(i) == 35)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando um Rocket Launcher /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
// Lanзa chamas
if(GetPlayerWeapon(i) == 37)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando um Lanзa Chamas /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
// Visгo Noturna
else if(GetPlayerWeapon(i) == 44)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "%s ANTICHEAT: %s[ID %d] estб usando uma Visгo Noturna /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
// Visгo de Calor
else if(GetPlayerWeapon(i) == 45)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Visгo de Calor /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Serra Eletrica
else if(GetPlayerWeapon(i) == 9)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Serra Eletrica /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Sawn-off
else if(GetPlayerWeapon(i) == 26)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Sawn-off /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Molotov
else if(GetPlayerWeapon(i) == 18)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando um Molotov /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Micro Uzi
else if(GetPlayerWeapon(i) == 28)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Micro Uzi /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Tec 9
else if(GetPlayerWeapon(i) == 32)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma TEC-9 /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Bazooca
else if(GetPlayerWeapon(i) == 36)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Bazooca /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
}
}
return true;
}
Re: [Ajuda] Nao mandar menssagem -
Linow - 09.05.2012
pawn Код:
public CheckHack()
{
new string[128];
new giveplayer[MAX_PLAYER_NAME];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && gPlayerLogged[i] == 1 && !IsPlayerNPC(i) && spawnado[i] > 0)
{
//Minigun
if(GetPlayerWeapon(i) == 38)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Minigun /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Rocket Launcher
else if(GetPlayerWeapon(i) == 35)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando um Rocket Launcher /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
// Lanзa chamas
if(GetPlayerWeapon(i) == 37)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando um Lanзa Chamas /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
// Visгo Noturna
else if(GetPlayerWeapon(i) == 44)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "%s ANTICHEAT: %s[ID %d] estб usando uma Visгo Noturna /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
// Visгo de Calor
else if(GetPlayerWeapon(i) == 45)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Visгo de Calor /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Serra Eletrica
else if(GetPlayerWeapon(i) == 9)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Serra Eletrica /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Sawn-off
else if(GetPlayerWeapon(i) == 26)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Sawn-off /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Molotov
else if(GetPlayerWeapon(i) == 18)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando um Molotov /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Micro Uzi
else if(GetPlayerWeapon(i) == 28)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Micro Uzi /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Tec 9
else if(GetPlayerWeapon(i) == 32)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma TEC-9 /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
//Bazooca
else if(GetPlayerWeapon(i) == 36)
{
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "ANTICHEAT: %s[ID %d] estб usando uma Bazooca /tv nele rapido", giveplayer,i);
ABroadCast(COLOR_LIGHTRED,string,1);
//ResetPlayerWeaponsEx(i);
SetPlayerArmedWeapon(i, 0);
}
}
else if(PlayerInfo[playerid][pAdmin] >= 1340)
{
return true;
}
}
return true;
}
Todo administrador com nivel maior de 1340, ao criar arma, ela nгo sumirб, nem mostrarб a mensagem, se quiser para todos os administradores troque:
else if(PlayerInfo[playerid][pAdmin] >= 1340)
POR
else if(PlayerInfo[playerid][pAdmin] > 0)
Re: [Ajuda] Nao mandar menssagem -
Senhor_Azul - 09.05.2012
pawn Код:
C:\Users\Markos\Documents\SAMP\Rpg\gamemodes\PlayLag.pwn(44277) : error 017: undefined symbol "playerid"
Deu unefined symbol playerid
Re: [Ajuda] Nao mandar menssagem -
Senhor_Azul - 09.05.2012
@Edit: a menssagem apareceu 2x,desculpa o double.