04.04.2018, 01:50
Boa noite a todos este sistema de perguntas nгo й para inovar nada porйm foi apenas para ajudar um membro aqui do fуrum e como o funcionamento ficou excelente resolvi publicar aqui para vocкs, quem quiser usar use quem nгo quiser fica a seu critйrio, quem quiser editar tambйm fica a seu critйrio.
ATENЗГO Й NECESSБRIO: Criar uma pasta dentro da pasta scriptfiles com o nome de: Perguntas
O prкmio dado pelo acerto da pergunta й em dinheiro e pode ser alterado na бrea de
Para criar uma pergunta ou a resposta de uma pergunta й necessбrio estar logado na RCON.
ATENЗГO Й NECESSБRIO: Criar uma pasta dentro da pasta scriptfiles com o nome de: Perguntas
O prкmio dado pelo acerto da pergunta й em dinheiro e pode ser alterado na бrea de
PHP код:
#define PREMIO_VALOR 4000
* COMANDOS *
/pergunta criar [texto] - Cria uma pergunta.
/pergunta resposta [id da pergunta] [texto] - Cria uma resposta para tal pergunta referente ao ID dela.
/pergunta responder [id da pergunta] [resposta] - Responde a uma pergunta referente ao ID dela.
/pergunta deletar [id da pergunta] - Deleta uma pergunta criada.
/pergunta criar [texto] - Cria uma pergunta.
/pergunta resposta [id da pergunta] [texto] - Cria uma resposta para tal pergunta referente ao ID dela.
/pergunta responder [id da pergunta] [resposta] - Responde a uma pergunta referente ao ID dela.
/pergunta deletar [id da pergunta] - Deleta uma pergunta criada.
PHP код:
/*****************************************************************************
Criado por: Leonardo Bradoks
Referente ao Tуpico: https://sampforum.blast.hk/showthread.php?tid=652142&page=2
*****************************************************************************/
#include <a_samp>
#include <zcmd>
#include <dof2>
#include <sscanf2>
#define PASTA_PERGUNTAS "Perguntas/pergunta%d.ini"
#define MAX_PERGUNTAS 100
#define PREMIO_VALOR 4000
public OnFilterScriptInit()
{
print("\n------------------------------------------------");
print("- Sistema de Perguntas - Apenas Logado na RCON -");
print("------------------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
DOF2_Exit();
return 1;
}
CMD:pergunta(playerid, params[]) {
new texto[20];
if(sscanf(params, "s[20]", texto)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Use: /pergunta [criar] ou [responder] ou [resposta]");
if(strfind(texto, "criar", true) != -1) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Vocк nгo tem acesso a este comando !");
new pergunta[128];
if(sscanf(params, "s[20]s[128]", texto, pergunta)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Use: /pergunta criar [pergunta]");
new file[50];
for(new i = 1; i < MAX_PERGUNTAS; i++) {
format(file, sizeof(file), PASTA_PERGUNTAS, i);
if(!DOF2_FileExists(file)) {
new aname[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid, aname, sizeof(aname));
DOF2_CreateFile(file);
DOF2_SetInt(file, "ID", i);
DOF2_SetString(file, "Pergunta", pergunta);
DOF2_SetString(file, "Criado", aname);
DOF2_SaveFile();
format(string, sizeof(string), "* Vocк criou a pergunta ID: %d agora qual й a resposta ? use: /pergunta resposta [id da pergunta] [resposta]", i);
SendClientMessage(playerid, 0xFF8080AA, string);
return 1;
}
}
return 1;
}
else if(strfind(texto, "responder", true) != -1) {
new resposta[128], id;
if(sscanf(params, "s[20]ds[128]", texto, id, resposta)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Use: /pergunta responder [ID da Pergunta] [texto]");
new file[50];
format(file, sizeof(file), PASTA_PERGUNTAS, id);
if(DOF2_FileExists(file)) {
if(!strcmp(DOF2_GetString(file, "Resposta"), resposta)) {
new string[155], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "* RESULTADO * O(A) Administrador(a) %s havia criado a pergunta ID: %d ( %s )", DOF2_GetString(file, "Criado"), id, DOF2_GetString(file, "Pergunta"));
SendClientMessageToAll(0xFFFF00AA, string);
format(string, sizeof(string), "* PREMIADO * %s respondeu que a pergunta ( %s ) ID: %d й ( %s ) e ganhou R$4.000", pname, DOF2_GetString(file, "Pergunta"), id, resposta);
SendClientMessageToAll(0xFFFF00AA, string);
GivePlayerMoney(playerid, PREMIO_VALOR);
DOF2_RemoveFile(file);
return 1;
} else {
return SendClientMessage(playerid, -1, "[ RESULTADO ] {FF0000}Poxa que pena nгo foi desta vez !");
}
} else {
return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Estб ID de pergunta nгo existe !");
}
}
else if(strfind(texto, "resposta", true) != -1) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Vocк nгo tem acesso a este comando !");
new id, resposta[128];
if(sscanf(params, "s[20]ds[128]", texto, id, resposta)) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Use: /pergunta resposta [ID da Pergunta] [resposta]");
new file[50], aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), PASTA_PERGUNTAS, id);
if(DOF2_FileExists(file) && strfind(DOF2_GetString(file, "Criado"), aname, true) != -1) {
new string[128];
DOF2_SetString(file, "Resposta", resposta);
DOF2_SaveFile();
format(string, sizeof(string), "* PERGUNTA * O(A) Administrador(a) %s criou a pergunta ID: %d ( %s )", aname, id, DOF2_GetString(file, "Pergunta"));
SendClientMessageToAll(0xFFFF00AA, string);
SendClientMessageToAll(0x0080FFAA, "* Para responder a pergunta use: /pergunta responder [id da pergunta] [resposta]");
return 1;
} else {
return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Nгo й possнvel setar a resposta pois ou o arquivo nгo existe ou vocк nгo й o criador da pergunta !");
}
}
return 1;
}