[RESOLVIDO] Sistema de Frase de Entrada -
DjonathaTM - 03.11.2015
Olб galera do fуrum-samp.
Tudo bem?
Bom, estava aqui de boas pensando em fazer um sistema de frase de entrada
Mas oque й frase de entrada?
Como a maioria sabe, frase de entrada, й uma mensagem que o jogador escolhe para aparecer quando o jogador entrar no servidor.
Por exemplo:
Code:
O Jogador DjonathaTM Estб Conectado ao Servidor. DjonathaTM Aprendiz em Pawn/Pawno '-'
A Frase de Entrada, й "
DjonathaTM Aprendiz em Pawn/Pawno"
Bom, estava pensando...
COMO FAZER ISSO? '-'
Й FACIL? (Acho que й)
Bom eu acho que й facil. Mas nгo sei por onde comeзar...
Que eu saiba, tem que criar uma variavel no enum nй?
Dai fazer o salvamento (O meu serб em DOF2)
E Fazer o comando de /MudarFrase
E mais umas coisas...
Entгo, oque serб esse "E mais umas coisas..."?
Nгo sei oque fazer...
Estou certo que tem que fazer a variavel no enum, dai o salvamento, o comando?
Se estou, oque mais precisa fazer?
Preciso de ajuda, pra desenvolver isso.
Se nгo entender me fale.
Thank's.
Re: Sistema de Frase de Entrada -
Galhardo - 03.11.2015
Qual sua enum de salvamento das informaзхes do player e sua variбvel?
Seu sistema de registro e login й igual ao desse tуpico?
https://sampforum.blast.hk/showthread.php?tid=350855
Re: Sistema de Frase de Entrada -
DjonathaTM - 03.11.2015
Sim Galhardin
Й igual a esse acima sim.
enum Informacoes
new pInfo[MAX_PLAYERS][Informacoes];
Re: Sistema de Frase de Entrada -
Galhardo - 03.11.2015
Beleza. Entгo vocк vai ter que adicionar isso tudo no seu gamemode.
Adicionar na enum, coloque assim:
PHP Code:
enum Informacoes
{
FraseEntrada
}
Na dialog que o player registrou e quando cria os arquivos, vocк adiciona isso:
PHP Code:
DOF2_SetInt(arquivo, "FraseEntrada", " ");
Na dialog que o player loga coloque isso:
PHP Code:
new string[256], playername[25];
Player[playerid][FraseEntrada] = DOF2_GetInt(arquivo, "FraseEntrada");
GetPlayerName(playerid, playername, 25);
format(string, sizeof(string), "O jogador %s estб conectado ao servidor. %s", playername, Player[playerid][FraseEntrada]);
SendClientMessageToAll(-1, string);
Agora o comando:
Caso for zcmd:
PHP Code:
CMD:mudarfrase(playerid, params[])
{
new texto[50], string[100];
if(sscanf(params, "s[50]", texto))
return SendClientMessage(-1, "[USO] /mudarfrase [frase]");
if(strlen(texto) > 50)
return SendClientMessage(-1, "[ERRO] Seu texto pode ter no mбximo 50 caracteres.");
Player[playerid][FraseEntrada] = texto;
format(string, sizeof(string), "Vocк modificou sua frase de entrada para: %s." Player[playerid][FraseEntrada]);
SendClientMessage(playerid, -1, string);
return 1;
}
Se for strcmp:
PHP Code:
if (strcmp("/mudarfrase", cmdtext, true, 11) == 0)
{
new texto[50];
if(sscanf(params, "s[50]", texto))
return SendClientMessage(-1, "[USO] /mudarfrase [frase]");
if(strlen(texto) > 50)
return SendClientMessage(-1, "[ERRO] Seu texto pode ter no mбximo 50 caracteres.");
Player[playerid][FraseEntrada] = texto;
format(string, sizeof(string), "Vocк modificou sua frase de entrada para: %s." Player[playerid][FraseEntrada]);
SendClientMessage(playerid, -1, string);
return 1;
}
Agora coloque no OnPlayerDisconnect e no OnGameModeExit:
PHP Code:
DOF2_SetInt(arquivo, "FraseEntrada", Player[playerid][FraseEntrada]);
Testa ai, nгo testei aqui, qualquer erro me avise aqui.
Re: Sistema de Frase de Entrada -
DjonathaTM - 03.11.2015
Pow, vlw ai Galhardгo! Eu sу pedi ajuda pra saber fazer, mas jб que vocк fez, vou aperfeiзoar um pouquinho, e vou testar.
+Rep!! Obrigado.
Deu bug, nгo to conseguindo arrumar '-
Re: Sistema de Frase de Entrada -
Locky_ - 04.11.2015
PHP Code:
enum Informacoes
{
FraseEntrada[80]
}
Salvamento
PHP Code:
DOF2_SetString(arquivo, "FraseEntrada", Player[playerid][FraseEntrada]);
No comando..
PHP Code:
format(Player[playerid][FraseEntrada],80,texto);
Tente assim...
Re: Sistema de Frase de Entrada -
DjonathaTM - 04.11.2015
Quote:
Originally Posted by NicK_
PHP Code:
enum Informacoes
{
FraseEntrada[80]
}
Salvamento
PHP Code:
DOF2_SetString(arquivo, "FraseEntrada", Player[playerid][FraseEntrada]);
No comando..
PHP Code:
format(Player[playerid][FraseEntrada],80,texto);
Tente assim...
|
Funcionou nгo. SetString/GetString, sempre fica (null)
tem algo errado. '-'
Re: Sistema de Frase de Entrada -
matheusspohr - 04.11.2015
Comando pra vc:
PHP Code:
#define DialogDefinirFrase 5000
CMD:mudarfrase(playerid,params[])return cmd_frase(playerid,params);
CMD:frase(playerid,params[])
{
new String[128];
if(pInfo[playerid][FraseEntrada]!=0){format(String,128,"Sua frase de entrada atual й: {BEBEBE}%s",pInfo[playerid][FraseEntrada]);SendClientMessage(playerid,-1,String);}
ShowPlayerDialog(playerid,DialogDefinirFrase,DIALOG_STYLE_INPUT,"{FFFF00}#{FFFFFF}Frase de entrada...","{FFFFFF}Digite abaixo uma frase para ser sua {00FF00}Frase de entrada{FFFFFF}.\nVocк tambйm pode adicionar cores, use {FFFF00}/Cores{FFFFFF} para ver algumas.\n","Definir","Cancelar");
return 1;
}
Dialog:
PHP Code:
if(dialogid==DialogDefinirFrase)
{
if(!response)return 1;
if(strlen(inputtext)<1)return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: Tamanho incorreto (Minimo 1 caractere)");
if(strlen(inputtext)>200)return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: Tamanho incorreto (Mбximo 200 caractйres)");
new str[128];
format(pinfo[playerid][FraseEntrada],128,inputtext);
format(str,128,"{808080}Nova frase: {ffffff}%s",inputtext);
SendClientMessage(playerid,-1,str);
//Recomendo chamar o salvamento aki :p
}
O resto bem dizendo vocк tem, que seria o salvamento da conta, o carregamento da conta e na enum do player.
Abraзos.
Re: Sistema de Frase de Entrada -
DjonathaTM - 04.11.2015
Quote:
Originally Posted by matheusspohr
Comando pra vc:
PHP Code:
#define DialogDefinirFrase 5000
CMD:mudarfrase(playerid,params[])return cmd_frase(playerid,params);
CMD:frase(playerid,params[])
{
new String[128];
if(pInfo[playerid][FraseEntrada]!=0){format(String,128,"Sua frase de entrada atual й: {BEBEBE}%s",pInfo[playerid][FraseEntrada]);SendClientMessage(playerid,-1,String);}
ShowPlayerDialog(playerid,DialogDefinirFrase,DIALOG_STYLE_INPUT,"{FFFF00}#{FFFFFF}Frase de entrada...","{FFFFFF}Digite abaixo uma frase para ser sua {00FF00}Frase de entrada{FFFFFF}.\nVocк tambйm pode adicionar cores, use {FFFF00}/Cores{FFFFFF} para ver algumas.\n","Definir","Cancelar");
return 1;
}
Dialog:
PHP Code:
if(dialogid==DialogDefinirFrase)
{
if(!response)return 1;
if(strlen(inputtext)<1)return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: Tamanho incorreto (Minimo 1 caractere)");
if(strlen(inputtext)>200)return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: Tamanho incorreto (Mбximo 200 caractйres)");
new str[128];
format(pinfo[playerid][FraseEntrada],128,inputtext);
format(str,128,"{808080}Nova frase: {ffffff}%s",inputtext);
SendClientMessage(playerid,-1,str);
//Recomendo chamar o salvamento aki :p
}
O resto bem dizendo vocк tem, que seria o salvamento da conta, o carregamento da conta e na enum do player.
Abraзos.
|
Vlw matheusspohr. Tentando ainda, sem sucesso ainda
Vou ver seu code...
+REP
Re: Sistema de Frase de Entrada -
Cidiei - 04.11.2015
Problema resolvido?
Re: Sistema de Frase de Entrada -
DjonathaTM - 04.11.2015
Nгo Cidiei.
To com problemas no salvamento, e na hora de pegar a frase, nгo estб mostrando qual й a frase do jogador
Por exemplo, na mensagem que estб conectado a frase nгo aparece...
Re: Sistema de Frase de Entrada -
matheusspohr - 05.11.2015
Mostre-nos seu cуdigo para uma melhor avaliaзгo e resoluзгo dos problemas.
Re : Sistema de Frase de Entrada -
DjonathaTM - 05.11.2015
Irei refazer novamente o code. Se nгo der de novo eu peзo ajuda aqui.
Re: Sistema de Frase de Entrada -
DjonathaTM - 07.11.2015
Ainda nгo estou conseguindo... Alguem pra ajudar? Ja fiz um monte de vez e nгo dб certo '-'
Alguem ajuda, passo a passo? Pfv