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;
}
pawn Код:
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;
}
if(giveplayerid == playerid)
{
SendClientMessage(playerid,-1,"Vocк nгo pode mandar mensagem para vocк mesmo!");
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;
}