Sabe o sistema de quote do forum?
Você quota a ultima mensagem de um usuario e talz...
Esse sistema é igual, vamos supor que o player diz uma mensagem e você quer repetir a mensagem
e acrescentar algo a mais...
Bom é o sistema de quote que vocês já estão acostumado rs
Para evitar flood o player só pode quotar de 1 em um minuto.
Espero que gostem
Criador: SPY-CAW
Você quota a ultima mensagem de um usuario e talz...
Esse sistema é igual, vamos supor que o player diz uma mensagem e você quer repetir a mensagem
e acrescentar algo a mais...
Bom é o sistema de quote que vocês já estão acostumado rs
Para evitar flood o player só pode quotar de 1 em um minuto.
Espero que gostem
- Código:
#include <a_samp>
#include <dini>
#define Vermelho 0xFF0000AA
#define PASTA_CONTAS "/Contas/%s.ini" //Coloca aqui o diretório das contas do seu server.
//new textodigitado[MAX_PLAYERS];
new quotou[MAX_PLAYERS];
new file[100];
new file2[100];
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" FS By SPY-CAW");
print("--------------------------------------\n");
return 1;
}
public OnPlayerConnect(playerid)
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
dini_IntSet(file,"ultmsg",0);
quotou[playerid] = 0;
return 1;
}
public OnPlayerText(playerid, text[])
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
dini_Set(file, "ultms", text);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/quote", true) == 0) {
if(quotou[playerid] == 1) return SendClientMessage(playerid, Vermelho, "{2F6D82}(ERRO) Aguarde 1 minuto para usar o QUOTE");
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
new tmp[256];
new plid;
new string32[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Digite: /quote [id] [mensagem]");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
plid = strval(tmp);
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
if(plid == playerid)return SendClientMessage(playerid, Vermelho, "Você não pode fazer isto com você mesmo");
}
if(!strlen(result))
{
SendClientMessage(playerid, Vermelho, "Uso: /quote [id] [mensagem]");
}else{
if(IsPlayerConnected(plid)){
format(file, sizeof(file), PASTA_CONTAS, aname);
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(string32, sizeof(string32), "%s [%d]: {FFFFFF}[Q: %s] %s - %s",aname,playerid,pname,dini_Get(file2,"ultms"),result);
SendClientMessageToAll(GetPlayerColor(playerid),string32);
quotou[playerid]=1;
SetTimerEx("Usouq", 60000, false, "d",playerid);
}else{
SendClientMessage(playerid, Vermelho, "{2F6D82}(ERRO) ID inválido");
return 1;
}
return 1;
}
}
return 0;
}
forward Usouq(playerid);
public Usouq(playerid){
if(quotou[playerid]==1){
SendClientMessage(playerid, Vermelho,"Já se passou 1 minuto e você quotar novamente!");
quotou[playerid]=0;
}
return 1;
}
stock strrest(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[128];
while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Criador: SPY-CAW