16.01.2012, 12:21
Galera Estou com um prolema neste FS de PM feito por WenSoarres,Tem como empedir q o player mande mensagem pra ele mesmo ?
Esta aki o codigo Por favor ajudem
Esta aki o codigo Por favor ajudem
pawn Код:
/*
FilterScript Sistema de Private Message(PM)
Direito autoriais: WeenSoares
Contato: weensoares@live.com
*/
#include <a_samp>
#include <dutils>
new bool:LerPms[MAX_PLAYERS];
new bool:PmBlock[MAX_PLAYERS];
#pragma tabsize 0
//==============================/*FILTERSCRIPTINIT*/==============================//
public OnFilterScriptInit()
{
print("•\n");
print("******************************************************");
print("* [FilterScript] Sistema de Private Message(PM) *\n");
print("* Carregando... *\n\n");
print("* Carregado 100%. *");
print("******************************************************");
print("•\n");
return 1;
}
//==============================/*ONPLAYERCONNECT*/==============================//
public OnPlayerConnect(playerid)
{
LerPms[playerid] = false;
PmBlock[playerid] = false;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new string[128];
new tmp[256];
new playername[MAX_PLAYER_NAME];
new giveplayername[MAX_PLAYER_NAME];
new giveplayerid;
new idx;
cmd = strtok(cmdtext, idx);
//==============================/*INICIO DOS COMANDOS*/==============================//
if(strcmp(cmd, "/pm", true) == 0)
{
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0x33AA33AA, "Uso correto: /pm [id do player] [menssagem]");
return 1;
}
giveplayerid = strval(tmp);
if(!strlen(tmp))
{
SendClientMessage(playerid, 0x33AA33AA, "Uso correto: /pm [id do player] [menssagem]");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new menssagem[156];
while ((idx < length) && ((idx - offset) < (sizeof(menssagem) - 1)))
{
menssagem[idx - offset] = cmdtext[idx];
idx++;
}
menssagem[idx - offset] = EOS;
if(IsPlayerConnected(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
if(PmBlock[playerid])
{
format(string,sizeof(string),"[Private Message]: Vocк nгo pode enviar uma menssagem pois a sua PM estб bloqueada!");
SendClientMessage(playerid, 0xFF80808B, string);
return 1;
}
if(PmBlock[giveplayerid])
{
format(string,sizeof(string),"[Private Message]: Vocк nгo pode enviar uma menssagem para %s pois ele estб com o PM Bloqueado!", giveplayername);
SendClientMessage(playerid, 0xFF80808B, string);
return 1;
}
if(!strlen(menssagem))
{
SendClientMessage(playerid, 0x33AA33AA, "Uso Correto: /pm [id do player] [menssagem]");
return 1;
}
format(string,sizeof(string),">> Enviada para: %s (%d): %s", giveplayername, giveplayerid, menssagem);
SendClientMessage(playerid,0xFFD500FF,string);
format(string,sizeof(string),"** Recebida de: %s (%d): %s", playername, playerid, menssagem);
GameTextForPlayer(giveplayerid, "~w~MENSAGEM ~r~RECEBIDA", 3000, 1);
SendClientMessage(giveplayerid,0xFF80808B,string);
PlayerPlaySound(giveplayerid, 1085, 0.0, 0.0, 0.0);
printf("[Private Message]: %s envio para %s: %s", playername, giveplayername, menssagem);
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerAdmin(playerid) && LerPms[i] == true)
{
format(string, sizeof(string), "** %s envio para %s: %s", playername, giveplayername, menssagem);
SendClientMessage(i, 0xFF80808B, string);
}
}
}
else
{
format(string, sizeof(string), "* O ID %d nгo estб online.", giveplayerid);
SendClientMessage(playerid, 0x00FFFFAA, string);
}
}
else
{
SendClientMessage(playerid, 0x00FFFFAA, "Vocк tem que estб logado para usar este comando!");
}
return 1;
}
if(strcmp(cmd, "/bpm", true) == 0)
{
if(!PmBlock[playerid])
{
SendClientMessage(playerid, 0xFF80808B, "[Private Message]: Private Message bloqueada!");
PmBlock[playerid] = true;
}
else
{
SendClientMessage(playerid, 0xFF80808B, "[Private Message]: Private Message jб bloqueada!");
return 1;
}
return 1;
}
if(strcmp(cmd, "/lpm", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PmBlock[playerid])
{
SendClientMessage(playerid, 0xFF80808B, "[Private Message]: Private Message liberada!");
PmBlock[playerid] = false;
}
else
{
SendClientMessage(playerid, 0xFF80808B,"[Private Message]: Private Message jб liberada!");
}
}
return 1;
}
if(strcmp(cmd, "/lerpms", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerAdmin(playerid))
{
if(!LerPms[playerid])
{
SendClientMessage(playerid, 0xFF80808B, "AdmCMD: Vocк estб lendo as [Private Message].");
LerPms[playerid] = true;
}
else
{
SendClientMessage(playerid, 0xFF80808B, "AdmCMD: Vocк parou de ler as [Private Message].");
LerPms[playerid] = false;
return 1;
}
}
else
{
SendClientMessage(playerid, 0x00FFFFAA, "Vocк nгo tem permissгo para usar este comando!");
}
}
else
{
SendClientMessage(playerid, 0x00FFFFAA, "Vocк tem que estб logado para usar este comando!");
}
return 1;
}
return false;
}